Available Instruments
Before you author a scenario you need to know two things: which symbols you can backtest, and what date range of data exists for each. The hosted Tektii platform exposes its full data catalog through the management API at https://api.tektii.com, so you can answer both questions with a single request.
The instruments catalog is public — GET /v1/instruments returns 200 with the full list and needs no authentication. You can browse the available data before you create an account or an API key. (This is the one read-only corner of the management API that is open; every other endpoint still requires your TEKTII_API_KEY — see Authentication.)
GET /v1/instruments
Lists every instrument the platform can backtest, with optional filtering.
curl https://api.tektii.com/v1/instruments
Query parameters
Both are optional and case-insensitive.
| Parameter | Values | Description |
|---|---|---|
market | CRYPTO, FOREX | Return only instruments in one market. |
status | available, coming_soon | Return only instruments with the given availability status. |
# Only the FX majors curl "https://api.tektii.com/v1/instruments?market=FOREX" # Only instruments with data ready to backtest curl "https://api.tektii.com/v1/instruments?status=available"
Response
The catalog is returned under a top-level data array:
{
"data": [
{
"symbol": "C:BTCUSD",
"name": "Bitcoin/US Dollar",
"market": "CRYPTO",
"dataSymbol": "BTC-USD",
"underlying": "BTC",
"denomination": "USD",
"dataStartDate": "2017-12-18",
"dataEndDate": "2026-06-03",
"granularities": ["tick", "1m", "2m", "5m", "10m", "15m", "30m", "1h", "2h", "4h", "12h", "1d", "1w"],
"status": "available"
},
{
"symbol": "F:EURUSD",
"name": "Euro/US Dollar",
"market": "FOREX",
"dataSymbol": "EUR-USD",
"underlying": "EUR",
"denomination": "USD",
"dataStartDate": "2009-09-25",
"dataEndDate": "2026-06-03",
"granularities": ["tick", "1m", "2m", "5m", "10m", "15m", "30m", "1h", "2h", "4h", "12h", "1d", "1w"],
"status": "available"
}
]
}
Fields
| Field | Type | Description |
|---|---|---|
symbol | string | The platform symbol — what you reference in a scenario configuration (e.g. C:BTCUSD, F:EURUSD). Crypto symbols are prefixed C:, forex F:. |
name | string | Human-readable instrument name (e.g. Bitcoin/US Dollar). |
market | string | Market type: CRYPTO or FOREX. |
dataSymbol | string | The data-layer symbol used internally for storage and lookups (e.g. BTC-USD, EUR-USD). Not the string you put in a scenario config — use symbol for that. |
underlying | string | The asset being traded (e.g. BTC, EUR). |
denomination | string | What the asset is priced and settled in (e.g. USD). |
dataStartDate | string | null | Earliest date with historical data, as an ISO YYYY-MM-DD date. null (or omitted) means availability is unknown or the instrument is still "coming soon". |
dataEndDate | string | Latest date with historical data, as an ISO YYYY-MM-DD date. This is a rolling boundary — yesterday's date in UTC, since data is considered current within 24 hours. |
granularities | string[] | Timeframes you can request. The list is global (the same for every instrument): tick first, then candles from smallest to largest. |
status | string | available if dataStartDate is present, coming_soon if not. |
Some responses also carry tickSize, lotSize, and pricePrecision when the platform knows the instrument's trading rules; these are null when the rules are unknown and are not required for backtesting.
The catalog exposes two symbol strings per instrument. The platform symbol (symbol, e.g. F:EURUSD) is the one a scenario configuration expects. dataSymbol (e.g. EUR-USD) is an internal data-layer identifier. This management-API symbol scheme is a separate layer from the self-hosted Gateway's provider-native symbol format, where strings are passed through to your broker verbatim — don't mix the two.
The catalog today
At time of writing the catalog holds 12 instruments — 5 crypto pairs and 7 FX majors, all available. Crypto history begins in 2017–2020 (per coin); FX history reaches back to 2009. dataEndDate rolls forward daily, so the live response is always the source of truth — the start dates below are stable and are what constrain how far back a scenario window can begin.
The table below is a point-in-time snapshot for orientation. Instruments may be added over time and dataEndDate advances daily, so always call GET /v1/instruments for the current catalog rather than relying on these values.
| Symbol | Market | Underlying | Data starts |
|---|---|---|---|
C:BTCUSD | CRYPTO | BTC | 2017-12-18 |
C:ETHUSD | CRYPTO | ETH | 2017-12-18 |
C:XRPUSD | CRYPTO | XRP | 2018-05-05 |
C:DOGEUSD | CRYPTO | DOGE | 2019-07-05 |
C:SOLUSD | CRYPTO | SOL | 2020-08-11 |
F:EURUSD | FOREX | EUR | 2009-09-25 |
F:GBPUSD | FOREX | GBP | 2009-09-25 |
F:USDJPY | FOREX | USD | 2009-09-27 |
F:USDCHF | FOREX | USD | 2009-09-25 |
F:AUDUSD | FOREX | AUD | 2009-09-25 |
F:USDCAD | FOREX | USD | 2009-09-25 |
F:NZDUSD | FOREX | NZD | 2009-09-25 |
When you set the date window for a scenario configuration, keep it inside the instrument's dataStartDate → dataEndDate range. A window that starts before the data exists will simply have no bars to replay.
Errors
| Status | When |
|---|---|
400 Bad Request | An invalid market or status filter value was supplied. |
500 Internal Server Error | The catalog could not be loaded. |
Related catalog endpoints
The same public surface offers three companion endpoints for narrower lookups. All return the same instrument shape under data.
| Endpoint | Purpose |
|---|---|
GET /v1/instruments/markets | List the available markets (e.g. CRYPTO, FOREX) as { id, name } pairs. |
GET /v1/instruments/search?q=<query> | Search instruments by partial symbol or name match (case-insensitive). |
GET /v1/instruments/{symbol} | Fetch a single instrument by its platform symbol (e.g. /v1/instruments/F:EURUSD). Returns 404 if no such symbol exists. |
# What markets exist? curl https://api.tektii.com/v1/instruments/markets # Find everything matching "btc" curl "https://api.tektii.com/v1/instruments/search?q=btc" # Look up one instrument curl https://api.tektii.com/v1/instruments/F:EURUSD
Next steps
- Command Reference → scenario — create a scenario against these symbols and date ranges.
- Instrument Types (Gateway) — how symbols work on the self-hosted Trading Gateway, which is a different layer from this hosted catalog.
- Authentication — set up your API key for the rest of the management API.