ドキュメント

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/summary

GPU ファミリーごとの最新価格と空き状況を返します。

マシンをレンタルする

シェル
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/summaryGPU ファミリーごとの最新価格(公開)
GET/v1/market/historyGPU ファミリーごとの 1 時間単位の価格。JSON、または format=csv で CSV(公開)
GET/v1/models/fit?model=owner/nameHugging 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 版をどうぞ。