メインコンテンツまでスキップ

管理 API リファレンス

ユーザー管理、ログ閲覧、マスターデータ管理、共有メモリ検索の API リファレンスです。エンドユーザー向けの Chat / Conversations / Files / Search / User / MCP / A2A / 公開マスターデータ API は ユーザー API リファレンス を参照してください。

ベース URL

すべての API リクエストは以下のベース URL に対して送信します。

SaaS
https://api.fd.agenticstar.tm.softbank.jp/api

本ドキュメントのエンドポイントパスはベース URL からの相対パスで記載しています。

認証

すべてのAPIリクエストには、Authorization ヘッダーに Bearer トークンを含める必要があります。

Authorization: Bearer <access_token>

トークンが無効または未指定の場合、401 Unauthorized が返されます。エンドポイントによっては追加のスコープが必要です。必要なスコープが不足している場合は 403 Forbidden が返されます。

トークンの取得方法・スコープの詳細については、認証ガイドおよび認証 API リファレンス(SaaS)を参照してください。

ページネーション

一覧取得エンドポイントはオフセットベースのページネーションをサポートしています。

パラメータ説明
limitinteger1ページあたりの取得件数。1 〜 100(デフォルト 25)
offsetintegerスキップする件数。0 以上(デフォルト 0)

レスポンスには total, limit, offset, hasMore が含まれます。hasMoretrue の場合、offsetoffset + limit に増やすことで次ページを取得できます。

curl
# 1ページ目
curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/users?limit=25&offset=0" \
-H "Authorization: Bearer <access_token>"

# 2ページ目(offset=25)
curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/users?limit=25&offset=25" \
-H "Authorization: Bearer <access_token>"

オフセットベースのページネーションに対応しているのは、ユーザー一覧、監査ログ一覧、LLM ログ一覧、アクセスログ一覧です。組織・職種の一覧はページネーション非対応で、常に全件が返されます。

共有メモリ SaaS

組織・職種に基づく共有メモリ(ナレッジ)を検索します。

エンドポイント一覧

メソッドエンドポイント説明スコープ
POST/v1/admin/memory/query共有メモリを検索sharedmemory:query

POST/v1/admin/memory/query

共有メモリを検索します。

リクエストボディ

パラメータ必須説明
querystring必須検索クエリ(最大500文字)
orgIdstring組織ID(最大100文字)。指定すると組織スコープのメモリも検索対象に含まれます
jobRolestring職種(最大100文字)。指定すると職種スコープのメモリも検索対象に含まれます

リクエスト例

Search shared memory
1curl -X POST https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/memory/query \
2-H "Authorization: Bearer <access_token>" \
3-H "Content-Type: application/json" \
4-d '{"query": "売上レポートの作成手順", "orgId": "sales"}'

レスポンスフィールド(200 OK)

フィールド説明
memoriesarrayメモリオブジェクトの配列
memories[].textstringメモリの内容テキスト
memories[].typestring"knowledge"(ナレッジ)
memories[].scopestring"organization"、"role"、"global" のいずれか
memories[].createdAtstring | null作成日時(ISO 8601形式)
memories[].scorenumber?関連度スコア。スコア値がない場合はフィールド自体が省略される

レスポンスヘッダー

ヘッダー説明
X-RateLimit-Limit月間リクエスト上限数
X-RateLimit-Remaining残りリクエスト数
X-RateLimit-Reset制限リセット日時(次月初、ISO 8601形式)

レスポンス例

JSON
{
"memories": [
{
"text": "売上レポートはダッシュボードの「月次レポート」タブから作成できます",
"type": "knowledge",
"scope": "organization",
"createdAt": "2026-03-15T10:30:00.000Z",
"score": 0.85
}
]
}

エラーレスポンス

ステータス説明
400query が未指定、空文字、または500文字超過
403sharedmemory:query スコープが不足
429月間クォータ超過

