Skip to main content

Admin API Reference

API reference for user management, log viewing, master data management, and shared memory search. For end-user-facing APIs (Chat / Conversations / Files / Search / public master data), see the User API Reference. For MCP / A2A connection methods, see the Connection Methods Guide.

SaaS Edition Only

All endpoints documented in this reference are available only in the SaaS edition. On the Marketplace edition, administrative operations are performed exclusively through the Admin Console; no Admin APIs are exposed.

Base URL​

All API requests are sent to the following base URL.

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

Endpoint paths in this document are relative to the base URL.

Authentication​

All API requests require a Bearer token in the Authorization header.

Authorization: Bearer <access_token>

If the token is invalid or missing, 401 Unauthorized is returned. Some endpoints require additional scopes. If the required scope is missing, 403 Forbidden is returned.

For details on obtaining tokens and scope assignment, see the Authentication Guide and Authentication API Reference (SaaS).

Pagination​

List retrieval endpoints support page-based pagination.

ParameterTypeDescription
limitintegerNumber of items per page. 1 to 100 (default 25)
pageintegerPage number. 1 or greater (default 1)

Responses include total, limit, page, and hasMore. When hasMore is true, increase page by 1 to retrieve the next page.

curl
# Page 1
curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/users?limit=25&page=1" \
-H "Authorization: Bearer <access_token>"

# Page 2
curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/users?limit=25&page=2" \
-H "Authorization: Bearer <access_token>"

Endpoints supporting page-based pagination: users list, audit logs list, LLM logs list, LLM Gateway logs list, access logs list, and guardrail alerts list. Organization and job type lists do not support pagination and always return all records.

Shared Memory SaaS​

Searches shared memory (knowledge) based on organization and job role.

Endpoint List​

メソッドエンドポイント説明スコープ
POST/v1/admin/memory/querySearch shared memorysharedmemory:query

POST/v1/admin/memory/query

Search shared memory.

Request Body​

パラメータ型必須説明
querystring必須Search query (max 500 characters)
orgIdstring—Organization ID (max 100 characters). If specified, organization-scoped memory is included in the search
jobRolestring—Job role (max 100 characters). If specified, role-scoped memory is included in the search

Request Example​

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": "How to create a sales report", "orgId": "sales"}'

Response Fields (200 OK)​

FieldTypeDescription
memoriesarrayArray of memory objects
memories[].textstringMemory content text
memories[].typestring"knowledge"
memories[].scopestringOne of "organization", "role", or "global"
memories[].createdAtstring | nullCreation date and time (ISO 8601)
memories[].scorenumber?Relevance score. Field is omitted when score is not available

Response Headers​

HeaderDescription
X-RateLimit-LimitMonthly request limit
X-RateLimit-RemainingRemaining requests
X-RateLimit-ResetReset time (start of next month, ISO 8601)

Response Example​

JSON
{
"memories": [
{
"text": "Sales reports can be created from the 'Monthly Reports' tab in the dashboard",
"type": "knowledge",
"scope": "organization",
"createdAt": "2026-03-15T10:30:00.000Z",
"score": 0.85
}
]
}

Error Response​

StatusDescription
400query is missing, empty, or exceeds 500 characters
403sharedmemory:query scope is missing
429Monthly quota exceeded (error.type: rate_limit_error, error.code: monthly_quota_exceeded)
502Communication error with an upstream service (error.type: upstream_error)
504Upstream service response timeout (error.type: upstream_error, error.code: upstream_timeout)

When the search succeeds with no matches, 200 is returned with an empty memories array. Upstream failures return 502 / 504 instead of an empty array, so an empty array in a 200 response does not indicate a failure.

User Management SaaS​

List, delete, change role, approve, and revoke approval of users.

Endpoint List​

メソッドエンドポイント説明スコープ
GET/v1/admin/usersList usersusers:read / users:manage
DELETE/v1/admin/users/:userIdDelete userusers:manage
PUT/v1/admin/users/:userId/roleChange user roleusers:manage
POST/v1/admin/users/:userId/approveApprove userusers:manage
POST/v1/admin/users/:userId/rejectRevoke user approvalusers:manage

GET/v1/admin/users

List users. Supports page-based pagination. Either the users:read or users:manage scope is required (users:manage includes users:read permissions).

Query Parameters​

