{"openapi":"3.1.0","info":{"title":"TickerLayer (BYOK) API","version":"0.1.0","description":"TickerLayer (BYOK) lets an AI assistant read your own TickerLayer data through the TickerLayer API with a key you supply (TickerLayer API key). Read-only: 12 tools (list_stock_symbols, list_forex_symbols, get_stock_snapshot, get_forex_snapshot, get_crypto_snapshot, get_commodity_snapshot, get_bond_yield, get_stock_previous_bar, get_stock_bars, get_market_status, list_market_holidays,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-tickerlayer.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-tickerlayer/docs"},"termsOfService":"https://connectorbay.com/byok-tickerlayer/terms"},"servers":[{"url":"https://byok-tickerlayer.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-tickerlayer/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_stock_symbols":{"post":{"operationId":"list_stock_symbols","summary":"List the stocks enabled on your account with market-qualified symbols (CC:SYMBOL such as US:AAPL or DE:BMW), base ticker","description":"List the stocks enabled on your account with market-qualified symbols (CC:SYMBOL such as US:AAPL or DE:BMW), base ticker, market code and company name, optionally for one market. Use for \"Which US stocks can I query on TickerLayer\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"market":{"anyOf":[{"maxLength":2,"type":"string"},{"type":"null"}],"default":null,"description":"Two-letter market code to filter by, for example US, DE or TR.","title":"Market"}},"title":"list_stock_symbolsArguments","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_forex_symbols":{"post":{"operationId":"list_forex_symbols","summary":"List the forex pairs enabled on your account, such as EURUSD or GBPJPY, with their names. Use for \"Which currency pairs ","description":"List the forex pairs enabled on your account, such as EURUSD or GBPJPY, with their names. Use for \"Which currency pairs does TickerLayer cover\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_forex_symbolsArguments","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_stock_snapshot":{"post":{"operationId":"get_stock_snapshot","summary":"Get a stock snapshot by market-qualified symbol (for example US:AAPL). Returns best bid and ask with sizes, the last tra","description":"Get a stock snapshot by market-qualified symbol (for example US:AAPL). Returns best bid and ask with sizes, the last trade price, the previous daily close and the change and percent change. Fields can be null when the aggregated view lacks a value. Use for \"What is Apple stock trading at and how much has it moved\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Market-qualified stock symbol in CC:SYMBOL form, for example US:AAPL, DE:BMW or TR:THYAO. Plain tickers are rejected.","maxLength":24,"title":"Symbol","type":"string"}},"required":["symbol"],"title":"get_stock_snapshotArguments","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_forex_snapshot":{"post":{"operationId":"get_forex_snapshot","summary":"Get a forex pair snapshot by six-letter pair code (for example EURUSD). Returns best bid and ask with sizes, the last tr","description":"Get a forex pair snapshot by six-letter pair code (for example EURUSD). Returns best bid and ask with sizes, the last trade price, the previous daily close and the change and percent change. Fields can be null when the aggregated view lacks a value. Use for \"What is the EUR/USD rate and today's change\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Six-letter forex pair such as EURUSD, GBPJPY or USDTRY.","maxLength":12,"title":"Symbol","type":"string"}},"required":["symbol"],"title":"get_forex_snapshotArguments","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_crypto_snapshot":{"post":{"operationId":"get_crypto_snapshot","summary":"Get a spot crypto snapshot by pair code (for example BTCUSD). Returns best bid and ask with sizes, the last trade price,","description":"Get a spot crypto snapshot by pair code (for example BTCUSD). Returns best bid and ask with sizes, the last trade price, the previous daily close and the change and percent change. Fields can be null when the aggregated view lacks a value. Use for \"What is Bitcoin trading at right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Enabled crypto pair such as BTCUSD or ETHUSD.","maxLength":16,"title":"Symbol","type":"string"}},"required":["symbol"],"title":"get_crypto_snapshotArguments","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_commodity_snapshot":{"post":{"operationId":"get_commodity_snapshot","summary":"Get a commodity reference price snapshot by symbol (for example XAUUSD for gold or WTIUSD for crude oil). Returns best b","description":"Get a commodity reference price snapshot by symbol (for example XAUUSD for gold or WTIUSD for crude oil). Returns best bid and ask with sizes, the last trade price, the previous daily close and the change and percent change. Fields can be null when the aggregated view lacks a value. Use for \"What is the gold price today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Enabled commodity symbol such as XAUUSD or WTIUSD.","maxLength":16,"title":"Symbol","type":"string"}},"required":["symbol"],"title":"get_commodity_snapshotArguments","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_bond_yield":{"post":{"operationId":"get_bond_yield","summary":"Get the latest government bond yield for a country and tenor (CC:TENOR such as US:10Y, DE:10Y or UK:2Y) with the previou","description":"Get the latest government bond yield for a country and tenor (CC:TENOR such as US:10Y, DE:10Y or UK:2Y) with the previous observation and the change in basis points. Use for \"What is the US 10-year Treasury yield and how did it move\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Bond yield symbol in CC:TENOR form. US supports 1M to 30Y; DE, ES, FR, IT and UK support 1Y, 2Y, 3Y, 5Y, 10Y and 30Y.","maxLength":8,"title":"Symbol","type":"string"}},"required":["symbol"],"title":"get_bond_yieldArguments","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_stock_previous_bar":{"post":{"operationId":"get_stock_previous_bar","summary":"Get the most recently completed OHLCV candle for a stock: the previous daily bar, or the last settled bar at an interval","description":"Get the most recently completed OHLCV candle for a stock: the previous daily bar, or the last settled bar at an interval from 1 minute to 1 day. Use for \"What was Apple's last daily candle\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Market-qualified stock symbol such as US:AAPL.","maxLength":24,"title":"Symbol","type":"string"},"interval":{"anyOf":[{"enum":["1m","5m","15m","1h","4h","1d"],"type":"string"},{"type":"null"}],"default":null,"description":"Bar size to return instead of the previous daily bar.","title":"Interval"}},"required":["symbol"],"title":"get_stock_previous_barArguments","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_stock_bars":{"post":{"operationId":"get_stock_bars","summary":"Get historical OHLCV bars for a stock between two UTC dates. Minute bars cover at most 31 days, 5-minute 90, 15-minute 1","description":"Get historical OHLCV bars for a stock between two UTC dates. Minute bars cover at most 31 days, 5-minute 90, 15-minute 180, hourly 365, 4-hour 730 and daily 5000 days per request. Use for \"Show Apple's daily candles for the first week of March 2026\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"symbol":{"description":"Market-qualified stock symbol such as US:AAPL.","maxLength":24,"title":"Symbol","type":"string"},"multiplier":{"description":"Bar size in units of the timespan: 1, 5 or 15 with minute; 1 or 4 with hour; 1 with day.","maximum":15,"minimum":1,"title":"Multiplier","type":"integer"},"timespan":{"description":"Unit of the bar size.","enum":["minute","hour","day"],"title":"Timespan","type":"string"},"start_date":{"description":"First UTC date, inclusive, as YYYY-MM-DD.","maxLength":10,"title":"Start Date","type":"string"},"end_date":{"description":"Last UTC date, inclusive, as YYYY-MM-DD, not before the start date.","maxLength":10,"title":"End Date","type":"string"},"limit":{"anyOf":[{"maximum":5000,"minimum":1,"type":"integer"},{"type":"null"}],"default":null,"description":"Page size, up to 5000 (default 500).","title":"Limit"},"offset":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Zero-based row offset for the next page.","title":"Offset"},"sort":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"Order of bars by time.","title":"Sort"}},"required":["symbol","multiplier","timespan","start_date","end_date"],"title":"get_stock_barsArguments","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_market_status":{"post":{"operationId":"get_market_status","summary":"Get whether markets are open: with no filter an overview of crypto, forex and regional stock markets; with an asset, sym","description":"Get whether markets are open: with no filter an overview of crypto, forex and regional stock markets; with an asset, symbol or market (US, GB, DE, JP and others) the status, phase and next close for that one calendar. Use for \"Is the US stock market open right now\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"asset":{"anyOf":[{"enum":["crypto","forex","stocks","indices","etfs","commodities","cfds"],"type":"string"},{"type":"null"}],"default":null,"description":"Asset class to narrow to.","title":"Asset"},"symbol":{"anyOf":[{"maxLength":24,"type":"string"},{"type":"null"}],"default":null,"description":"Instrument code when calendar routing depends on it, for example UK100.","title":"Symbol"},"market":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"CRYPTO, FOREX, COMMODITIES, GLOBAL or a regional code such as US, GB, DE, JP.","title":"Market"},"at":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"ISO 8601 instant to evaluate instead of now.","title":"At"}},"title":"get_market_statusArguments","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_market_holidays":{"post":{"operationId":"list_market_holidays","summary":"List the holidays and early closes of one market calendar for a year, with date, name and whether the market is open. Us","description":"List the holidays and early closes of one market calendar for a year, with date, name and whether the market is open. Use for \"What are the US market holidays this year\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"market":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"Market code such as US, GB, DE, FR, JP or HK.","title":"Market"},"year":{"anyOf":[{"maximum":2100,"minimum":2000,"type":"integer"},{"type":"null"}],"default":null,"description":"Calendar year (defaults to the current UTC year).","title":"Year"},"start":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Lower bound date inside the year, YYYY-MM-DD.","title":"Start"},"end":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Upper bound date inside the year, YYYY-MM-DD.","title":"End"}},"title":"list_market_holidaysArguments","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_market_sessions":{"post":{"operationId":"list_market_sessions","summary":"List the trading session windows (pre-market, primary, post-market) of one market for a local date, with each window's s","description":"List the trading session windows (pre-market, primary, post-market) of one market for a local date, with each window's status and UTC start and end. Use for \"When does the US market open and close today\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"market":{"anyOf":[{"maxLength":12,"type":"string"},{"type":"null"}],"default":null,"description":"Market code such as US, GB, DE, JP or HK.","title":"Market"},"date":{"anyOf":[{"maxLength":10,"type":"string"},{"type":"null"}],"default":null,"description":"Local date in that market, YYYY-MM-DD (defaults to today).","title":"Date"}},"title":"list_market_sessionsArguments","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}}}}