ユーザー管理 SaaS

ユーザーの一覧取得・削除・ロール変更・承認・承認取り消しを行います。

エンドポイント一覧

メソッドエンドポイント説明スコープ
GET/v1/admin/usersユーザー一覧を取得users:read / users:manage
DELETE/v1/admin/users/:userIdユーザーを削除users:manage
PUT/v1/admin/users/:userId/roleユーザーのロールを変更users:manage
POST/v1/admin/users/:userId/approveユーザーを承認users:manage
POST/v1/admin/users/:userId/rejectユーザーの承認を取り消しusers:manage

GET/v1/admin/users

ユーザー一覧を取得します。オフセットベースのページネーションに対応しています。users:read または users:manage スコープのいずれかが必要です(users:manageusers:read の権限を含みます)。

クエリパラメータ

パラメータ必須説明
limitinteger取得件数(1〜100、デフォルト: 25)
offsetintegerオフセット(0以上、デフォルト: 0)
rolestringロールフィルター。"admin" を指定可能
is_approvedstring承認状態フィルター。"true" または "false"
searchstring検索文字列(最大100文字)。メールアドレス等で検索
organizationstring組織コードフィルター(最大50文字、英数字・ハイフン・アンダースコア)
job_typestring職種コードフィルター(最大50文字、英数字・ハイフン・アンダースコア)

リクエスト例

List users
1curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/users?limit=10&is_approved=true" \
2-H "Authorization: Bearer <access_token>"

レスポンスフィールド(200 OK)

フィールド説明
usersarrayユーザーオブジェクトの配列
users[].userIdstringユーザーID
users[].emailstringメールアドレス
users[].usernamestringユーザー名
users[].emailVerifiedbooleanメールアドレスの検証状態
users[].rolestringロール("admin" または "user")
users[].statusstringステータス("unverified"、"pending"、"approved")
users[].organizationobject?所属組織(value: コード、label: 名称)。未設定時はフィールド自体が省略される
users[].jobTypeobject?職種(value: コード、label: 名称)。未設定時はフィールド自体が省略される
users[].biostring?自己紹介。未設定時はフィールド自体が省略される
users[].createdAtstring作成日時(ISO 8601形式)
users[].lastLoginAtstring?最終ログイン日時(ISO 8601形式)。未ログイン時はフィールド自体が省略される
totalinteger総件数
limitinteger取得件数
offsetintegerオフセット
hasMoreboolean次ページが存在するか
レスポンス例(200 OK)
JSON
{
"users": [
{
"userId": "bbbe4306-6975-420b-af47-fb4c8f48b4aa",
"email": "user1@example.com",
"username": "user1@example.com",
"emailVerified": true,
"role": "user",
"status": "approved",
"createdAt": "2026-04-19T13:02:26.198Z"
},
{
"userId": "90b40fd8-a6b8-42b8-ab61-f3b674169b43",
"email": "user2@example.com",
"username": "user2",
"emailVerified": true,
"role": "user",
"status": "approved",
"organization": { "value": "sales", "label": "営業部" },
"jobType": { "value": "engineer", "label": "エンジニア" },
"createdAt": "2026-04-17T07:09:47.484Z"
},
{
"userId": "463e2c25-5a80-4362-b77e-941df96fb1f2",
"email": "admin@example.com",
"username": "admin@example.com",
"emailVerified": true,
"role": "admin",
"status": "approved",
"createdAt": "2026-04-17T07:02:41.015Z",
"lastLoginAt": "2026-04-17T07:18:17.488Z"
}
],
"total": 132,
"limit": 3,
"offset": 0,
"hasMore": true
}

エラーレスポンス

ステータス説明
400クエリパラメータが不正
403users:read または users:manage スコープが不足

DELETE/v1/admin/users/:userId

ユーザーを削除します。users:manage スコープが必要です。

パスパラメータ

パラメータ必須説明
userIdstring必須ユーザーID

