For the complete documentation index, see llms.txt. This page is also available as Markdown.

API キーの管理

Roboflow REST API、roboflow api-key CLI、または MCP server を使って、ワークスペース API キーをプログラムで作成、一覧表示、更新、保護、無効化します。

概要

Roboflow API を使用して、ワークスペースの API キーをプログラムから管理できます。新しいキーの作成、既存キーの一覧表示と確認、名前変更、メタデータの付与、無効化、保護、失効が可能です。

これは roboflow api-key CLI および Roboflow MCP サーバーと同じインターフェースなので、自動化エージェントはダッシュボードから人がコピペすることなく、アプリケーションに必要なキーをプロビジョニングできます。

シークレットは一度しか書き込めません。 完全なキー値が返されるのは のみ キーを作成(またはロール)したときです。その他のすべてのエンドポイントは、シークレットではない keyId ハンドルと短い 接頭辞 を識別用に返します - キーそのものは返しません。値は安全に保存してください(例: .gitignore.env)を作成時に。

HTTP API

認証

API キーを api_key クエリパラメータとして、または Authorization: Bearer <api_key> ヘッダーとして送信してください。他の REST エンドポイントと同じです(参照 REST API で認証する)。使用するキーは、パス内のワークスペースに属している必要があります。

これらのエンドポイントは Roboflow の ロールと権限を尊重します。呼び出し元が ユーザーとして動作する OAuth トークンである場合、関連する RBAC アクション(create_api_key, update_api_key, revoke_api_key, get_api_key, view_workspace_api_keys)はデフォルトでワークスペースの 所有者/管理者になります。スコープ付きキー(またはユーザーとして動作する OAuth トークン)での要求は、呼び出し元自身がすでに持っている能力しか作成・付与できません。参照 権限のサブセット規則.

呼び出し元が スコープ付き(非 OAuth)プライベートキーである場合、さらに スコープ が必要です。エンドポイントに一致するもの:

エンドポイント
必須スコープ

GET list / GET 1件

api-key:read

POST 作成

api-key:create

PATCH 更新

api-key:update

DELETE 失効

api-key:revoke

GET 公開可能な

workspace:read

スコープなし(フルアクセス)のプライベートキーであれば、これらはすべて満たします。必要なスコープが欠けているキーは、ルートが存在しないものとして扱われます - 参照 エラー.

API キー一覧

GET /:workspace/api-keys

ワークスペースの API キー(マスク済み)を一覧表示し、ワークスペースの公開可能キーを返します。

クエリ

名前
説明
必須

api_key

string

ワークスペース用のプライベート API キー。

includeDisabled

boolean

無効化されたキーも結果に含める(デフォルト false).

includeFolders

boolean

フォルダスコープ付きキーのフォルダ詳細を展開する(デフォルト false).

リクエスト例

レスポンス

注記:

  • keyId 他のエンドポイントでキーを指定するために使う、安定した非シークレットのハンドルです。

  • スコープnull スコープなし(フルアクセス)キーの場合、または スコープ文字列の配列 スコープ付きキーの場合。

  • created_on (ISO 8601)と created_by は、その値が記録されているキーにのみ含まれます。これらの属性が追跡される前に作成された古いキーには含まれません。

  • created_by不透明な キーを作成した人を示す識別子です - ユーザー ID、 api_key:<handle> (別の API キーによって作成された場合)、または SYSTEM (自動プロセスによって作成された場合)。表示/監査用の文字列として扱い、解析しないでください。

  • custom_metadata が含まれるのは のみ ワークスペースのプランに Advanced API Keys が含まれている場合です。この機能がない場合、(メタデータを持つキーでも)フィールドは完全に存在しません。

単一の API キーを取得

GET /:workspace/api-keys/:keyId

その keyId ハンドル。

リクエスト例

レスポンス

そのキーに一致する keyId ものはワークスペースに存在しません(または失効済みです)、 または 認証情報に api-key:read スコープがないか、属していないワークスペースを対象にしています。権限エラーではオブジェクト形式のエラー {"error": {"message", "type", "hint"}};未知の keyId{"error": "string"}。参照 エラー.

API キーを作成

POST /:workspace/api-keys

新しい API キーを作成します。シークレット値が 1回 の中で key フィールドで返されます。

ヘッダー

名前

Content-Type

application/json

本文

名前
説明
必須

name

string

キーの分かりやすいラベル。

スコープ

Array<string> | null

キーをこれらに制限します スコープ。以下の 3 つの状態を参照してください。 Advanced API Keys が必要です。

folderIds

Array<string>

キーをこれらのプロジェクトフォルダに制限します。 Advanced API Keys が必要です。

custom_metadata

Map<string, string>

最大 20 個の key/value ペア(キーは 100 文字以下、値は 500 文字以下)。 Advanced API Keys が必要です。

protected

boolean

