Download a finished contact export

GET
/v1/contacts/exports/{id}/download

Streams the CSV from R2. Returns 404 (never 403) if the job doesn't exist, isn't owned by the caller's tenant, or isn't done yet — an export id never confirms another tenant's job.

Authorization

bearerAuth
headerAuthorizationBearer <token>

API key sent as Authorization: Bearer <key>. Looked up by SHA-256 hash (email_core::sha256_hex) against api_keys.hash; revoked keys and keys belonging to a suspended tenant are rejected. See the top-level Authentication section for permission levels.

Path Parameters

id*string

The import_id/export_id returned when the job was created.

Response Body

The CSV file.

response?filetext/csv
Formatbinary
curl -X GET "https://example.com/v1/contacts/exports/string/download"
"string"