パラメータ型必須説明
limitinteger—Number of items to fetch (1–100, default: 25)
pageinteger—Page number (1 or more, default: 1)
rolestring—Role filter. "admin" can be specified
is_approvedstring—Approval status filter. "true" or "false"
searchstring—Search string (max 100 characters). Searches by email address, etc.
organizationstring—Organization code filter (max 50 characters; alphanumeric, hyphen, underscore)
job_typestring—Job type code filter (max 50 characters; alphanumeric, hyphen, underscore)

Request Example​

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>"

Response Fields (200 OK)​

FieldTypeDescription
usersarrayArray of user objects
users[].userIdstringUser ID
users[].emailstringEmail address
users[].usernamestringUsername
users[].emailVerifiedbooleanEmail verification status
users[].rolestringRole ("admin" or "user")
users[].statusstringStatus ("unverified", "pending", or "approved")
users[].organizationobject?Organization (value: code, label: name). Field is omitted if not set
users[].jobTypeobject?Job type (value: code, label: name). Field is omitted if not set
users[].biostring?Self-introduction. Field is omitted when not set
users[].createdAtstringCreation date and time (ISO 8601)
users[].lastLoginAtstring?Last login date and time (ISO 8601). Field is omitted if the user has never logged in
totalintegerTotal count
limitintegerNumber of items fetched
pageintegerPage number
hasMorebooleanWhether the next page exists
Example Response (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": "Sales" },
"jobType": { "value": "engineer", "label": "Engineer" },
"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,
"page": 1,
"hasMore": true
}

Error Response​

StatusDescription
400Invalid query parameters
403users:read or users:manage scope is missing

DELETE/v1/admin/users/:userId

Delete a user. Requires users:manage scope.

Path Parameters​

パラメータ型必須説明
userIdstring必須User ID

Request Example​

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

Error Responses​

StatusDescription
403Missing users:manage scope
404The specified user was not found (including already deleted)

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

Change a user's role. Only approved users can have their role changed.

Behavior on Role Change
  • When demoting to user: The target user's existing sessions are invalidated, requiring them to log in again.
  • When promoting to admin: The target user's existing sessions continue, and the new permissions take effect from the next API call.

Path Parameters​

パラメータ型必須説明
userIdstring必須User ID

Request Body​

パラメータ型必須説明
rolestring必須The role to change to. "admin" or "user"

Request Example​

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"}'
Response Example (200 OK)​
JSON
{ "userId": "abc123", "changed": true }

Error Response​

StatusDescription
400role is missing or invalid, or the target user is not approved
403users:manage scope is missing
404User not found

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

Approve a user. Only users with status "pending" can be approved.

note

When approval succeeds, an approval notification email is automatically sent to the target user's email address.

Path Parameters​

パラメータ型必須説明
userIdstring必須User ID

Request Example​

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>" \
3-H "Content-Type: application/json" \
4-d '{}'
Response Example (200 OK)​
JSON
{ "userId": "abc123", "approved": true }

Error Responses​

StatusDescription
400User status is not "pending" (cannot approve)
403Missing users:manage scope
404User not found

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

Revoke a user's approval. Only users with status "approved" can have their approval revoked. After revocation, the status returns to "pending".

note

When revocation succeeds, a notification email is automatically sent to the target user's email address.

Path Parameters​

パラメータ型必須説明
userIdstring必須User ID

Request Example​

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>" \
3-H "Content-Type: application/json" \
4-d '{}'
Response Example (200 OK)​
JSON
{ "userId": "abc123", "status": "pending" }

Error Responses​

StatusDescription
400User status is not "approved" (cannot revoke)
403Missing users:manage scope
404User not found

Logs SaaS​

View audit logs, LLM logs, LLM Gateway logs, access logs, and guardrail alerts. All support page-based pagination and date range filters.

Endpoint List​

メソッドエンドポイント説明スコープ
GET/v1/admin/audit-logsList audit logslogs:read
GET/v1/admin/llm-logsList LLM logslogs:read
GET/v1/admin/llm-gateway-logsList LLM Gateway logslogs:read
GET/v1/admin/access-logsList access logslogs:read
GET/v1/admin/guardrail-alertsList guardrail alertslogs:read

Common Query Parameters​

