ユーザー管理、ログ閲覧、マスターデータ管理、共有メモリ検索の API リファレンスです。エンドユーザー向けの Chat / Conversations / Files / Search / User / MCP / A2A / 公開マスターデータ API は ユーザー API リファレンス を参照してください。
ベース URL
すべての API リクエストは以下のベース URL に対して送信します。
https://api.fd.agenticstar.tm.softbank.jp/api
本ドキュメントのエンドポイントパスはベース URL からの相対パスで記載しています。
すべてのAPIリクエストには、Authorization ヘッダーに Bearer トークンを含める必要があります。
Authorization: Bearer <access_token>
トークンが無効または未指定の場合、401 Unauthorized が返されます。エンドポイントによっては追加のスコープが必要です。必要なスコープが不足している場合は 403 Forbidden が返されます。
トークンの取得方法・スコープの詳細については、認証ガイドおよび認証 API リファレンス(SaaS)を参照してください。
ページネーション
一覧取得エンドポイントはオフセットベースのページネーションをサポートしています。
| パラメータ | 型 | 説明 |
|---|
limit | integer | 1ページあたりの取得件数。1 〜 100(デフォルト 25) |
offset | integer | スキップする件数。0 以上(デフォルト 0) |
レスポンスには total, limit, offset, hasMore が含まれます。hasMore が true の場合、offset を offset + limit に増やすことで次ページを取得できます。
curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/users?limit=25&offset=0" \
-H "Authorization: Bearer <access_token>"
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
共有メモリを検索します。
リクエストボディ
| パラメータ | 型 | 必須 | 説明 |
|---|
query | string | 必須 | 検索クエリ(最大500文字) |
orgId | string | — | 組織ID(最大100文字)。指定すると組織スコープのメモリも検索対象に含まれます |
jobRole | string | — | 職種(最大100文字)。指定すると職種スコープのメモリも検索対象に含まれます |
リクエスト例
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)
| フィールド | 型 | 説明 |
|---|
memories | array | メモリオブジェクトの配列 |
memories[].text | string | メモリの内容テキスト |
memories[].type | string | "knowledge"(ナレッジ) |
memories[].scope | string | "organization"、"role"、"global" のいずれか |
memories[].createdAt | string | null | 作成日時(ISO 8601形式) |
memories[].score | number? | 関連度スコア。スコア値がない場合はフィールド自体が省略される |
レスポンスヘッダー
| ヘッダー | 説明 |
|---|
X-RateLimit-Limit | 月間リクエスト上限数 |
X-RateLimit-Remaining | 残りリクエスト数 |
X-RateLimit-Reset | 制限リセット日時(次月初、ISO 8601形式) |
レスポンス例
{
"memories": [
{
"text": "売上レポートはダッシュボードの「月次レポート」タブから作成できます",
"type": "knowledge",
"scope": "organization",
"createdAt": "2026-03-15T10:30:00.000Z",
"score": 0.85
}
]
}
エラーレスポンス
| ステータス | 説明 |
|---|
400 | query が未指定、空文字、または500文字超過 |
403 | sharedmemory: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:manage は users:read の権限を含みます)。
クエリパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
limit | integer | — | 取得件数(1〜100、デフォルト: 25) |
offset | integer | — | オフセット(0以上、デフォルト: 0) |
role | string | — | ロールフィルター。"admin" を指定可能 |
is_approved | string | — | 承認状態フィルター。"true" または "false" |
search | string | — | 検索文字列(最大100文字)。メールアドレス等で検索 |
organization | string | — | 組織コードフィルター(最大50文字、英数字・ハイフン・アンダースコア) |
job_type | string | — | 職種コードフィルター(最大50文字、英数字・ハイフン・アンダースコア) |
リクエスト例
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)
| フィールド | 型 | 説明 |
|---|
users | array | ユーザーオブジェクトの配列 |
users[].userId | string | ユーザーID |
users[].email | string | メールアドレス |
users[].username | string | ユーザー名 |
users[].emailVerified | boolean | メールアドレスの検証状態 |
users[].role | string | ロール("admin" または "user") |
users[].status | string | ステータス("unverified"、"pending"、"approved") |
users[].organization | object? | 所属組織(value: コード、label: 名称)。未設定時はフィールド自体が省略される |
users[].jobType | object? | 職種(value: コード、label: 名称)。未設定時はフィールド自体が省略される |
users[].bio | string? | 自己紹介。未設定時はフィールド自体が省略される |
users[].createdAt | string | 作成日時(ISO 8601形式) |
users[].lastLoginAt | string? | 最終ログイン日時(ISO 8601形式)。未ログイン時はフィールド自体が省略される |
total | integer | 総件数 |
limit | integer | 取得件数 |
offset | integer | オフセット |
hasMore | boolean | 次ページが存在するか |
レスポンス例(200 OK)
{
"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 | クエリパラメータが不正 |
403 | users:read または users:manage スコープが不足 |
DELETE/v1/admin/users/:userId
ユーザーを削除します。users:manage スコープが必要です。
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
userId | string | 必須 | ユーザーID |
リクエスト例
1curl -X DELETE https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/users/USER_ID \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
{ "userId": "abc123", "deleted": true }
エラーレスポンス
| ステータス | 説明 |
|---|
403 | users:manage スコープが不足 |
404 | 指定されたユーザーが見つからない(既に削除済みを含む) |
PUT/v1/admin/users/:userId/role
ユーザーのロールを変更します。承認済み(approved)のユーザーのみ変更可能です。
user への降格時: 対象ユーザーの既存セッションが無効化され、再ログインが必要になります
admin への昇格時: 対象ユーザーの既存セッションは継続され、新しい権限が次回 API 呼び出しから有効になります
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
userId | string | 必須 | ユーザーID |
リクエストボディ
| パラメータ | 型 | 必須 | 説明 |
|---|
role | string | 必須 | 変更先のロール。"admin" または "user" |
リクエスト例
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)
{ "userId": "abc123", "changed": true }
エラーレスポンス
| ステータス | 説明 |
|---|
400 | role が未指定または不正。または対象ユーザーが未承認 |
403 | users:manage スコープが不足 |
404 | ユーザーが見つからない |
POST/v1/admin/users/:userId/approve
ユーザーを承認します。ステータスが pending のユーザーのみ承認可能です。
承認処理が成功すると、対象ユーザーのメールアドレス宛に承認通知メールが自動送信されます。
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
userId | string | 必須 | ユーザーID |
リクエスト例
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)
{ "userId": "abc123", "approved": true }
エラーレスポンス
| ステータス | 説明 |
|---|
400 | ユーザーのステータスが pending 以外(承認不可) |
403 | users:manage スコープが不足 |
404 | ユーザーが見つからない |
POST/v1/admin/users/:userId/reject
ユーザーの承認を取り消します。ステータスが approved のユーザーのみ取り消し可能です。取り消し後、ステータスは pending に戻ります。
取り消し処理が成功すると、対象ユーザーのメールアドレス宛に通知メールが自動送信されます。
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
userId | string | 必須 | ユーザーID |
リクエスト例
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)
{ "userId": "abc123", "status": "pending" }
エラーレスポンス
| ステータス | 説明 |
|---|
400 | ユーザーのステータスが approved 以外(取り消し不可) |
403 | users:manage スコープが不足 |
404 | ユーザーが見つからない |
ログ SaaS
監査ログ・LLMログ・アクセスログの閲覧を行います。すべてオフセットベースのページネーションに対応し、日付範囲フィルターが利用可能です。
エンドポイント一覧
| メソッド | エンドポイント | 説明 | スコープ |
|---|
| GET | /v1/admin/audit-logs | 監査ログ一覧を取得 | logs:read |
| GET | /v1/admin/llm-logs | LLMログ一覧を取得 | logs:read |
| GET | /v1/admin/access-logs | アクセスログ一覧を取得 | logs:read |
共通クエリパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
limit | integer | — | 取得件数(1〜100、デフォルト: 25) |
offset | integer | — | オフセット(0以上、デフォルト: 0) |
from | string | — | 開始日(YYYY-MM-DD形式、UTC基準) |
to | string | — | 終了日(YYYY-MM-DD形式、UTC基準)。指定した日の終わりまでを含みます |
GET/v1/admin/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)
| フィールド | 型 | 説明 |
|---|
auditLogs | array | 監査ログオブジェクトの配列 |
auditLogs[].auditLogId | string | 監査ログID |
auditLogs[].resource | string | 操作対象リソース(例: users/show, config/organizations/create, config/job-types/edit) |
auditLogs[].action | string | 操作アクション(approve / reject / promote / demote / create / update / delete など) |
auditLogs[].meta | object | null | 追加メタデータ |
auditLogs[].userId | string | 操作ユーザーID |
auditLogs[].userEmail | string | null | 操作ユーザーのメールアドレス |
auditLogs[].ipAddress | string | null | IPアドレス |
auditLogs[].userAgent | string | null | User-Agent |
auditLogs[].createdAt | string | 作成日時(ISO 8601形式) |
total | integer | 総件数 |
limit | integer | 取得件数 |
offset | integer | オフセット |
hasMore | boolean | 次ページが存在するか |
レスポンス例(200 OK)
{
"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ログ一覧を取得します。タイムスタンプの降順で返されます。
リクエスト例
1curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/llm-logs?limit=10" \
2-H "Authorization: Bearer <access_token>"
レスポンスフィールド(200 OK)
| フィールド | 型 | 説明 |
|---|
llmLogs | array | LLMログオブジェクトの配列 |
llmLogs[].llmLogId | string | LLMログID |
llmLogs[].timestamp | string | null | タイムスタンプ |
llmLogs[].service | string | null | サービス名 |
llmLogs[].operation | string | null | オペレーション名 |
llmLogs[].durationMs | number | null | 処理時間(ミリ秒) |
llmLogs[].conversationId | string | null | 会話ID |
llmLogs[].intentType | string | null | 意図タイプ |
llmLogs[].confidenceScore | number | null | 信頼度スコア |
llmLogs[].success | boolean | null | 成功/失敗 |
llmLogs[].agentType | string | null | エージェントタイプ |
llmLogs[].agentLevel | string | null | エージェントレベル |
llmLogs[].taskComplexity | string | null | タスクの複雑度 |
llmLogs[].currentMessage | string | null | 現在のメッセージ |
llmLogs[].contextSummary | string | null | コンテキスト要約 |
llmLogs[].suggestedApproach | string | null | 提案された進め方 |
llmLogs[].conversationGoal | string | null | 会話のゴール |
llmLogs[].finalContent | string | null | 最終出力内容 |
llmLogs[].metadata | object | null | メタデータ(追加情報) |
llmLogs[].createdAt | string | null | 作成日時 |
total | integer | 総件数 |
limit | integer | 取得件数 |
offset | integer | オフセット |
hasMore | boolean | 次ページが存在するか |
レスポンス例(200 OK)
{
"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
アクセスログ一覧を取得します。タイムスタンプの降順で返されます。
リクエスト例
1curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/access-logs?limit=10" \
2-H "Authorization: Bearer <access_token>"
レスポンスフィールド(200 OK)
| フィールド | 型 | 説明 |
|---|
accessLogs | array | アクセスログオブジェクトの配列 |
accessLogs[].timestamp | string | タイムスタンプ |
accessLogs[].sourceNamespace | string | null | ソース名前空間 |
accessLogs[].sourceIp | string | null | ソースIPアドレス |
accessLogs[].method | string | null | HTTPメソッド |
accessLogs[].host | string | null | ホスト名 |
accessLogs[].path | string | null | リクエストパス |
accessLogs[].userAgent | string | null | User-Agent |
accessLogs[].statusCode | number | null | HTTPステータスコード |
accessLogs[].durationMs | number | null | 処理時間(ミリ秒) |
accessLogs[].authzResult | string | null | 認可結果 |
accessLogs[].authzReason | string | null | 認可理由 |
total | integer | 総件数 |
limit | integer | 取得件数 |
offset | integer | オフセット |
hasMore | boolean | 次ページが存在するか |
レスポンス例(200 OK)
{
"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
部署一覧を取得します。全件取得(ページネーションなし)です。
リクエスト例
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/organizations \
2-H "Authorization: Bearer <access_token>"
レスポンスフィールド(200 OK)
| フィールド | 型 | 説明 |
|---|
organizations | array | 部署オブジェクトの配列 |
organizations[].code | string | 部署コード |
organizations[].name | string | 部署名 |
organizations[].displayOrder | integer | 表示順 |
organizations[].isActive | boolean | 有効/無効 |
organizations[].createdAt | string | 作成日時 |
organizations[].updatedAt | string | 更新日時 |
レスポンス例(200 OK)
{
"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"
}
]
}
エラーレスポンス
| ステータス | 説明 |
|---|
403 | master:manage スコープが不足 |
POST/v1/admin/organizations
部署を作成します。
リクエストボディ
| パラメータ | 型 | 必須 | 説明 |
|---|
code | string | 必須 | 部署コード(一意) |
name | string | 必須 | 部署名 |
displayOrder | integer | — | 表示順。省略した場合は、既存項目の末尾に追加されます |
isActive | boolean | — | 有効/無効(デフォルト: true) |
レスポンス例(201 Created)
{
"code": "marketing",
"name": "マーケティング統括部",
"displayOrder": 3,
"isActive": true,
"createdAt": "2026-04-19T02:15:32.000Z",
"updatedAt": "2026-04-19T02:15:32.000Z"
}
エラーレスポンス
| ステータス | 説明 |
|---|
400 | リクエストボディが不正(code / name 未指定、型不一致など) |
403 | master:manage スコープが不足 |
409 | 同じ code を持つ部署が既に存在する |
GET/v1/admin/organizations/:identifier
部署の詳細を取得します。UUID または部署コードで指定できます。
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
identifier | string | 必須 | 部署のUUIDまたは部署コード |
リクエスト例
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/organizations/sales \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
{
"code": "sales",
"name": "営業統括部",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
}
エラーレスポンス
| ステータス | 説明 |
|---|
403 | master:manage スコープが不足 |
404 | 指定された部署が見つからない |
PATCH/v1/admin/organizations/:identifier
部署を更新します。更新可能なフィールドは name と isActive のみです。
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
identifier | string | 必須 | 部署のUUIDまたは部署コード |
リクエストボディ
| パラメータ | 型 | 必須 | 説明 |
|---|
name | string | — | 部署名 |
isActive | boolean | — | 有効/無効 |
レスポンス例(200 OK)
{
"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 以外のフィールドが含まれているなど) |
403 | master:manage スコープが不足 |
404 | 指定された部署が見つからない |
DELETE/v1/admin/organizations/:identifier
部署を削除します。
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
identifier | string | 必須 | 部署のUUIDまたは部署コード |
リクエスト例
1curl -X DELETE https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/organizations/sales \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
{ "code": "sales", "deleted": true }
| フィールド | 型 | 説明 |
|---|
code | string | 削除した部署コード(パスパラメータの identifier をそのまま返す) |
deleted | boolean | 常に true |
エラーレスポンス
| ステータス | 説明 |
|---|
403 | master:manage スコープが不足 |
404 | 指定された部署が見つからない |
GET/v1/admin/job-types
職種一覧を取得します。全件取得(ページネーションなし)です。レスポンスフィールドは部署一覧と同一構造です(organizations → jobTypes、部署コード → 職種コード)。
レスポンスフィールド(200 OK)
| フィールド | 型 | 説明 |
|---|
jobTypes | array | 職種オブジェクトの配列 |
jobTypes[].code | string | 職種コード |
jobTypes[].name | string | 職種名 |
jobTypes[].displayOrder | integer | 表示順 |
jobTypes[].isActive | boolean | 有効/無効 |
jobTypes[].createdAt | string | 作成日時 |
jobTypes[].updatedAt | string | 更新日時 |
レスポンス例(200 OK)
{
"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"
}
]
}
エラーレスポンス
| ステータス | 説明 |
|---|
403 | master:manage スコープが不足 |
POST/v1/admin/job-types
職種を作成します。リクエストボディは部署作成と同一構造です。
レスポンス例(201 Created)
{
"code": "manager",
"name": "管理職",
"displayOrder": 3,
"isActive": true,
"createdAt": "2026-04-19T02:20:15.000Z",
"updatedAt": "2026-04-19T02:20:15.000Z"
}
エラーレスポンス
| ステータス | 説明 |
|---|
400 | リクエストボディが不正(code / name 未指定、型不一致など) |
403 | master:manage スコープが不足 |
409 | 同じ code を持つ職種が既に存在する |
GET/v1/admin/job-types/:identifier
職種の詳細を取得します。UUID または職種コードで指定できます。
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
identifier | string | 必須 | 職種のUUIDまたは職種コード |
リクエスト例
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/job-types/engineer \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
{
"code": "engineer",
"name": "エンジニア",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
}
エラーレスポンス
| ステータス | 説明 |
|---|
403 | master:manage スコープが不足 |
404 | 指定された職種が見つからない |
PATCH/v1/admin/job-types/:identifier
職種を更新します。更新可能なフィールドは name と isActive のみです。
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
identifier | string | 必須 | 職種のUUIDまたは職種コード |
リクエストボディ
| パラメータ | 型 | 必須 | 説明 |
|---|
name | string | — | 職種名 |
isActive | boolean | — | 有効/無効 |
リクエスト例
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)
{
"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 以外のフィールドが含まれているなど) |
403 | master:manage スコープが不足 |
404 | 指定された職種が見つからない |
DELETE/v1/admin/job-types/:identifier
職種を削除します。レスポンス構造は部署削除と同一です。
パスパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|
identifier | string | 必須 | 職種のUUIDまたは職種コード |
リクエスト例
1curl -X DELETE https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/job-types/engineer \
2-H "Authorization: Bearer <access_token>"
レスポンス例(200 OK)
{ "code": "engineer", "deleted": true }
エラーレスポンス
| ステータス | 説明 |
|---|
403 | master: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.type | string | エラーの分類。"invalid_request_error"、"authentication_error"、"insufficient_scope_error"、"forbidden_error"、"not_found_error"、"conflict_error"、"server_error" のいずれか |
error.message | string | 人間が読めるエラーメッセージ |
error.code | string | 機械的に処理可能なエラーコード(例: "missing_parameter"、"invalid_parameter"、"invalid_token") |
error.param | string | エラーの原因となったパラメータ名。バリデーションエラー時のみ含まれます |
error.suggested_action | string | 推奨される対処方法。一部のエラーでのみ含まれます |
{
"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 |