認証情報は、エージェントの環境に秘密鍵を入力することなく、エージェントがサードパーティ サービスにアクセスできるようにするサーバー管理のシークレットです。認証情報を一度保存し、ID で参照すると、下り(外向き)プロキシがリクエスト時に解決して挿入します。
シークレット値は書き込み専用です。保存されたトークンはエンドポイントから返されることはないため、エージェントが侵害されても、使用中のトークンを読み取ることはできません。
認証情報を使用する主な場所は、environment.network のネットワーク許可リストです。まずシークレットを保存します。
Python
from google import genai
client = genai.Client()
credential = client.credentials.create(
id="github-production",
type="bearer_token",
token="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
)
print(f"Credential ID: {credential.id}, Status: {credential.status}")
JavaScript
import { GoogleGenAI } from "@google/genai";
const client = new GoogleGenAI({});
const credential = await client.credentials.create({
id: "github-production",
type: "bearer_token",
token: "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
});
console.log(`Credential ID: ${credential.id}, Status: ${credential.status}`);
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/credentials" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"id": "github-production",
"type": "bearer_token",
"token": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}'
次に、認証するドメインにアタッチします。
Python
interaction = client.interactions.create(
agent="antigravity-preview-09-2026",
input="Triage the open issues in my-org/my-repo.",
environment={
"type": "remote",
"network": {
"allowlist": [
{"domain": "api.github.com", "credential": "github-production"},
{"domain": "*"},
]
},
},
)
JavaScript
const interaction = await client.interactions.create({
agent: "antigravity-preview-09-2026",
input: "Triage the open issues in my-org/my-repo.",
environment: {
type: "remote",
network: {
allowlist: [
{ domain: "api.github.com", credential: "github-production" },
{ domain: "*" },
],
},
},
});
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"agent": "antigravity-preview-09-2026",
"input": "Triage the open issues in my-org/my-repo.",
"environment": {
"type": "remote",
"network": {
"allowlist": [
{ "domain": "api.github.com", "credential": "github-production" },
{ "domain": "*" }
]
}
}
}'
エージェントは api.github.com に認証済みリクエストを送信するようになり、トークンはサンドボックス内に存在しなくなります。
認証情報の種類
すべての認証情報には、受け入れるフィールドとプロキシの適用方法を決定する type があります。
| タイプ | ユースケース | 動作 |
|---|---|---|
bearer_token |
個人用アクセス トークン、bot トークン、静的 API キー | プロキシは、トークンをリクエスト ヘッダーとして挿入します。更新ロジックはありません。 |
oauth2 |
OAuth アプリとユーザー委任フロー | プロキシは、更新トークンをアクセス トークンと交換し、有効期限が切れると更新します。 |
environment_variable |
プロセス環境からシークレットを読み取るクライアント SDK | エージェントの環境にプレースホルダが届きます。プロキシは、送信リクエストで実際のシークレットを置き換えます。 |
ネットワーク許可リストの認証情報を使用する
許可リスト ルールに credential を追加すると、プロキシはそのドメインへのすべての送信リクエストを認証します。これは、エージェントに非公開 API、非公開リポジトリ、非公開バケットへのアクセス権を付与する場合におすすめの方法です。
同じ許可リストに認証済みルールと未認証ルールを混在させることができます。
Python
interaction = client.interactions.create(
agent="antigravity-preview-09-2026",
input="Sync the open Jira issues into the tracking sheet in my repo.",
environment={
"type": "remote",
"sources": [
{
"type": "repository",
"source": "https://github.com/your-org/backend",
"target": "/backend-app",
}
],
"network": {
"allowlist": [
{"domain": "github.com", "credential": "github-production"},
{"domain": "api.atlassian.com", "credential": "jira-oauth"},
{"domain": "*.googleapis.com"},
]
},
},
)
JavaScript
const interaction = await client.interactions.create({
agent: "antigravity-preview-09-2026",
input: "Sync the open Jira issues into the tracking sheet in my repo.",
environment: {
type: "remote",
sources: [
{
type: "repository",
source: "https://github.com/your-org/backend",
target: "/backend-app",
},
],
network: {
allowlist: [
{ domain: "github.com", credential: "github-production" },
{ domain: "api.atlassian.com", credential: "jira-oauth" },
{ domain: "*.googleapis.com" },
],
},
},
});
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"agent": "antigravity-preview-09-2026",
"input": "Sync the open Jira issues into the tracking sheet in my repo.",
"environment": {
"type": "remote",
"sources": [
{
"type": "repository",
"source": "https://github.com/your-org/backend",
"target": "/backend-app"
}
],
"network": {
"allowlist": [
{ "domain": "github.com", "credential": "github-production" },
{ "domain": "api.atlassian.com", "credential": "jira-oauth" },
{ "domain": "*.googleapis.com" }
]
}
}
}'
プロキシはリクエストごとに認証情報を解決するため、oauth2 認証情報はアクセス トークンを透過的に更新します。アクセス トークンの有効期限が切れても、長時間実行されるインタラクションは中断されません。
credential と transform を組み合わせる
許可リストのルールでは、ルールにヘッダーを直接設定するインライン transform オブジェクトも受け入れます。どちらのメカニズムもワイヤ上の下り(外向き)プロキシによって適用されるため、どちらの場合もヘッダー値はサンドボックス内に存在しません。両方のフィールドを同じルールに含めることができます。
| ルールの設定 | 動作 |
|---|---|
credential のみ |
プロキシは認証情報を解決し、ドメインへのすべてのリクエストにヘッダーを挿入します。 |
transform のみ |
静的ヘッダー インジェクション。記述したヘッダーはそのまま送信されます。 |
| 両方 | まず認証情報が適用され、次に transform がマージされます。両方が同じキーを設定している場合は、明示的な transform ヘッダーが優先されます。 |
| どちらでもない | ドメインは許可され、ヘッダーは挿入されません。 |
認証情報は、シークレットを一度保存して、プロジェクト内のすべての環境、エージェント、トリガーから参照する場合や、アクセス トークンの更新とローテーションを処理する場合に便利です。インライン transform は、値が 1 回の呼び出しに属する場合(たとえば、インタラクションを作成する直前に自分で生成したトークンなど)に適しています。
この 2 つを組み合わせるのが一般的です。認証情報には認証ヘッダーが含まれており、transform はアップストリーム サービスが同じリクエストで必要とするものを追加します。
{
"domain": "api.atlassian.com",
"credential": "jira-oauth",
"transform": {
"X-Atlassian-Workspace": "my-workspace-id"
}
}
シークレットをインライン transform から認証情報に移動するには、POST /credentials で保存し、transform の認証ヘッダーを "credential": "<id>" に置き換え、transform オブジェクトの残りの部分はそのままにします。
MCP サーバーで認証情報を使用する
リモート MCP サーバーは同じ credential フィールドを使用します。mcp_server ツールで設定すると、プロキシは認証ヘッダーをそのサーバーへのすべてのリクエストに挿入します。
Python
interaction = client.interactions.create(
agent="antigravity-preview-09-2026",
input="Create a new issue in my-org/my-repo",
environment="remote",
tools=[{
"type": "mcp_server",
"name": "github",
"url": "https://api.githubcopilot.com/mcp",
"credential": "github-production",
}],
)
JavaScript
const interaction = await client.interactions.create({
agent: "antigravity-preview-09-2026",
input: "Create a new issue in my-org/my-repo",
environment: "remote",
tools: [{
type: "mcp_server",
name: "github",
url: "https://api.githubcopilot.com/mcp",
credential: "github-production",
}],
});
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"agent": "antigravity-preview-09-2026",
"input": "Create a new issue in my-org/my-repo",
"environment": "remote",
"tools": [
{
"type": "mcp_server",
"name": "github",
"url": "https://api.githubcopilot.com/mcp",
"credential": "github-production"
}
]
}'
credential と headers は、許可リストと同じ優先順位ルールに従います。認証情報が最初に適用され、headers が上にマージされるため、両方が同じキーを設定している場合は、明示的なヘッダーが優先されます。
{
"type": "mcp_server",
"name": "jira",
"url": "https://jira.atlassian.com/mcp",
"credential": "jira-oauth",
"headers": {
"X-Atlassian-Workspace": "my-workspace-id"
}
}
シークレットをインライン headers から認証情報に移動するには、POST /credentials で保存し、headers の認証エントリを credential に置き換えます。他のヘッダーはそのままにします。
認証情報を環境変数として使用する
一部のクライアント ライブラリは、リクエスト ヘッダーとして受け入れるのではなく、プロセス環境からシークレットを読み取ります。ソケットモードとロング ポーリング クライアントが一般的なケースです。
environment_variable 認証情報を environment.env の変数名にバインドします。
Python
interaction = client.interactions.create(
agent="antigravity-preview-09-2026",
input="Run the sync script and check notifications.",
environment={
"type": "remote",
"env": {
"NODE_ENV": "production",
"SLACK_BOT_TOKEN": {"credential": "slack-bot-token"},
},
},
)
JavaScript
const interaction = await client.interactions.create({
agent: "antigravity-preview-09-2026",
input: "Run the sync script and check notifications.",
environment: {
type: "remote",
env: {
NODE_ENV: "production",
SLACK_BOT_TOKEN: { credential: "slack-bot-token" },
},
},
});
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"agent": "antigravity-preview-09-2026",
"input": "Run the sync script and check notifications.",
"environment": {
"type": "remote",
"env": {
"NODE_ENV": "production",
"SLACK_BOT_TOKEN": { "credential": "slack-bot-token" }
}
}
}'
env は、リテラル文字列と認証情報参照を並べて受け入れます。リテラル文字列は、通常のプレーン テキスト変数としてコンテナに挿入されます。
認証情報参照はそうではありません。変数にはプレースホルダ __GEMINI_CRED_<credential-id>__ が設定され、プロキシは、認証情報の trusted_domains にあるドメイン宛の送信リクエストに対してのみ、実際のシークレットをスワップします。他のドメインへのリクエストは拒否されるため、シークレットが境界を離れることはなく、プレースホルダが代わりに送信されることもありません。
すべての environment_variable 認定資格に trusted_domains を設定します。これは、シークレットを使用できる範囲を制御するものです。
認証情報を作成する
作成リクエストには、type と、そのタイプに必要なフィールドが必要です。
REST を直接呼び出す場合、すべてのフィールド名で snake_case が使用されます。camelCase フィールドを送信すると、400 が返されます。
署名なしトークン
ベアラー トークン認証情報に必要なのは token のみです。
Python
credential = client.credentials.create(
id="github-production",
type="bearer_token",
token="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
)
JavaScript
const credential = await client.credentials.create({
id: "github-production",
type: "bearer_token",
token: "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
});
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/credentials" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"id": "github-production",
"type": "bearer_token",
"token": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}'
レスポンスはメタデータのみを返し、トークンは返しません。
{
"id": "github-production",
"type": "bearer_token",
"status": "active",
"create_time": "2026-07-15T10:00:00.000000000Z",
"update_time": "2026-07-15T10:00:00.000000000Z"
}
デフォルトでは、プロキシは Authorization: Bearer <token> を送信します。header_name と prefix をオーバーライドして、別のものを想定するサービスをターゲットにします。
Python
credential = client.credentials.create(
id="my-api-key",
type="bearer_token",
token="key_xxxxxxxxxxxx",
header_name="x-goog-api-key",
prefix="",
)
JavaScript
const credential = await client.credentials.create({
id: "my-api-key",
type: "bearer_token",
token: "key_xxxxxxxxxxxx",
header_name: "x-goog-api-key",
prefix: "",
});
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/credentials" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"id": "my-api-key",
"type": "bearer_token",
"token": "key_xxxxxxxxxxxx",
"header_name": "x-goog-api-key",
"prefix": ""
}'
この構成により、ヘッダー x-goog-api-key: key_xxxxxxxxxxxx が生成されます。
次の表に、header_name と prefix の組み合わせを示します。
| 構成 | 挿入されたヘッダー |
|---|---|
{"token": "ghp_xxx"} |
Authorization: Bearer ghp_xxx |
{"token": "sk_live_xxx"} |
Authorization: Bearer sk_live_xxx |
{"token": "key_xxx", "header_name": "x-goog-api-key", "prefix": ""} |
x-goog-api-key: key_xxx |
{"token": "mytoken", "header_name": "X-API-Token", "prefix": ""} |
X-API-Token: mytoken |
OAuth2
OAuth2 認証情報には client_id、client_secret、refresh_token、token_url が必要です。scopes フィールドは省略可能です。
Python
credential = client.credentials.create(
id="jira-oauth",
type="oauth2",
client_id="my-client-id",
client_secret="my-client-secret",
token_url="https://auth.atlassian.com/oauth/token",
refresh_token="rt_xxxxxxxxxxxxxxxxxxxx",
scopes=["read:jira-work", "write:jira-work"],
)
JavaScript
const credential = await client.credentials.create({
id: "jira-oauth",
type: "oauth2",
client_id: "my-client-id",
client_secret: "my-client-secret",
token_url: "https://auth.atlassian.com/oauth/token",
refresh_token: "rt_xxxxxxxxxxxxxxxxxxxx",
scopes: ["read:jira-work", "write:jira-work"],
});
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/credentials" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"id": "jira-oauth",
"type": "oauth2",
"client_id": "my-client-id",
"client_secret": "my-client-secret",
"token_url": "https://auth.atlassian.com/oauth/token",
"refresh_token": "rt_xxxxxxxxxxxxxxxxxxxx",
"scopes": ["read:jira-work", "write:jira-work"]
}'
OAuth2 認証情報を作成すると、token_url に対してライブ トークン交換が実行され、構成が機能していることが確認されます。認証情報は、プロバイダが access_token を含むトークン レスポンスを返した場合にのみ保存されます。JSON レスポンスと form-urlencoded レスポンスの両方が受け入れられます。
つまり、作成時に有効で期限切れでない更新トークンが必要です。プロバイダが交換を拒否すると、エラーが返されます。
{
"error": {
"message": "OAuth token validation failed with HTTP 403: {\"error\":\"unauthorized_client\",\"error_description\":\"refresh_token is invalid\"}",
"code": "invalid_request"
}
}
保存されたプロキシは、アクセス トークンの有効期限が切れると更新します。プロバイダが更新トークンをローテーションし、更新中に新しいトークンを返すと、新しいトークンは保存されているトークンを自動的に置き換えます。
環境変数
environment_variable 認定資格には value と injection_location が必要です。
Python
credential = client.credentials.create(
id="slack-bot-token",
type="environment_variable",
value="xoxb-xxxxxxxxxxxx-xxxxxxxxxxxx",
trusted_domains=["*.slack.com", "slack.com"],
injection_location="header",
)
JavaScript
const credential = await client.credentials.create({
id: "slack-bot-token",
type: "environment_variable",
value: "xoxb-xxxxxxxxxxxx-xxxxxxxxxxxx",
trusted_domains: ["*.slack.com", "slack.com"],
injection_location: "header",
});
REST
curl -X POST "https://generativelanguage.googleapis.com/v1beta/credentials" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"id": "slack-bot-token",
"type": "environment_variable",
"value": "xoxb-xxxxxxxxxxxx-xxxxxxxxxxxx",
"trusted_domains": ["*.slack.com", "slack.com"],
"injection_location": "header"
}'
injection_location フィールドは、送信リクエストのどの部分をシークレットに置き換えるかをプロキシに伝えます。header、query、body を受け取ります。サービスで複数の値が必要な場合は、単一の文字列または配列として指定します。
"injection_location": ["header", "query"]
置換は、指定した場所でのみ行われます。プレースホルダを含むリクエストは、転送されずに拒否されます。
認証情報を変数名にバインドするには、認証情報を環境変数として使用するをご覧ください。
生成された ID
id フィールドは省略可能です。省略すると、サービスが UUID を生成します。
{
"id": "9e545973-4330-49bb-9a44-930cea9fbe3c",
"type": "bearer_token",
"status": "active",
"create_time": "2026-07-15T10:00:00.000000000Z",
"update_time": "2026-07-15T10:00:00.000000000Z"
}
インタラクション全体で使用する安定した読み取り可能な参照が必要な場合は、独自の ID を指定します。ID はリソースパスに表示されるため、ハイフンまたはアンダースコアを含む英小文字を使用することをおすすめします。
認証情報を一覧表示する
プロジェクトに属する認証情報を一覧表示します。ページネーション パラメータを使用して、レスポンス バッチサイズを制御します。
Python
response = client.credentials.list(page_size=10)
for credential in response.credentials:
print(f"Credential ID: {credential.id}, Type: {credential.type}")
JavaScript
const response = await client.credentials.list({ page_size: 10 });
for (const credential of response.credentials) {
console.log(`Credential ID: ${credential.id}, Type: ${credential.type}`);
}
REST
curl -X GET "https://generativelanguage.googleapis.com/v1beta/credentials?page_size=10" \
-H "x-goog-api-key: $GEMINI_API_KEY"
レスポンスにはメタデータのみが含まれます。
{
"credentials": [
{
"id": "github-production",
"type": "bearer_token",
"status": "active",
"create_time": "2026-07-15T10:00:00.000000000Z",
"update_time": "2026-07-15T10:00:00.000000000Z"
},
{
"id": "jira-oauth",
"type": "oauth2",
"status": "active",
"create_time": "2026-07-15T10:05:00.000000000Z",
"update_time": "2026-07-15T10:05:00.000000000Z"
}
],
"next_page_token": "Cj...5aE="
}
次のページを取得するには、next_page_token を page_token として渡します。これ以上の結果がない場合、このフィールドは省略されます。
| パラメータ | 型 | 説明 |
|---|---|---|
page_size |
integer | ページあたりの認証情報の最大数。 |
page_token |
文字列 | 前のレスポンスの next_page_token からのトークン。 |
認証情報を取得する
ID で特定の認証情報のメタデータを取得します。
Python
credential = client.credentials.get(id="github-production")
print(f"Credential ID: {credential.id}, Status: {credential.status}")
JavaScript
const credential = await client.credentials.get("github-production");
console.log(`Credential ID: ${credential.id}, Status: ${credential.status}`);
REST
curl -X GET "https://generativelanguage.googleapis.com/v1beta/credentials/github-production" \
-H "x-goog-api-key: $GEMINI_API_KEY"
応答は次のようになります。
{
"id": "github-production",
"type": "bearer_token",
"status": "active",
"create_time": "2026-07-15T10:00:00.000000000Z",
"update_time": "2026-08-01T14:30:00.000000000Z"
}
存在しない認証情報をリクエストすると、404 が返されます。
{
"error": {
"message": "Result not found.; GetCredential call failed",
"code": "not_found"
}
}
認証情報をローテーションする
シークレットを参照する許可リスト ルール、ツール定義、環境変数を変更せずに、シークレットを置き換えます。ローテーションは、次回のプロキシ解決時に有効になります。
リクエストには、type と、変更するフィールドを含める必要があります。省略したフィールドは現在の値が保持されます。
署名なしトークンをローテーションします。
Python
credential = client.credentials.update(
id="github-production",
type="bearer_token",
token="ghp_new_xxxxxxxxxxxxxxxxxxxx",
)
JavaScript
const credential = await client.credentials.update("github-production", {
type: "bearer_token",
token: "ghp_new_xxxxxxxxxxxxxxxxxxxx",
});
REST
curl -X PATCH "https://generativelanguage.googleapis.com/v1beta/credentials/github-production" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"type": "bearer_token",
"token": "ghp_new_xxxxxxxxxxxxxxxxxxxx"
}'
OAuth2 更新トークンをローテーションします。
Python
credential = client.credentials.update(
id="jira-oauth",
type="oauth2",
refresh_token="rt_new_xxxxxxxxxxxxxxxxxxxx",
)
JavaScript
const credential = await client.credentials.update("jira-oauth", {
type: "oauth2",
refresh_token: "rt_new_xxxxxxxxxxxxxxxxxxxx",
});
REST
curl -X PATCH "https://generativelanguage.googleapis.com/v1beta/credentials/jira-oauth" \
-H "Content-Type: application/json" \
-H "x-goog-api-key: $GEMINI_API_KEY" \
-d '{
"type": "oauth2",
"refresh_token": "rt_new_xxxxxxxxxxxxxxxxxxxx"
}'
レスポンスには新しい update_time が反映されます。
{
"id": "jira-oauth",
"type": "oauth2",
"status": "active",
"create_time": "2026-07-15T10:05:00.000000000Z",
"update_time": "2026-08-01T14:30:00.000000000Z"
}
認証情報の type は作成時に固定されます。変更するには、認証情報を削除して新しい認証情報を作成します。
認証情報を削除する
不要になったら、認証情報とその保存されたシークレットを削除します。
Python
client.credentials.delete(id="github-production")
JavaScript
await client.credentials.delete("github-production");
REST
curl -X DELETE "https://generativelanguage.googleapis.com/v1beta/credentials/github-production" \
-H "x-goog-api-key: $GEMINI_API_KEY"
正常に削除されると、空のオブジェクトが返されます。
{}
ID を参照している許可リストのルール、ツール、環境変数は解決に失敗するため、最初にそれらを更新します。
フィールド リファレンス
すべての認証情報に共通のフィールド:
| フィールド | 型 | 必須 / 省略可 | 説明 |
|---|---|---|---|
id |
文字列 | いいえ | 固有識別子。省略すると UUID として生成されます。 |
type |
文字列 | ○ | bearer_token、oauth2、environment_variable のいずれか。 |
status |
文字列 | 読み取り専用 | 認証情報の現在のステータス。 |
create_time |
文字列 | 読み取り専用 | RFC 3339 作成タイムスタンプ。 |
update_time |
文字列 | 読み取り専用 | 最終更新の RFC 3339 タイムスタンプ。 |
bearer_token のフィールド:
| フィールド | 型 | 必須 / 省略可 | 説明 |
|---|---|---|---|
token |
文字列 | ○ | 書き込み専用。トークンの値。 |
header_name |
文字列 | いいえ | 挿入するヘッダー。デフォルトは Authorization です。 |
prefix |
文字列 | いいえ | 値の接頭辞。デフォルトは Bearer です。なしの場合は "" に設定します。 |
oauth2 のフィールド:
| フィールド | 型 | 必須 / 省略可 | 説明 |
|---|---|---|---|
client_id |
文字列 | ○ | OAuth2 クライアント ID。 |
client_secret |
文字列 | ○ | 書き込み専用。OAuth2 クライアント シークレット。 |
refresh_token |
文字列 | ○ | 書き込み専用。アクセス トークンの取得に使用される更新トークン。 |
token_url |
文字列 | ○ | プロバイダ トークン エンドポイント。 |
scopes |
配列 | いいえ | リクエストする OAuth スコープ。 |
environment_variable のフィールド:
| フィールド | 型 | 必須 / 省略可 | 説明 |
|---|---|---|---|
value |
文字列 | ○ | 書き込み専用。シークレットの値。 |
injection_location |
文字列または配列 | ○ | シークレットを置き換える場所。header、query、body のうち 1 つ以上。 |
trusted_domains |
配列 | いいえ | 置換が許可されているドメイン パターン。 |
エラー
エラーは、message と code を含む JSON オブジェクトを返します。
{
"error": {
"message": "Credential 'github-production' already exists.; CreateCredential call failed",
"code": "aborted"
}
}
| HTTP ステータス | code |
原因 |
|---|---|---|
| 400 | invalid_request |
必須項目の欠落、不明なフィールド、サポートされていない type、OAuth2 検証の失敗。 |
| 404 | not_found |
その ID の認証情報はありません。 |
| 409 | aborted |
この ID の認証情報はすでに存在します。 |
不明なフィールドは無視されずに拒否され、エラーでフィールド名が示されます。
{
"error": {
"message": "Unknown parameter 'headerName'. Did you mean 'header_name'?",
"code": "invalid_request"
}
}
次のステップ
- 環境: エージェントがコードを実行してファイルを永続化する方法について学習します。
- エージェントの概要: マネージド エージェントの基本コンセプトについて学習します。
- カスタム エージェントの構築:
AGENTS.mdとSKILL.mdを使用して独自のエージェントを定義します。