Download an export artifact
Stream the CSV produced by a COMPLETED export.
/v1/exports/{export_id}/downloadStreams the CSV artifact for a COMPLETED export. Uses the same
Bearer token as every other endpoint — no presigned URL, no embedded
credentials. The path itself is what download_url on
Retrieve an export points at.
Response shape:
Content-Type: text/csvContent-Disposition: attachment; filename="<subject>-<timestamp>.csv"- Body is the raw CSV (header row + data rows, UTF-8,
\nline separator)
Returns 404 with a typed error_code for every error state — cross-org
access is intentionally indistinguishable from a missing or expired
export so foreign export_ids never leak existence:
EXPORT_NOT_FOUND— does not exist in the caller's orgEXPORT_NOT_READY— exists butstatusis stillPENDINGorPROCESSINGEXPORT_EXPIRED— artifact has been purged past its 7-day retention
Authorization
bearerAuth Short-lived access token issued by Create a token.
Send it on every request as Authorization: Bearer <token>.
In: header
Path Parameters
The export_id returned by Create a bulk export job.
uuidResponse Body
text/csv
application/json
curl -X GET "https://ext.vizit.com/v1/exports/497f6eca-6276-4993-bfeb-53cbbbba6f08/download""string"{ "detail": "string", "status_code": 0, "error_code": "INVALID_GTIN", "request_id": "266ea41d-adf5-480b-af50-15b940c2b846", "extra": { "failed_urls": [ { "url": "https://cdn.example.com/broken.jpg", "reason": "IMAGE_DOWNLOAD_TIMEOUT" }, { "url": "https://cdn.example.com/icon.svg", "reason": "UNSUPPORTED_IMAGE_FORMAT" } ] }, "timestamp": "2019-08-24T14:15:22Z"}GETRetrieve an export
Returns the current status of an export job. When `status` is `COMPLETED` and the artifact has not yet expired, `download_url` is populated with a path to [Download an export artifact](/api/exports/downloadExport). Authenticate that follow-up GET with the same Bearer token used for this endpoint — the URL itself does not carry embedded credentials. Lifecycle: - `PENDING` / `PROCESSING` → `download_url` is `null`, no `error_code` - `COMPLETED` (within retention) → `download_url` populated - `COMPLETED` (past 7-day retention) → `download_url` is `null`, `error_code: EXPORT_EXPIRED` - `ERROR` → `download_url` is `null`, `error_code: EXPORT_FAILED` Cross-org access is intentionally indistinguishable from "not found"; foreign `export_id`s return `404 EXPORT_NOT_FOUND`.
POSTSubmit an image for scoring
Submits a standalone image for asynchronous scoring. The response returns immediately with an `image_id` and `status: processing`; use [Retrieve an image score](/api/images/getImageScore) to poll for the result. Hero images return a `score_metadata` breakdown alongside the composite `vizit_score`; carousel images return `vizit_score` only.