パラメータ型必須説明
limitinteger—Number of items to fetch (1–100, default: 25)
pageinteger—Page number (1 or more, default: 1)
fromstring—Start date (YYYY-MM-DD format, UTC)
tostring—End date (YYYY-MM-DD format, UTC). Includes the end of the specified day

GET/v1/admin/audit-logs

List audit logs. Returned in descending order of creation date.

Request Example​

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>"

Response Fields (200 OK)​

FieldTypeDescription
auditLogsarrayArray of audit log objects
auditLogs[].auditLogIdstringAudit log ID
auditLogs[].resourcestringResource operated on (e.g. users/show, config/organizations/create, config/job-types/edit)
auditLogs[].actionstringOperation action (approve / reject / promote / demote / create / update / delete, etc.)
auditLogs[].metaobject | nullAdditional metadata
auditLogs[].userIdstringUser ID who performed the operation
auditLogs[].userEmailstring | nullEmail address of the user
auditLogs[].ipAddressstring | nullIP address
auditLogs[].userAgentstring | nullUser-Agent
auditLogs[].createdAtstringCreation date and time (ISO 8601)
totalintegerTotal count
limitintegerNumber of items fetched
pageintegerPage number
hasMorebooleanWhether the next page exists
Example Response (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,
"page": 1,
"hasMore": true
}

GET/v1/admin/llm-logs

List LLM logs. Returned in descending order of timestamp.

Request Example​

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

Response Fields (200 OK)​

FieldTypeDescription
llmLogsarrayArray of LLM log objects
llmLogs[].llmLogIdstringLLM log ID
llmLogs[].timestampstring | nullTimestamp
llmLogs[].servicestring | nullService name
llmLogs[].operationstring | nullOperation name
llmLogs[].durationMsnumber | nullProcessing time (milliseconds)
llmLogs[].conversationIdstring | nullConversation ID
llmLogs[].intentTypestring | nullIntent type
llmLogs[].confidenceScorenumber | nullConfidence score
llmLogs[].toolsUsednumber | nullNumber of tool calls — not a list of tool names, and not a count of distinct tools (calling the same tool 5 times gives 5). null means not measured; 0 means the run was measured and made no tool call. The two are distinct — do not treat 0 as null.
llmLogs[].successboolean | nullSuccess/failure
llmLogs[].agentTypestring | nullAgent type
llmLogs[].agentLevelstring | nullAgent level
llmLogs[].taskComplexitystring | nullTask complexity
llmLogs[].currentMessagestring | nullCurrent message
llmLogs[].contextSummarystring | nullContext summary
llmLogs[].suggestedApproachstring | nullSuggested approach
llmLogs[].conversationGoalstring | nullConversation goal
llmLogs[].finalContentstring | nullFinal output content
llmLogs[].metadataobject | nullSupplementary metadata that varies by operation (keys vary)
llmLogs[].createdAtstring | nullCreation date and time
totalintegerTotal count
limitintegerNumber of items fetched
pageintegerPage number
hasMorebooleanWhether the next page exists
Example Response (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,
"toolsUsed": null,
"success": null,
"agentType": "intent",
"agentLevel": "default",
"taskComplexity": null,
"currentMessage": "Tell me about this URL https://example.com/path",
"contextSummary": "User is asking about a URL.",
"suggestedApproach": "execute_single_tool",
"conversationGoal": "Information about the contents or purpose of the specified URL",
"finalContent": null,
"metadata": {
"message.id": "02038f42-154b-4363-9beb-d31512934ec5",
"task.complexity": "moderate",
"detected_language": "en",
"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,
"toolsUsed": 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,
"toolsUsed": null,
"success": null,
"agentType": "intent",
"agentLevel": "default",
"taskComplexity": null,
"currentMessage": "Hello",
"contextSummary": "New conversation. User is greeting.",
"suggestedApproach": "conversational_response",
"conversationGoal": "Greeting exchange with the AI assistant",
"finalContent": null,
"metadata": {
"message.id": "cea9dbcc-4723-452a-bdcd-aa5f3a0e9ca6",
"task.complexity": "simple",
"detected_language": "en",
"requires_planning": false
},
"createdAt": "2026-04-18T19:15:59.681Z"
}
],
"total": 33098,
"limit": 3,
"page": 1,
"hasMore": true
}

GET/v1/admin/llm-gateway-logs

