API
使用令牌认证,然后通过简单的 JSON 进行搜索、租用、管理和付款。
基础知识
- 基础 URL:
$ARRAKIS_URL。所有请求和响应都是 JSON。 - 使用
Authorization: Bearer ark_...进行认证。令牌决定所操作的账户。 - 错误以
{"detail": "..."}的形式返回,并带有明确的状态码:401(令牌)、402(余额或支出上限)、403(权限范围)、404、409、422(输入)、429(请求过于频繁)、503(尚未开放租用)。 - 完整的接口定义见 /openapi.json;可在交互式参考中试用各个调用。
令牌和权限范围
| 权限范围 | 允许 |
|---|---|
read | 搜索机器;查看你的机器、存储卷和镜像 |
rent | 租用、重启和停止机器 |
manage | 创建和撤销令牌;保存 SSH 密钥和镜像 |
billing | 余额、付款、自动充值、紧急停止 |
在 API & agents 页面或通过 POST /v1/tokens 创建令牌。令牌可以带有 spend_limit_usd、max_rental_hours 和 expires_at。令牌只能创建权限范围不超过自身、额度不超出自身上限的令牌。
无需令牌
Shell
curl $ARRAKIS_URL/v1/market/summary按 GPU 系列返回实时价格和可用情况。
租用机器
Shell
curl -X POST $ARRAKIS_URL/v1/instances \
-H "Authorization: Bearer $ARRAKIS_TOKEN" -H "Content-Type: application/json" \
-d '{"node_id": "<node>", "name": "eval", "ssh_public_key": "ssh-ed25519 AAAA...",
"termination_hours": 4, "idempotency_key": "eval-2026-10-14"}'用 GET /v1/gpus 找到 node_id;其中的 tier 会标明 on_demand 或 spot。余额必须够支付第一个小时(否则返回 402),这一小时在机器开始运行时扣费(最少计费 1 小时)。发送 max_price_per_gpu_hour,即可按不高于你看到的价格(GET /v1/gpus/{node_id}/price)租用:如果实时价格更高,则不会租用任何机器,并返回 409。
主要路由
| 方法 | 路径 | 功能 |
|---|---|---|
| GET | /v1/market/summary | 按 GPU 系列的实时价格(公开) |
| GET | /v1/market/history | 每个 GPU 系列的逐小时价格,JSON 格式,或用 format=csv 获取 CSV(公开) |
| GET | /v1/models/fit?model=owner/name | Hugging Face 模型需要的 GPU 显存,以及当前能放下它的最便宜 GPU(公开) |
| GET | /v1/gpus | 可租用的机器,最便宜的排在前面 |
| GET | /v1/gpus/{node_id}/price | 机器当前的实时价格 |
| POST | /v1/instances | 租用机器 |
| GET | /v1/instances, /v1/instances/{id} | 你的机器 |
| POST | /v1/instances/{id}/terminate | 停止并移除机器 |
| POST | /v1/instances/{id}/schedule-removal | 设置它何时自行移除 |
| GET / POST / DELETE | /v1/volumes | 你的存储卷:保存了多少数据、费用多少、挂载在哪里 |
| GET | /v1/billing/account | 余额、消耗速度,以及余额何时用完 |
| POST | /v1/billing/checkout | 发起银行卡、Link 或 Apple Pay 付款 |
| POST | /v1/billing/stop | 停止所有机器并暂停租用 |
| GET / POST / DELETE | /v1/tokens | 列出、创建和撤销令牌 |
| GET | /v1/support/cases | 你的支持工单和我们的答复 |
| POST | /mcp | 面向智能体的 MCP |
重试
重试租用时发送相同的 idempotency_key:你拿回的是同一台机器,绝不会多租一台。
以智能体身份阅读?请看本页的 Markdown 版本。