始める

API キーと認証

すべてのリクエストに API キーが必要です。キーはワークスペースに属し、その残高を使用します。キーごとに予算、モデル、アクセス元アドレスを制限できます。

キーを送信する

どのエンドポイントでも、次のいずれかのヘッダーを使用できます:

ヘッダー
Authorization: Bearer zr_live_your_key_here
# or, as Anthropic's SDKs send it:
x-api-key: zr_live_your_key_here

キーは zr_live_ で始まります。完全なキーを確認できるのは作成時の一度だけです。保存するのはハッシュのみなので、私たちを含め誰も再表示できません。紛失した場合は、キーを無効にして新しく作成してください。

AI エージェントを接続する

エージェント(OpenClaw、Hermes、Manus、自作のエージェント)は、誰かがキーをコピーしなくても、専用のキーを取得できます。エージェントが承認用リンクを発行し、ユーザーが zurelay.com で日次上限を設定して承認すると、エージェントがキーを受け取ります。テレビでのサインインと同じ仕組みです(OAuth のデバイスフロー、RFC 8628)。この 2 つの呼び出しにキーは必要ありません。

POST/connect
namestring
エージェントが名乗る名前です。承認ページに表示され、キーの名前にも使われます。省略できます。
リンクを発行
curl -X POST https://api.zurelay.com/connect \
-H "Content-Type: application/json" \
-d '{"name": "OpenClaw"}'
{
"status": "pending",
"device_code": "zr_dc_…",
"user_code": "WDJB-MJHT",
"verification_uri": "https://zurelay.com/connect",
"verification_uri_complete": "https://zurelay.com/connect?code=WDJB-MJHT",
"expires_in": 900,
"interval": 2
}

ユーザーにverification_uri_completeとコードを表示します。ユーザーはサインインし、コードが一致することを確認して、ワークスペースと1日の上限額を選び、15分以内に承認します。device_codeはエージェントに渡したままにしてください。キーの取得に使います。

POST/connect/key
device_codestring必須
POST /connect から取得します。
waitseconds
承認を待ってから pending を返すまでの時間です。0~25 を指定でき、デフォルトは 25 です。
キーを取得
curl -X POST https://api.zurelay.com/connect/key \
-H "Content-Type: application/json" \
-d '{"device_code": "zr_dc_…"}'
{
"status": "approved",
"api_key": "zr_live_…",
"key_name": "OpenClaw",
"workspace": "Acme",
"daily_limit_usd": 10,
"base_url": "https://api.zurelay.com/v1"
}
HTTPstatus意味
202pendingまだ承認されていません。再度呼び出してください。各呼び出しは最大 25 秒待機します。
200approvedキーを返します。応答を受け取れなかった場合でも、承認から 30 分以内に再度呼び出せば同じキーを取得できます。
403deniedユーザーが拒否しました。
410expired15 分以内に承認されなかったか、取得が遅すぎました。最初からやり直してください。
410revokedAPI キーのページでキーが取り消されました。
404unknownこのデバイスコードに該当するリクエストはありません。
このキーは、API キーのページに表示される通常のキーです。エージェントの名前が付けられ、ユーザーが選んだ1日の上限額が設定されています。ルールはそのページで変更でき、キーを取り消すとエージェントの接続を解除できます。エージェントは zurelay.com/skill.md からセットアップ手順も読み取ります。

キーを安全に管理する

  • キーはシークレットマネージャーか環境変数に保存し、コードやリポジトリには含めないでください。
  • Zurelay はサーバーから呼び出してください。ブラウザやモバイルアプリに含めたキーは、アプリを持つ人なら誰でも読み取れます。
  • アプリや環境ごとにキーを分けてください(例: production と staging)。ほかのキーに影響を与えずに、個別に取り消せます。
  • 各キーには必要な権限だけを与えてください。予算、利用するモデル、実行元のアドレスを制限できます。詳しくは キーの制限とルール をご覧ください。
  • キーが漏洩した場合は、API キーのページで取り消してください。そのキーを使ったリクエストは 15 秒以内に停止します。

キーに設定できる制限

Monthly budgetUSD
暦月あたりの利用上限額(UTC)。
Daily budgetUSD
1日あたりの利用上限額(UTC)。
Rate limitリクエスト / 分
1分あたりのリクエスト数。超過分は 429 で拒否されます。
Expirydate
有効期限を過ぎるとキーは使えなくなります。
Allowed modelslist
指定したモデルのみ利用できます。それ以外は 403 で拒否されます。
Allowed IP addresseslist
指定したアドレスまたはアドレス範囲からのリクエストのみ許可します。
Smart routingsetting
モデルが停止した場合の動作については、スマートルーティングをご覧ください。

認証エラー

ステータスコード意味
401missing_api_keyリクエストにキーが含まれていません。
401invalid_api_keyキーが存在しないか、取り消されています。
401expired_api_keyキーの有効期限が切れています。
403ip_not_allowedこのキーは別のアドレスからのみ使用できます。
403model_not_allowedこのキーには、このモデルを使用する権限がありません。
402insufficient_quotaワークスペースの残高から処理中のリクエスト用に確保した金額を差し引くと、このリクエストの費用を賄えません。
チャット、画像、動画のすべてのレスポンスには x-request-id ヘッダーが含まれます。サポートにお問い合わせの際に添えていただければ、リクエストをすぐに特定できます。

ご質問や不足している情報はありますか? サポートチームにお問い合わせください。通常1分以内にメールで回答します。