リクエスト例

Delete user
1curl -X DELETE https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/users/USER_ID \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
JSON
{ "userId": "abc123", "deleted": true }

エラーレスポンス

ステータス説明
403users:manage スコープが不足
404指定されたユーザーが見つからない(既に削除済みを含む)

PUT/v1/admin/users/:userId/role

ユーザーのロールを変更します。承認済み(approved)のユーザーのみ変更可能です。

ロール変更時の挙動
  • user への降格時: 対象ユーザーの既存セッションが無効化され、再ログインが必要になります
  • admin への昇格時: 対象ユーザーの既存セッションは継続され、新しい権限が次回 API 呼び出しから有効になります

パスパラメータ

パラメータ必須説明
userIdstring必須ユーザーID

リクエストボディ

パラメータ必須説明
rolestring必須変更先のロール。"admin" または "user"

リクエスト例

Change user role
1curl -X PUT https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/users/USER_ID/role \
2-H "Authorization: Bearer <access_token>" \
3-H "Content-Type: application/json" \
4-d '{"role": "admin"}'
レスポンス例(200 OK)
JSON
{ "userId": "abc123", "changed": true }

エラーレスポンス

ステータス説明
400role が未指定または不正。または対象ユーザーが未承認
403users:manage スコープが不足
404ユーザーが見つからない

POST/v1/admin/users/:userId/approve

ユーザーを承認します。ステータスが pending のユーザーのみ承認可能です。

注記

承認処理が成功すると、対象ユーザーのメールアドレス宛に承認通知メールが自動送信されます。

パスパラメータ

パラメータ必須説明
userIdstring必須ユーザーID

リクエスト例

Approve user
1curl -X POST https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/users/USER_ID/approve \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
JSON
{ "userId": "abc123", "approved": true }

エラーレスポンス

ステータス説明
400ユーザーのステータスが pending 以外(承認不可)
403users:manage スコープが不足
404ユーザーが見つからない

POST/v1/admin/users/:userId/reject

ユーザーの承認を取り消します。ステータスが approved のユーザーのみ取り消し可能です。取り消し後、ステータスは pending に戻ります。

注記

取り消し処理が成功すると、対象ユーザーのメールアドレス宛に通知メールが自動送信されます。

パスパラメータ

パラメータ必須説明
userIdstring必須ユーザーID

リクエスト例

Reject user
1curl -X POST https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/users/USER_ID/reject \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
JSON
{ "userId": "abc123", "status": "pending" }

エラーレスポンス

ステータス説明
400ユーザーのステータスが approved 以外(取り消し不可)
403users:manage スコープが不足
404ユーザーが見つからない

ログ SaaS

監査ログ・LLMログ・アクセスログの閲覧を行います。すべてオフセットベースのページネーションに対応し、日付範囲フィルターが利用可能です。

エンドポイント一覧

メソッドエンドポイント説明スコープ
GET/v1/admin/audit-logs監査ログ一覧を取得logs:read
GET/v1/admin/llm-logsLLMログ一覧を取得logs:read
GET/v1/admin/access-logsアクセスログ一覧を取得logs:read

共通クエリパラメータ

パラメータ必須説明
limitinteger取得件数(1〜100、デフォルト: 25)
offsetintegerオフセット(0以上、デフォルト: 0)
fromstring開始日(YYYY-MM-DD形式、UTC基準)
tostring終了日(YYYY-MM-DD形式、UTC基準)。指定した日の終わりまでを含みます

GET/v1/admin/audit-logs

監査ログ一覧を取得します。作成日時の降順で返されます。

リクエスト例

List audit logs
1curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/audit-logs?limit=10&from=2026-04-01&to=2026-04-15" \
2-H "Authorization: Bearer <access_token>"

レスポンスフィールド(200 OK)

