/api/v1/export
Manage exports — long-running jobs that bundle objects and their files into a downloadable archive (TAR.GZ or ZIP). All /export endpoints require an authenticated user (a valid access token, sent as Authorization: Bearer, X-Fylr-Authorization: Bearer, or the access_token query parameter); there is no dedicated system right for the feature. Exports are user-scoped: each export records the user_id that saved it, and the handlers permit access only to that owner or to a system.root user.
GET /export — List the authenticated user's exports.
Access token in the Authorization header:
Authorization: Bearer <token>.
Maximum number of entries to return. Defaults to 100.
100Pagination offset.
0Compact filter expression. Comma-separates ORs, plus-separates
ANDs within an OR, colon separates field from value, pipe
separates allowed values. Example:
type:download+status:failed|done_with_warnings,type:export|export_incremental.
Only the fields type and status are filterable; any other
field name returns a 400 Unknown column. type accepts
export / export_incremental / download; status accepts
the export states (new, pending, processing, done,
done_with_warnings, failed).
Differs from easydb 5: fylr adds the run state
done_with_warnings; easydb 5 documents only new, pending,
processing, failed, and done.
A page of the user's exports.
A page of the authenticated user's exports, as returned by
GET /api/v1/export. count is the total number of exports
matching the filter, independent of limit / offset.
The limit that was applied to this page.
The offset that was applied to this page.
Total number of exports matching the filter, ignoring
limit / offset.
The filter references a field other than type or status
(message Unknown column "<field>"), or no user is authenticated.
Both surface as code ServerGeneric (package ferrors). This
route never returns 403: it lists only the caller's own exports
(user_id = <caller>).
{
"limit": 1,
"offset": 1,
"count": 1,
"objects": [
{
"_basetype": "export",
"export": {
"_id": 1,
"_version": 1,
"type": "export",
"name": "text",
"search": {
"type": "pool",
"objecttypes": [
"text"
],
"search": "[Circular Reference]",
"offset": 1,
"limit": 1,
"format": "text",
"merge_linked_objects": "none",
"merge_max_depth": 1,
"languages": [
"text"
],
"sort": [
{
"field": "text",
"order": "asc",
"language": "text",
"with_path": true,
"mode": "text",
"numeric": true,
"number_groups": [
1
],
"width": "year"
}
],
"include_deleted": true,
"aggregations": {
"ANY_ADDITIONAL_PROPERTY": {
"type": "text",
"field": "text",
"value_field": "text",
"objecttype": "text",
"limit": 1,
"offset": 1,
"sort": "text",
"order": "text",
"format": "text",
"include": "text",
"language": "text",
"filter_parent": 1,
"precision": 1,
"ranges": [
{
"from": "text",
"to": "text"
}
],
"bounds": {}
}
},
"fields": [
{
"key": "text",
"field": "text",
"with_path": true,
"mode": "text",
"language": "text"
}
],
"field": "text",
"include_fields": [
"text"
],
"exclude_fields": [
"text"
],
"point_in_time": {
"id": "text",
"keep_alive": "text"
},
"search_after": [],
"file_url_expire": 1,
"timezone": "text",
"generate_rights": true,
"best_mask_filter": true
},
"fields": {
"ANY_ADDITIONAL_PROPERTY": {
"display_name": "text"
}
},
"eas_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"files": false,
"include_non_preferred": false,
"data": [
{
"type": "original",
"format": "long",
"version": "text"
}
]
}
},
"classes": {
"ANY_ADDITIONAL_PROPERTY": [
{
"type": "original",
"metadata": "standard",
"version": "text",
"custom": {
"watermark": false,
"quality": "low",
"format": "keep",
"colorspace": "text",
"colorprofile": "",
"size": "keep",
"custom_size": "dimension_max",
"dpi": 0,
"custom_size_pixel": 0,
"custom_width_pixel": 0,
"custom_height_pixel": 0,
"transform": {
"rotate-x": 0,
"rotate-y": 0,
"rotate-z": 0,
"crop": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
}
}
},
"custom_version_preset": "text"
}
]
},
"assets": {
"ANY_ADDITIONAL_PROPERTY": true
},
"csv": false,
"xml": true,
"xml_one_file_per_object": true,
"mapping": "easydb",
"xslt_xml_post_processing": {
"_id": 1
},
"xlsx": false,
"json": true,
"json_one_file_per_object": true,
"merge_linked_objects": "none",
"merge_max_depth": 1,
"include_parents": true,
"file_url_expire_days": 1,
"produce_options": {
"plugin": "my-plugin:my_export"
},
"all_languages": false,
"file_metadata": false,
"no_inheritance": false,
"batch_size": 1,
"flat": false,
"filename_original": false,
"filename_template": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"_date_created": "2026-01-01T00:00:00.000Z",
"_last_updated_at": "2026-01-01T00:00:00.000Z",
"_last_run_at": "2026-01-01T00:00:00.000Z",
"_last_relevant_object_count": 1,
"_last_relevant_run_at": "2026-01-01T00:00:00.000Z",
"_next_run_at": "2026-01-01T00:00:00.000Z",
"_state": "new",
"_plugin_log": [
"text"
],
"_files": [
{
"path": "text",
"size": 1,
"date_created": "2026-01-01T00:00:00.000Z"
}
],
"_log": [
{
"_basetype": "event",
"event": {
"_id": 1,
"type": "text",
"object_id": 1,
"object_version": 1,
"global_object_id": "text",
"system_object_id": 1,
"schema": "text",
"basetype": "text",
"objecttype": "text",
"timestamp": "2026-01-01T00:00:00.000Z",
"pollable": true,
"info": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"remote_addr": "text",
"user_generated_displayname": "text"
},
"user": {
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
}
],
"_transports": [
{
"plugin": "text",
"options": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"email": {
"message": "text",
"recipients": [
{
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
]
},
"external_url": "text",
"uuid": "text"
}
],
"_schedules": [
{
"days_of_month": [
1
],
"weekdays": [
"mon"
],
"hours": [
1
],
"minutes": [
1
],
"timezone": "text"
}
]
}
]
}POST /export — Create a new export.
Saves a new export owned by the authenticated user (the stored
user_id is always set to the caller, regardless of any value in the
body). There is no owner check on this route.
Access token in the Authorization header:
Authorization: Bearer <token>.
An export — a long-running job that bundles a set of objects (and optionally their files) into a downloadable archive (TAR.GZ or ZIP).
Fixed marker identifying this object as an export.
UTC time the export was created.
UTC time the export configuration was last updated.
UTC time the most recent production run started.
Number of objects included in the most recent run that had at least one change since the previous run.
UTC time of the most recent run that actually produced output (vs. a run that found nothing new).
UTC time the next scheduled run is expected. Set by the
_schedules entries.
Current export run state. new after create/update; pending
once a run is scheduled; processing while a run is active;
done / done_with_warnings on success; failed on error or
after a stop.
Lines of plugin-emitted log output captured during the most recent run. Cleared at the start of each run.
The created export.
An export — a long-running job that bundles a set of objects (and optionally their files) into a downloadable archive (TAR.GZ or ZIP).
Fixed marker identifying this object as an export.
UTC time the export was created.
UTC time the export configuration was last updated.
UTC time the most recent production run started.
Number of objects included in the most recent run that had at least one change since the previous run.
UTC time of the most recent run that actually produced output (vs. a run that found nothing new).
UTC time the next scheduled run is expected. Set by the
_schedules entries.
Current export run state. new after create/update; pending
once a run is scheduled; processing while a run is active;
done / done_with_warnings on success; failed on error or
after a stop.
Lines of plugin-emitted log output captured during the most recent run. Cleared at the start of each run.
The export could not be saved — e.g. a missing search, an
unknown type or mapping, a non-.xsl/.xslt attached file,
or, on update, a stale version. Most of these surface as code
ServerGeneric (package ferrors); a version conflict surfaces
as VersionMismatch (package ferrors).
Another export owned by the same user already uses the
requested name (code ExportDuplicateName, package
export).
{
"_basetype": "export",
"export": {
"_id": 1,
"_version": 1,
"type": "export",
"name": "text",
"search": {
"type": "pool",
"objecttypes": [
"text"
],
"search": [
{
"type": "text",
"bool": "must",
"boost": 1,
"fields": [
"text"
],
"string": "text",
"query": "text",
"phrase": true,
"mode": "text",
"languages": [
"text"
],
"in": [],
"objecttype": "text",
"include_path": true,
"subsearch": "[Circular Reference]",
"field": "text",
"from": null,
"to": null,
"from_equals": true,
"to_equals": true,
"path": "text",
"search": "[Circular Reference]",
"operation": "text",
"comment": "text",
"user": 1,
"geo_bounding_box": {
"top_left": {
"lat": 71.18507,
"lon": -25.2966
},
"bottom_right": {
"lat": 34.7982,
"lon": 41.7102
}
},
"geo_shape": {
"points": [
{
"lat": 43.665014696873186,
"lon": 30.656803322464196
},
{
"lat": 45.829179968624345,
"lon": 39.444228256278876
},
{
"lat": 42.90364411679292,
"lon": 54.41512692671907
},
{
"lat": 32.48178389631096,
"lon": 54.371264285779894
},
{
"lat": 35.97404030325093,
"lon": 29.49485713607544
}
]
}
}
],
"offset": 1,
"limit": 1,
"format": "text",
"merge_linked_objects": "none",
"merge_max_depth": 1,
"languages": [
"text"
],
"sort": [
{
"field": "text",
"order": "asc",
"language": "text",
"with_path": true,
"mode": "text",
"numeric": true,
"number_groups": [
1
],
"width": "year"
}
],
"include_deleted": true,
"aggregations": {
"ANY_ADDITIONAL_PROPERTY": {
"type": "text",
"field": "text",
"value_field": "text",
"objecttype": "text",
"limit": 1,
"offset": 1,
"sort": "text",
"order": "text",
"format": "text",
"include": "text",
"language": "text",
"filter_parent": 1,
"precision": 1,
"ranges": [
{
"from": "text",
"to": "text"
}
],
"bounds": {}
}
},
"fields": [
{
"key": "text",
"field": "text",
"with_path": true,
"mode": "text",
"language": "text"
}
],
"field": "text",
"include_fields": [
"text"
],
"exclude_fields": [
"text"
],
"point_in_time": {
"id": "text",
"keep_alive": "text"
},
"search_after": [],
"file_url_expire": 1,
"timezone": "text",
"generate_rights": true,
"best_mask_filter": true
},
"fields": {
"ANY_ADDITIONAL_PROPERTY": {
"display_name": "text"
}
},
"eas_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"files": false,
"include_non_preferred": false,
"data": [
{
"type": "original",
"format": "long",
"version": "text"
}
]
}
},
"classes": {
"ANY_ADDITIONAL_PROPERTY": [
{
"type": "original",
"metadata": "standard",
"version": "text",
"custom": {
"watermark": false,
"quality": "low",
"format": "keep",
"colorspace": "text",
"colorprofile": "",
"size": "keep",
"custom_size": "dimension_max",
"dpi": 0,
"custom_size_pixel": 0,
"custom_width_pixel": 0,
"custom_height_pixel": 0,
"transform": {
"rotate-x": 0,
"rotate-y": 0,
"rotate-z": 0,
"crop": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
}
}
},
"custom_version_preset": "text"
}
]
},
"assets": {
"ANY_ADDITIONAL_PROPERTY": true
},
"csv": false,
"xml": true,
"xml_one_file_per_object": true,
"mapping": "easydb",
"xslt_xml_post_processing": {
"_id": 1
},
"xlsx": false,
"json": true,
"json_one_file_per_object": true,
"merge_linked_objects": "none",
"merge_max_depth": 1,
"include_parents": true,
"file_url_expire_days": 1,
"produce_options": {
"plugin": "my-plugin:my_export"
},
"all_languages": false,
"file_metadata": false,
"no_inheritance": false,
"batch_size": 1,
"flat": false,
"filename_original": false,
"filename_template": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"_date_created": "2026-01-01T00:00:00.000Z",
"_last_updated_at": "2026-01-01T00:00:00.000Z",
"_last_run_at": "2026-01-01T00:00:00.000Z",
"_last_relevant_object_count": 1,
"_last_relevant_run_at": "2026-01-01T00:00:00.000Z",
"_next_run_at": "2026-01-01T00:00:00.000Z",
"_state": "new",
"_plugin_log": [
"text"
],
"_files": [
{
"path": "text",
"size": 1,
"date_created": "2026-01-01T00:00:00.000Z"
}
],
"_log": [
{
"_basetype": "event",
"event": {
"_id": 1,
"type": "text",
"object_id": 1,
"object_version": 1,
"global_object_id": "text",
"system_object_id": 1,
"schema": "text",
"basetype": "text",
"objecttype": "text",
"timestamp": "2026-01-01T00:00:00.000Z",
"pollable": true,
"info": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"remote_addr": "text",
"user_generated_displayname": "text"
},
"user": {
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
}
],
"_transports": [
{
"plugin": "text",
"options": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"email": {
"message": "text",
"recipients": [
{
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
]
},
"external_url": "text",
"uuid": "text"
}
],
"_schedules": [
{
"days_of_month": [
1
],
"weekdays": [
"mon"
],
"hours": [
1
],
"minutes": [
1
],
"timezone": "text"
}
]
}PUT /export — Create a new export (alias for POST).
Access token in the Authorization header:
Authorization: Bearer <token>.
An export — a long-running job that bundles a set of objects (and optionally their files) into a downloadable archive (TAR.GZ or ZIP).
Fixed marker identifying this object as an export.
UTC time the export was created.
UTC time the export configuration was last updated.
UTC time the most recent production run started.
Number of objects included in the most recent run that had at least one change since the previous run.
UTC time of the most recent run that actually produced output (vs. a run that found nothing new).
UTC time the next scheduled run is expected. Set by the
_schedules entries.
Current export run state. new after create/update; pending
once a run is scheduled; processing while a run is active;
done / done_with_warnings on success; failed on error or
after a stop.
Lines of plugin-emitted log output captured during the most recent run. Cleared at the start of each run.
The created export.
An export — a long-running job that bundles a set of objects (and optionally their files) into a downloadable archive (TAR.GZ or ZIP).
Fixed marker identifying this object as an export.
UTC time the export was created.
UTC time the export configuration was last updated.
UTC time the most recent production run started.
Number of objects included in the most recent run that had at least one change since the previous run.
UTC time of the most recent run that actually produced output (vs. a run that found nothing new).
UTC time the next scheduled run is expected. Set by the
_schedules entries.
Current export run state. new after create/update; pending
once a run is scheduled; processing while a run is active;
done / done_with_warnings on success; failed on error or
after a stop.
Lines of plugin-emitted log output captured during the most recent run. Cleared at the start of each run.
The export could not be saved — e.g. a missing search, an
unknown type or mapping, a non-.xsl/.xslt attached file,
or, on update, a stale version. Most of these surface as code
ServerGeneric (package ferrors); a version conflict surfaces
as VersionMismatch (package ferrors).
Another export owned by the same user already uses the
requested name (code ExportDuplicateName, package
export).
{
"_basetype": "export",
"export": {
"_id": 1,
"_version": 1,
"type": "export",
"name": "text",
"search": {
"type": "pool",
"objecttypes": [
"text"
],
"search": [
{
"type": "text",
"bool": "must",
"boost": 1,
"fields": [
"text"
],
"string": "text",
"query": "text",
"phrase": true,
"mode": "text",
"languages": [
"text"
],
"in": [],
"objecttype": "text",
"include_path": true,
"subsearch": "[Circular Reference]",
"field": "text",
"from": null,
"to": null,
"from_equals": true,
"to_equals": true,
"path": "text",
"search": "[Circular Reference]",
"operation": "text",
"comment": "text",
"user": 1,
"geo_bounding_box": {
"top_left": {
"lat": 71.18507,
"lon": -25.2966
},
"bottom_right": {
"lat": 34.7982,
"lon": 41.7102
}
},
"geo_shape": {
"points": [
{
"lat": 43.665014696873186,
"lon": 30.656803322464196
},
{
"lat": 45.829179968624345,
"lon": 39.444228256278876
},
{
"lat": 42.90364411679292,
"lon": 54.41512692671907
},
{
"lat": 32.48178389631096,
"lon": 54.371264285779894
},
{
"lat": 35.97404030325093,
"lon": 29.49485713607544
}
]
}
}
],
"offset": 1,
"limit": 1,
"format": "text",
"merge_linked_objects": "none",
"merge_max_depth": 1,
"languages": [
"text"
],
"sort": [
{
"field": "text",
"order": "asc",
"language": "text",
"with_path": true,
"mode": "text",
"numeric": true,
"number_groups": [
1
],
"width": "year"
}
],
"include_deleted": true,
"aggregations": {
"ANY_ADDITIONAL_PROPERTY": {
"type": "text",
"field": "text",
"value_field": "text",
"objecttype": "text",
"limit": 1,
"offset": 1,
"sort": "text",
"order": "text",
"format": "text",
"include": "text",
"language": "text",
"filter_parent": 1,
"precision": 1,
"ranges": [
{
"from": "text",
"to": "text"
}
],
"bounds": {}
}
},
"fields": [
{
"key": "text",
"field": "text",
"with_path": true,
"mode": "text",
"language": "text"
}
],
"field": "text",
"include_fields": [
"text"
],
"exclude_fields": [
"text"
],
"point_in_time": {
"id": "text",
"keep_alive": "text"
},
"search_after": [],
"file_url_expire": 1,
"timezone": "text",
"generate_rights": true,
"best_mask_filter": true
},
"fields": {
"ANY_ADDITIONAL_PROPERTY": {
"display_name": "text"
}
},
"eas_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"files": false,
"include_non_preferred": false,
"data": [
{
"type": "original",
"format": "long",
"version": "text"
}
]
}
},
"classes": {
"ANY_ADDITIONAL_PROPERTY": [
{
"type": "original",
"metadata": "standard",
"version": "text",
"custom": {
"watermark": false,
"quality": "low",
"format": "keep",
"colorspace": "text",
"colorprofile": "",
"size": "keep",
"custom_size": "dimension_max",
"dpi": 0,
"custom_size_pixel": 0,
"custom_width_pixel": 0,
"custom_height_pixel": 0,
"transform": {
"rotate-x": 0,
"rotate-y": 0,
"rotate-z": 0,
"crop": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
}
}
},
"custom_version_preset": "text"
}
]
},
"assets": {
"ANY_ADDITIONAL_PROPERTY": true
},
"csv": false,
"xml": true,
"xml_one_file_per_object": true,
"mapping": "easydb",
"xslt_xml_post_processing": {
"_id": 1
},
"xlsx": false,
"json": true,
"json_one_file_per_object": true,
"merge_linked_objects": "none",
"merge_max_depth": 1,
"include_parents": true,
"file_url_expire_days": 1,
"produce_options": {
"plugin": "my-plugin:my_export"
},
"all_languages": false,
"file_metadata": false,
"no_inheritance": false,
"batch_size": 1,
"flat": false,
"filename_original": false,
"filename_template": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"_date_created": "2026-01-01T00:00:00.000Z",
"_last_updated_at": "2026-01-01T00:00:00.000Z",
"_last_run_at": "2026-01-01T00:00:00.000Z",
"_last_relevant_object_count": 1,
"_last_relevant_run_at": "2026-01-01T00:00:00.000Z",
"_next_run_at": "2026-01-01T00:00:00.000Z",
"_state": "new",
"_plugin_log": [
"text"
],
"_files": [
{
"path": "text",
"size": 1,
"date_created": "2026-01-01T00:00:00.000Z"
}
],
"_log": [
{
"_basetype": "event",
"event": {
"_id": 1,
"type": "text",
"object_id": 1,
"object_version": 1,
"global_object_id": "text",
"system_object_id": 1,
"schema": "text",
"basetype": "text",
"objecttype": "text",
"timestamp": "2026-01-01T00:00:00.000Z",
"pollable": true,
"info": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"remote_addr": "text",
"user_generated_displayname": "text"
},
"user": {
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
}
],
"_transports": [
{
"plugin": "text",
"options": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"email": {
"message": "text",
"recipients": [
{
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
]
},
"external_url": "text",
"uuid": "text"
}
],
"_schedules": [
{
"days_of_month": [
1
],
"weekdays": [
"mon"
],
"hours": [
1
],
"minutes": [
1
],
"timezone": "text"
}
]
}GET /export/{exportId} — Retrieve an export.
Access token in the Authorization header:
Authorization: Bearer <token>.
Rendering detail level. Defaults to long when omitted. An
unrecognised value yields a 400 error.
longPossible values: The export.
An export — a long-running job that bundles a set of objects (and optionally their files) into a downloadable archive (TAR.GZ or ZIP).
Fixed marker identifying this object as an export.
UTC time the export was created.
UTC time the export configuration was last updated.
UTC time the most recent production run started.
Number of objects included in the most recent run that had at least one change since the previous run.
UTC time of the most recent run that actually produced output (vs. a run that found nothing new).
UTC time the next scheduled run is expected. Set by the
_schedules entries.
Current export run state. new after create/update; pending
once a run is scheduled; processing while a run is active;
done / done_with_warnings on success; failed on error or
after a stop.
Lines of plugin-emitted log output captured during the most recent run. Cleared at the start of each run.
The exportId in the URL matches no stored export. LoadById
fails with message export <id> not found, returned as code
ServerGeneric (package ferrors).
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
{
"_basetype": "export",
"export": {
"_id": 1,
"_version": 1,
"type": "export",
"name": "text",
"search": {
"type": "pool",
"objecttypes": [
"text"
],
"search": [
{
"type": "text",
"bool": "must",
"boost": 1,
"fields": [
"text"
],
"string": "text",
"query": "text",
"phrase": true,
"mode": "text",
"languages": [
"text"
],
"in": [],
"objecttype": "text",
"include_path": true,
"subsearch": "[Circular Reference]",
"field": "text",
"from": null,
"to": null,
"from_equals": true,
"to_equals": true,
"path": "text",
"search": "[Circular Reference]",
"operation": "text",
"comment": "text",
"user": 1,
"geo_bounding_box": {
"top_left": {
"lat": 71.18507,
"lon": -25.2966
},
"bottom_right": {
"lat": 34.7982,
"lon": 41.7102
}
},
"geo_shape": {
"points": [
{
"lat": 43.665014696873186,
"lon": 30.656803322464196
},
{
"lat": 45.829179968624345,
"lon": 39.444228256278876
},
{
"lat": 42.90364411679292,
"lon": 54.41512692671907
},
{
"lat": 32.48178389631096,
"lon": 54.371264285779894
},
{
"lat": 35.97404030325093,
"lon": 29.49485713607544
}
]
}
}
],
"offset": 1,
"limit": 1,
"format": "text",
"merge_linked_objects": "none",
"merge_max_depth": 1,
"languages": [
"text"
],
"sort": [
{
"field": "text",
"order": "asc",
"language": "text",
"with_path": true,
"mode": "text",
"numeric": true,
"number_groups": [
1
],
"width": "year"
}
],
"include_deleted": true,
"aggregations": {
"ANY_ADDITIONAL_PROPERTY": {
"type": "text",
"field": "text",
"value_field": "text",
"objecttype": "text",
"limit": 1,
"offset": 1,
"sort": "text",
"order": "text",
"format": "text",
"include": "text",
"language": "text",
"filter_parent": 1,
"precision": 1,
"ranges": [
{
"from": "text",
"to": "text"
}
],
"bounds": {}
}
},
"fields": [
{
"key": "text",
"field": "text",
"with_path": true,
"mode": "text",
"language": "text"
}
],
"field": "text",
"include_fields": [
"text"
],
"exclude_fields": [
"text"
],
"point_in_time": {
"id": "text",
"keep_alive": "text"
},
"search_after": [],
"file_url_expire": 1,
"timezone": "text",
"generate_rights": true,
"best_mask_filter": true
},
"fields": {
"ANY_ADDITIONAL_PROPERTY": {
"display_name": "text"
}
},
"eas_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"files": false,
"include_non_preferred": false,
"data": [
{
"type": "original",
"format": "long",
"version": "text"
}
]
}
},
"classes": {
"ANY_ADDITIONAL_PROPERTY": [
{
"type": "original",
"metadata": "standard",
"version": "text",
"custom": {
"watermark": false,
"quality": "low",
"format": "keep",
"colorspace": "text",
"colorprofile": "",
"size": "keep",
"custom_size": "dimension_max",
"dpi": 0,
"custom_size_pixel": 0,
"custom_width_pixel": 0,
"custom_height_pixel": 0,
"transform": {
"rotate-x": 0,
"rotate-y": 0,
"rotate-z": 0,
"crop": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
}
}
},
"custom_version_preset": "text"
}
]
},
"assets": {
"ANY_ADDITIONAL_PROPERTY": true
},
"csv": false,
"xml": true,
"xml_one_file_per_object": true,
"mapping": "easydb",
"xslt_xml_post_processing": {
"_id": 1
},
"xlsx": false,
"json": true,
"json_one_file_per_object": true,
"merge_linked_objects": "none",
"merge_max_depth": 1,
"include_parents": true,
"file_url_expire_days": 1,
"produce_options": {
"plugin": "my-plugin:my_export"
},
"all_languages": false,
"file_metadata": false,
"no_inheritance": false,
"batch_size": 1,
"flat": false,
"filename_original": false,
"filename_template": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"_date_created": "2026-01-01T00:00:00.000Z",
"_last_updated_at": "2026-01-01T00:00:00.000Z",
"_last_run_at": "2026-01-01T00:00:00.000Z",
"_last_relevant_object_count": 1,
"_last_relevant_run_at": "2026-01-01T00:00:00.000Z",
"_next_run_at": "2026-01-01T00:00:00.000Z",
"_state": "new",
"_plugin_log": [
"text"
],
"_files": [
{
"path": "text",
"size": 1,
"date_created": "2026-01-01T00:00:00.000Z"
}
],
"_log": [
{
"_basetype": "event",
"event": {
"_id": 1,
"type": "text",
"object_id": 1,
"object_version": 1,
"global_object_id": "text",
"system_object_id": 1,
"schema": "text",
"basetype": "text",
"objecttype": "text",
"timestamp": "2026-01-01T00:00:00.000Z",
"pollable": true,
"info": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"remote_addr": "text",
"user_generated_displayname": "text"
},
"user": {
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
}
],
"_transports": [
{
"plugin": "text",
"options": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"email": {
"message": "text",
"recipients": [
{
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
]
},
"external_url": "text",
"uuid": "text"
}
],
"_schedules": [
{
"days_of_month": [
1
],
"weekdays": [
"mon"
],
"hours": [
1
],
"minutes": [
1
],
"timezone": "text"
}
]
}POST /export/{exportId} — Update an existing export.
Re-saves the export. The request body must carry the export's id
(matching the URL) and the next version (the stored version plus
one); a stale version is rejected with a 400 VersionMismatch. The
saved user_id is set to the caller, and there is no separate owner
check on this route. Returns 409 if the new name collides with
another export owned by the same user.
Access token in the Authorization header:
Authorization: Bearer <token>.
An export — a long-running job that bundles a set of objects (and optionally their files) into a downloadable archive (TAR.GZ or ZIP).
Fixed marker identifying this object as an export.
UTC time the export was created.
UTC time the export configuration was last updated.
UTC time the most recent production run started.
Number of objects included in the most recent run that had at least one change since the previous run.
UTC time of the most recent run that actually produced output (vs. a run that found nothing new).
UTC time the next scheduled run is expected. Set by the
_schedules entries.
Current export run state. new after create/update; pending
once a run is scheduled; processing while a run is active;
done / done_with_warnings on success; failed on error or
after a stop.
Lines of plugin-emitted log output captured during the most recent run. Cleared at the start of each run.
The updated export.
An export — a long-running job that bundles a set of objects (and optionally their files) into a downloadable archive (TAR.GZ or ZIP).
Fixed marker identifying this object as an export.
UTC time the export was created.
UTC time the export configuration was last updated.
UTC time the most recent production run started.
Number of objects included in the most recent run that had at least one change since the previous run.
UTC time of the most recent run that actually produced output (vs. a run that found nothing new).
UTC time the next scheduled run is expected. Set by the
_schedules entries.
Current export run state. new after create/update; pending
once a run is scheduled; processing while a run is active;
done / done_with_warnings on success; failed on error or
after a stop.
Lines of plugin-emitted log output captured during the most recent run. Cleared at the start of each run.
The export could not be saved — e.g. a missing search, an
unknown type or mapping, a non-.xsl/.xslt attached file,
or, on update, a stale version. Most of these surface as code
ServerGeneric (package ferrors); a version conflict surfaces
as VersionMismatch (package ferrors).
Another export owned by the same user already uses the
requested name (code ExportDuplicateName, package
export).
{
"_basetype": "export",
"export": {
"_id": 1,
"_version": 1,
"type": "export",
"name": "text",
"search": {
"type": "pool",
"objecttypes": [
"text"
],
"search": [
{
"type": "text",
"bool": "must",
"boost": 1,
"fields": [
"text"
],
"string": "text",
"query": "text",
"phrase": true,
"mode": "text",
"languages": [
"text"
],
"in": [],
"objecttype": "text",
"include_path": true,
"subsearch": "[Circular Reference]",
"field": "text",
"from": null,
"to": null,
"from_equals": true,
"to_equals": true,
"path": "text",
"search": "[Circular Reference]",
"operation": "text",
"comment": "text",
"user": 1,
"geo_bounding_box": {
"top_left": {
"lat": 71.18507,
"lon": -25.2966
},
"bottom_right": {
"lat": 34.7982,
"lon": 41.7102
}
},
"geo_shape": {
"points": [
{
"lat": 43.665014696873186,
"lon": 30.656803322464196
},
{
"lat": 45.829179968624345,
"lon": 39.444228256278876
},
{
"lat": 42.90364411679292,
"lon": 54.41512692671907
},
{
"lat": 32.48178389631096,
"lon": 54.371264285779894
},
{
"lat": 35.97404030325093,
"lon": 29.49485713607544
}
]
}
}
],
"offset": 1,
"limit": 1,
"format": "text",
"merge_linked_objects": "none",
"merge_max_depth": 1,
"languages": [
"text"
],
"sort": [
{
"field": "text",
"order": "asc",
"language": "text",
"with_path": true,
"mode": "text",
"numeric": true,
"number_groups": [
1
],
"width": "year"
}
],
"include_deleted": true,
"aggregations": {
"ANY_ADDITIONAL_PROPERTY": {
"type": "text",
"field": "text",
"value_field": "text",
"objecttype": "text",
"limit": 1,
"offset": 1,
"sort": "text",
"order": "text",
"format": "text",
"include": "text",
"language": "text",
"filter_parent": 1,
"precision": 1,
"ranges": [
{
"from": "text",
"to": "text"
}
],
"bounds": {}
}
},
"fields": [
{
"key": "text",
"field": "text",
"with_path": true,
"mode": "text",
"language": "text"
}
],
"field": "text",
"include_fields": [
"text"
],
"exclude_fields": [
"text"
],
"point_in_time": {
"id": "text",
"keep_alive": "text"
},
"search_after": [],
"file_url_expire": 1,
"timezone": "text",
"generate_rights": true,
"best_mask_filter": true
},
"fields": {
"ANY_ADDITIONAL_PROPERTY": {
"display_name": "text"
}
},
"eas_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"files": false,
"include_non_preferred": false,
"data": [
{
"type": "original",
"format": "long",
"version": "text"
}
]
}
},
"classes": {
"ANY_ADDITIONAL_PROPERTY": [
{
"type": "original",
"metadata": "standard",
"version": "text",
"custom": {
"watermark": false,
"quality": "low",
"format": "keep",
"colorspace": "text",
"colorprofile": "",
"size": "keep",
"custom_size": "dimension_max",
"dpi": 0,
"custom_size_pixel": 0,
"custom_width_pixel": 0,
"custom_height_pixel": 0,
"transform": {
"rotate-x": 0,
"rotate-y": 0,
"rotate-z": 0,
"crop": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
}
}
},
"custom_version_preset": "text"
}
]
},
"assets": {
"ANY_ADDITIONAL_PROPERTY": true
},
"csv": false,
"xml": true,
"xml_one_file_per_object": true,
"mapping": "easydb",
"xslt_xml_post_processing": {
"_id": 1
},
"xlsx": false,
"json": true,
"json_one_file_per_object": true,
"merge_linked_objects": "none",
"merge_max_depth": 1,
"include_parents": true,
"file_url_expire_days": 1,
"produce_options": {
"plugin": "my-plugin:my_export"
},
"all_languages": false,
"file_metadata": false,
"no_inheritance": false,
"batch_size": 1,
"flat": false,
"filename_original": false,
"filename_template": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"_date_created": "2026-01-01T00:00:00.000Z",
"_last_updated_at": "2026-01-01T00:00:00.000Z",
"_last_run_at": "2026-01-01T00:00:00.000Z",
"_last_relevant_object_count": 1,
"_last_relevant_run_at": "2026-01-01T00:00:00.000Z",
"_next_run_at": "2026-01-01T00:00:00.000Z",
"_state": "new",
"_plugin_log": [
"text"
],
"_files": [
{
"path": "text",
"size": 1,
"date_created": "2026-01-01T00:00:00.000Z"
}
],
"_log": [
{
"_basetype": "event",
"event": {
"_id": 1,
"type": "text",
"object_id": 1,
"object_version": 1,
"global_object_id": "text",
"system_object_id": 1,
"schema": "text",
"basetype": "text",
"objecttype": "text",
"timestamp": "2026-01-01T00:00:00.000Z",
"pollable": true,
"info": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"remote_addr": "text",
"user_generated_displayname": "text"
},
"user": {
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
}
],
"_transports": [
{
"plugin": "text",
"options": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"email": {
"message": "text",
"recipients": [
{
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
]
},
"external_url": "text",
"uuid": "text"
}
],
"_schedules": [
{
"days_of_month": [
1
],
"weekdays": [
"mon"
],
"hours": [
1
],
"minutes": [
1
],
"timezone": "text"
}
]
}DELETE /export/{exportId} — Delete an export.
Access token in the Authorization header:
Authorization: Bearer <token>.
The export was deleted.
Either the server is in read-only mode, in which case exports
cannot be deleted (code ReadOnlyMode, package ferrors), or
the export id in the URL matches no stored export (code
ServerGeneric, package ferrors).
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
{
"status": {
"acknowledged": "ok"
}
}POST /export/{exportId}/start — Start (or restart) the export's generation.
Schedules a production run for the export. Permitted even when the server is in read-only mode, so downloads keep working.
Access token in the Authorization header:
Authorization: Bearer <token>.
The export is scheduled.
An export — a long-running job that bundles a set of objects (and optionally their files) into a downloadable archive (TAR.GZ or ZIP).
Fixed marker identifying this object as an export.
UTC time the export was created.
UTC time the export configuration was last updated.
UTC time the most recent production run started.
Number of objects included in the most recent run that had at least one change since the previous run.
UTC time of the most recent run that actually produced output (vs. a run that found nothing new).
UTC time the next scheduled run is expected. Set by the
_schedules entries.
Current export run state. new after create/update; pending
once a run is scheduled; processing while a run is active;
done / done_with_warnings on success; failed on error or
after a stop.
Lines of plugin-emitted log output captured during the most recent run. Cleared at the start of each run.
The exportId in the URL matches no stored export. LoadById
fails with message export <id> not found, returned as code
ServerGeneric (package ferrors).
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
{
"_basetype": "export",
"export": {
"_id": 1,
"_version": 1,
"type": "export",
"name": "text",
"search": {
"type": "pool",
"objecttypes": [
"text"
],
"search": [
{
"type": "text",
"bool": "must",
"boost": 1,
"fields": [
"text"
],
"string": "text",
"query": "text",
"phrase": true,
"mode": "text",
"languages": [
"text"
],
"in": [],
"objecttype": "text",
"include_path": true,
"subsearch": "[Circular Reference]",
"field": "text",
"from": null,
"to": null,
"from_equals": true,
"to_equals": true,
"path": "text",
"search": "[Circular Reference]",
"operation": "text",
"comment": "text",
"user": 1,
"geo_bounding_box": {
"top_left": {
"lat": 71.18507,
"lon": -25.2966
},
"bottom_right": {
"lat": 34.7982,
"lon": 41.7102
}
},
"geo_shape": {
"points": [
{
"lat": 43.665014696873186,
"lon": 30.656803322464196
},
{
"lat": 45.829179968624345,
"lon": 39.444228256278876
},
{
"lat": 42.90364411679292,
"lon": 54.41512692671907
},
{
"lat": 32.48178389631096,
"lon": 54.371264285779894
},
{
"lat": 35.97404030325093,
"lon": 29.49485713607544
}
]
}
}
],
"offset": 1,
"limit": 1,
"format": "text",
"merge_linked_objects": "none",
"merge_max_depth": 1,
"languages": [
"text"
],
"sort": [
{
"field": "text",
"order": "asc",
"language": "text",
"with_path": true,
"mode": "text",
"numeric": true,
"number_groups": [
1
],
"width": "year"
}
],
"include_deleted": true,
"aggregations": {
"ANY_ADDITIONAL_PROPERTY": {
"type": "text",
"field": "text",
"value_field": "text",
"objecttype": "text",
"limit": 1,
"offset": 1,
"sort": "text",
"order": "text",
"format": "text",
"include": "text",
"language": "text",
"filter_parent": 1,
"precision": 1,
"ranges": [
{
"from": "text",
"to": "text"
}
],
"bounds": {}
}
},
"fields": [
{
"key": "text",
"field": "text",
"with_path": true,
"mode": "text",
"language": "text"
}
],
"field": "text",
"include_fields": [
"text"
],
"exclude_fields": [
"text"
],
"point_in_time": {
"id": "text",
"keep_alive": "text"
},
"search_after": [],
"file_url_expire": 1,
"timezone": "text",
"generate_rights": true,
"best_mask_filter": true
},
"fields": {
"ANY_ADDITIONAL_PROPERTY": {
"display_name": "text"
}
},
"eas_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"files": false,
"include_non_preferred": false,
"data": [
{
"type": "original",
"format": "long",
"version": "text"
}
]
}
},
"classes": {
"ANY_ADDITIONAL_PROPERTY": [
{
"type": "original",
"metadata": "standard",
"version": "text",
"custom": {
"watermark": false,
"quality": "low",
"format": "keep",
"colorspace": "text",
"colorprofile": "",
"size": "keep",
"custom_size": "dimension_max",
"dpi": 0,
"custom_size_pixel": 0,
"custom_width_pixel": 0,
"custom_height_pixel": 0,
"transform": {
"rotate-x": 0,
"rotate-y": 0,
"rotate-z": 0,
"crop": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
}
}
},
"custom_version_preset": "text"
}
]
},
"assets": {
"ANY_ADDITIONAL_PROPERTY": true
},
"csv": false,
"xml": true,
"xml_one_file_per_object": true,
"mapping": "easydb",
"xslt_xml_post_processing": {
"_id": 1
},
"xlsx": false,
"json": true,
"json_one_file_per_object": true,
"merge_linked_objects": "none",
"merge_max_depth": 1,
"include_parents": true,
"file_url_expire_days": 1,
"produce_options": {
"plugin": "my-plugin:my_export"
},
"all_languages": false,
"file_metadata": false,
"no_inheritance": false,
"batch_size": 1,
"flat": false,
"filename_original": false,
"filename_template": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"_date_created": "2026-01-01T00:00:00.000Z",
"_last_updated_at": "2026-01-01T00:00:00.000Z",
"_last_run_at": "2026-01-01T00:00:00.000Z",
"_last_relevant_object_count": 1,
"_last_relevant_run_at": "2026-01-01T00:00:00.000Z",
"_next_run_at": "2026-01-01T00:00:00.000Z",
"_state": "new",
"_plugin_log": [
"text"
],
"_files": [
{
"path": "text",
"size": 1,
"date_created": "2026-01-01T00:00:00.000Z"
}
],
"_log": [
{
"_basetype": "event",
"event": {
"_id": 1,
"type": "text",
"object_id": 1,
"object_version": 1,
"global_object_id": "text",
"system_object_id": 1,
"schema": "text",
"basetype": "text",
"objecttype": "text",
"timestamp": "2026-01-01T00:00:00.000Z",
"pollable": true,
"info": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"remote_addr": "text",
"user_generated_displayname": "text"
},
"user": {
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
}
],
"_transports": [
{
"plugin": "text",
"options": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"email": {
"message": "text",
"recipients": [
{
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
]
},
"external_url": "text",
"uuid": "text"
}
],
"_schedules": [
{
"days_of_month": [
1
],
"weekdays": [
"mon"
],
"hours": [
1
],
"minutes": [
1
],
"timezone": "text"
}
]
}POST /export/{exportId}/stop — Stop a running export.
Signals the export to stop and waits up to 4 seconds for it to
reach state failed, then returns the export (via the same
rendering as GET /export/{exportId}). The export must be in state
processing: stopping one in any other state fails with a 400
(unable to stop export in status ..., code ServerGeneric). If the
export does not reach failed within 4 seconds, the request fails
with a 400 (failed to stop export after 4 seconds, code
ServerGeneric). This route is permitted even in read-only mode.
Access token in the Authorization header:
Authorization: Bearer <token>.
The export reached state failed after the stop signal; the
export is returned.
An export — a long-running job that bundles a set of objects (and optionally their files) into a downloadable archive (TAR.GZ or ZIP).
Fixed marker identifying this object as an export.
UTC time the export was created.
UTC time the export configuration was last updated.
UTC time the most recent production run started.
Number of objects included in the most recent run that had at least one change since the previous run.
UTC time of the most recent run that actually produced output (vs. a run that found nothing new).
UTC time the next scheduled run is expected. Set by the
_schedules entries.
Current export run state. new after create/update; pending
once a run is scheduled; processing while a run is active;
done / done_with_warnings on success; failed on error or
after a stop.
Lines of plugin-emitted log output captured during the most recent run. Cleared at the start of each run.
The exportId in the URL matches no stored export. LoadById
fails with message export <id> not found, returned as code
ServerGeneric (package ferrors).
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
{
"_basetype": "export",
"export": {
"_id": 1,
"_version": 1,
"type": "export",
"name": "text",
"search": {
"type": "pool",
"objecttypes": [
"text"
],
"search": [
{
"type": "text",
"bool": "must",
"boost": 1,
"fields": [
"text"
],
"string": "text",
"query": "text",
"phrase": true,
"mode": "text",
"languages": [
"text"
],
"in": [],
"objecttype": "text",
"include_path": true,
"subsearch": "[Circular Reference]",
"field": "text",
"from": null,
"to": null,
"from_equals": true,
"to_equals": true,
"path": "text",
"search": "[Circular Reference]",
"operation": "text",
"comment": "text",
"user": 1,
"geo_bounding_box": {
"top_left": {
"lat": 71.18507,
"lon": -25.2966
},
"bottom_right": {
"lat": 34.7982,
"lon": 41.7102
}
},
"geo_shape": {
"points": [
{
"lat": 43.665014696873186,
"lon": 30.656803322464196
},
{
"lat": 45.829179968624345,
"lon": 39.444228256278876
},
{
"lat": 42.90364411679292,
"lon": 54.41512692671907
},
{
"lat": 32.48178389631096,
"lon": 54.371264285779894
},
{
"lat": 35.97404030325093,
"lon": 29.49485713607544
}
]
}
}
],
"offset": 1,
"limit": 1,
"format": "text",
"merge_linked_objects": "none",
"merge_max_depth": 1,
"languages": [
"text"
],
"sort": [
{
"field": "text",
"order": "asc",
"language": "text",
"with_path": true,
"mode": "text",
"numeric": true,
"number_groups": [
1
],
"width": "year"
}
],
"include_deleted": true,
"aggregations": {
"ANY_ADDITIONAL_PROPERTY": {
"type": "text",
"field": "text",
"value_field": "text",
"objecttype": "text",
"limit": 1,
"offset": 1,
"sort": "text",
"order": "text",
"format": "text",
"include": "text",
"language": "text",
"filter_parent": 1,
"precision": 1,
"ranges": [
{
"from": "text",
"to": "text"
}
],
"bounds": {}
}
},
"fields": [
{
"key": "text",
"field": "text",
"with_path": true,
"mode": "text",
"language": "text"
}
],
"field": "text",
"include_fields": [
"text"
],
"exclude_fields": [
"text"
],
"point_in_time": {
"id": "text",
"keep_alive": "text"
},
"search_after": [],
"file_url_expire": 1,
"timezone": "text",
"generate_rights": true,
"best_mask_filter": true
},
"fields": {
"ANY_ADDITIONAL_PROPERTY": {
"display_name": "text"
}
},
"eas_fields": {
"ANY_ADDITIONAL_PROPERTY": {
"files": false,
"include_non_preferred": false,
"data": [
{
"type": "original",
"format": "long",
"version": "text"
}
]
}
},
"classes": {
"ANY_ADDITIONAL_PROPERTY": [
{
"type": "original",
"metadata": "standard",
"version": "text",
"custom": {
"watermark": false,
"quality": "low",
"format": "keep",
"colorspace": "text",
"colorprofile": "",
"size": "keep",
"custom_size": "dimension_max",
"dpi": 0,
"custom_size_pixel": 0,
"custom_width_pixel": 0,
"custom_height_pixel": 0,
"transform": {
"rotate-x": 0,
"rotate-y": 0,
"rotate-z": 0,
"crop": {
"top": 0,
"left": 0,
"width": 0,
"height": 0
}
}
},
"custom_version_preset": "text"
}
]
},
"assets": {
"ANY_ADDITIONAL_PROPERTY": true
},
"csv": false,
"xml": true,
"xml_one_file_per_object": true,
"mapping": "easydb",
"xslt_xml_post_processing": {
"_id": 1
},
"xlsx": false,
"json": true,
"json_one_file_per_object": true,
"merge_linked_objects": "none",
"merge_max_depth": 1,
"include_parents": true,
"file_url_expire_days": 1,
"produce_options": {
"plugin": "my-plugin:my_export"
},
"all_languages": false,
"file_metadata": false,
"no_inheritance": false,
"batch_size": 1,
"flat": false,
"filename_original": false,
"filename_template": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"_date_created": "2026-01-01T00:00:00.000Z",
"_last_updated_at": "2026-01-01T00:00:00.000Z",
"_last_run_at": "2026-01-01T00:00:00.000Z",
"_last_relevant_object_count": 1,
"_last_relevant_run_at": "2026-01-01T00:00:00.000Z",
"_next_run_at": "2026-01-01T00:00:00.000Z",
"_state": "new",
"_plugin_log": [
"text"
],
"_files": [
{
"path": "text",
"size": 1,
"date_created": "2026-01-01T00:00:00.000Z"
}
],
"_log": [
{
"_basetype": "event",
"event": {
"_id": 1,
"type": "text",
"object_id": 1,
"object_version": 1,
"global_object_id": "text",
"system_object_id": 1,
"schema": "text",
"basetype": "text",
"objecttype": "text",
"timestamp": "2026-01-01T00:00:00.000Z",
"pollable": true,
"info": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"remote_addr": "text",
"user_generated_displayname": "text"
},
"user": {
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
}
],
"_transports": [
{
"plugin": "text",
"options": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"email": {
"message": "text",
"recipients": [
{
"_basetype": "user",
"_owner": true,
"_pool_contact": true,
"user": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text",
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"group": {
"_id": 1,
"lookup:_id": {
"reference": "text"
},
"_generated_displayname": "text"
}
}
]
},
"external_url": "text",
"uuid": "text"
}
],
"_schedules": [
{
"days_of_month": [
1
],
"weekdays": [
"mon"
],
"hours": [
1
],
"minutes": [
1
],
"timezone": "text"
}
]
}GET /export/{exportId}/tar_gz/ — Download the generated TAR.GZ archive (or a path inside it).
Returns the bytes of the export's TAR.GZ archive. The handler also accepts deeper paths (PathPrefix mount) — those serve individual files extracted from the archive.
Access token in the Authorization header:
Authorization: Bearer <token>.
The archive (or selected entry) bytes.
The exportId matches no stored export, so streaming never
starts (code ServerGeneric, package ferrors). Note that once
the archive stream has begun (HTTP 200 already sent), per-file
production failures are NOT reported as a JSON error: the ZIP
handler embeds the error as an entry inside the archive, and the
TAR.GZ handler aborts the stream with an inline 500.
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
binaryGET /export/{exportId}/zip/ — Download the generated ZIP archive (or a path inside it).
Returns the bytes of the export's ZIP archive. The handler also accepts deeper paths (PathPrefix mount) — those serve individual files extracted from the archive.
Access token in the Authorization header:
Authorization: Bearer <token>.
The archive (or selected entry) bytes.
The exportId matches no stored export, so streaming never
starts (code ServerGeneric, package ferrors). Note that once
the archive stream has begun (HTTP 200 already sent), per-file
production failures are NOT reported as a JSON error: the ZIP
handler embeds the error as an entry inside the archive, and the
TAR.GZ handler aborts the stream with an inline 500.
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
binaryGET /export/{exportId}/uuid/{uuid}/tar_gz/ — Download the TAR.GZ produced for a specific export run UUID.
Same as /export/{exportId}/tar_gz/ but addresses a particular
production run identified by uuid. Useful for clients that need
to download a specific historical artifact, not just the most
recent one.
Access token in the Authorization header:
Authorization: Bearer <token>.
The export run UUID.
The archive (or selected entry) bytes.
The exportId matches no stored export, so streaming never
starts (code ServerGeneric, package ferrors). Note that once
the archive stream has begun (HTTP 200 already sent), per-file
production failures are NOT reported as a JSON error: the ZIP
handler embeds the error as an entry inside the archive, and the
TAR.GZ handler aborts the stream with an inline 500.
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
binaryGET /export/{exportId}/uuid/{uuid}/zip/ — Download the ZIP produced for a specific export run UUID.
Access token in the Authorization header:
Authorization: Bearer <token>.
The archive (or selected entry) bytes.
The exportId matches no stored export, so streaming never
starts (code ServerGeneric, package ferrors). Note that once
the archive stream has begun (HTTP 200 already sent), per-file
production failures are NOT reported as a JSON error: the ZIP
handler embeds the error as an entry inside the archive, and the
TAR.GZ handler aborts the stream with an inline 500.
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
binaryGET /export/{exportId}/file/ — Download a single file from the export, or list the export's files.
PathPrefix mount. With a file path appended, returns that file's
bytes. With an empty path or a path ending in /, renders an HTML
directory index of the export's produced files (the exportIndex
page). HEAD is also accepted and returns the headers only, no
body.
Access token in the Authorization header:
Authorization: Bearer <token>.
The file bytes (when a file path is appended) or the HTML file
index (when the path is empty or ends in /).
The requested file could not be produced: e.g. the referenced
file is not yet in status done (FileNotDone), a file version
or group is unavailable (FileVersionNotAvailable,
FileGroupNotAvailable), an api-object path is invalid
(ApiObjectPath), or deep-link access is disabled
(DeepLinkAccessByIdDisabled, DeepLinkAccessByColumnDisabled).
All carry package export.
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
The requested file does not exist in the export (code
FileNotFound, package export). parameters.file carries
the requested path.
binaryHEAD /export/{exportId}/file/ — Headers for a single export file (or the file index).
Same routing as the GET form but returns headers only, no body.
Access token in the Authorization header:
Authorization: Bearer <token>.
Headers for the file or the file index; no body.
No content
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
No content
GET /export/{exportId}/uuid/{uuid}/file/ — Download a single file (or list files) for a specific export run UUID.
Same as /export/{exportId}/file/ but addresses a particular
production run identified by uuid. When uuid matches one of the
export's transport UUIDs, access is granted via that transport
(deep-link style) instead of the owner check. HEAD is also
accepted.
Access token in the Authorization header:
Authorization: Bearer <token>.
The export run / transport UUID.
The file bytes (when a file path is appended) or the HTML file
index (when the path is empty or ends in /).
The requested file could not be produced: e.g. the referenced
file is not yet in status done (FileNotDone), a file version
or group is unavailable (FileVersionNotAvailable,
FileGroupNotAvailable), an api-object path is invalid
(ApiObjectPath), or deep-link access is disabled
(DeepLinkAccessByIdDisabled, DeepLinkAccessByColumnDisabled).
All carry package export.
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
The requested file does not exist in the export (code
FileNotFound, package export). parameters.file carries
the requested path.
binaryHEAD /export/{exportId}/uuid/{uuid}/file/ — Headers for a single export file (or the file index) for a run UUID.
Same routing as the GET form but returns headers only, no body.
Access token in the Authorization header:
Authorization: Bearer <token>.
The export run / transport UUID.
Headers for the file or the file index; no body.
No content
The authenticated user is neither the export's owner (matched by
user_id) nor a system.root user. The response carries code
InsufficientRights (package api); parameters.resource is the
literal Export here (the DELETE handler uses export-{id}).
A request with no authenticated user also lands here, except for
create / update / list, which surface a generic 400 instead.
No content
Last updated