Exports
Create export
/v1/exportsexportsCreateOn this page
Queues a file export of any data endpoint of the catalog (GET /v1/catalog): send its path and the query you would send to it. The query is validated by the endpoint's own parameter rules before the job is accepted (400 with details otherwise). A background worker then runs the endpoint and follows its pages until the data ends, writing one JSON file {data, meta, pages, truncated}. On a paginated endpoint limit is the maximum number of rows in the file (up to 100,000) rather than a page size; cursor_id is not accepted. The file holds at most 100,000 rows and 64 MiB; truncated is true when the data was cut at a limit. Poll GET /v1/exports/{id} until status is ready, then download from download_url. Creating, polling and downloading count against the account rate limit like any request; the job itself runs in the background and does not hold request capacity. Platform and account endpoints cannot be exported. At most 5 exports can be queued or running per account at once (429 export_limit).
Example request
curl -sS -X POST "https://api.ordermap.si/v1/exports" \
-H "Authorization: Bearer $ORDERMAP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"path":"/v1/options/trades","query":{"date":"2026-10-16","limit":5000,"underlying_symbol":"SPXW"}}'const res = await fetch("https://api.ordermap.si/v1/exports", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.ORDERMAP_API_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ path: "/v1/options/trades", query: { date: "2026-10-16", limit: 5000, underlying_symbol: "SPXW" } }),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const { data, meta } = await res.json();
console.log(data, meta.coverage);Set ORDERMAP_API_KEY to your key. Replace the dates with a recent trading date.
Parameters
This endpoint takes no parameters.
Request body
Required. Content-Type: application/json
JSON body
pathstringrequiredPath of a data endpoint in the catalog, for example /v1/options/trades.pattern ^/v1/[a-z0-9/-]+$querymap<string | number | boolean | array<string | number | boolean>>The endpoint's query parameters, at most 32; values are strings, numbers, booleans or arrays of those (a list parameter). On a paginated endpoint limit is the maximum number of rows in the file (1 to 100,000).
Example body
{
"path": "/v1/options/trades",
"query": {
"date": "2026-10-16",
"limit": 5000,
"underlying_symbol": "SPXW"
}
}Response
| Status | Meaning | Body |
|---|---|---|
202 | The export was accepted. | Schema below |
400 | Invalid body, a path that is not an exportable catalog endpoint, or a query the endpoint rejects (details name each parameter). | Error object |
401 | Missing or invalid API key. | Error object |
403 | The plan, dataset release or account state does not allow this export. | Error object |
429 | Rate limit, burst limit or cooldown; wait Retry-After seconds.Retry-After | Error object |
503 | Exports are temporarily unavailable; retry after Retry-After seconds.Retry-After | Error object |
Authenticated responses carry the X-RateLimit-* headers (see rate limits); 429 and 503 add Retry-After.
202 response body
dataobjectrequiredAn export job.16 fields insidebytesintegerFile size once ready.created_timestampintegerunix-msrequiredWhen the job was accepted. Unix epoch milliseconds (UTC).download_urlstringRelative URL of the file once ready.error_codestringFailure code when the job failed.failed_timestampintegerunix-msWhen the job failed for good, once it has. Unix epoch milliseconds (UTC).failure_reasonstringFailure description when the job failed.idstringrequiredExport id.last_attempt_timestampintegerunix-msWhen the job last ran and did not finish, once it has. Unix epoch milliseconds (UTC).pagesintegerPages of the endpoint the export read once ready.pathstringrequiredEndpoint path.querymap<string>requiredThe query as requested: one string per parameter (numbers and booleans as text, a list as a comma-separated string).resolutionstringSummary of what the file holds once ready.revisionintegerrequiredIncreases with every state change.rowsintegerRows in the file once ready.statusstringrequiredJob state.queuedretryingawaiting_configurationfailedreadytruncatedbooleanThe data was cut at the row, size or page limit once ready.
metaobjectrequired1 fields insiderequest_idstringrequiredIdentifier of this request, for support.