TokenToSea开发者文档
控制台

工具 API 参考

工具 API 全部接口的参数、响应对象与错误码,以及当前可调用的工具操作列表。

本页内容

基础地址 https://tokentosea.com/api/v1/tool-api。所有接口都需要 Authorization: Bearer <工具密钥或全能密钥>,见鉴权。调用流程与计费规则见工具 API 概览。

搜索工具目录#

GET /catalog

查询参数类型说明
qstring关键词,最多 160 个字符,匹配名称、服务商、简介、接口路径与别名;多个词之间为「且」
connected1只返回已接通、可通过 /invoke 调用的工具
categorystring分类:search、web、automation、development、communication、data、media、social、seo、news、ai、business、commerce、travel、property、auto、weather、finance、blockchain、legal、other
featured1只返回精选工具
saved1只返回当前账号收藏的工具
offsetinteger分页偏移,0–100000,默认 0;每页 24 条
GET /catalog?connected=1(节选)
{
  "items": [
    {
      "id": "public_github",
      "name": "GitHub",
      "provider": "GitHub",
      "summary": "公开仓库、发布版本、议题和开发者资料",
      "category": "development",
      "protocol": "REST",
      "pricing": "usage",
      "callableCount": 6,
      "endpointCount": 6,
      "docsUrl": "https://docs.github.com/en/rest",
      "status": "approved",
      "source": "curated",
      "saved": false
    }
  ],
  "total": 12,
  "offset": 0,
  "categories": [{ "id": "development", "count": 5 }],
  "stats": { "tools": 12, "providers": 12, "endpoints": 45 }
}

目录也收录了尚未接通的工具(callableCount 为 0),它们只提供资料,不能调用。

字段说明
id工具 ID,用于 /actions/{toolId}
name / provider / summary / description名称、服务商与说明
category / protocol / pricing分类;接入方式(REST、MCP、SDK、Web);服务商的收费方式(free、usage、subscription、contact)
pricingNote收费说明
callableCount已接通、可调用的操作数
endpoints / endpointCount目录收录的接口(列表中最多返回 8 个)与总数;这是资料,不等于可调用的操作
websiteUrl / docsUrl / iconPath官网、文档与图标
featuredRank / saved精选排序;当前账号是否收藏
status / source审核状态;curated(平台收录)或 seller(卖家提交)

列出操作#

GET /actions/{toolId}

返回工具的全部操作(操作对象数组)。只有 enabled 为 true 的操作可以调用。工具不存在时返回 404 tool_not_found。

响应(节选)
[
  {
    "id": "github.search",
    "toolId": "public_github",
    "name": "搜索公开仓库",
    "description": "搜索公开仓库,返回结构化结果与来源。",
    "inputSchema": {
      "type": "object",
      "properties": {
        "query": { "type": "string", "description": "搜索关键词", "maxLength": 200 },
        "limit": { "type": "integer", "description": "返回条数(1–10)", "minimum": 1, "maximum": 10 }
      },
      "required": ["query"],
      "additionalProperties": false
    },
    "exampleInput": { "query": "typescript", "limit": 3 },
    "priceUsd": "0.001000",
    "priceVersion": "public-20261010-v1",
    "enabled": true,
    "sourceUrl": "https://docs.github.com/en/rest"
  }
]

查询余额#

GET /wallet

响应
{ "balanceUsd": "12.500000", "reservedUsd": "0.003000", "availableUsd": "12.497000", "currency": "USD" }
字段说明
balanceUsd账户余额(美元,6 位小数)
reservedUsd进行中的模型与工具调用已预留的金额
availableUsd可用余额 = 余额 − 预留

余额是账号级的,与模型调用共用。

调用操作#

POST /invoke

参数类型必填说明
actionIdstring必填操作 ID,例如 github.search
inputobject必填输入,必须符合操作的 inputSchema;规范化后最大 16 KiB
requestKeystring必填16–128 个字符,账号内唯一,用于幂等
priceVersionstring必填从 /actions 读取的价格版本
maxCostUsdstring必填你愿意为本次调用支付的上限,美元十进制字符串,最多 6 位小数(例如 "0.001000"),不能小于操作的 priceUsd

请求体不能包含其他字段,否则返回 400 tool_invalid_request。

输入校验规则:必填字段必须出现;不能有 inputSchema 之外的字段;string 不超过 maxLength(未声明时 200);integer 为安全整数;数值在 minimum 与 maximum 之间;声明了 enum 时只能取其中的值。

成功受理时返回 201 与调用对象。HTTP 201 不代表调用成功:外部数据源出错时同样返回 201,status 为 failed 且 chargedUsd 为 "0.000000"。