フィールド説明
auditLogsarray監査ログオブジェクトの配列
auditLogs[].auditLogIdstring監査ログID
auditLogs[].resourcestring操作対象リソース(例: users/show, config/organizations/create, config/job-types/edit)
auditLogs[].actionstring操作アクション(approve / reject / promote / demote / create / update / delete など)
auditLogs[].metaobject | null追加メタデータ
auditLogs[].userIdstring操作ユーザーID
auditLogs[].userEmailstring | null操作ユーザーのメールアドレス
auditLogs[].ipAddressstring | nullIPアドレス
auditLogs[].userAgentstring | nullUser-Agent
auditLogs[].createdAtstring作成日時(ISO 8601形式)
totalinteger総件数
limitinteger取得件数
offsetintegerオフセット
hasMoreboolean次ページが存在するか
レスポンス例(200 OK)
JSON
{
"auditLogs": [
{
"auditLogId": "6b4366a3-791d-4f60-a9ef-24bdb3303e36",
"resource": "users/list",
"action": "approve",
"meta": {
"userName": "user2@example.com",
"timestamp": "2026-04-19T13:03:27.238Z",
"isApproved": true
},
"userId": "41b9fcf1-958d-4a86-a863-804b69224a1d",
"userEmail": "admin@example.com",
"ipAddress": "203.0.113.140",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36",
"createdAt": "2026-04-19T13:03:27.479Z"
},
{
"auditLogId": "c14d6065-7c35-44f6-8eea-033ede09bf3a",
"resource": "users/show",
"action": "delete",
"meta": {
"userName": "user1@example.com",
"timestamp": "2026-04-19T05:04:19.745Z",
"userEmail": "user1@example.com"
},
"userId": "5f4e4fdf-14fe-4684-b6d1-aa4f3a8dabb9",
"userEmail": "service-account-client@federation.invalid",
"ipAddress": "::ffff:127.0.0.1",
"userAgent": "Mozilla/5.0 (...)",
"createdAt": "2026-04-19T05:04:19.876Z"
},
{
"auditLogId": "f84ef377-9d75-4875-9958-b084c91a3c9b",
"resource": "config/organizations/list",
"action": "delete",
"meta": {
"id": "sales",
"timestamp": "2026-04-19T05:02:01.729Z"
},
"userId": "5f4e4fdf-14fe-4684-b6d1-aa4f3a8dabb9",
"userEmail": "service-account-client@federation.invalid",
"ipAddress": "::ffff:127.0.0.1",
"userAgent": "Mozilla/5.0 (...)",
"createdAt": "2026-04-19T05:02:01.736Z"
}
],
"total": 1537,
"limit": 3,
"offset": 0,
"hasMore": true
}

GET/v1/admin/llm-logs

LLMログ一覧を取得します。タイムスタンプの降順で返されます。

リクエスト例

List LLM logs
1curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/llm-logs?limit=10" \
2-H "Authorization: Bearer <access_token>"

レスポンスフィールド(200 OK)

