套餐

公开 API

在你自己的系统里运行任何营销 App

每个 SupaMarketers App 都提供 JSON API:创建运行、通过 SSE 流式获取实时进度、取回完成后的报告——与网站使用同一把 API Key、同一个 Credits 余额和同一份运行历史。

快速开始

在 Settings → API Keys 创建 API Key(与 MCP 通用同一把),然后创建运行:

curl -X POST https://api.TODO-APP-DOMAIN/api/v1/runs \
  -H "Authorization: Bearer $SUPAMARKETERS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"app_slug":"oss-growth","input":{"repo_url":"https://github.com/your-org/your-repo"}}'

订阅进度事件——通过 Last-Event-ID 支持断线续传:

curl -N https://api.TODO-APP-DOMAIN/api/v1/runs/{run_no}/events \
  -H "Authorization: Bearer $SUPAMARKETERS_API_KEY"

运行到达终态后取回结果:

curl https://api.TODO-APP-DOMAIN/api/v1/runs/{run_no} \
  -H "Authorization: Bearer $SUPAMARKETERS_API_KEY"

把 $SUPAMARKETERS_API_KEY 替换为你的 Key。

鉴权

所有端点都要求在 Authorization 头中携带 Bearer API Key。注册后在 Settings → API Keys 创建。同一把 Key 也用于 MCP 面;Key 只能访问创建它的账号名下的资源。

Authorization: Bearer $SUPAMARKETERS_API_KEY

Base URL

规范入口是 https://api.TODO-APP-DOMAIN,路径与网站入口一致(https://www.TODO-APP-DOMAIN/api/v1/... 同样可用)。API 返回的请求/响应 URL 均为相对路径——按你调用的 origin 解析即可。

Credits 计费与动态定价

每次运行从 Key 属主的 Credits 余额扣费:创建时预扣,失败自动退还。价格按真实运行成本校准,会随时间调整——请以创建运行时返回的 credit_cost 为准,不要缓存文档里的数字。当前价格始终可见于能力列表与各 App 参考页。

限流与并发上限

以下上限保护共享容量,超限返回 429 并附带 Retry-After 头。

对象上限
运行创建(POST /api/v1/runs)10 / min
读取(capabilities、运行状态、事件流)120 / min
同一 Key 属主的并发活跃运行数3
全平台并发活跃运行数(全体用户)12

除注明外均按每把 API Key 计

错误码

所有错误使用统一封包:{"error":{"code","message"}}。

HTTPcode含义
400invalid_request请求体畸形、非 JSON 内容或含文件字段(API 仅接受 JSON)
401unauthorized缺失或无效的 Bearer API Key
402insufficient_credits余额低于锁定的 Credits 价格
404app_not_found / run_not_found未知或不可运行的 App slug
409pricing_not_readyApp 价格缺失、变更或正在重校准——可重试
422invalid_input输入未通过 schema 校验
422invalid_brand_contextbrand_context_id 被拒绝
429rate_limited超过限流——按 Retry-After 秒数重试
429concurrency_limit达到活跃运行上限(每 Key 属主或全平台)——等待运行结束后重试
500 / 503internal_error服务器异常或数据库繁忙——可安全重试

进度流(SSE)

GET /api/v1/runs/{run_no}/events 以 Server-Sent Events 流式返回运行事件。事件类型:started、tool_running、completed、failed;心跳以 SSE 注释形式发送。连接中断后,通过 Last-Event-ID 头(或 lastEventSeq 查询参数)传入最后收到的序号即可精确续传。无法保持长连接的客户端可改为轮询 GET /api/v1/runs/{run_no}。

可通过 API 使用63

以下 App 接受 JSON 输入,可经 API 端到端运行,各自链接到完整参考页。