{"openapi":"3.1.0","info":{"title":"Messari (BYOK) API","version":"0.1.0","description":"Messari (BYOK) lets an AI assistant read your own Messari data through the Messari API with a key you supply (Messari API key). Read-only: 10 tools (list_assets, get_asset_details, get_asset_all_time_highs, get_asset_roi, get_asset_timeseries, list_asset_metrics, list_exchanges, get_exchange, get_exchange_timeseries, list_markets). The BYOK key travels with each request, is used for that one call...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-messari.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-messari/docs"},"termsOfService":"https://connectorbay.com/byok-messari/terms"},"servers":[{"url":"https://byok-messari.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-messari/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_assets":{"post":{"operationId":"list_assets","summary":"List the crypto assets Messari covers (rank order by default) with slug, symbol, category, sector and coverage flags; se","description":"List the crypto assets Messari covers (rank order by default) with slug, symbol, category, sector and coverage flags; search by name, symbol, slug or contract address. Prices come from get_asset_details. Use for \"Find the Messari slug for the Solana token\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Name, symbol, slug or contract address.","title":"Search"},"category":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only this category.","title":"Category"},"sector":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only this sector.","title":"Sector"},"has_market_data":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True for only assets that have price data.","title":"Has Market Data"},"sort":{"anyOf":[{"enum":["name","symbol","slug","category","sector","rank"],"type":"string"},{"type":"null"}],"default":null,"description":"Column to sort by (default rank).","title":"Sort"},"order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"asc or desc.","title":"Order"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Results per page (the API default is 10).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_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_asset_details":{"post":{"operationId":"get_asset_details","summary":"Get price in USD, 24 hour volume, market cap, supply, rank and all-time high for up to 20 assets by slug or id; sortable","description":"Get price in USD, 24 hour volume, market cap, supply, rank and all-time high for up to 20 assets by slug or id; sortable by market cap, volume or price change. Use for \"What are the price and market cap of bitcoin and ethereum\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"asset_ids":{"description":"Comma-separated asset slugs or ids, for example bitcoin,ethereum (up to 20).","maxLength":500,"title":"Asset Ids","type":"string"},"sort":{"anyOf":[{"enum":["slug","rank","price-usd","circulating-marketcap","fully-diluted-marketcap","volume-24h","price-change-24h","price-change-7d","price-change-30d"],"type":"string"},{"type":"null"}],"default":null,"description":"Column to sort by (default circulating-marketcap).","title":"Sort"},"order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"asc or desc.","title":"Order"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Results per page (the API default is 10).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"required":["asset_ids"],"title":"get_asset_detailsArguments","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_asset_all_time_highs":{"post":{"operationId":"get_asset_all_time_highs","summary":"List assets with all-time high, percent below it, break-even multiple and cycle low, sortable by price change or distanc","description":"List assets with all-time high, percent below it, break-even multiple and cycle low, sortable by price change or distance from the high. Use for \"Which coins are furthest below their all-time high\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"asset_ids":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated asset slugs or ids, for example bitcoin,ethereum (up to 20).","title":"Asset Ids"},"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Name, symbol, slug or contract address.","title":"Search"},"category":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only this category.","title":"Category"},"sector":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only this sector.","title":"Sector"},"sort":{"anyOf":[{"enum":["name","slug","price-change-24h","price-change-7d","price-change-30d","price-change-1y","price-change-year-to-date","all-time-high","all-time-high-percent-down","breakeven-multiple","cycle-low-percent-up"],"type":"string"},{"type":"null"}],"default":null,"description":"Column to sort by (default price-change-24h).","title":"Sort"},"order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"asc or desc.","title":"Order"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Results per page (the API default is 10).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"get_asset_all_time_highsArguments","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_asset_roi":{"post":{"operationId":"get_asset_roi","summary":"List assets with return on investment over standard periods (the returnOnInvestment object), sortable by price change. U","description":"List assets with return on investment over standard periods (the returnOnInvestment object), sortable by price change. Use for \"What was the 1 year return of bitcoin and solana\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"asset_ids":{"anyOf":[{"maxLength":500,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated asset slugs or ids, for example bitcoin,ethereum (up to 20).","title":"Asset Ids"},"search":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Name, symbol, slug or contract address.","title":"Search"},"category":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only this category.","title":"Category"},"sector":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only this sector.","title":"Sector"},"sort":{"anyOf":[{"enum":["name","slug","price-change-24h","price-change-7d","price-change-30d","price-change-1y","price-change-year-to-date","all-time-high","all-time-high-percent-down","breakeven-multiple","cycle-low-percent-up"],"type":"string"},{"type":"null"}],"default":null,"description":"Column to sort by (default price-change-24h).","title":"Sort"},"order":{"anyOf":[{"enum":["asc","desc"],"type":"string"},{"type":"null"}],"default":null,"description":"asc or desc.","title":"Order"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Results per page (the API default is 10).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"get_asset_roiArguments","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_asset_timeseries":{"post":{"operationId":"get_asset_timeseries","summary":"Get a time series of one asset's price, market cap, supply, volatility, Sharpe ratio or futures data at 5m, 1h, 1d or 1w","description":"Get a time series of one asset's price, market cap, supply, volatility, Sharpe ratio or futures data at 5m, 1h, 1d or 1w granularity between two times. Use for \"Show bitcoin's daily price for the last week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"asset_id":{"description":"Asset slug or id, for example bitcoin.","maxLength":200,"title":"Asset Id","type":"string"},"dataset_slug":{"description":"Dataset: price, marketcap, supply, volatility, sharpe-ratio, futures-funding-rate, futures-open-interest or futures-volume.","maxLength":200,"title":"Dataset Slug","type":"string"},"granularity":{"description":"Interval: 5m, 1h, 1d or 1w.","maxLength":200,"title":"Granularity","type":"string"},"start":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Range start, ISO 8601 such as 2026-10-01T00:00:00Z.","title":"Start"},"end":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Range end, ISO 8601.","title":"End"}},"required":["asset_id","dataset_slug","granularity"],"title":"get_asset_timeseriesArguments","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_asset_metrics":{"post":{"operationId":"list_asset_metrics","summary":"List the datasets (timeseries metrics) and granularities available for assets. Use for \"Which time series does Messari o","description":"List the datasets (timeseries metrics) and granularities available for assets. Use for \"Which time series does Messari offer for assets\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_asset_metricsArguments","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_exchanges":{"post":{"operationId":"list_exchanges","summary":"List exchanges with type, country, region, global rank and volume metrics. Use for \"Which are the biggest centralized cr","description":"List exchanges with type, country, region, global rank and volume metrics. Use for \"Which are the biggest centralized crypto exchanges on Messari\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"enum":["centralized","decentralized"],"type":"string"},{"type":"null"}],"default":null,"description":"centralized or decentralized.","title":"Type"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Results per page (the API default is 10).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"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 by id or slug with type, country, region, rank and volume metrics. Use for \"Tell me about Binance on Me","description":"Get one exchange by id or slug with type, country, region, rank and volume metrics. Use for \"Tell me about Binance on Messari\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"exchange_identifier":{"description":"Exchange id or slug, for example binance.","maxLength":200,"title":"Exchange Identifier","type":"string"}},"required":["exchange_identifier"],"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/get_exchange_timeseries":{"post":{"operationId":"get_exchange_timeseries","summary":"Get a time series of one exchange's spot volume, futures volume or futures open interest at 5m, 1h, 1d or 1w granularity","description":"Get a time series of one exchange's spot volume, futures volume or futures open interest at 5m, 1h, 1d or 1w granularity. Use for \"Show Binance's daily volume for the last week\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"entity_identifier":{"description":"Exchange id or slug, for example binance.","maxLength":200,"title":"Entity Identifier","type":"string"},"dataset_slug":{"description":"Dataset: volume, futures-volume or futures-open-interest.","maxLength":200,"title":"Dataset Slug","type":"string"},"granularity":{"description":"Interval: 5m, 1h, 1d or 1w.","maxLength":200,"title":"Granularity","type":"string"},"start":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Range start, ISO 8601.","title":"Start"},"end":{"anyOf":[{"maxLength":30,"type":"string"},{"type":"null"}],"default":null,"description":"Range end, ISO 8601.","title":"End"}},"required":["entity_identifier","dataset_slug","granularity"],"title":"get_exchange_timeseriesArguments","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_markets":{"post":{"operationId":"list_markets","summary":"List trading pairs (markets) filtered by exchange, base or quote asset, 24 hour volume and liveness, with first and last","description":"List trading pairs (markets) filtered by exchange, base or quote asset, 24 hour volume and liveness, with first and last trade time and metrics. Use for \"Which live markets trade bitcoin on Binance\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"exchange_slug":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only markets of this exchange slug.","title":"Exchange Slug"},"base_asset_slug":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only markets with this base asset slug.","title":"Base Asset Slug"},"quote_asset_slug":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Only markets with this quote asset slug.","title":"Quote Asset Slug"},"volume24h_above":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Only markets with 24 hour volume above this number.","title":"Volume24H Above"},"liveness":{"anyOf":[{"maxLength":60,"type":"string"},{"type":"null"}],"default":null,"description":"Comma-separated statuses: live (traded in the last ~10 minutes), stale (last 24 hours) or inactive.","title":"Liveness"},"limit":{"anyOf":[{"maximum":100,"minimum":1,"type":"integer"},{"type":"null"}],"default":10,"description":"Results per page (the API default is 10).","title":"Limit"},"page":{"anyOf":[{"maximum":10000,"minimum":1,"type":"integer"},{"type":"null"}],"default":1,"description":"Page number, starting at 1.","title":"Page"}},"title":"list_marketsArguments","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}}}}