フィールド説明
llmLogsarrayLLMログオブジェクトの配列
llmLogs[].llmLogIdstringLLMログID
llmLogs[].timestampstring | nullタイムスタンプ
llmLogs[].servicestring | nullサービス名
llmLogs[].operationstring | nullオペレーション名
llmLogs[].durationMsnumber | null処理時間(ミリ秒)
llmLogs[].conversationIdstring | null会話ID
llmLogs[].intentTypestring | null意図タイプ
llmLogs[].confidenceScorenumber | null信頼度スコア
llmLogs[].successboolean | null成功/失敗
llmLogs[].agentTypestring | nullエージェントタイプ
llmLogs[].agentLevelstring | nullエージェントレベル
llmLogs[].taskComplexitystring | nullタスクの複雑度
llmLogs[].currentMessagestring | null現在のメッセージ
llmLogs[].contextSummarystring | nullコンテキスト要約
llmLogs[].suggestedApproachstring | null提案された進め方
llmLogs[].conversationGoalstring | null会話のゴール
llmLogs[].finalContentstring | null最終出力内容
llmLogs[].metadataobject | nullメタデータ(追加情報)
llmLogs[].createdAtstring | null作成日時
totalinteger総件数
limitinteger取得件数
offsetintegerオフセット
hasMoreboolean次ページが存在するか
レスポンス例(200 OK)
JSON
{
"llmLogs": [
{
"llmLogId": "33098",
"timestamp": "2026-04-19T04:12:51.102Z",
"service": "agent-executor",
"operation": "agent.intent.completed",
"durationMs": 5574.6,
"conversationId": "3b72544d-d6b5-4577-b5f3-c39293124a57",
"intentType": "complex_task",
"confidenceScore": 0.95,
"success": null,
"agentType": "intent",
"agentLevel": "default",
"taskComplexity": null,
"currentMessage": "このURLについて教えて https://example.com/path",
"contextSummary": "ユーザーがURLについての情報を求めている。",
"suggestedApproach": "execute_single_tool",
"conversationGoal": "指定されたURLの内容や目的についての情報",
"finalContent": null,
"metadata": {
"message.id": "02038f42-154b-4363-9beb-d31512934ec5",
"task.complexity": "moderate",
"detected_language": "ja",
"requires_planning": true
},
"createdAt": "2026-04-18T19:16:16.964Z"
},
{
"llmLogId": "33097",
"timestamp": "2026-04-19T04:12:48.730Z",
"service": "agent-executor",
"operation": "agent.guardrail.completed",
"durationMs": 3170.34,
"conversationId": "3b72544d-d6b5-4577-b5f3-c39293124a57",
"intentType": null,
"confidenceScore": null,
"success": null,
"agentType": "intent.guardrails",
"agentLevel": null,
"taskComplexity": null,
"currentMessage": null,
"contextSummary": null,
"suggestedApproach": null,
"conversationGoal": null,
"finalContent": null,
"metadata": { "guardrail_detected": false },
"createdAt": "2026-04-18T19:16:14.619Z"
},
{
"llmLogId": "33096",
"timestamp": "2026-04-19T04:12:33.662Z",
"service": "agent-executor",
"operation": "agent.intent.completed",
"durationMs": 4213.47,
"conversationId": "4d7c798d-2e3e-4d40-86ab-cbb6c685a3fb",
"intentType": "conversation",
"confidenceScore": 1,
"success": null,
"agentType": "intent",
"agentLevel": "default",
"taskComplexity": null,
"currentMessage": "こんにちは",
"contextSummary": "新規会話開始。ユーザーが挨拶",
"suggestedApproach": "conversational_response",
"conversationGoal": "AIアシスタントとの挨拶交流",
"finalContent": null,
"metadata": {
"message.id": "cea9dbcc-4723-452a-bdcd-aa5f3a0e9ca6",
"task.complexity": "simple",
"detected_language": "ja",
"requires_planning": false
},
"createdAt": "2026-04-18T19:15:59.681Z"
}
],
"total": 33098,
"limit": 3,
"offset": 0,
"hasMore": true
}

GET/v1/admin/access-logs

アクセスログ一覧を取得します。タイムスタンプの降順で返されます。

リクエスト例

List access logs
1curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/access-logs?limit=10" \
2-H "Authorization: Bearer <access_token>"

レスポンスフィールド(200 OK)