响应示例
{
  "id": "cm2…",
  "actionId": "github.search",
  "actionName": "搜索公开仓库",
  "toolName": "GitHub",
  "requestKey": "6f0d6c1e-…",
  "status": "succeeded",
  "priceUsd": "0.001000",
  "chargedUsd": "0.001000",
  "input": { "query": "typescript", "limit": 3 },
  "output": {
    "data": { "total_count": 1234, "items": ["…"] },
    "source": { "url": "https://api.github.com/search/repositories?q=typescript&per_page=3", "retrievedAt": "2026-10-21T08:00:00.000Z", "operation": "github.search" }
  },
  "errorCode": null,
  "createdAt": "2026-10-21T08:00:00.000Z",
  "completedAt": "2026-10-21T08:00:01.000Z"
}

调用记录#

GET /runs?offset={offset}

按创建时间倒序返回当前账号的调用记录,每页 20 条,offset 为 0–100000。列表中的 output 为 null,完整结果用 /runs/{id} 获取。

响应
{ "items": [{ "id": "cm2…", "status": "succeeded", "output": null, "…": "…" }], "total": 57, "offset": 0 }

单次调用#

GET /runs/{id}

返回包含 output 的完整调用对象。记录不存在或不属于当前账号时返回 404 tool_run_not_found。

对象#

操作对象#

字段类型说明
idstring操作 ID,调用时作为 actionId
toolIdstring所属工具
name / descriptionstring名称与说明
inputSchemaobject输入结构:{ type: "object", properties, required, additionalProperties: false }。每个属性有 type(string、number、integer、boolean)与 description,可选 maxLength、minimum、maximum、enum
exampleInputobject一个有效的输入示例
priceUsdstring单次成功调用的价格(美元,6 位小数)
priceVersionstring价格版本,调用时原样传回
enabledboolean是否可调用
sourceUrlstring外部数据源的官方文档

调用对象#

字段类型说明
idstring调用 ID
actionId / actionName / toolNamestring操作与工具
requestKeystring你提供的幂等键
statusstringrunning、succeeded、failed
priceUsdstring调用时的价格
chargedUsdstring实际扣费;失败为 "0.000000"
inputobject校验后的输入
outputobject | null成功时为 { data, source }:data 是外部数据源返回的数据,source 记录请求地址、获取时间与操作
errorCodestring | null失败原因,见错误码
createdAt / completedAtstringISO 8601 时间

外部数据按来源原样返回,不代表 TokenToSea 对其内容的背书;汇率等参考数据以来源公布为准。

错误码#

HTTP 错误的响应体为 { "statusCode", "message", "error" },message 为下表中的错误码。

状态码message原因与处理
400tool_invalid_request请求体不是对象,或包含未定义的字段
400tool_invalid_actionId、tool_invalid_requestKey、tool_invalid_priceVersion字段缺失或长度不符(requestKey 16–128)
400tool_invalid_amountmaxCostUsd 不是合法的十进制字符串
400tool_input_too_large输入超过 16 KiB
400tool_missing_input、tool_unknown_input、tool_invalid_input_<字段>输入不符合 inputSchema
400tool_operation_unavailable输入格式不被该操作接受(例如 GitHub 仓库名不是 owner/repo)
400tool_invalid_query、tool_invalid_category、tool_invalid_connected_filter、tool_invalid_featured_filter、tool_invalid_saved_filter、tool_invalid_offset目录或列表的查询参数不合法
401tool_key_required缺少 Authorization: Bearer,或密钥格式不对
401tool_key_invalid密钥不存在、已撤销、已删除或已过期,或账号不可用
403tool_access_not_allowedsk-relay_… 密钥没有工具权限
403tool_key_budget_exceeded全能密钥在当前周期内的费用或 token 限额已用尽(模型调用与工具调用共用这把密钥的限额)
404tool_not_found、tool_run_not_found工具或调用记录不存在
409tool_not_connected操作未接通或已停用
409tool_price_changedpriceVersion 已过期,或 priceUsd 高于 maxCostUsd。重新读取 /actions
409tool_request_key_reused同一个 requestKey 用于了不同的请求
409tool_rate_limited超过并发或频率限制,稍后重试
409tool_insufficient_balance可用余额不足

调用失败时(HTTP 201,status: "failed")的 errorCode:

errorCode含义
tool_provider_failed外部数据源返回错误
tool_provider_rate_limited外部数据源限流(HTTP 429)
tool_empty_response、tool_no_result外部数据源没有返回数据
tool_result_too_large外部响应超过 1.5 MB
tool_invalid_base64utility.base64decode 的输入不是合法 Base64
tool_execution_failed执行失败(包括 12 秒超时、响应不是 JSON)
tool_interrupted调用超过 2 分钟未完成,已标记失败