キーを protected 状態で作成します。

スコープ 作成時:

  • 省略 - 新しいキーは 呼び出し元の認証情報自身のスコープを継承します (「自分と同じようなキーを作成する」)。これはプランに依存しません。フルアクセスキーはフルアクセスキーを作成し、スコープ付きキーは同じスコープのキーを作成し、フォルダも同じ方法で継承されます。スクリプトが スコープ を省略しても、ワークスペースに Advanced API Keys 機能があるかどうかに関係なく同じように動作します。

  • null - 明示的な フルアクセス (スコープなし)キー。呼び出し元自身がフルアクセスである必要があります(スコープ付き呼び出し元は拒否されます - 参照 サブセット規則).

  • [] (空配列) - 能力のない有効なキーですが、; スコープ付きルートはすべて拒否します。後でスコープを付与するためのプレースホルダーとして便利です。

  • ["model:infer", …] - スコープ付き にする セクション名 たとえば model そのセクションのすべてのスコープを付与します)。

  • ["role:reviewer", …] - ロールプリセット: 作成時にそのロールのスコープへ展開されます。組み込みロール(ラベラー, レビュアー, オーナー)またはカスタムロール名を使用してください。 role:owner はフルアクセスを意味します。明示的なスコープと組み合わせ可能です。

明示的な スコープ 配列 ([]、リスト、または role: プリセット)を指定するには、 folderIds、または custom_metadata Advanced API Keys プラン機能が必要です(それ以外の場合 )。 403を省略する スコープ (継承)と null (フル)は必要ありません。したがって、デフォルトはすべてのプランで機能します。

リクエスト例

レスポンス

呼び出し元はキーを作成できますが、自分が持つ権限を超えるスコープ/フォルダの付与を要求したか、ワークスペースのプランに要求された高度機能が含まれていません。本文: {"error": "string"}.

認証情報に api-key:create スコープがないか、属していないワークスペースを対象にしています。本文: {"error": {"message", "type", "hint"}}。参照 エラー.

API キーを更新

PATCH /:workspace/api-keys/:keyId

キーの名前、スコープ、またはメタデータを更新します。保護したり、有効化/無効化したりできます。

ヘッダー

名前

Content-Type

application/json

本文 (変更したいフィールドだけを送信してください)

名前
説明
必須

name

string

新しい表示名。

スコープ

Array<string> | null

新しい スコープ (呼び出し元のサブセット)。以下の 3 つの状態を参照してください。 Advanced API Keys が必要です。

custom_metadata

Map<string, string>

キーのメタデータを置き換えます。 Advanced API Keys が必要です。

protected

true

キーを保護します。API は 保護を解除できません - 下記参照。

無効化

boolean

無効化(true)または再有効化(false)します。 Advanced API Keys が必要です。

の 3 つの状態 スコープ (PATCH の意味は create と少し異なり、フィールドを省略すると変更されません):

  • 省略 - キーの既存のスコープは 変更されません.

  • null - キーは フルアクセス (スコープなし)になります。これを付与するには、呼び出し元自身がフルアクセスを持っている必要があります。

  • [] (空配列) - キーは有効な認証情報のままですが、 能力のない.

  • ["model:infer", …] - 置き換えます キーのスコープをこのセットだけに置き換えます( セクション名 はそのセクションのすべてのスコープに展開されます)。