フィールド説明
accessLogsarrayアクセスログオブジェクトの配列
accessLogs[].timestampstringタイムスタンプ
accessLogs[].sourceNamespacestring | nullソース名前空間
accessLogs[].sourceIpstring | nullソースIPアドレス
accessLogs[].methodstring | nullHTTPメソッド
accessLogs[].hoststring | nullホスト名
accessLogs[].pathstring | nullリクエストパス
accessLogs[].userAgentstring | nullUser-Agent
accessLogs[].statusCodenumber | nullHTTPステータスコード
accessLogs[].durationMsnumber | null処理時間(ミリ秒)
accessLogs[].authzResultstring | null認可結果
accessLogs[].authzReasonstring | null認可理由
totalinteger総件数
limitinteger取得件数
offsetintegerオフセット
hasMoreboolean次ページが存在するか
レスポンス例(200 OK)
JSON
{
"accessLogs": [
{
"timestamp": "2026-04-19T05:17:36.735896",
"sourceNamespace": "autonomous-agent",
"sourceIp": "127.0.0.1",
"method": "CONNECT",
"host": "optimizationguide-pa.googleapis.com:443",
"path": "",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36",
"statusCode": 200,
"durationMs": 1,
"authzResult": "allowed",
"authzReason": "allowed: All allow"
},
{
"timestamp": "2026-04-19T03:50:36.766451",
"sourceNamespace": "autonomous-agent",
"sourceIp": "127.0.0.1",
"method": "CONNECT",
"host": "update.googleapis.com:443",
"path": "",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36",
"statusCode": 200,
"durationMs": 6,
"authzResult": "allowed",
"authzReason": "allowed: All allow"
},
{
"timestamp": "2026-04-19T03:45:48.481023",
"sourceNamespace": "autonomous-agent",
"sourceIp": "127.0.0.1",
"method": "CONNECT",
"host": "optimizationguide-pa.googleapis.com:443",
"path": "",
"userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36",
"statusCode": 200,
"durationMs": 0,
"authzResult": "allowed",
"authzReason": "allowed: All allow"
}
],
"total": 57806,
"limit": 3,
"offset": 0,
"hasMore": true
}

マスターデータ管理 SaaS

部署・職種の CRUD 操作を行います。読み取り専用のマスターデータ取得(/v1/organizations/v1/job-types)とは異なり、作成・更新・削除には master:manage スコープが必要です。

エンドポイント一覧

メソッドエンドポイント説明スコープ
GET/v1/admin/organizations部署一覧を取得master:manage
POST/v1/admin/organizations部署を作成master:manage
GET/v1/admin/organizations/:identifier部署詳細を取得master:manage
PATCH/v1/admin/organizations/:identifier部署を更新master:manage
DELETE/v1/admin/organizations/:identifier部署を削除master:manage
GET/v1/admin/job-types職種一覧を取得master:manage
POST/v1/admin/job-types職種を作成master:manage
GET/v1/admin/job-types/:identifier職種詳細を取得master:manage
PATCH/v1/admin/job-types/:identifier職種を更新master:manage
DELETE/v1/admin/job-types/:identifier職種を削除master:manage

GET/v1/admin/organizations

部署一覧を取得します。全件取得(ページネーションなし)です。

リクエスト例

List organizations (admin)
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/organizations \
2-H "Authorization: Bearer <access_token>"

レスポンスフィールド(200 OK)

フィールド説明
organizationsarray部署オブジェクトの配列
organizations[].codestring部署コード
organizations[].namestring部署名
organizations[].displayOrderinteger表示順
organizations[].isActiveboolean有効/無効
organizations[].createdAtstring作成日時
organizations[].updatedAtstring更新日時
レスポンス例(200 OK)
JSON
{
"organizations": [
{
"code": "sample_org",
"name": "組織(サンプル)",
"displayOrder": 0,
"isActive": true,
"createdAt": "2025-12-12T10:40:45.220Z",
"updatedAt": "2026-04-13T01:21:57.695Z"
},
{
"code": "sales",
"name": "営業統括部",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
},
{
"code": "engineering",
"name": "エンジニアリング統括部",
"displayOrder": 2,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
},
{
"code": "other",
"name": "その他",
"displayOrder": -1,
"isActive": false,
"createdAt": "2025-12-24T19:26:38.000Z",
"updatedAt": "2026-01-17T19:08:21.630Z"
}
]
}

エラーレスポンス

