エージェントトークン管理
アプリ情報とSDK → コーディングエージェント接続で管理できます。この仕様は同じ機能を実装するWebクライアント向けです。
全エンドポイントにアプリ所有者のWebセッションが必要です。エージェントトークンでは発行・一覧・取り消しはできません。Authorizationヘッダーがあると401になります。変更操作には許可されたWeb Originも必要です。
トークンを発行する
POST /api/v1/apps/:appId/automation/tokens
Content-Type: application/json| フィールド | 必須 | 制約 |
|---|---|---|
name | 必須 | 前後空白除去後1–100文字 |
expiresInDays | 任意 | 整数1–90。既定30日 |
scopes | 任意 | 重複しない対応スコープ1–3個。既定は3つすべて |
対応スコープはfeedback:read、work-items:read、work-items:writeです。
次はログイン済みサービスと同じオリジンで実行する例です。文書ドメインでは実行しません。ブラウザーがセッションCookieとOriginを送信します。
const appId = "aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa"; // 実際のアプリID
const response = await fetch(`/api/v1/apps/${appId}/automation/tokens`, {
method: "POST",
credentials: "same-origin",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
name: "開発マシンMCP",
expiresInDays: 30,
scopes: ["feedback:read", "work-items:read", "work-items:write"],
}),
});
const result = await response.json();
if (!response.ok) throw new Error(result.message);
// result.tokenはこの応答でのみ返されます。ログやリポジトリに記録しないでください。201応答の例です。tokenはプレースホルダーです。
{
"token": "ot_agent_REDACTED",
"tokenInfo": {
"id": "ffffffff-ffff-4fff-8fff-ffffffffffff",
"name": "開発マシンMCP",
"scopes": ["feedback:read", "work-items:read", "work-items:write"],
"expiresAt": "2026-11-27T02:00:00.000Z",
"createdAt": "2026-10-28T02:00:00.000Z",
"lastUsedAt": null,
"revokedAt": null
}
}サーバーにはハッシュのみ保存し、原文はこの応答でだけ表示します。発行にはclientRequestIdがありません。応答消失後に再送すると別トークンが発行されます。不要なものは一覧から確認して取り消します。
一覧を取得する
GET /api/v1/apps/:appId/automation/tokens200応答は{ "tokens": [...] }で、項目は上記tokenInfoと同じ構造です。原文もハッシュも返しません。新しい順で、期限切れ・取り消し済みも含み、ページ分割はありません。
| フィールド | 意味 |
|---|---|
id | 取り消しに使うUUID |
name | 発行時の名前 |
scopes | 付与されたスコープ |
expiresAt | 有効期限 |
createdAt | 発行日時 |
lastUsedAt | 最後のトークン認証日時。未使用はnull |
revokedAt | 取り消し日時。未取り消しはnull |
日時はUTCのISO 8601文字列です。lastUsedAtは認証日時であり、個別API操作の成功を示すものではありません。
トークンを取り消す
DELETE /api/v1/apps/:appId/automation/tokens/:tokenId成功時の200応答です。
{ "ok": true }繰り返し取り消しても成功します。対象アプリにIDがなければ404です。取り消したトークンは復元できず、新規発行が必要です。有効期限やスコープの編集APIもありません。
漏えいが疑われる場合は先に取り消し、代わりのトークンを接続します。実行環境への渡し方はMCP設定を参照してください。