送信すると スコープ (を含めると [] または null), custom_metadata、または 無効化 Advanced API Keys プラン機能が必要です(それ以外の場合 プラン機能。

リクエスト例

レスポンス

次の場合に返されます "protected": false (API はキーの保護を解除できません)、または呼び出し元が付与できないスコープを要求した場合。本文: {"error": "string"}.

そのキーに一致する keyId ワークスペース内で(本文: {"error": "string"}), または 認証情報に api-key:update スコープ / ワークスペース外を対象にしている場合(本文: {"error": {"message", "type", "hint"}})。参照 エラー.

現在 protected.

API キーを失効

DELETE /:workspace/api-keys/:keyId

キーを失効させます(永続的に無効化します)。それを使用している既存アプリケーションは直ちに認証に失敗します。

リクエスト例

レスポンス

キーは protected。まず Roboflow ダッシュボードで保護を解除してください。

キーの保護

1つの protected 保護が解除されるまで、キーは API、CLI、MCP サーバー、 または ダッシュボードのいずれからも無効化または失効できません。これにより、自動化エージェントが誤って本番キーを停止してしまうのを防げます。

  • 保護: PATCH{ "protected": true }.

  • 保護解除: できます のみ ダッシュボードで 行えます。API/CLI/MCP は意図的にキーの保護を解除できないため、侵害されたり暴走したエージェントが安全装置を外してから一気にキーを失効させることを防げます。

公開可能キー

すべてのワークスペースには 公開可能キー という形式の rf_<workspaceId>があります。

  • シークレットではない - クライアント側 / ブラウザーコードに埋め込んでも安全です(例: inferencejs).

  • 推論 + モデルダウンロードのみ - データの管理、トレーニング、キー管理はできません。

  • 永続的 - ワークスペース ID から導出されるため、作成、ローテーション、失効はできません。

から読み取ってください publishableKey フィールドを一覧/作成レスポンスから、または直接:

GET /:workspace/api-keys/publishable

ブラウザー/エッジ推論には公開可能キーを、サーバーサイド作業にはスコープ付きプライベートキーを使用してください。公開可能キーを持つ人はそのワークスペースのモデルに対して推論を実行し、(および)ダウンロードできることに注意してください。これは「公開可能」資格情報の意図されたトレードオフです。

権限のサブセット規則

権限昇格を防ぐため、新しく作成または更新されたキーは、それを作成する認証情報より多くの能力を持つことはできません。

  • これらのエンドポイントを スコープ付きプライベートキーで呼び出すと、新しいキーの スコープ は呼び出し元キーのスコープのサブセットでなければならず、その folderIds は呼び出し元キーのフォルダのサブセットでなければなりません。スコープなし(フルアクセス)キーは何でも付与できます。

  • それらを ユーザーとして動作する OAuth トークンOAuth トークン

で呼び出すと、要求されたスコープはそのユーザーのロールでも追加検証されます - ロールが許可する能力しか付与できません。 403.

エラー

ステータス
意味
エラー形式

400

不正なリクエスト本文(例: 不明なスコープ、壊れたメタデータ)。

{"error": "string"}

403

呼び出し元はルートの認可を受けていますが、 持っている範囲を超える能力を付与する (呼び出し元を超えるスコープ/フォルダ)、プランに Advanced API Keys が含まれていない、または API 経由で保護解除を試みた場合。

{"error": "string"}

404

その keyId がワークスペースに存在しないか、 または 認証情報にルートが必要とするスコープがないか、 または キーが属していないワークスペースを対象にしています。Roboflow はリソースの存在有無を意図的に隠します。

{"error": {"message", "type", "hint"}} 権限/ワークスペースの場合は {"error": "string"} 未知の keyId.

409

キーは保護されており、無効化/失効できません。

{"error": "string"}

よくある落とし穴: 単にそのルートのスコープを持たない資格情報によるリクエストは 404ではなく、 403403 は、その呼び出しが キーの管理は許可されているのに、呼び出し元が持つ以上の権限を渡そうとしたことを意味します。

参照 エラーとステータスコード 一般的なエラー形式については。

CLI

この roboflow api-key コマンドグループを使うと、ターミナルからワークスペースの API キーを管理できます。これは次をラップします。 API キーの REST エンドポイント を呼び出し、CLI 設定からワークスペースと資格情報を使用します(参照 CLI のインストールとセットアップ).

完全なシークレット値は のみ キーを作成したときに表示されます。すぐに保存してください。list/get では二度と表示されません。

コマンド
説明

list

ワークスペースの API キーを一覧表示します。

get

1つのキーの詳細を表示します。

作成

新しいキーを作成します(シークレットは1回だけ表示されます)。

更新

キーの名前、スコープ、またはメタデータを更新します。

protect

キーを保護済みとしてマークします。

disable

キーを無効化または再有効化します。

失効

キーを完全に取り消します。

公開可能な

ワークスペースの公開キーを出力します。

追加する --json (コマンドの前に置くグローバルフラグ)を付けると、スクリプト用の機械可読な出力を取得できます。例: roboflow --json api-key list.

キーを一覧表示する

1つのキーを取得する

キーはそれぞれの keyId によって指定されます( list):

キーを作成する

シークレットは1回だけ表示されます。スクリプトで取り込むには --json を実行して jq:

キーを更新する

--scope 置き換えます キーの既存スコープを、指定したセットと完全に置き換え、 --metadata キーのメタデータを置き換えます。 --name だけを送れば、どちらにも触れずに名前を変更できます。

キーを保護 / 保護解除する

保護されたキーは、CLI、API、または MCP から無効化したり取り消したりできません。 保護解除は 行えます でのみ行えます - 意図的に unprotect コマンドは存在しないため、自動化ワークフローが1ステップで安全保護を外して本番キーを取り消すことはできません。

キーを無効化 / 再有効化する

無効化されたキーは API に拒否されますが、再有効化できます。保護されたキーは無効化できません。

キーを取り消す

取り消しは永続的です。保護されたキーは CLI から取り消せません - 先にダッシュボードで保護を解除してください。

公開キーを取得する

公開キー(rf_<workspaceId>)はシークレットではなく、ブラウザ / inferencejs コードに埋め込んでも安全です。これは推論専用で、作成も取り消しもできません。参照 公開可能キー を使用します。詳しくは

最終更新

役に立ちましたか?