One export's status and a short-lived download URL once it is ready
/v1/apps/{app}/exports/{exportId}One export's status and, once status is ready, a freshly minted downloadUrl. Requires the exports:read scope. The URL lives minutes and the generated file lives days, so re-read this endpoint to mint a new one rather than caching the URL - an expired URL never means an expired file. rowLimitReached says the file was cut off at the export size limit and therefore holds only part of the output. Next: GET the downloadUrl with no authorization header, since it carries its own.
Authorization
bearerAuth Obtain a token from https://id.ovidens.com/oauth/token using the client_credentials grant.
In: header
Path Parameters
The app's stable technicalId, as reported by listApps. It is a snake_case identifier, never a numeric id, and it survives a rename of the app.
1 <= length <= 64The export identifier createExport returned in exportId.
1 <= length <= 32curl -X GET "https://example.com/v1/apps/string/exports/string"{ "exportId": "exp_5b1e7d0a3c92", "status": "ready", "runId": 4821, "runPinned": true, "node": "revenue_by_region", "format": "csv", "compression": "gzip", "csv": { "delimiter": ";", "quote": "\"", "escape": "\"", "encoding": "utf-8", "hasHeader": true, "decimalSeparator": ".", "thousandsSeparator": "", "dateFormat": "%d.%m.%Y", "timestampFormat": "%Y-%m-%dT%H:%M:%SZ", "columns": {} }, "byteSize": 40213, "rowCount": 34, "rowLimitReached": false, "errorCode": null, "createdAt": "2026-08-01T02:07:10.000Z", "finishedAt": "2026-08-01T02:07:19.000Z", "expiresAt": "2026-08-08T02:07:10.000Z", "downloadUrl": "https://ovidens-data.s3.eu-central-1.amazonaws.com/tenant/.../exp_5b1e7d0a3c92.csv.gz?X-Amz-Signature=...", "downloadUrlExpiresAt": "2026-08-01T02:25:44.000Z"}Response Body
application/json
application/json
application/json
application/json
application/json
application/json