List LLM Gateway logs. Returned in descending order of creation time. One request = one row, recording usage such as model, provider, tokens, cost, and latency.

Request Example​

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

Response Fields (200 OK)​

FieldTypeDescription
llmGatewayLogsarrayArray of LLM Gateway log objects
llmGatewayLogs[].llmGatewayLogIdstringLLM Gateway log ID
llmGatewayLogs[].createdAtstring | nullCreation date and time
llmGatewayLogs[].virtualKeyIdstring | nullVirtual key ID (calling client)
llmGatewayLogs[].clientSessionIdstring | nullClient session ID
llmGatewayLogs[].clientAgentIdstring | nullClient agent ID
llmGatewayLogs[].apiFlavorstring | nullAPI flavor
llmGatewayLogs[].modelNamestring | nullModel name (as requested)
llmGatewayLogs[].resolvedModelstring | nullResolved model name
llmGatewayLogs[].providerstring | nullProvider
llmGatewayLogs[].deploymentstring | nullDeployment
llmGatewayLogs[].tierstring | nullTier
llmGatewayLogs[].streamboolean | nullWhether streaming was used
llmGatewayLogs[].successboolean | nullSuccess/failure
llmGatewayLogs[].httpStatusnumber | nullHTTP status
llmGatewayLogs[].errorTypestring | nullError type
llmGatewayLogs[].errorCodestring | nullError code
llmGatewayLogs[].usageStatusstring | nullUsage status
llmGatewayLogs[].latencyMsnumber | nullLatency (milliseconds)
llmGatewayLogs[].inputTokensnumber | nullInput token count
llmGatewayLogs[].outputTokensnumber | nullOutput token count
llmGatewayLogs[].totalTokensnumber | nullTotal token count
llmGatewayLogs[].cachedTokensnumber | nullCached token count
llmGatewayLogs[].cacheCreationInputTokensnumber | nullCache creation input token count
llmGatewayLogs[].reasoningTokensnumber | nullReasoning token count
llmGatewayLogs[].costUsdnumber | string | nullCost (USD)
llmGatewayLogs[].currencystring | nullCurrency
llmGatewayLogs[].metadataobject | nullSupplementary metadata (keys vary)
totalintegerTotal count
limitintegerNumber of items fetched
pageintegerPage number
hasMorebooleanWhether the next page exists

GET/v1/admin/access-logs

List access logs. Returned in descending order of timestamp.

Request Example​

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

Response Fields (200 OK)​

FieldTypeDescription
accessLogsarrayArray of access log objects
accessLogs[].timestampstringTimestamp
accessLogs[].sourceNamespacestring | nullSource namespace
accessLogs[].sourceIpstring | nullSource IP address
accessLogs[].methodstring | nullHTTP method
accessLogs[].hoststring | nullHost name
accessLogs[].pathstring | nullRequest path
accessLogs[].userAgentstring | nullUser-Agent
accessLogs[].statusCodenumber | nullHTTP status code
accessLogs[].durationMsnumber | nullProcessing time (milliseconds)
accessLogs[].authzResultstring | nullAuthorization result
accessLogs[].authzReasonstring | nullAuthorization reason
totalintegerTotal count
limitintegerNumber of items fetched
pageintegerPage number
hasMorebooleanWhether the next page exists
Example Response (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,
"page": 1,
"hasMore": true
}

GET/v1/admin/guardrail-alerts

Lists guardrail alerts. Results are returned in descending order of detection time.

These are records where Prompt Shield (prompt injection and jailbreak attempts) or Text Moderation (harmful content) detected a violation and execution was stopped. The detection surface (sourceSurface) is either AI agent execution (agent_executor) or the LLM Gateway (llm_gateway).

Request Example​

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

Response Fields (200 OK)​

