{"openapi":"3.1.0","info":{"title":"Tardis (BYOK) API","version":"0.1.0","description":"Tardis (BYOK) lets an AI assistant read your own Tardis data through the Tardis API with a key you supply (Tardis API key). Read-only: 5 tools (list_exchanges, get_exchange, list_instruments, get_instrument, get_api_key_info). The BYOK key travels with each request, is used for that one call only and is never stored, logged or cached; it is only ever sent to api.tardis.dev. Unofficial connector...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-tardis.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-tardis/docs"},"termsOfService":"https://connectorbay.com/byok-tardis/terms"},"servers":[{"url":"https://byok-tardis.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-tardis/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/list_exchanges":{"post":{"operationId":"list_exchanges","summary":"List the exchanges Tardis has historical data for, with enabled flag, first available date and available channels. Use f","description":"List the exchanges Tardis has historical data for, with enabled flag, first available date and available channels. Use for \"Which exchanges does Tardis cover and since when\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_exchangesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_exchange":{"post":{"operationId":"get_exchange","summary":"Get one exchange's coverage: first available date, channels, API docs link and the date range of its CSV datasets. Use f","description":"Get one exchange's coverage: first available date, channels, API docs link and the date range of its CSV datasets. Use for \"What data channels does Tardis have for deribit\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"exchange":{"description":"Tardis exchange id, for example 'bitmex', 'deribit', 'binance-futures' or 'okex-swap' (see list_exchanges).","maxLength":200,"title":"Exchange","type":"string"}},"required":["exchange"],"title":"get_exchangeArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_instruments":{"post":{"operationId":"list_instruments","summary":"List the instruments of one exchange with currencies, type, tick sizes, fees, listing and expiry. Narrow it with a JSON ","description":"List the instruments of one exchange with currencies, type, tick sizes, fees, listing and expiry. Narrow it with a JSON filter; unfiltered answers can be large. Use for \"Which active BTC perpetual instruments does bitmex have in Tardis\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"exchange":{"description":"Tardis exchange id, for example 'bitmex', 'deribit', 'binance-futures' or 'okex-swap' (see list_exchanges).","maxLength":200,"title":"Exchange","type":"string"},"filter":{"anyOf":[{"maxLength":1000,"type":"string"},{"type":"null"}],"default":null,"description":"Optional JSON filter, for example {\"baseCurrency\":\"BTC\",\"type\":\"perpetual\",\"active\":true}. Keys: baseCurrency, quoteCurrency, type, contractType, underlyingType, active, availableSince, availableTo.","title":"Filter"}},"required":["exchange"],"title":"list_instrumentsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_instrument":{"post":{"operationId":"get_instrument","summary":"Get one instrument's metadata: currencies, type, tick and lot sizes, minimum trade, indicative fees, contract multiplier","description":"Get one instrument's metadata: currencies, type, tick and lot sizes, minimum trade, indicative fees, contract multiplier and availability. Use for \"What are the tick size and fees of XBTUSD on bitmex in Tardis\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"exchange":{"description":"Tardis exchange id, for example 'bitmex', 'deribit', 'binance-futures' or 'okex-swap' (see list_exchanges).","maxLength":200,"title":"Exchange","type":"string"},"symbol_id":{"description":"Instrument id as returned by list_instruments, for example 'XBTUSD' or 'BTC-USDT-SWAP'.","maxLength":200,"title":"Symbol Id","type":"string"}},"required":["exchange","symbol_id"],"title":"get_instrumentArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_api_key_info":{"post":{"operationId":"get_api_key_info","summary":"Show which exchanges, date ranges, symbols and access types the key is entitled to. Use for \"Which Tardis exchanges and ","description":"Show which exchanges, date ranges, symbols and access types the key is entitled to. Use for \"Which Tardis exchanges and date ranges can my API key access\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_api_key_infoArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}