Create Vena Table Export
Changed onBeta. Submits an asynchronous Vena Table snapshot export job and returns immediately with status SUBMITTED. Poll GET /exports/{exportId}/status until COMPLETED before calling GET /exports/{exportId}/data.
The create response uses id (not exportId) and returns a flat export resource rebuilt from the persisted job/step (exportType, modelId, tableId, whereClause, columnNames, timestamps). It does not echo a nested request object. errorReason is omitted on create (status is always SUBMITTED).
Row cap: A single export job can contain at most 20,000,000 rows. Create runs a pre-flight COUNT; if the result would exceed the cap, the API returns 400 EXPORT_ROW_LIMIT_EXCEEDED and does not enqueue a job. Use whereClause to narrow the result set. A zero-row result is allowed — the job is enqueued and /data returns an empty page after COMPLETED.
TTL: expiresTime is createdTime + 24 hours.
Not-found on create uses HTTP 400 (INVALID_PARAMETER on modelId / tableId), not 404. True HTTP 404 (NOT_FOUND / EXPORT_EXPIRED) applies to status and data endpoints.
exportType must be the exact token VENA_TABLE (case-sensitive, no surrounding whitespace). Blank, unknown, lowercase, or padded values return 400 INVALID_PARAMETER.
Unknown JSON properties on the request body are ignored (forwards-compatible).
Request
- Base URLhttps://us1.vena.io/api/public/v1
- AuthHTTP basic
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Request body
Example request
{
"modelId": "123456789012345678",
"tableId": "987654321098765432",
"whereClause": "Region = 'North America' AND Year = '2024'",
"columnNames": [
"Year",
"Entity",
"Amount"
]
}Response
Export job accepted and enqueued. Body is a flat export resource: id, status=SUBMITTED, exportType, modelId, tableId, whereClause, columnNames, and timestamps. Poll status before fetching data.
Example response
{
"id": "123456789012345678",
"modelId": "123456789012345678",
"tableId": "987654321098765432",
"createdTime": "2026-08-05T12:00:00.000Z",
"expiresTime": "2026-08-06T12:00:00.000Z"
}Changes
- info
endpoint added
- info