Skip to main content
PUT
/
v1
/
export-schemas
/
{id}
/
draft
Update draft
curl --request PUT \
  --url https://api.ticksupply.com/v1/export-schemas/{id}/draft \
  --header 'Content-Type: application/json' \
  --header 'X-Api-Key: <api-key>' \
  --data '
{
  "columns": [
    {
      "output_column": "timestamp_ns",
      "meta": {
        "value": "collection_timestamp_ns",
        "format": "ns"
      }
    },
    {
      "output_column": "price",
      "data": {
        "binance": {
          "json": {
            "path": "data.p",
            "type": "decimal(18)"
          }
        }
      }
    },
    {
      "output_column": "quantity",
      "data": {
        "binance": {
          "json": {
            "path": "data.q",
            "type": "decimal(18)"
          }
        }
      }
    }
  ]
}
'
{
  "id": "sch_0194a1b2c3d4e5f6a7b8c9d0e1f2a3b4",
  "name": "normalized",
  "stream_category": "trade",
  "is_built_in": false,
  "created_at": "2023-11-07T05:31:56Z",
  "version": 1,
  "has_draft": false,
  "columns": [
    {
      "output_column": "price",
      "meta": {
        "value": "collection_timestamp_ns",
        "format": "ns"
      },
      "data": {}
    }
  ],
  "unfold": {},
  "derive": {}
}

Authorizations

X-Api-Key
string
header
required

Your API key. Get one from the dashboard at https://app.ticksupply.com/api-keys

Path Parameters

id
string
required

Export schema ID

Pattern: ^sch_[a-f0-9]{32}$

Body

application/json

Body for replacing a schema's content. Used by atomic update (PUT /v1/export-schemas/{id}), and by draft create/update (POST / PUT /v1/export-schemas/{id}/draft). name and stream_category are immutable — they are set when the schema is first created and cannot be changed by these endpoints.

columns
object[]
required

Replacement column definitions, in output order. Must contain at least one column. Capped at 100 columns by default; contact support to request a higher limit. Exceeding the limit returns 400 invalid_argument.

Minimum array length: 1
unfold
object

Per-exchange unfold rules. Omit (or send null) to clear any previously configured unfold rules.

derive
object

Per-exchange derived-field rules (same shape as on create). Omit (or send null) to clear any previously configured derive rules.

Response

Draft updated.

Export schema with the content of its latest published version. Returned by create and get-by-id. Exports that reference the schema by name or ID snapshot the latest published version at the time the export is created.

id
string
required

Export schema ID

Pattern: ^sch_[a-f0-9]{32}$
Example:

"sch_0194a1b2c3d4e5f6a7b8c9d0e1f2a3b4"

name
string
required

Schema name

Example:

"normalized"

stream_category
enum<string>
required

Stream category this schema applies to

Available options:
trade,
orderbook,
book_update,
quote,
kline,
ticker,
liquidation
Example:

"trade"

is_built_in
boolean
required

true for schemas provided by Ticksupply (e.g., normalized, book_5, book_20). Built-ins are read-only and cannot be deleted. false for schemas you created.

Example:

false

created_at
string<date-time>
required

Creation timestamp

version
integer
required

Published version number reflected in this response. 1 for a newly created schema.

Example:

1

has_draft
boolean
required

Whether an unpublished draft version exists for this schema.

Example:

false

columns
object[]
required

Column definitions from the latest published version, in output order.

unfold
object

Per-exchange unfold rules. When an exchange packs multiple events into one JSON array, unfold expands each element into its own row. Keys are exchange codes, values specify the JSON path to the array. Omitted when no unfold rules are configured.

derive
object

Per-exchange derived-field rules. Each exchange maps to a list of synthetic fields computed before column extraction. Omitted when no derive rules are configured.

Last modified on April 17, 2026