The asynchronous lifecycle
Every download is asynchronous — create a request, poll it, then fetch the CSV.1
Create a download request
POST /v1/downloads with a context (the data domain) and an optional params object for filters and sort order. You get back a DownloadRequest with a UUID id and status: "accepted". See the request schema and ready-to-run examples on Create a download request.2
Poll for completion
GET /v1/downloads/{id} returns the request state. status moves from accepted to either completed (with a presigned url) or failed (with a populated error). Use exponential back-off — large exports can take seconds to minutes depending on the context and filter set. See Get a download request for the response schema.3
Fetch the CSV
GET the presigned url directly. It expires after 5 minutes, so download or stream it as soon as the request completes. No Oleria authentication is required on the presigned URL itself.Filtering and sorting
params.filterBy applies AND-combined filters before export. Each filter declares the column’s dataType, the field, a filterType operator, and values — and the valid operators depend on the dataType. The filterBy schema on Create a download request lists the operators allowed for each type (and the value rules for between/in/last), so this page doesn’t repeat — and can’t drift from — that matrix.
params.sortBy orders results — each entry takes a field and a sortType of asc or desc.
What you can export
Each row is a data domain you can export. Open Create a download request to pick the matchingcontext, see the request schema, and run it from the playground.
Create a download request
Pick the
context for the entity you want, then run it from the interactive playground.