ステータス説明
403master:manage スコープが不足

POST/v1/admin/organizations

部署を作成します。

リクエストボディ

パラメータ必須説明
codestring必須部署コード(一意)
namestring必須部署名
displayOrderinteger表示順。省略した場合は、既存項目の末尾に追加されます
isActiveboolean有効/無効(デフォルト: true)
レスポンス例(201 Created)
JSON
{
"code": "marketing",
"name": "マーケティング統括部",
"displayOrder": 3,
"isActive": true,
"createdAt": "2026-04-19T02:15:32.000Z",
"updatedAt": "2026-04-19T02:15:32.000Z"
}

エラーレスポンス

ステータス説明
400リクエストボディが不正(code / name 未指定、型不一致など)
403master:manage スコープが不足
409同じ code を持つ部署が既に存在する

GET/v1/admin/organizations/:identifier

部署の詳細を取得します。UUID または部署コードで指定できます。

パスパラメータ

パラメータ必須説明
identifierstring必須部署のUUIDまたは部署コード

リクエスト例

Get organization
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/organizations/sales \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
JSON
{
"code": "sales",
"name": "営業統括部",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
}

エラーレスポンス

ステータス説明
403master:manage スコープが不足
404指定された部署が見つからない

PATCH/v1/admin/organizations/:identifier

部署を更新します。更新可能なフィールドは name と isActive のみです。

パスパラメータ

パラメータ必須説明
identifierstring必須部署のUUIDまたは部署コード

リクエストボディ

パラメータ必須説明
namestring部署名
isActiveboolean有効/無効
レスポンス例(200 OK)
JSON
{
"code": "sales",
"name": "営業統括部",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2026-04-19T02:18:40.000Z"
}

エラーレスポンス

ステータス説明
400リクエストボディが不正(name が 255 文字超過、更新対象フィールドが未指定、name / isActive 以外のフィールドが含まれているなど)
403master:manage スコープが不足
404指定された部署が見つからない

DELETE/v1/admin/organizations/:identifier

部署を削除します。

パスパラメータ

パラメータ必須説明
identifierstring必須部署のUUIDまたは部署コード

リクエスト例

Delete organization
1curl -X DELETE https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/organizations/sales \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
JSON
{ "code": "sales", "deleted": true }
フィールド説明
codestring削除した部署コード(パスパラメータの identifier をそのまま返す)
deletedboolean常に true

エラーレスポンス

ステータス説明
403master:manage スコープが不足
404指定された部署が見つからない

GET/v1/admin/job-types

職種一覧を取得します。全件取得(ページネーションなし)です。レスポンスフィールドは部署一覧と同一構造です(organizations → jobTypes、部署コード → 職種コード)。

レスポンスフィールド(200 OK)

フィールド説明
jobTypesarray職種オブジェクトの配列
jobTypes[].codestring職種コード
jobTypes[].namestring職種名
jobTypes[].displayOrderinteger表示順
jobTypes[].isActiveboolean有効/無効
jobTypes[].createdAtstring作成日時
jobTypes[].updatedAtstring更新日時
レスポンス例(200 OK)
JSON
{
"jobTypes": [
{
"code": "engineer",
"name": "エンジニア",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
},
{
"code": "sales",
"name": "営業",
"displayOrder": 2,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
},
{
"code": "other",
"name": "その他",
"displayOrder": -1,
"isActive": false,
"createdAt": "2025-12-24T19:26:38.000Z",
"updatedAt": "2026-01-17T19:08:21.630Z"
}
]
}

エラーレスポンス

ステータス説明
403master:manage スコープが不足

POST/v1/admin/job-types

職種を作成します。リクエストボディは部署作成と同一構造です。

レスポンス例(201 Created)
JSON
{
"code": "manager",
"name": "管理職",
"displayOrder": 3,
"isActive": true,
"createdAt": "2026-04-19T02:20:15.000Z",
"updatedAt": "2026-04-19T02:20:15.000Z"
}