FieldTypeDescription
guardrailAlertsarrayArray of guardrail alert objects
guardrailAlerts[].guardrailAlertIdstringGuardrail alert ID
guardrailAlerts[].detectedAtstringDetection time (ISO 8601 format)
guardrailAlerts[].sourceSurfacestringDetection surface (agent_executor: during AI agent execution / llm_gateway: via LLM Gateway)
guardrailAlerts[].detectionTypesarrayDetection types (jailbreak_attack: prompt injection / harmful_content: harmful content)
guardrailAlerts[].promptShieldOriginobject | nullWhere Prompt Shield detected the attack. Contains user_prompt (the user input) and document_indexes (positions in attached documents). Document contents are not included
guardrailAlerts[].moderationCategoriesobject | nullSeverity per category. Hate / Sexual / SelfHarm / Violence on a four-level scale of 0, 2, 4, and 6
guardrailAlerts[].moderationThresholdinteger | nullThreshold used for the decision
guardrailAlerts[].policyOutcomestringPolicy outcome. Currently only blocked (execution stopped)
guardrailAlerts[].responseTemplateCodestring | nullCode of the canned response returned to the user
guardrailAlerts[].statusstringTriage status (open: not yet handled / escalated: escalated / closed: resolved / false_positive: false detection)
guardrailAlerts[].resolutionCodestring | nullResolution code
guardrailAlerts[].resolvedAtstring | nullResolution time (ISO 8601 format)
guardrailAlerts[].resolvedBystring | nullUser ID of the administrator who resolved the alert
guardrailAlerts[].createdAtstringCreation time (ISO 8601 format)
guardrailAlerts[].updatedAtstringUpdate time (ISO 8601 format)
totalintegerTotal number of records
limitintegerNumber of items fetched
pageintegerPage number
hasMorebooleanWhether a next page exists
About the users who triggered detections

This API does not return information that identifies the user who triggered a detection (user ID, conversation ID, or message ID). It is intended for reviewing guardrail quality and tracking the status of safety responses, and cannot be used to trace the behavior of individual users.

In addition, detections of SelfHarm alone are not recorded as alerts.

Response Example (200 OK)​
JSON
{
"guardrailAlerts": [
{
"guardrailAlertId": "1f2e3d4c-5b6a-4789-8c9d-0e1f2a3b4c5d",
"detectedAt": "2026-08-13T02:10:00.000Z",
"sourceSurface": "agent_executor",
"detectionTypes": ["harmful_content"],
"promptShieldOrigin": null,
"moderationCategories": {
"Hate": 4,
"Sexual": 0,
"SelfHarm": 0,
"Violence": 0
},
"moderationThreshold": 2,
"policyOutcome": "blocked",
"responseTemplateCode": null,
"status": "open",
"resolutionCode": null,
"resolvedAt": null,
"resolvedBy": null,
"createdAt": "2026-08-13T02:10:00.100Z",
"updatedAt": "2026-08-13T02:10:00.100Z"
},
{
"guardrailAlertId": "2a3b4c5d-6e7f-4890-9a1b-2c3d4e5f6a7b",
"detectedAt": "2026-08-12T09:32:11.000Z",
"sourceSurface": "llm_gateway",
"detectionTypes": ["jailbreak_attack"],
"promptShieldOrigin": {
"user_prompt": true,
"document_indexes": []
},
"moderationCategories": null,
"moderationThreshold": null,
"policyOutcome": "blocked",
"responseTemplateCode": null,
"status": "closed",
"resolutionCode": "policy_violation_confirmed",
"resolvedAt": "2026-08-12T11:05:00.000Z",
"resolvedBy": "8f14e45f-ceea-4d3c-9b2a-1a2b3c4d5e6f",
"createdAt": "2026-08-12T09:32:11.050Z",
"updatedAt": "2026-08-12T11:05:00.000Z"
}
],
"total": 14,
"limit": 2,
"page": 1,
"hasMore": true
}

Master Data Management SaaS​

CRUD operations for organizations and job types. Unlike the read-only master data endpoints (/v1/organizations, /v1/job-types), creation, updates, and deletion require master:manage scope.

Endpoint List​

メソッドエンドポイント説明スコープ
GET/v1/admin/organizationsList organizationsmaster:manage
POST/v1/admin/organizationsCreate organizationmaster:manage
GET/v1/admin/organizations/:identifierGet organization detailmaster:manage
PATCH/v1/admin/organizations/:identifierUpdate organizationmaster:manage
DELETE/v1/admin/organizations/:identifierDelete organizationmaster:manage
GET/v1/admin/job-typesList job typesmaster:manage
POST/v1/admin/job-typesCreate job typemaster:manage
GET/v1/admin/job-types/:identifierGet job type detailmaster:manage
PATCH/v1/admin/job-types/:identifierUpdate job typemaster:manage
DELETE/v1/admin/job-types/:identifierDelete job typemaster:manage

