Traders

Submit a trader dataset export job

Changed on

Queues 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.

post/api/v1/trader/{address}/export

Request

Path parameters

addressstring required

Trader wallet address (0x...), known trader username-style lookup, or trd_-prefixed trader ID emitted by this API.

Query parameters

format'json' | 'ndjson' | 'csv'

Output serialization. json = full envelope document (default); ndjson = full envelope as line 1 then one trade object per line; csv = flat trades rows only.

freshboolean

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

X-Query-Validation'strict'

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.

object'trader_export_job' required

Changes

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

    • warning

      added the new freshness_ceiling_unsatisfied enum 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

      added the new cancel_requested enum value to the / response property for the response status

    • warning

      added the new cancel_requested enum value to the / response property for the response status

    • warning

      added the new cancelled enum value to the / response property for the response status

    • warning

      added the new cancelled enum 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