エラーレスポンス

ステータス説明
400リクエストボディが不正(code / name 未指定、型不一致など)
403master:manage スコープが不足
409同じ code を持つ職種が既に存在する

GET/v1/admin/job-types/:identifier

職種の詳細を取得します。UUID または職種コードで指定できます。

パスパラメータ

パラメータ必須説明
identifierstring必須職種のUUIDまたは職種コード

リクエスト例

Get job type
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/job-types/engineer \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
JSON
{
"code": "engineer",
"name": "エンジニア",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
}

エラーレスポンス

ステータス説明
403master:manage スコープが不足
404指定された職種が見つからない

PATCH/v1/admin/job-types/:identifier

職種を更新します。更新可能なフィールドは name と isActive のみです。

パスパラメータ

パラメータ必須説明
identifierstring必須職種のUUIDまたは職種コード

リクエストボディ

パラメータ必須説明
namestring職種名
isActiveboolean有効/無効

リクエスト例

Update job type
1curl -X PATCH https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/job-types/engineer \
2-H "Authorization: Bearer <access_token>" \
3-H "Content-Type: application/json" \
4-d '{"name": "Senior Engineer", "isActive": true}'
レスポンス例(200 OK)
JSON
{
"code": "engineer",
"name": "シニアエンジニア",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2026-04-19T02:22:55.000Z"
}

エラーレスポンス

ステータス説明
400リクエストボディが不正(name が 255 文字超過、更新対象フィールドが未指定、name / isActive 以外のフィールドが含まれているなど)
403master:manage スコープが不足
404指定された職種が見つからない

DELETE/v1/admin/job-types/:identifier

職種を削除します。レスポンス構造は部署削除と同一です。

パスパラメータ

パラメータ必須説明
identifierstring必須職種のUUIDまたは職種コード

リクエスト例

Delete job type
1curl -X DELETE https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/job-types/engineer \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
JSON
{ "code": "engineer", "deleted": true }

エラーレスポンス

ステータス説明
403master:manage スコープが不足
404指定された職種が見つからない

エラーレスポンス

HTTP ステータスコード

すべてのエンドポイントで返される可能性のある HTTP ステータスコードです。

ステータス説明
400 Bad Requestリクエストパラメータが不正
401 Unauthorizedトークンが無効または未指定
403 Forbiddenリソースへのアクセス権限なし
404 Not Foundリソースが存在しない
409 Conflictリソースが競合(例: 既存コードとの重複)
429 Too Many Requestsレート制限を超過
500 Internal Server Errorサーバー内部エラー

エラーレスポンス形式

すべてのエラーレスポンスは以下の共通構造で返されます。

フィールド説明
error.typestringエラーの分類。"invalid_request_error"、"authentication_error"、"insufficient_scope_error"、"forbidden_error"、"not_found_error"、"conflict_error"、"server_error" のいずれか
error.messagestring人間が読めるエラーメッセージ
error.codestring機械的に処理可能なエラーコード(例: "missing_parameter"、"invalid_parameter"、"invalid_token")
error.paramstringエラーの原因となったパラメータ名。バリデーションエラー時のみ含まれます
error.suggested_actionstring推奨される対処方法。一部のエラーでのみ含まれます
JSON
{
"error": {
"type": "invalid_request_error",
"message": "Invalid parameter: limit",
"code": "invalid_parameter",
"param": "limit",
"suggested_action": "limit must be between 1 and 100"
}
}

自動記録される管理操作 SaaS

以下の管理操作を実行すると、監査ログが自動的に記録されます。

リソース操作action
ユーザーロール変更(管理者へ昇格)promote
ユーザーロール変更(一般へ降格)demote
ユーザー承認approve
ユーザー承認取消reject
ユーザー削除delete
部署作成create
部署更新update
部署削除delete
職種作成create
職種更新update
職種削除delete