Agent テスト API(更新 / 公開)
Agent テスト API(更新 / 公開)
CodeX や Claude などの AI ツール(GPTBots Agent Skill をインストール済み)において、Skills が生成した .bot ファイル設定を GPTBots プラットフォーム上の対象 Agent にインポートして公開できるよう、開発者をサポートします。
⚠️ 「テストモード」の Agent のみ呼び出すことができます。 正式モードで呼び出すと
403200が返されます。テストモードは Agent 作成時に選択し、作成後は変更できません。
Agent 更新 API(.bot をインポートして現在のバージョンを置き換える)
.bot ファイルを対象 Agent(テストモード)にインポートし、置き換え後の現在の設定を新しいドラフトバージョンとして保存します(同時に「現在のバージョン」となります)。具体的なルールは以下のとおりです。
- ナレッジベース(データグループ)/ データベーステーブル / ナレッジドキュメント:AgentID 単位で判定し、引き続き対象 Agent に属するものは保持し、それ以外は破棄します。
- 関連付けられた workflow / ツール(プラグイン):組織単位で判定し、引き続き有効なものは保持し、それ以外は破棄します。
- トップレベルのナレッジベースのマウントは
.botのエクスポートに含まれず、インポート時には対象 Agent 自身がすでにマウントしているナレッジベースを保持します。 - サードパーティ認証情報:既存の Agent にインポートする際は「同一のコンポーネント / ノード / プラグイン ID」に基づいて対象側で設定済みの認証情報を補完し、認証済みコンポーネントをクリアせず、可用性を確保します。
リクエストメソッド
POST
リクエストURL
https://api-${endpoint}.gptbots.ai/v1/agent/version/import
リクエスト
リクエスト例
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/import' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@my-agent.bot' \
-F 'versionDesc=Imported by AI tool'
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/import' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: multipart/form-data' \
-F 'file=@my-agent.bot' \
-F 'versionDesc=Imported by AI tool'
このコードブロックをポップアップで表示
リクエストヘッダー
| フィールド | タイプ | 説明 |
|---|---|---|
| Authorization | Bearer {API Key} | Authorization: Bearer {API Key} を使用して呼び出し認証を行います。対象 Agent の「インテグレーション / API」チャネルでキーを取得し、API Key として使用してください。 |
| Content-Type | multipart/form-data | データ形式。値は multipart/form-data です。 |
リクエストパラメータ
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
| file | file | 必須 | バイナリ形式の .bot ファイル。 |
| versionDesc | text | 任意 | バージョンの説明。 |
バージョン番号はサーバー側で自動生成されます(最新バージョンの末尾セグメント +1、履歴バージョンがない場合は
1.0.0)。
レスポンス
レスポンス例
{
"code": 0,
"msg": "OK",
"data": {
"botId": "xxx",
"botType": "QuestionAnswer",
"version": "1.0.3"
}
}
{
"code": 0,
"msg": "OK",
"data": {
"botId": "xxx",
"botType": "QuestionAnswer",
"version": "1.0.3"
}
}
このコードブロックをポップアップで表示
成功時のレスポンス
| フィールド | タイプ | 説明 |
|---|---|---|
| botId | string | 対象 Agent ID。 |
| botType | string | Agent タイプ(QuestionAnswer / Flow / LoopAgent)。 |
| version | string | 今回保存されたバージョン番号(すなわち現在のバージョン)。 |
失敗時のレスポンス
| フィールド | タイプ | 説明 |
|---|---|---|
| code | int | エラーコード。 |
| msg | string | エラーの詳細情報。 |
Agent 公開 API(バージョン番号を指定して本番バージョンとして公開する)
対象 Agent(テストモード)の指定したバージョン番号を本番環境の本番バージョンとして公開します(当該バージョンが「本番」となり、その他のバージョンはドラフト状態に戻ります)。
リクエストメソッド
POST
リクエストURL
https://api-${endpoint}.gptbots.ai/v1/agent/version/release
リクエスト
リクエスト例
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/release' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"version": "1.0.3"
}'
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/agent/version/release' \
-H 'Authorization: Bearer {AGENT_API_KEY}' \
-H 'Content-Type: application/json' \
-d '{
"version": "1.0.3"
}'
このコードブロックをポップアップで表示
リクエストヘッダー
| フィールド | タイプ | 説明 |
|---|---|---|
| Authorization | Bearer {API Key} | Authorization: Bearer {API Key} を使用して呼び出し認証を行います。対象 Agent の「インテグレーション / API」チャネルでキーを取得し、API Key として使用してください。 |
| Content-Type | application/json | データ形式。値は application/json です。 |
リクエストパラメータ
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
| version | string | 必須 | 本番として公開するバージョン番号(例:1.0.3)。通常は「更新」インターフェースが返す version を使用します。 |
レスポンス
レスポンス例
{
"code": 0,
"msg": "OK"
}
{
"code": 0,
"msg": "OK"
}
このコードブロックをポップアップで表示
成功時のレスポンス
データ本体はありません。code が 0 であれば公開成功です。
失敗時のレスポンス
| フィールド | タイプ | 説明 |
|---|---|---|
| code | int | エラーコード。 |
| msg | string | エラーの詳細情報。 |
エラーコード
更新インターフェースと公開インターフェースは同一のエラーコードセットを共有します。
| Code | Message |
|---|---|
| 0 | 成功 |
| 20055 | この Agent の API チャネルが無効です。先に「連携 / API」で API スイッチをオンにしてください |
| 40000 | パラメータエラー。公開インターフェースで version が未指定、またはインポートした LoopAgent の Loop Control の値が不正です(maxTurns は 1–100、maxErrors は 0–50、maxBudgetInputTokens は 0 以上で、いずれも整数である必要があります) |
| 40001 | リクエストが多すぎます:本インターフェースは Agent 単位で 30 回/分に制限されています |
| 40008 | リクエストが多すぎます:プランの「その他 API」の RPM 上限を超えました(プランで未設定の場合は発生しません) |
| 40101 | リクエストヘッダー Authorization が空です |
| 40127 | 開発者認証に失敗しました:API Key が無効です |
| 40348 | Agent が存在しません。認証通過後に Agent が同時削除された場合にのみ返されます。API Key が無効な場合は 40127、Agent が削除済みの場合は 40378 が返ります |
| 40353 | プランをアップグレードすると利用できます。公開インターフェース:公開数がプランの上限に達しています(レスポンス文言はこの汎用メッセージで、上限値は含みません) |
| 40355 | Flow がルールに適合しません。公開インターフェース:対象が Flow-Agent で、そのフロー図が不正です |
| 40378 | Agent は削除済みです |
| 200268 | Agent/Workflow のバージョン番号が既に存在します:サーバーが自動採番したバージョン番号が既存バージョンと衝突しました(本コードの HTTP ステータスは 200 です) |
| 403200 | テストモードではありません:テストモードの Agent のみがこの API で更新または公開できます |
| 403201 | インポートファイルのタイプが対象 Agent のタイプと一致しません |
| 403202 | インポートした .bot ファイルの解析に失敗しました |
| 403203 | 指定されたバージョン番号が存在しません |
| 403204 | API Key のタイプがインターフェースと一致しません:本インターフェースは Agent Key のみを受け付けます |