GET/v1/admin/organizations

List organizations. Fetches all records (no pagination).

Request Example​

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

Response Fields (200 OK)​

FieldTypeDescription
organizationsarrayArray of organization objects
organizations[].codestringOrganization code
organizations[].namestringOrganization name
organizations[].displayOrderintegerDisplay order
organizations[].isActivebooleanEnabled/disabled
organizations[].createdAtstringCreation date and time
organizations[].updatedAtstringLast updated date and time
Example Response (200 OK)​
JSON
{
"organizations": [
{
"code": "sample_org",
"name": "Sample Organization",
"displayOrder": 0,
"isActive": true,
"createdAt": "2025-12-12T10:40:45.220Z",
"updatedAt": "2026-04-13T01:21:57.695Z"
},
{
"code": "sales",
"name": "Sales Division",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
},
{
"code": "engineering",
"name": "Engineering Division",
"displayOrder": 2,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
},
{
"code": "other",
"name": "Other",
"displayOrder": -1,
"isActive": false,
"createdAt": "2025-12-24T19:26:38.000Z",
"updatedAt": "2026-01-17T19:08:21.630Z"
}
]
}

Error Responses​

StatusDescription
403master:manage scope is missing

POST/v1/admin/organizations

Create an organization.

Request Body​

パラメータ型必須説明
codestring必須Organization code (unique)
namestring必須Organization name
displayOrderinteger—Display order. If omitted, the item is appended to the end of existing items
isActiveboolean—Enabled/disabled (default: true)
Example Response (201 Created)​
JSON
{
"code": "marketing",
"name": "Marketing Division",
"displayOrder": 3,
"isActive": true,
"createdAt": "2026-04-19T02:15:32.000Z",
"updatedAt": "2026-04-19T02:15:32.000Z"
}

Error Responses​

StatusDescription
400Invalid request body (missing code / name, type mismatch, etc.)
403master:manage scope is missing
409An organization with the same code already exists

GET/v1/admin/organizations/:identifier

Get organization detail. Can be specified by UUID or organization code.

Path Parameters​

パラメータ型必須説明
identifierstring必須Organization UUID or organization code

Request Example​

Get organization
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/organizations/sales \
2-H "Authorization: Bearer <access_token>"
Example Response (200 OK)​
JSON
{
"code": "sales",
"name": "Sales Division",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
}

Error Responses​

StatusDescription
403master:manage scope is missing
404The specified organization is not found

PATCH/v1/admin/organizations/:identifier

Update an organization. Only name and isActive can be updated.

Path Parameters​

パラメータ型必須説明
identifierstring必須Organization UUID or organization code

Request Body​

パラメータ型必須説明
namestring—Organization name
isActiveboolean—Enabled/disabled
Example Response (200 OK)​
JSON
{
"code": "sales",
"name": "Sales Division",
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2026-04-19T02:18:40.000Z"
}

Error Responses​

StatusDescription
400Invalid request body (name exceeds 255 characters, no updatable fields provided, fields other than name / isActive included, etc.)
403master:manage scope is missing
404The specified organization was not found

DELETE/v1/admin/organizations/:identifier

Delete an organization.

Path Parameters​

パラメータ型必須説明
identifierstring必須Organization UUID or organization code

Request Example​

Delete organization
1curl -X DELETE https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/organizations/sales \
2-H "Authorization: Bearer <access_token>"
Response Example (200 OK)​
JSON
{ "code": "sales", "deleted": true }
FieldTypeDescription
codestringThe deleted organization code (returns the path parameter identifier as-is)
deletedbooleanAlways true

Error Responses​

StatusDescription
403master:manage scope is missing
404The specified organization was not found

GET/v1/admin/job-types

List job types. Fetches all records (no pagination). Response fields have the same structure as the organizations list (organizations → jobTypes, organization code → job type code).

Response Fields (200 OK)​

FieldTypeDescription
jobTypesarrayArray of job type objects
jobTypes[].codestringJob type code
jobTypes[].namestringJob type name
jobTypes[].displayOrderintegerDisplay order
jobTypes[].isActivebooleanEnabled/disabled
jobTypes[].createdAtstringCreation date and time
jobTypes[].updatedAtstringLast updated date and time
Example Response (200 OK)​
JSON
{
"jobTypes": [
{
"code": "engineer",
"name": "Engineer",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
},
{
"code": "sales",
"name": "Sales",
"displayOrder": 2,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
},
{
"code": "other",
"name": "Other",
"displayOrder": -1,
"isActive": false,
"createdAt": "2025-12-24T19:26:38.000Z",
"updatedAt": "2026-01-17T19:08:21.630Z"
}
]
}

