Submit a trader dataset export job
Changed onQueues an async export of the trader's full dataset in the requested format (json default, ndjson, or csv) and returns the job resource. Poll the status route at poll_after_s until terminal is true, then follow the download route while status is 'ready' (until expires_at, 24 hours from submit). Reuse: without fresh=true, a live job for the same trader and format inside its retention window (queued, running, reconcile_required or ready) is returned with 200 instead of a new one, except a job its owner asked to cancel, which is never reused; its data_as_of says what its file is a snapshot of. With fresh=true only a queued job (which has not started reading) is reused; a running, reconciling or ready job is left alone and a new job is reserved, which consumes quota like any new job. Both decisions run under one per-account lock, so two concurrent submits cannot both reserve when one would have reused the other. Quotas are the per-user daily and per-address hourly export caps, keyed on the API key owner so an API key never widens its owner's quota. New full exports select one database read generation before delivery. JSON and NDJSON add export_metadata.generation (id, selected_at, consistency=repeatable_read, source_watermarks for positions, native P&L, categories and all matching trades), position_generation, provider_observations (provider values and observation/revision metadata), category_data_as_of, pnl_date_from/to, pnl_rows, pnl_row_limit (3650), markets_rows, markets_row_limit (50000), summary_basis and trades_basis. Summary counts cover all stored markets; the markets section retains its existing latest-activity 50000-row limit and P&L its earliest-3650-days limit. These are database consistency and section coverage facts, not a claim that providers observed every section simultaneously. CSV appends export_generation, export_selected_at and export_consistency columns. Downloaded objects also expose x-amz-meta-export-generation, x-amz-meta-export-selected-at, x-amz-meta-export-consistency, x-amz-meta-export-trades and x-amz-meta-export-provenance headers, including empty CSV files. Historical artifacts remain unchanged. Select CSV columns by name; JSON/NDJSON readers may ignore the additive fields. A read exceeding 600 seconds or an uncompressed artifact exceeding 2 GiB fails without publishing a partial file.
Request
- Base URLhttps://api.0xinsider.com
- Auth
- HTTP bearer
- or OAuth 2Authorization codehttps://0xinsider.com/oauth/authorizeToken URLhttps://api.0xinsider.com/oauth/tokenScopesexport
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Path parameters
Trader wallet address (0x...), known trader username-style lookup, or trd_-prefixed trader ID emitted by this API.
Query parameters
Output serialization. json = full envelope document (default); ndjson = full envelope as line 1 then one trade object per line; csv = flat trades rows only.
true: do not reuse a finished, running or reconciling job; only a queued job is reused, so the file is a snapshot read after this submit. Consumes quota when nothing is queued. Default false.
Headers
Opt into strict query-name validation. The default is compatible: unknown names are ignored and reported in X-Query-Ignored. With strict, an unknown name returns 400 bad_request with error.reason unknown_query_parameter before the handler runs, including when its percent escape is incomplete.
Response
A live job for this trader and format inside its retention window already exists and was reused; read its data_as_of and expires_at.
Changes
- warning
added the new
freshness_ceiling_unsatisfiedenum value to the/response property for the response status - warning
added the new
freshness_ceiling_unsatisfiedenum value to the/response property for the response status - warning
added the new
freshness_ceiling_unsatisfiedenum value to the/response property for the response status - warning
added the new
freshness_ceiling_unsatisfiedenum value to the/response property for the response status - warning
added the new
freshness_ceiling_unsatisfiedenum value to the/response property for the response status - warning
added the new
freshness_ceiling_unsatisfiedenum value to the/response property for the response status - warning
added the new
freshness_ceiling_unsatisfiedenum value to the/response property for the response status - warning
added the new
freshness_ceiling_unsatisfiedenum value to the/response property for the response status - warning
added the new
freshness_ceiling_unsatisfiedenum value to the/response property for the response status - warning
added the new
freshness_ceiling_unsatisfiedenum value to the/response property for the response status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status
- warning
- warning
added the new
cancel_requestedenum value to the/response property for the response status - warning
added the new
cancel_requestedenum value to the/response property for the response status - warning
added the new
cancelledenum value to the/response property for the response status - warning
added the new
cancelledenum value to the/response property for the response status - info
added the required property
/to the response with the status - info
added the required property
/to the response with the status - info
added the required property
/to the response with the status - info
added the required property
/to the response with the status
- warning