Skip to main content

API Reference

The Ticksupply API is organized around REST principles. It uses predictable resource-oriented URLs, accepts JSON request bodies, returns JSON responses, and uses standard HTTP response codes and authentication.

Base URL

All API requests are made to:

API versioning

The API is versioned via URL path. The current version is v1:
We maintain backward compatibility within a major version. Breaking changes require a new major version.

Authentication

Authenticate requests by including your API key in the X-Api-Key header:
See the Authentication guide for details.

Resource IDs

Resources use prefixed IDs for easy identification. The format is {prefix}_{hex} where the prefix indicates the resource type:
Treat IDs as opaque strings. Store and pass them exactly as returned by the API.

Request format

Headers

Request body

POST requests accept JSON bodies:

Response format

All responses are JSON with these headers:

Success responses

Successful responses return appropriate status codes:

Error responses

Errors return a structured JSON body:
See the Error Handling guide for all error codes.

Endpoint categories

Catalog

Browse exchanges, instruments, and data stream types

Subscriptions

Create and manage data subscriptions

Export Schemas

Define custom column mappings for exports

Exports

Export historical data to files

Availability

Query data availability

Catalog

Explore available data sources.

Subscriptions

Manage your data subscriptions.

Export Schemas

Define custom column mappings for exports.

Exports

Create and download data exports.

Availability

Query data coverage.

Common patterns

Pagination

List endpoints support cursor-based pagination:
See the Pagination guide for details.

Rate limiting

All endpoints are rate limited:
  • 200 requests/minute per account
  • 10,000 requests/hour per account
Monitor usage via response headers:
See the Rate Limiting guide for details.

Idempotency

Use the Idempotency-Key header for safe retries:
See the Idempotency guide for details.

Timestamps

Response timestamps come in two shapes depending on what they represent. Event timestampscreated_at, started_at, finished_at, updated_at, and subscription span started_at / ended_at — are ISO 8601 strings:
Data-range timestamps — export start_time / end_time and availability range from / to — are int64 nanoseconds since Unix epoch:
Request parameters that specify a data range use nanoseconds since Unix epoch (pass as strings to preserve precision in JavaScript):
Create Export additionally accepts ISO 8601 strings for start_time / end_time.
Convert between formats:
  • To nanoseconds: timestamp_ns = unix_seconds * 1_000_000_000
  • From nanoseconds: unix_seconds = timestamp_ns / 1_000_000_000
Last modified on April 17, 2026