{"openapi":"3.1.0","info":{"title":"Coindesk Data (BYOK) API","version":"0.1.0","description":"Coindesk Data (BYOK) lets an AI assistant read your own Coindesk Data data through the Coindesk Data API with a key you supply (CoinDesk Data API key). Read-only: 10 tools (search_assets, top_assets, get_spot_tick, get_index_tick, get_forex_tick, get_spot_daily_candles, get_index_daily_candles, get_forex_daily_rates, list_news_articles, list_news_sources). The BYOK key travels with each request,...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-coindesk.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-coindesk/docs"},"termsOfService":"https://connectorbay.com/byok-coindesk/terms"},"servers":[{"url":"https://byok-coindesk.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-coindesk/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/search_assets":{"post":{"operationId":"search_assets","summary":"Search assets by symbol, name or id and get id, symbol, name, asset type, circulating market cap and parent asset. Use f","description":"Search assets by symbol, name or id and get id, symbol, name, asset type, circulating market cap and parent asset. Use for \"Which asset has the symbol ARB and what is its market cap\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search_string":{"description":"Text to search: symbol (matched from the start), name (matched anywhere) or numeric id.","maxLength":100,"title":"Search String","type":"string"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Maximum assets to return (1 to 100).","title":"Limit"}},"required":["search_string"],"title":"search_assetsArguments","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/top_assets":{"post":{"operationId":"top_assets","summary":"List the top assets ranked by market cap, price, volume or price change with the numbers of the chosen groups; filter by","description":"List the top assets ranked by market cap, price, volume or price change with the numbers of the chosen groups; filter by asset type or industry. Use for \"What are the 10 biggest crypto assets by market cap and how did they move over 24 hours\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sort_by":{"anyOf":[{"enum":["CIRCULATING_MKT_CAP_USD","TOTAL_MKT_CAP_USD","PRICE_USD","SPOT_MOVING_24_HOUR_QUOTE_VOLUME_USD","SPOT_MOVING_24_HOUR_CHANGE_PERCENTAGE_USD","SPOT_MOVING_7_DAY_CHANGE_PERCENTAGE_USD","SPOT_MOVING_30_DAY_CHANGE_PERCENTAGE_USD","LAUNCH_DATE"],"type":"string"},{"type":"null"}],"default":"CIRCULATING_MKT_CAP_USD","description":"Ranking field.","title":"Sort By"},"sort_direction":{"anyOf":[{"enum":["ASC","DESC"],"type":"string"},{"type":"null"}],"default":"DESC","description":"Sort order.","title":"Sort Direction"},"groups":{"anyOf":[{"enum":["ID,PRICE,MKT_CAP,CHANGE,TOPLIST_RANK","ID,VOLUME,TOPLIST_RANK","ID,SUPPLY,MKT_CAP","ID,BASIC"],"type":"string"},{"type":"null"}],"default":"ID,PRICE,MKT_CAP,CHANGE,TOPLIST_RANK","description":"Which blocks of data to return per asset.","title":"Groups"},"asset_type":{"anyOf":[{"enum":["BLOCKCHAIN","TOKEN","FIAT","STOCK","INDEX","COMMODITY","ETF","BOND","REIT","FUND"],"type":"string"},{"type":"null"}],"default":null,"description":"Only assets of this type.","title":"Asset Type"},"asset_industry":{"anyOf":[{"enum":["PAYMENT","PLATFORM","STABLECOIN","DECENTRALIZED_FINANCE_PROTOCOL","EXCHANGE_UTILITY","MEME","LIQUID_STAKED","GAMING","ARTIFICIAL_INTELLIGENCE","METAVERSE","ORACLE","REAL_WORLD_ASSETS","PRIVACY","GOVERNANCE"],"type":"string"},{"type":"null"}],"default":null,"description":"Only assets of this industry.","title":"Asset Industry"},"page":{"anyOf":[{"maximum":1000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"},"page_size":{"anyOf":[{"maximum":50,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Assets per page (1 to 50).","title":"Page Size"}},"title":"top_assetsArguments","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_spot_tick":{"post":{"operationId":"get_spot_tick","summary":"Get the latest spot tick for one or more instruments on one exchange, such as BTC-USD on coinbase, with price and the ch","description":"Get the latest spot tick for one or more instruments on one exchange, such as BTC-USD on coinbase, with price and the chosen block (top of book, 24 hour, day or 7 and 30 day moving statistics). Use for \"What is the latest BTC-USD price on Coinbase and its 24 hour volume\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"market":{"description":"Exchange key, for example coinbase, kraken, binance, bitstamp, gemini or okex.","maxLength":40,"title":"Market","type":"string"},"instruments":{"description":"Comma-separated instruments in BASE-QUOTE form or the exchange's own symbol.","maxLength":300,"title":"Instruments","type":"string"},"groups":{"anyOf":[{"enum":["ID,VALUE","ID,VALUE,TOP_OF_BOOK","ID,VALUE,MOVING_24_HOUR","ID,VALUE,CURRENT_DAY"],"type":"string"},{"type":"null"}],"default":"ID,VALUE","description":"Which blocks of data to return per instrument.","title":"Groups"}},"required":["market","instruments"],"title":"get_spot_tickArguments","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_index_tick":{"post":{"operationId":"get_index_tick","summary":"Get the latest value of a CoinDesk index (CADLI by default) for one or more instruments such as BTC-USD, with the chosen","description":"Get the latest value of a CoinDesk index (CADLI by default) for one or more instruments such as BTC-USD, with the chosen block (24 hour, day, 7 or 30 day statistics). Use for \"What is the current CADLI index value of ETH-USD\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instruments":{"description":"Comma-separated index instruments, for example BTC-USD,ETH-USD.","maxLength":300,"title":"Instruments","type":"string"},"market":{"anyOf":[{"enum":["cadli","ccix","ccxrp","cd_mc","rr_spot","rr_vwap","cdi_b","cdi_mda","cdi_ti","cchkex","cdor","sda","cbr","cber"],"type":"string"},{"type":"null"}],"default":"cadli","description":"Index family; cadli is the volume-weighted 24 hour reference index.","title":"Market"},"groups":{"anyOf":[{"enum":["ID,VALUE","ID,VALUE,MOVING_24_HOUR","ID,VALUE,CURRENT_DAY","ID,VALUE,MOVING_7_DAY","ID,VALUE,MOVING_30_DAY"],"type":"string"},{"type":"null"}],"default":"ID,VALUE","description":"Which blocks of data to return per instrument.","title":"Groups"}},"required":["instruments"],"title":"get_index_tickArguments","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_tick":{"post":{"operationId":"get_forex_tick","summary":"Get the latest forex rate against USD for one or more currencies, such as GBP-USD, with the chosen block (day, 24 hour, ","description":"Get the latest forex rate against USD for one or more currencies, such as GBP-USD, with the chosen block (day, 24 hour, 7 or 30 day statistics). Use for \"What is the latest GBP to USD rate\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instruments":{"description":"Comma-separated forex instruments as CURRENCY-USD, for example GBP-USD,MYR-USD.","maxLength":300,"title":"Instruments","type":"string"},"groups":{"anyOf":[{"enum":["ID,VALUE","ID,VALUE,MOVING_24_HOUR","ID,VALUE,CURRENT_DAY","ID,VALUE,MOVING_7_DAY","ID,VALUE,MOVING_30_DAY"],"type":"string"},{"type":"null"}],"default":"ID,VALUE","description":"Which blocks of data to return per instrument.","title":"Groups"}},"required":["instruments"],"title":"get_forex_tickArguments","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_spot_daily_candles":{"post":{"operationId":"get_spot_daily_candles","summary":"Get daily OHLC candles with volume and trade counts for one instrument on one exchange, newest first, for charts and ret","description":"Get daily OHLC candles with volume and trade counts for one instrument on one exchange, newest first, for charts and returns. Use for \"Show the last 30 daily candles of BTC-USD on Kraken\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"market":{"description":"Exchange key, for example coinbase, kraken, binance or bitstamp.","maxLength":40,"title":"Market","type":"string"},"instrument":{"description":"One instrument in BASE-QUOTE form or the exchange's own symbol.","maxLength":40,"title":"Instrument","type":"string"},"limit":{"anyOf":[{"maximum":365,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Number of daily points to return, newest first (1 to 365).","title":"Limit"},"to_ts":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Return points up to and including this Unix timestamp in seconds; leave empty for the latest.","title":"To Ts"}},"required":["market","instrument"],"title":"get_spot_daily_candlesArguments","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_index_daily_candles":{"post":{"operationId":"get_index_daily_candles","summary":"Get daily OHLC values with volumes of a CoinDesk index instrument such as BTC-USD on CADLI, newest first. Use for \"Show ","description":"Get daily OHLC values with volumes of a CoinDesk index instrument such as BTC-USD on CADLI, newest first. Use for \"Show the daily CADLI values of BTC-USD for the last month\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instrument":{"description":"One index instrument, for example BTC-USD.","maxLength":40,"title":"Instrument","type":"string"},"market":{"anyOf":[{"enum":["cadli","ccix","ccxrp","cd_mc","rr_spot","rr_vwap","cdi_b","cdi_mda","cdi_ti","cchkex","cdor","sda","cbr","cber"],"type":"string"},{"type":"null"}],"default":"cadli","description":"Index family; cadli is the volume-weighted 24 hour reference index.","title":"Market"},"limit":{"anyOf":[{"maximum":365,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Number of daily points to return, newest first (1 to 365).","title":"Limit"},"to_ts":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Return points up to and including this Unix timestamp in seconds; leave empty for the latest.","title":"To Ts"}},"required":["instrument"],"title":"get_index_daily_candlesArguments","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_daily_rates":{"post":{"operationId":"get_forex_daily_rates","summary":"Get daily open, high, low and close of a forex rate against USD such as GBP-USD, newest first. Use for \"How did GBP-USD ","description":"Get daily open, high, low and close of a forex rate against USD such as GBP-USD, newest first. Use for \"How did GBP-USD move over the last 30 days\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"instrument":{"description":"One forex instrument as CURRENCY-USD, for example GBP-USD.","maxLength":20,"title":"Instrument","type":"string"},"limit":{"anyOf":[{"maximum":365,"minimum":1,"type":"integer"},{"type":"null"}],"default":30,"description":"Number of daily points to return, newest first (1 to 365).","title":"Limit"},"to_ts":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Return points up to and including this Unix timestamp in seconds; leave empty for the latest.","title":"To Ts"}},"required":["instrument"],"title":"get_forex_daily_ratesArguments","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_news_articles":{"post":{"operationId":"list_news_articles","summary":"List the latest crypto news articles with title, subtitle, authors, link, publish time, keywords, sentiment and source; ","description":"List the latest crypto news articles with title, subtitle, authors, link, publish time, keywords, sentiment and source; filter by language or category. Use for \"What are the latest Bitcoin news headlines\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"lang":{"anyOf":[{"enum":["EN","ES","TR","FR","JP","PT"],"type":"string"},{"type":"null"}],"default":"EN","description":"Article language.","title":"Lang"},"categories":{"anyOf":[{"maxLength":200,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated categories to include, for example BTC,ETH,TRADING.","title":"Categories"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":20,"description":"Articles to return (1 to 100).","title":"Limit"},"to_ts":{"anyOf":[{"minimum":0,"type":"integer"},{"type":"null"}],"default":null,"description":"Only articles published on or before this Unix timestamp in seconds.","title":"To Ts"}},"title":"list_news_articlesArguments","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_news_sources":{"post":{"operationId":"list_news_sources","summary":"List the news sources with key, name, link, language, source type, status and benchmark score; filter by language, type ","description":"List the news sources with key, name, link, language, source type, status and benchmark score; filter by language, type or a name search. Use for \"Which news sources does CoinDesk Data cover in English\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"lang":{"anyOf":[{"enum":["EN","ES","TR","FR","JP","PT"],"type":"string"},{"type":"null"}],"default":"EN","description":"Source language.","title":"Lang"},"source_type":{"anyOf":[{"enum":["RSS","API","TWITTER"],"type":"string"},{"type":"null"}],"default":null,"description":"Source type.","title":"Source Type"},"search_string":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only sources whose name contains this text.","title":"Search String"}},"title":"list_news_sourcesArguments","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}}}}