{"openapi":"3.1.0","info":{"title":"RelayLane Agent Gateway","version":"1.3.0","description":"34 verified API operations, user-approved CLI pairing and isolated Stripe test ledger. Runtime availability must be checked. Live paid execution is unavailable."},"servers":[{"url":"https://relaylane-ebgvfhzs.manus.space"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"One RelayLane key, paired by explicit user approval or created in workspace."},"browserSession":{"type":"apiKey","in":"cookie","name":"webdev_app_session","description":"User-approved browser session, private write calls also require allowed Origin and X-CSRF-Token matching session CSRF cookie."},"mcpOAuth":{"type":"oauth2","description":"Only valid at the exact /mcp audience. Public client code flow requires PKCE S256, resource on authorize/token, and explicit user consent. Does not authorize REST or API-key management.","flows":{"authorizationCode":{"authorizationUrl":"https://relaylane-ebgvfhzs.manus.space/oauth/authorize","tokenUrl":"https://relaylane-ebgvfhzs.manus.space/oauth/token","refreshUrl":"https://relaylane-ebgvfhzs.manus.space/oauth/token","scopes":{"mcp:read":"Discover and inspect MCP tools only.","mcp:run":"Dispatch bounded tool calls using the account trial quota.","offline_access":"Renew access through rotating refresh tokens; revocable by the account holder."}}}}},"schemas":{"relaylane_text_generate_Input":{"type":"object","additionalProperties":false,"required":["prompt","language"],"properties":{"prompt":{"type":"string","minLength":1,"maxLength":4000},"language":{"type":"string","minLength":1,"maxLength":40}}},"crossref_public_works_search_Input":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":200,"description":"检索关键词，例如 agentic AI 或 机器学习。"}},"required":["q"],"additionalProperties":false},"crossref_public_doi_detail_Input":{"type":"object","properties":{"doi":{"type":"string","minLength":5,"maxLength":255,"pattern":"^10\\.[0-9]{4,9}/[^\\s?#]+$","description":"一个 DOI，例如 10.1038/nphys1170。"}},"required":["doi"],"additionalProperties":false},"crossref_public_journal_detail_Input":{"type":"object","properties":{"issn":{"type":"string","minLength":8,"maxLength":9,"pattern":"^[0-9]{4}-?[0-9]{3}[0-9Xx]$","description":"一个 ISSN，可带连字符，例如 1476-4687。"}},"required":["issn"],"additionalProperties":false},"crossref_public_member_detail_Input":{"type":"object","properties":{"memberId":{"type":"integer","minimum":1,"maximum":999999,"description":"单一 Crossref 数字 member ID，例如 98。"}},"required":["memberId"],"additionalProperties":false},"databank_indicator_detail_Input":{"type":"object","properties":{"indicatorCode":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9._-]+$","description":"World Development Indicator 代码，例如 NY.GDP.MKTP.CD。"}},"required":["indicatorCode"],"additionalProperties":false},"databank_indicator_list_Input":{"type":"object","properties":{"q":{"type":"string","minLength":0,"maxLength":200,"default":"","description":"可选的指标检索词；空字符串表示不按关键词筛选。"},"page":{"type":"integer","minimum":1,"maximum":10000,"default":1,"description":"页码。"},"pageSize":{"type":"integer","minimum":10,"maximum":100,"default":10,"description":"单页条数。"}},"additionalProperties":false},"europepmc_public_search_Input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200,"description":"Europe PMC search expression, for example TITLE:aspirin. Keep the search bounded and relevant."}},"required":["query"],"additionalProperties":false},"linkedin_get_company_details_Input":{"type":"object","properties":{"username":{"type":"string","minLength":1,"maxLength":100}},"required":["username"],"additionalProperties":false},"linkedin_get_user_profile_by_username_Input":{"type":"object","properties":{"username":{"type":"string","minLength":1,"maxLength":100}},"required":["username"],"additionalProperties":false},"linkedin_search_people_Input":{"type":"object","properties":{"keywords":{"type":"string","minLength":1,"maxLength":200},"start":{"type":"string","minLength":1,"maxLength":7,"pattern":"^(0|[1-9][0-9]*0)$"},"firstName":{"type":"string","minLength":1,"maxLength":100},"lastName":{"type":"string","minLength":1,"maxLength":100},"keywordSchool":{"type":"string","minLength":1,"maxLength":200},"keywordTitle":{"type":"string","minLength":1,"maxLength":200},"company":{"type":"string","minLength":1,"maxLength":200}},"required":["keywords"],"additionalProperties":false},"openlibrary_search_works_Input":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":100},"limit":{"type":"integer","minimum":1,"maximum":10,"default":5}},"required":["q"],"additionalProperties":false},"openlibrary_search_authors_Input":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":100},"limit":{"type":"integer","minimum":1,"maximum":10,"default":5}},"required":["q"],"additionalProperties":false},"openlibrary_get_work_Input":{"type":"object","properties":{"workId":{"type":"string","minLength":4,"maxLength":24,"pattern":"^OL[0-9]+W$"}},"required":["workId"],"additionalProperties":false},"openlibrary_get_edition_Input":{"type":"object","properties":{"editionId":{"type":"string","minLength":4,"maxLength":24,"pattern":"^OL[0-9]+M$"}},"required":["editionId"],"additionalProperties":false},"openlibrary_get_author_Input":{"type":"object","properties":{"authorId":{"type":"string","minLength":4,"maxLength":24,"pattern":"^OL[0-9]+A$"}},"required":["authorId"],"additionalProperties":false},"openlibrary_browse_subject_Input":{"type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9 _:-]+$"},"limit":{"type":"integer","minimum":1,"maximum":10,"default":5}},"required":["subject"],"additionalProperties":false},"tiktok_get_user_info_Input":{"type":"object","properties":{"uniqueId":{"type":"string","minLength":1,"maxLength":100,"description":"TikTok unique ID to look up."}},"required":["uniqueId"],"additionalProperties":false},"worldbank_public_country_profile_Input":{"type":"object","properties":{"countryCode":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 国家/经济体代码，例如 BR。"}},"required":["countryCode"],"additionalProperties":false},"worldbank_public_indicator_definition_Input":{"type":"object","properties":{"indicatorCode":{"type":"string","minLength":3,"maxLength":64,"pattern":"^[A-Za-z0-9.]+$","description":"单一 World Bank 指标代码，例如 NY.GDP.MKTP.CD；不接受分号、多指标或路径字符。"}},"required":["indicatorCode"],"additionalProperties":false},"worldbank_public_source_definition_Input":{"type":"object","properties":{"sourceId":{"type":"integer","minimum":1,"maximum":99999,"description":"单一 World Bank 数据源数字 ID，例如 2（World Development Indicators）。"}},"required":["sourceId"],"additionalProperties":false},"worldbank_public_income_level_definition_Input":{"type":"object","properties":{"incomeLevelCode":{"type":"string","minLength":3,"maxLength":3,"pattern":"^[A-Za-z]{3}$","description":"单一三字母 World Bank 收入组代码，例如 UMC。"}},"required":["incomeLevelCode"],"additionalProperties":false},"worldbank_public_lending_type_definition_Input":{"type":"object","properties":{"lendingTypeCode":{"type":"string","minLength":3,"maxLength":3,"pattern":"^[A-Za-z]{3}$","description":"单一三字母 World Bank 贷款类型代码，例如 IBD；不接受分号或多代码。"}},"required":["lendingTypeCode"],"additionalProperties":false},"worldbank_public_country_indicator_observation_Input":{"type":"object","properties":{"countryCode":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 国家/经济体代码，例如 BR。"},"indicatorCode":{"type":"string","minLength":3,"maxLength":64,"pattern":"^[A-Za-z0-9.]+$","description":"单一 World Bank 指标代码，例如 NY.GDP.MKTP.CD。"},"year":{"type":"integer","minimum":1960,"maximum":2100,"description":"单一四位年度值；映射为 World Bank API 的 date 查询参数。"}},"required":["countryCode","indicatorCode","year"],"additionalProperties":false},"x_twitter_search_recent_posts_Input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":1024,"description":"X 查询语法；不得只使用 is:/has:/lang: 等过滤器。"},"max_results":{"type":"integer","minimum":10,"maximum":100,"default":10,"description":"单页返回的帖子数；X 文档范围为 10–100。"}},"required":["query"],"additionalProperties":false},"x_twitter_get_user_profile_by_username_Input":{"type":"object","properties":{"username":{"type":"string","minLength":1,"maxLength":15,"pattern":"^[A-Za-z0-9_]+$","description":"不含前导 @ 的 X 用户名。"}},"required":["username"],"additionalProperties":false},"x_twitter_get_user_posts_Input":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]+$","description":"X 用户 ID；不是用户名或 @handle。"},"max_results":{"type":"integer","minimum":5,"maximum":100,"default":10,"description":"单页返回的帖子数；X 文档范围为 5–100。"}},"required":["id"],"additionalProperties":false},"yahoo_finance_stock_chart_Input":{"type":"object","properties":{"symbol":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9.^=-]+$","default":"AAPL","description":"Yahoo Finance 证券代码；允许如 AAPL、BRK-B、^GSPC、EURUSD=X 的字符形式。"},"region":{"type":"string","enum":["US","BR","AU","CA","FR","DE","HK","IN","IT","ES","GB","SG"],"default":"US","description":"文档列出的市场区域代码。"},"interval":{"type":"string","enum":["1m","2m","5m","15m","30m","60m","1d","1wk","1mo"],"default":"1mo","description":"K 线/时间序列间隔；文档默认值为 1mo。"},"range":{"type":"string","enum":["1d","5d","1mo","3mo","6mo","1y","2y","5y","10y","ytd","max"],"default":"1mo","description":"时间范围；该受支持模式不与 period1/period2 混用。"},"comparisons":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9.^=-]+(,[A-Za-z0-9.^=-]+)*$","default":"^FCHI","description":"逗号分隔的对比证券代码；文档默认值为 ^FCHI。"},"events":{"type":"string","minLength":3,"maxLength":64,"pattern":"^(capitalGain|div|split|earn|history)(,(capitalGain|div|split|earn|history))*$","default":"capitalGain,div,split","description":"逗号分隔的公司行动类型；文档默认值为 capitalGain,div,split。"},"includePrePost":{"type":"boolean","default":false,"description":"是否纳入盘前和盘后时段；文档默认 false。"},"includeAdjustedClose":{"type":"boolean","default":true,"description":"是否纳入复权收盘价；文档默认 true。"}},"required":["symbol","interval","range"],"additionalProperties":false},"yahoo_finance_stock_holders_Input":{"type":"object","properties":{"symbol":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9.^=-]+$","default":"AAPL","description":"Yahoo Finance 证券代码。"},"region":{"type":"string","enum":["US","BR","AU","CA","FR","DE","HK","IN","IT","ES","GB","SG"],"default":"US","description":"文档列出的市场区域代码。"},"lang":{"type":"string","enum":["en-US","pt-BR","en-AU","en-CA","fr-FR","de-DE","zh-Hant-HK","en-IN","it-IT","es-ES","en-GB","en-SG"],"default":"en-US","description":"文档列出的响应语言代码。"}},"required":["symbol"],"additionalProperties":false},"yahoo_finance_stock_insights_Input":{"type":"object","properties":{"symbol":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9.^=-]+$","default":"AAPL","description":"Yahoo Finance 证券代码。"}},"required":["symbol"],"additionalProperties":false},"yahoo_finance_stock_profile_Input":{"type":"object","properties":{"symbol":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9.^=-]+$","default":"AAPL","description":"Yahoo Finance 证券代码。"},"region":{"type":"string","enum":["US","BR","AU","CA","FR","DE","HK","IN","IT","ES","GB","SG"],"default":"US","description":"文档列出的市场区域代码。"},"lang":{"type":"string","enum":["en-US","pt-BR","en-AU","en-CA","fr-FR","de-DE","zh-Hant-HK","en-IN","it-IT","es-ES","en-GB","en-SG"],"default":"en-US","description":"文档列出的响应语言代码。"}},"required":["symbol"],"additionalProperties":false},"yahoo_finance_stock_sec_filings_Input":{"type":"object","properties":{"symbol":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9.^=-]+$","default":"AAPL","description":"Yahoo Finance 证券代码。"},"region":{"type":"string","enum":["US","BR","AU","CA","FR","DE","HK","IN","IT","ES","GB","SG"],"default":"US","description":"文档列出的市场区域代码。"},"lang":{"type":"string","enum":["en-US","pt-BR","en-AU","en-CA","fr-FR","de-DE","zh-Hant-HK","en-IN","it-IT","es-ES","en-GB","en-SG"],"default":"en-US","description":"文档列出的响应语言代码。"}},"required":["symbol"],"additionalProperties":false},"youtube_get_channel_details_Input":{"type":"object","properties":{"channel":{"type":"string","minLength":1,"maxLength":2048,"description":"YouTube channel ID or a YouTube channel URL accepted by the upstream API."},"hl":{"type":"string","minLength":2,"maxLength":35,"pattern":"^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$","default":"en","description":"Google interface language code."}},"required":["channel"],"additionalProperties":false},"youtube_search_Input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200,"description":"Search keywords."},"cursor":{"type":"string","minLength":1,"maxLength":4096,"description":"Pagination cursor returned by a prior response; omit for the first page."},"hl":{"type":"string","minLength":2,"maxLength":35,"pattern":"^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$","default":"en","description":"Google interface language code."},"gl":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$","default":"US","description":"Two-letter country code."}},"required":["query"],"additionalProperties":false},"TextInput":{"type":"object","additionalProperties":false,"required":["prompt","language"],"properties":{"prompt":{"type":"string","minLength":1,"maxLength":4000},"language":{"type":"string","minLength":1,"maxLength":40}}}}},"paths":{"/api/discovery":{"get":{"summary":"Discover verified and quarantined API summaries","parameters":[{"name":"query","in":"query","schema":{"type":"string","maxLength":200}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":0,"maximum":50}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0}}],"responses":{"200":{"description":"Actual JSON result or runtime state","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/registry":{"get":{"summary":"Runtime catalog with candidate, verified and executable counts","responses":{"200":{"description":"Actual JSON result or runtime state","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/languages":{"get":{"summary":"15 interface languages","responses":{"200":{"description":"Actual JSON result or runtime state","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/gateway-status":{"get":{"summary":"Current executable count and readiness, not an SLA","responses":{"200":{"description":"Actual JSON result or runtime state","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/discover":{"post":{"summary":"Discover API tools","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"query":{"type":"string","maxLength":200},"limit":{"type":"integer","minimum":0,"maximum":50},"offset":{"type":"integer","minimum":0,"maximum":1000000}},"required":["query"],"additionalProperties":false}}}},"responses":{"200":{"description":"Actual JSON result or runtime state","content":{"application/json":{"schema":{"type":"object"}}}},"202":{"description":"Actual JSON result or runtime state","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Input invalid"},"401":{"description":"Authentication required"},"409":{"description":"Idempotency conflict or another run active"},"429":{"description":"Shared trial limit reached"},"503":{"description":"Gateway or selected tool unavailable"}}}},"/v1/inspect":{"post":{"summary":"Inspect a selected API tool","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"endpoint":{"type":"string","minLength":1,"maxLength":120,"enum":["relaylane#text.generate","crossref-public#works-search","crossref-public#doi-detail","crossref-public#journal-detail","crossref-public#member-detail","databank#indicator-detail","databank#indicator-list","europepmc-public#search","linkedin#get-company-details","linkedin#get-user-profile-by-username","linkedin#search-people","openlibrary#search-works","openlibrary#search-authors","openlibrary#get-work","openlibrary#get-edition","openlibrary#get-author","openlibrary#browse-subject","tiktok#get-user-info","worldbank-public#country-profile","worldbank-public#indicator-definition","worldbank-public#source-definition","worldbank-public#income-level-definition","worldbank-public#lending-type-definition","worldbank-public#country-indicator-observation","x-twitter#search-recent-posts","x-twitter#get-user-profile-by-username","x-twitter#get-user-posts","yahoo-finance#stock-chart","yahoo-finance#stock-holders","yahoo-finance#stock-insights","yahoo-finance#stock-profile","yahoo-finance#stock-sec-filings","youtube#get-channel-details","youtube#search"]}},"required":["endpoint"],"additionalProperties":false}}}},"responses":{"200":{"description":"Actual JSON result or runtime state","content":{"application/json":{"schema":{"type":"object"}}}},"202":{"description":"Actual JSON result or runtime state","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Input invalid"},"401":{"description":"Authentication required"},"409":{"description":"Idempotency conflict or another run active"},"429":{"description":"Shared trial limit reached"},"503":{"description":"Gateway or selected tool unavailable"}}}},"/v1/run":{"post":{"summary":"Execute the selected API under authentication and shared trial limits","security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","properties":{"endpoint":{"const":"relaylane#text.generate"},"input":{"type":"object","additionalProperties":false,"required":["prompt","language"],"properties":{"prompt":{"type":"string","minLength":1,"maxLength":4000},"language":{"type":"string","minLength":1,"maxLength":40}}}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"crossref-public#works-search"},"input":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":200,"description":"检索关键词，例如 agentic AI 或 机器学习。"}},"required":["q"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"crossref-public#doi-detail"},"input":{"type":"object","properties":{"doi":{"type":"string","minLength":5,"maxLength":255,"pattern":"^10\\.[0-9]{4,9}/[^\\s?#]+$","description":"一个 DOI，例如 10.1038/nphys1170。"}},"required":["doi"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"crossref-public#journal-detail"},"input":{"type":"object","properties":{"issn":{"type":"string","minLength":8,"maxLength":9,"pattern":"^[0-9]{4}-?[0-9]{3}[0-9Xx]$","description":"一个 ISSN，可带连字符，例如 1476-4687。"}},"required":["issn"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"crossref-public#member-detail"},"input":{"type":"object","properties":{"memberId":{"type":"integer","minimum":1,"maximum":999999,"description":"单一 Crossref 数字 member ID，例如 98。"}},"required":["memberId"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"databank#indicator-detail"},"input":{"type":"object","properties":{"indicatorCode":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[A-Za-z0-9._-]+$","description":"World Development Indicator 代码，例如 NY.GDP.MKTP.CD。"}},"required":["indicatorCode"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"databank#indicator-list"},"input":{"type":"object","properties":{"q":{"type":"string","minLength":0,"maxLength":200,"default":"","description":"可选的指标检索词；空字符串表示不按关键词筛选。"},"page":{"type":"integer","minimum":1,"maximum":10000,"default":1,"description":"页码。"},"pageSize":{"type":"integer","minimum":10,"maximum":100,"default":10,"description":"单页条数。"}},"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"europepmc-public#search"},"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200,"description":"Europe PMC search expression, for example TITLE:aspirin. Keep the search bounded and relevant."}},"required":["query"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"linkedin#get-company-details"},"input":{"type":"object","properties":{"username":{"type":"string","minLength":1,"maxLength":100}},"required":["username"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"linkedin#get-user-profile-by-username"},"input":{"type":"object","properties":{"username":{"type":"string","minLength":1,"maxLength":100}},"required":["username"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"linkedin#search-people"},"input":{"type":"object","properties":{"keywords":{"type":"string","minLength":1,"maxLength":200},"start":{"type":"string","minLength":1,"maxLength":7,"pattern":"^(0|[1-9][0-9]*0)$"},"firstName":{"type":"string","minLength":1,"maxLength":100},"lastName":{"type":"string","minLength":1,"maxLength":100},"keywordSchool":{"type":"string","minLength":1,"maxLength":200},"keywordTitle":{"type":"string","minLength":1,"maxLength":200},"company":{"type":"string","minLength":1,"maxLength":200}},"required":["keywords"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"openlibrary#search-works"},"input":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":100},"limit":{"type":"integer","minimum":1,"maximum":10,"default":5}},"required":["q"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"openlibrary#search-authors"},"input":{"type":"object","properties":{"q":{"type":"string","minLength":1,"maxLength":100},"limit":{"type":"integer","minimum":1,"maximum":10,"default":5}},"required":["q"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"openlibrary#get-work"},"input":{"type":"object","properties":{"workId":{"type":"string","minLength":4,"maxLength":24,"pattern":"^OL[0-9]+W$"}},"required":["workId"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"openlibrary#get-edition"},"input":{"type":"object","properties":{"editionId":{"type":"string","minLength":4,"maxLength":24,"pattern":"^OL[0-9]+M$"}},"required":["editionId"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"openlibrary#get-author"},"input":{"type":"object","properties":{"authorId":{"type":"string","minLength":4,"maxLength":24,"pattern":"^OL[0-9]+A$"}},"required":["authorId"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"openlibrary#browse-subject"},"input":{"type":"object","properties":{"subject":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[A-Za-z0-9 _:-]+$"},"limit":{"type":"integer","minimum":1,"maximum":10,"default":5}},"required":["subject"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"tiktok#get-user-info"},"input":{"type":"object","properties":{"uniqueId":{"type":"string","minLength":1,"maxLength":100,"description":"TikTok unique ID to look up."}},"required":["uniqueId"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"worldbank-public#country-profile"},"input":{"type":"object","properties":{"countryCode":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 国家/经济体代码，例如 BR。"}},"required":["countryCode"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"worldbank-public#indicator-definition"},"input":{"type":"object","properties":{"indicatorCode":{"type":"string","minLength":3,"maxLength":64,"pattern":"^[A-Za-z0-9.]+$","description":"单一 World Bank 指标代码，例如 NY.GDP.MKTP.CD；不接受分号、多指标或路径字符。"}},"required":["indicatorCode"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"worldbank-public#source-definition"},"input":{"type":"object","properties":{"sourceId":{"type":"integer","minimum":1,"maximum":99999,"description":"单一 World Bank 数据源数字 ID，例如 2（World Development Indicators）。"}},"required":["sourceId"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"worldbank-public#income-level-definition"},"input":{"type":"object","properties":{"incomeLevelCode":{"type":"string","minLength":3,"maxLength":3,"pattern":"^[A-Za-z]{3}$","description":"单一三字母 World Bank 收入组代码，例如 UMC。"}},"required":["incomeLevelCode"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"worldbank-public#lending-type-definition"},"input":{"type":"object","properties":{"lendingTypeCode":{"type":"string","minLength":3,"maxLength":3,"pattern":"^[A-Za-z]{3}$","description":"单一三字母 World Bank 贷款类型代码，例如 IBD；不接受分号或多代码。"}},"required":["lendingTypeCode"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"worldbank-public#country-indicator-observation"},"input":{"type":"object","properties":{"countryCode":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 国家/经济体代码，例如 BR。"},"indicatorCode":{"type":"string","minLength":3,"maxLength":64,"pattern":"^[A-Za-z0-9.]+$","description":"单一 World Bank 指标代码，例如 NY.GDP.MKTP.CD。"},"year":{"type":"integer","minimum":1960,"maximum":2100,"description":"单一四位年度值；映射为 World Bank API 的 date 查询参数。"}},"required":["countryCode","indicatorCode","year"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"x-twitter#search-recent-posts"},"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":1024,"description":"X 查询语法；不得只使用 is:/has:/lang: 等过滤器。"},"max_results":{"type":"integer","minimum":10,"maximum":100,"default":10,"description":"单页返回的帖子数；X 文档范围为 10–100。"}},"required":["query"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"x-twitter#get-user-profile-by-username"},"input":{"type":"object","properties":{"username":{"type":"string","minLength":1,"maxLength":15,"pattern":"^[A-Za-z0-9_]+$","description":"不含前导 @ 的 X 用户名。"}},"required":["username"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"x-twitter#get-user-posts"},"input":{"type":"object","properties":{"id":{"type":"string","minLength":1,"maxLength":20,"pattern":"^[0-9]+$","description":"X 用户 ID；不是用户名或 @handle。"},"max_results":{"type":"integer","minimum":5,"maximum":100,"default":10,"description":"单页返回的帖子数；X 文档范围为 5–100。"}},"required":["id"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"yahoo-finance#stock-chart"},"input":{"type":"object","properties":{"symbol":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9.^=-]+$","default":"AAPL","description":"Yahoo Finance 证券代码；允许如 AAPL、BRK-B、^GSPC、EURUSD=X 的字符形式。"},"region":{"type":"string","enum":["US","BR","AU","CA","FR","DE","HK","IN","IT","ES","GB","SG"],"default":"US","description":"文档列出的市场区域代码。"},"interval":{"type":"string","enum":["1m","2m","5m","15m","30m","60m","1d","1wk","1mo"],"default":"1mo","description":"K 线/时间序列间隔；文档默认值为 1mo。"},"range":{"type":"string","enum":["1d","5d","1mo","3mo","6mo","1y","2y","5y","10y","ytd","max"],"default":"1mo","description":"时间范围；该受支持模式不与 period1/period2 混用。"},"comparisons":{"type":"string","minLength":1,"maxLength":256,"pattern":"^[A-Za-z0-9.^=-]+(,[A-Za-z0-9.^=-]+)*$","default":"^FCHI","description":"逗号分隔的对比证券代码；文档默认值为 ^FCHI。"},"events":{"type":"string","minLength":3,"maxLength":64,"pattern":"^(capitalGain|div|split|earn|history)(,(capitalGain|div|split|earn|history))*$","default":"capitalGain,div,split","description":"逗号分隔的公司行动类型；文档默认值为 capitalGain,div,split。"},"includePrePost":{"type":"boolean","default":false,"description":"是否纳入盘前和盘后时段；文档默认 false。"},"includeAdjustedClose":{"type":"boolean","default":true,"description":"是否纳入复权收盘价；文档默认 true。"}},"required":["symbol","interval","range"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"yahoo-finance#stock-holders"},"input":{"type":"object","properties":{"symbol":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9.^=-]+$","default":"AAPL","description":"Yahoo Finance 证券代码。"},"region":{"type":"string","enum":["US","BR","AU","CA","FR","DE","HK","IN","IT","ES","GB","SG"],"default":"US","description":"文档列出的市场区域代码。"},"lang":{"type":"string","enum":["en-US","pt-BR","en-AU","en-CA","fr-FR","de-DE","zh-Hant-HK","en-IN","it-IT","es-ES","en-GB","en-SG"],"default":"en-US","description":"文档列出的响应语言代码。"}},"required":["symbol"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"yahoo-finance#stock-insights"},"input":{"type":"object","properties":{"symbol":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9.^=-]+$","default":"AAPL","description":"Yahoo Finance 证券代码。"}},"required":["symbol"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"yahoo-finance#stock-profile"},"input":{"type":"object","properties":{"symbol":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9.^=-]+$","default":"AAPL","description":"Yahoo Finance 证券代码。"},"region":{"type":"string","enum":["US","BR","AU","CA","FR","DE","HK","IN","IT","ES","GB","SG"],"default":"US","description":"文档列出的市场区域代码。"},"lang":{"type":"string","enum":["en-US","pt-BR","en-AU","en-CA","fr-FR","de-DE","zh-Hant-HK","en-IN","it-IT","es-ES","en-GB","en-SG"],"default":"en-US","description":"文档列出的响应语言代码。"}},"required":["symbol"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"yahoo-finance#stock-sec-filings"},"input":{"type":"object","properties":{"symbol":{"type":"string","minLength":1,"maxLength":32,"pattern":"^[A-Za-z0-9.^=-]+$","default":"AAPL","description":"Yahoo Finance 证券代码。"},"region":{"type":"string","enum":["US","BR","AU","CA","FR","DE","HK","IN","IT","ES","GB","SG"],"default":"US","description":"文档列出的市场区域代码。"},"lang":{"type":"string","enum":["en-US","pt-BR","en-AU","en-CA","fr-FR","de-DE","zh-Hant-HK","en-IN","it-IT","es-ES","en-GB","en-SG"],"default":"en-US","description":"文档列出的响应语言代码。"}},"required":["symbol"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"youtube#get-channel-details"},"input":{"type":"object","properties":{"channel":{"type":"string","minLength":1,"maxLength":2048,"description":"YouTube channel ID or a YouTube channel URL accepted by the upstream API."},"hl":{"type":"string","minLength":2,"maxLength":35,"pattern":"^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$","default":"en","description":"Google interface language code."}},"required":["channel"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false},{"type":"object","properties":{"endpoint":{"const":"youtube#search"},"input":{"type":"object","properties":{"query":{"type":"string","minLength":1,"maxLength":200,"description":"Search keywords."},"cursor":{"type":"string","minLength":1,"maxLength":4096,"description":"Pagination cursor returned by a prior response; omit for the first page."},"hl":{"type":"string","minLength":2,"maxLength":35,"pattern":"^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$","default":"en","description":"Google interface language code."},"gl":{"type":"string","minLength":2,"maxLength":2,"pattern":"^[A-Z]{2}$","default":"US","description":"Two-letter country code."}},"required":["query"],"additionalProperties":false}},"required":["endpoint","input"],"additionalProperties":false}]}}}},"responses":{"200":{"description":"Actual JSON result or runtime state","content":{"application/json":{"schema":{"type":"object"}}}},"202":{"description":"Actual JSON result or runtime state","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Input invalid"},"401":{"description":"Authentication required"},"409":{"description":"Idempotency conflict or another run active"},"429":{"description":"Shared trial limit reached"},"503":{"description":"Gateway or selected tool unavailable"}}}},"/v1/runs/{id}":{"get":{"summary":"Read own saved run without dispatching another request","security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Actual JSON result or runtime state","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"},"404":{"description":"Not found"}}}},"/v1/device/start":{"post":{"summary":"Start 10-minute user-approved CLI pairing without provider execution","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"clientName":{"type":"string","minLength":1,"maxLength":80},"locale":{"type":"string","enum":["en","zh-hans","zh-hant","ja","ko","de","fr","es","it","pt","nl","sv","da","no","fi"]}},"required":["clientName","locale"],"additionalProperties":false}}}},"responses":{"200":{"description":"JSON response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input or documented device polling state"},"401":{"description":"Authentication required"},"403":{"description":"Browser origin/CSRF rejected"},"429":{"description":"Rate limited"},"503":{"description":"Service unavailable"}}}},"/v1/device/token":{"post":{"summary":"Poll pairing with >=5-second interval; never expose the private device code","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"device_code":{"type":"string","pattern":"^[A-Za-z0-9_-]{43}$"}},"required":["device_code"],"additionalProperties":false}}}},"responses":{"200":{"description":"JSON response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input or documented device polling state"},"401":{"description":"Authentication required"},"403":{"description":"Browser origin/CSRF rejected"},"429":{"description":"Rate limited"},"503":{"description":"Service unavailable"}}}},"/v1/account":{"get":{"summary":"Validate own authorized credential without executing provider","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"JSON response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/api/device":{"get":{"summary":"Read the matching device user code and client label; never device secret","security":[{"browserSession":[]}],"parameters":[{"name":"user_code","in":"query","required":true,"schema":{"type":"string","pattern":"^[A-Z2-9]{4}-[A-Z2-9]{4}$"}}],"responses":{"200":{"description":"JSON response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Sign in required"},"404":{"description":"Device code not found"}}}},"/api/device/decision":{"post":{"summary":"Approve or deny explicitly in the signed-in browser; CSRF required","security":[{"browserSession":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"user_code":{"type":"string"},"decision":{"type":"string","enum":["approve","deny"]},"confirmed":{"const":true}},"required":["user_code","decision","confirmed"],"additionalProperties":false}}}},"responses":{"200":{"description":"JSON response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid input or documented device polling state"},"401":{"description":"Authentication required"},"403":{"description":"Browser origin/CSRF rejected"},"429":{"description":"Rate limited"},"503":{"description":"Service unavailable"}}}},"/api/billing/status":{"get":{"summary":"Public Stripe sandbox readiness and explicit live approval gate","responses":{"200":{"description":"JSON response","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/billing":{"get":{"summary":"Own test/live-isolated balances and order history","security":[{"browserSession":[]}],"responses":{"200":{"description":"JSON response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Sign in required"}}}},"/.well-known/oauth-protected-resource":{"get":{"summary":"Public OAuth discovery metadata","responses":{"200":{"description":"Protocol JSON response","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/.well-known/oauth-protected-resource/mcp":{"get":{"summary":"Public OAuth discovery metadata","responses":{"200":{"description":"Protocol JSON response","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/.well-known/oauth-authorization-server":{"get":{"summary":"Public OAuth discovery metadata","responses":{"200":{"description":"Protocol JSON response","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/oauth/authorize":{"get":{"summary":"Create client-bound S256 request and redirect to local consent; never automatically approve","parameters":[{"name":"response_type","in":"query","required":true,"schema":{"type":"string"}},{"name":"client_id","in":"query","required":true,"schema":{"type":"string"}},{"name":"redirect_uri","in":"query","required":true,"schema":{"type":"string"}},{"name":"resource","in":"query","required":true,"schema":{"type":"string"}},{"name":"code_challenge","in":"query","required":true,"schema":{"type":"string"}},{"name":"code_challenge_method","in":"query","required":true,"schema":{"type":"string"}},{"name":"scope","in":"query","required":false,"schema":{"type":"string"}},{"name":"state","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"303":{"description":"Local consent page"},"400":{"description":"Invalid client/request/resource"},"503":{"description":"Authorization storage not ready"}}}},"/oauth/register":{"post":{"summary":"Dynamic registration for public clients only; returns generated client ID","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"client_name":{"type":"string"},"redirect_uris":{"type":"array","minItems":1,"maxItems":10,"items":{"type":"string","format":"uri"}},"token_endpoint_auth_method":{"const":"none"},"grant_types":{"type":"array","items":{"enum":["authorization_code","refresh_token"]}},"response_types":{"type":"array","items":{"const":"code"}}},"required":["client_name","redirect_uris","token_endpoint_auth_method"]}}}},"responses":{"201":{"description":"Protocol JSON response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid metadata"}}}},"/oauth/token":{"post":{"summary":"Public-client S256 authorization code exchange or rotating refresh; resource is required","requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"grant_type":{"enum":["authorization_code","refresh_token"]},"client_id":{"type":"string"},"resource":{"const":"https://relaylane-ebgvfhzs.manus.space/mcp"},"code":{"type":"string"},"redirect_uri":{"type":"string"},"code_verifier":{"type":"string","minLength":43,"maxLength":128},"refresh_token":{"type":"string"},"scope":{"type":"string"}},"required":["grant_type","client_id","resource"]}}}},"responses":{"200":{"description":"Protocol JSON response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"invalid_grant/invalid_request/invalid_target/unsupported_grant_type"}}}},"/oauth/revoke":{"post":{"summary":"Revoke bound token without revealing whether it exists","requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"client_id":{"type":"string"},"token":{"type":"string"}},"required":["client_id","token"]}}}},"responses":{"200":{"description":"Protocol JSON response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid request"}}}},"/mcp":{"post":{"summary":"Streamable HTTP JSON-RPC: public discover/inspect; OAuth or API-key protected run","security":[{"mcpOAuth":["mcp:read"]},{"bearerAuth":[]},{}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"}}}},"responses":{"200":{"description":"Protocol JSON response","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Bearer challenge points to protected resource metadata"},"403":{"description":"insufficient_scope for protected run or denied browser Origin"},"503":{"description":"Authorization storage unavailable"}}}}}}