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 を設定できます。トークンが作成できるのは、自分が持つスコープの範囲内で、自分の上限を超えないトークンに限られます。
トークン不要
シェル
curl $ARRAKIS_URL/v1/market/summaryGPU ファミリーごとの最新価格と空き状況を返します。
マシンをレンタルする
シェル
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 を示します。残高は最初の 1 時間分をまかなえる必要があり(足りなければ 402)、この 1 時間分はマシンが稼働を始めた時点で請求されます(最低 1 時間)。max_price_per_gpu_hour を送ると、確認した価格(GET /v1/gpus/{node_id}/price)以下でしかレンタルしません。リアルタイム価格がそれより高ければ何もレンタルされず、409 が返ります。
主なルート
| メソッド | パス | 機能 |
|---|---|---|
| GET | /v1/market/summary | GPU ファミリーごとの最新価格(公開) |
| GET | /v1/market/history | GPU ファミリーごとの 1 時間単位の価格。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 | 残高、1 時間あたりの消費額、残高が尽きる時刻 |
| 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 を送ります。2 台目がレンタルされることはなく、同じマシンが返ります。
エージェントとして読んでいますか?このページの Markdown 版をどうぞ。