失败的调用不扣费;同一个 requestKey 重试会返回同一条失败记录,修正后请使用新的 requestKey。

当前可调用的操作#

截至 2026-10-21 已接通 12 个工具、45 个操作,价格版本均为 public-20261010-v1。以 GET /catalog?connected=1 与 GET /actions/{toolId} 的实时返回为准。? 表示可选输入;limit 均为 1–10。

工具操作 ID名称输入价格
GitHub (public_github)github.search搜索公开仓库query、limit?USD 0.001
GitHub (public_github)github.repository仓库资料repositoryUSD 0.001
GitHub (public_github)github.issues公开议题repository、limit?USD 0.001
GitHub (public_github)github.releases发布版本repository、limit?USD 0.001
GitHub (public_github)github.commits最近提交repository、limit?USD 0.001
GitHub (public_github)github.user公开开发者资料usernameUSD 0.001
npm (public_npm)npm.search搜索 npm 包query、limit?USD 0.001
npm (public_npm)npm.packagenpm 包元数据packageUSD 0.001
npm (public_npm)npm.downloads每周下载统计packageUSD 0.001
PyPI (public_pypi)pypi.packagePython 包元数据packageUSD 0.001
PyPI (public_pypi)pypi.versionPython 指定版本package、versionUSD 0.001
crates.io (public_crates)crates.search搜索 Rust cratequery、limit?USD 0.001
crates.io (public_crates)crates.packageRust crate 元数据package、limit?USD 0.001
crates.io (public_crates)crates.versionsRust crate 版本package、limit?USD 0.001
Crossref (public_crossref)crossref.search检索论文元数据query、limit?USD 0.001
Crossref (public_crossref)crossref.doi解析 DOIdoiUSD 0.001
Crossref (public_crossref)crossref.journals检索期刊query、limit?USD 0.001
DataCite (public_datacite)datacite.search检索研究数据query、limit?USD 0.001
DataCite (public_datacite)datacite.doi解析数据 DOIdoiUSD 0.001
Europe PMC (public_europepmc)europepmc.search检索生命科学文献query、limit?USD 0.001
Europe PMC (public_europepmc)europepmc.article查询 PubMed 文章idUSD 0.001
Europe PMC (public_europepmc)europepmc.citations查询文章引用id、limit?USD 0.001
Hacker News (public_hn)hn.top热门技术新闻limit?USD 0.001
Hacker News (public_hn)hn.new最新技术新闻limit?USD 0.001
Hacker News (public_hn)hn.best精选技术新闻limit?USD 0.001
Hacker News (public_hn)hn.ask社区问答limit?USD 0.001
Hacker News (public_hn)hn.show社区作品limit?USD 0.001
Hacker News (public_hn)hn.jobs招聘信息limit?USD 0.001
Hacker News (public_hn)hn.item新闻或评论详情idUSD 0.001
Hacker News (public_hn)hn.user社区用户资料usernameUSD 0.001
World Bank (public_worldbank)worldbank.countries国家资料limit?USD 0.001
World Bank (public_worldbank)worldbank.indicators指标目录limit?USD 0.001
World Bank (public_worldbank)worldbank.series国家年度指标country、indicator、year?、limit?USD 0.001
USGS (public_usgs)usgs.recent最近一周显著地震—USD 0.001
USGS (public_usgs)usgs.search检索地震事件startDate、minMagnitude?、limit?USD 0.001
Frankfurter (public_frankfurter)frankfurter.currencies参考汇率币种—USD 0.001
Frankfurter (public_frankfurter)frankfurter.latest最新公布参考汇率base?、symbols?USD 0.001
Frankfurter (public_frankfurter)frankfurter.history历史参考汇率base?、symbols?、dateUSD 0.001
TokenToSea 数据工具 (public_utility)utility.json解析并格式化 JSONtext免费
TokenToSea 数据工具 (public_utility)utility.sha256SHA-256 文本摘要text免费
TokenToSea 数据工具 (public_utility)utility.base64encodeBase64 编码text免费
TokenToSea 数据工具 (public_utility)utility.base64decodeBase64 解码text免费
TokenToSea 数据工具 (public_utility)utility.textstats文本统计text免费
TokenToSea 数据工具 (public_utility)utility.url解析 URLtext免费
TokenToSea 数据工具 (public_utility)utility.uuid生成 UUID—免费

下一步#

    输入关键词搜索全部文档与模型。