Get exports
GET /api/v1/export?token=<token>
Retrieves an overview of all exports owned by the user.
Query String
| token | Session token acquired with /api/v1/session | 
| limit | maximum number of returned exports (optional, integer, 1000if unset, maximum:1000) | 
| offset | offset of first export to be returned (optional, integer, 0if unset) | 
| filter | Comma-separated, disjunctive list of multiple filters. Each filter may contain a typeand/or astatusfilter part, multiple parts are separated by+and used in conjunction.Each part consists of the filter variable name (either typeorstatus) and its value(s), separated by:Multiple values may be specified, separated by | Example: filter=type:download+status:failed,type:export_incremental. Note, that+has to be URL-encoded (%2B) when used in query string. | 
Output
Object containing the following fields:
| Name | Description | 
|---|---|
| limit | requested maximum number of returned exports, nullif not requested in URL | 
| offset | offset of first export to be returned, 0if not requested in URL | 
| count | total number of exports found, ignoring limit | 
| objects | array of exports. The exports do not include _files,_downloads,_schedules_transportsand_log. | 
Permissions
The session must be authenticated. A user can only manage its own exports.
HTTP status codes
| 200 | Success | 
| 400 | API error: something is malformed | 
| 403 | Not Authenticated: session is not authenticated | 
| 500 | Server error: internal server error | 
GET /api/v1/export/<export-id>?token=<token>
Retrieves a specific export.
Path parameters
| export-id | Export ID (integer) | 
Query String
| token | Session token acquired with /api/v1/session | 
Output
An export.
Permissions
The session must be authenticated. A user can only manage its own exports.
HTTP status codes
| 200 | Success | 
| 400 | API error: something is malformed | 
| 403 | Not Authenticated: session is not authenticated | 
| 404 | Not Found: export export_idnot found | 
| 500 | Server error: internal server error | 
Create an export
PUT /api/v1/export?token=<token>
Create a new export.
TODO: a secret passkey to access an Export’s downloadable files, is generated and stored for the new Export.
Query String
| token | Session token acquired with /api/v1/session | 
Input
An export.
Output
The created export.
Permissions
The session must be authenticated.
HTTP status codes
| 200 | Success | 
| 400 | API error: something is malformed | 
| 403 | Not Authenticated: session is not authenticated | 
| 500 | Server error: internal server error | 
Update an export
POST /api/v1/export/<export-id>?token=<token>
Update an export. POST only updates fields that are set, leaving the rest as they currently are.
TODO: if an update happens to an Export which is not in done or new state, the currently active Export is purged. After an update the Export gets again the new state.
Path parameters
| export-id | Export ID (integer) | 
Query String
| token | Session token acquired with /api/v1/session | 
Input
An export.
If the export is scheduled (there are one or more _schedules), it requires an explicitly set name.
Output
The updated export.
Permissions
The session must be authenticated. A user can only manage its own exports.
HTTP status codes
| 200 | Success | 
| 400 | API error: something is malformed | 
| 403 | Not Authenticated: session is not authenticated | 
| 400 | Export Name Required: export requires a name | 
| 404 | Not Found: export export_idnot found | 
| 500 | Server error: internal server error | 
Delete an export
DELETE /api/v1/export/<export-id>?token=<token>
Delete export export-id.
Path parameters
| export-id | Export ID (integer) | 
Query String
| token | Session token acquired with /api/v1/session | 
Permissions
The session must be authenticated. A user can only manage its own exports.
HTTP status codes
| 200 | Success | 
| 400 | API error: something is malformed | 
| 403 | Not Authenticated: session is not authenticated | 
| 404 | Not Found: export export_idnot found | 
| 500 | Server error: internal server error | 
Get files from an Export
GET /api/v1/v1/export/<export-id>/file/<path>?token=<token>
The <path> can be retrieved from the _files Array returned in the Export. Clients can use this to build an Export browser. <path> needs to be a file.
Query String
| token | Session token acquired with /api/v1/session | 
| disposition | If set, a Content-Disposition header is set in response. Valid values: inline, attachment | 
| filename | If set, an alternative name for the downloaded file is used. The file extension is added automatically. | 
HTTP status codes
| 200 | Success | 
| 302 | Client is redirected to show an error page (using scheme /#server_error:<localization key>. This is only done ifdispositionparameter is set. | 
| 400 | API error: something is malformed | 
Get files zipped from an Export
GET /api/v1/v1/export/<export-id>/zip/<path>?token=<token>
The <path> can be retrieved from the _files Array returned in the Export. The ZIP format is ZIP64, if ZIP32 is required a transport has to be used. Single files or directories can be zipped. With no path given, the full export is zipped.
The server generates the ZIP file on-thy-fly, so there is no Content-Length HTTP-Header set in the response.
| token | Session token acquired with /api/v1/session | 
| disposition | If set, a Content-Disposition header is set in response. Valid values: inline, attachment | 
| filename | If set, an alternative name for the downloaded ZIP file is used. Defaults to export name and (if a path other than "/"is provided) the leaf path name with a".zip"suffix. The file extension (always".zip") is added automatically. | 
HTTP status codes
| 200 | Success | 
| 302 | Client is redirected to show an error page (using scheme /#server_error:<localization key>. This is only done ifdispositionparameter is set. | 
| 400 | API error: something is malformed | 
Download files from an Export
Each export generates a list of files to download the Export from. The ZIP files and TAR file is available through an anonymous access using a secret-passkey which is uniquely generated for each Export upon PUT.
Get a downloadable files from an Export
GET /api/v1/v1/export/<export-id>/download/<secret-passkey>/<name-of-export>[.<1-n>].zip>
GET /api/v1/v1/export/<export-id>/download/<secret-passkey>/<name-of-export>.zip>
GET /api/v1/v1/export/<export-id>/download/<secret-passkey>/<name-of-export>.tar>
The URL can be retrieved from the _download Map returned in the Exports Transports List.
Only Exports in the done state can be downloaded.
The URL can be retrieved from the _download Map returned in the Exports Transports List.
The URL for a downloadable file will be persistent over the lifetime of an export.
| token | Session token acquired with /api/v1/session | 
| disposition | If set, a Content-Disposition header is set in response. Valid values: inline, attachment | 
| filename | If set, an alternative name for the downloaded file is used. The file extension is added automatically. | 
Get with an invalid secret-passkey
If the secret-passkey used is invalid, the server uses a response with a “HTTP Location” redirect to redirect the Requester to a Frontend-URL to display a server error.
//#server_error:export.invalid.passkey
HTTP status codes
| 200 | Success | 
| 302 | Client is redirected to show an error page (using scheme /#server_error:<localization key>. This is only done ifdispositionparameter is set. | 
| 400 | API error: something is malformed | 
Start an export
The export is queued to run immediately.
POST /api/v1/export/<export-id>/start?token=<token>
Path parameters
| export-id | Export ID (integer) | 
Query String
| token | Session token acquired with /api/v1/session | 
Permissions
The session must be authenticated. A user can only manage its own exports.
HTTP status codes
| 200 | Success | 
| 400 | API error: something is malformed | 
| 400 | Already Running: the export requested to start is already running | 
| 403 | Not Authenticated: session is not authenticated | 
| 404 | Not Found: export export_idnot found | 
| 500 | Server error: internal server error | 
Stop an export
POST /api/v1/export/<export-id>/stop?token=<token>
Path parameters
| export-id | Export ID (integer) | 
Query String
| token | Session token acquired with /api/v1/session | 
Permissions
The session must be authenticated. A user can only manage its own exports.
HTTP status codes
| 200 | Success | 
| 400 | API error: something is malformed | 
| 403 | Not Authenticated: session is not authenticated | 
| 404 | Not Found: export export_idnot found or not running | 
| 500 | Server error: internal server error |