Error Responses​

StatusDescription
403master:manage scope is missing

POST/v1/admin/job-types

Create a job type. The request body has the same structure as organization creation.

Example Response (201 Created)​
JSON
{
"code": "manager",
"name": "Manager",
"displayOrder": 3,
"isActive": true,
"createdAt": "2026-04-19T02:20:15.000Z",
"updatedAt": "2026-04-19T02:20:15.000Z"
}

Error Responses​

StatusDescription
400Invalid request body (missing code / name, type mismatch, etc.)
403master:manage scope is missing
409A job type with the same code already exists

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

Get job type detail. Can be specified by UUID or job type code.

Path Parameters​

パラメータ型必須説明
identifierstring必須Job type UUID or job type code

Request Example​

Get job type
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/admin/job-types/engineer \
2-H "Authorization: Bearer <access_token>"
Example Response (200 OK)​
JSON
{
"code": "engineer",
"name": "Engineer",
"displayOrder": 1,
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2025-12-24T19:26:37.000Z"
}

Error Responses​

StatusDescription
403master:manage scope is missing
404Job type not found

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

Update a job type. Only name and isActive can be updated.

Path Parameters​

パラメータ型必須説明
identifierstring必須Job type UUID or job type code

Request Body​

パラメータ型必須説明
namestring—Job type name
isActiveboolean—Active/Inactive

Request Example​

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}'
Example Response (200 OK)​
JSON
{
"code": "engineer",
"name": "Senior Engineer",
"isActive": true,
"createdAt": "2025-12-24T19:26:37.000Z",
"updatedAt": "2026-04-19T02:22:55.000Z"
}

Error Responses​

StatusDescription
400Invalid request body (name exceeds 255 characters, no updatable fields provided, fields other than name / isActive included, etc.)
403master:manage scope is missing
404The specified job type was not found

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

Delete a job type. The response structure is the same as organization deletion.

Path Parameters​

パラメータ型必須説明
identifierstring必須Job type UUID or job type code

Request Example​

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>"
Example Response (200 OK)​
JSON
{ "code": "engineer", "deleted": true }

Error Responses​

StatusDescription
403master:manage scope is missing
404The specified job type was not found

Error Responses​

HTTP Status Codes​

HTTP status codes that may be returned by any endpoint.

StatusDescription
400 Bad RequestInvalid request parameters
401 UnauthorizedInvalid or missing token
403 ForbiddenInsufficient permissions to access the resource
404 Not FoundResource not found
409 ConflictResource conflict (e.g., duplicate code)
429 Too Many RequestsRate limit exceeded
500 Internal Server ErrorInternal server error
502 Bad GatewayCommunication error with an upstream service
504 Gateway TimeoutUpstream service response timeout

Error Response Format​

All error responses are returned with the following common structure.

FieldTypeDescription
error.typestringError category. One of "invalid_request_error", "authentication_error", "insufficient_scope_error", "forbidden_error", "not_found_error", "conflict_error", "rate_limit_error", "server_error", or "upstream_error"
error.messagestringHuman-readable error message
error.codestringMachine-processable error code (e.g., "missing_parameter", "invalid_parameter", "invalid_token")
error.paramstringThe parameter name that caused the error. Included only for validation errors
error.suggested_actionstringRecommended action to resolve the error. Included only for some errors
JSON
{
"error": {
"type": "invalid_request_error",
"message": "Invalid parameter: limit",
"code": "invalid_parameter",
"param": "limit",
"suggested_action": "limit must be between 1 and 100"
}
}

Automatically Recorded Management Operations SaaS​

The following management operations automatically generate an audit log entry.

ResourceOperationaction
UserChange role (promote to admin)promote
UserChange role (demote to general)demote
UserApproveapprove
UserRevoke approvalreject
UserDeletedelete
OrganizationCreatecreate
OrganizationUpdateupdate
OrganizationDeletedelete
Job typeCreatecreate
Job typeUpdateupdate
Job typeDeletedelete