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 / User / MCP / A2A / public master data), see the User API Reference.

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 offset-based pagination.

ParameterTypeDescription
limitintegerNumber of items per page. 1 to 100 (default 25)
offsetintegerNumber of items to skip. 0 or greater (default 0)

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

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

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

Endpoints supporting offset-based pagination: users list, audit logs list, LLM logs list, and access logs 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)
orgIdstringOrganization ID (max 100 characters). If specified, organization-scoped memory is included in the search
jobRolestringJob 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

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 offset-based pagination. Either the users:read or users:manage scope is required (users:manage includes users:read permissions).

Query Parameters

パラメータ必須説明
limitintegerNumber of items to fetch (1–100, default: 25)
offsetintegerOffset (0 or more, default: 0)
rolestringRole filter. "admin" can be specified
is_approvedstringApproval status filter. "true" or "false"
searchstringSearch string (max 100 characters). Searches by email address, etc.
organizationstringOrganization code filter (max 50 characters; alphanumeric, hyphen, underscore)
job_typestringJob 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
offsetintegerOffset
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,
"offset": 0,
"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
400Invalid request (userId missing, etc.)
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.

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, and access logs. All support offset-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/access-logsList access logslogs:read

Common Query Parameters

パラメータ必須説明
limitintegerNumber of items to fetch (1–100, default: 25)
offsetintegerOffset (0 or more, default: 0)
fromstringStart date (YYYY-MM-DD format, UTC)
tostringEnd 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
offsetintegerOffset
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,
"offset": 0,
"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[].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 | nullMetadata (additional information)
llmLogs[].createdAtstring | nullCreation date and time
totalintegerTotal count
limitintegerNumber of items fetched
offsetintegerOffset
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,
"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,
"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": "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,
"offset": 0,
"hasMore": true
}

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
offsetintegerOffset
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,
"offset": 0,
"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
displayOrderintegerDisplay order. If omitted, the item is appended to the end of existing items
isActivebooleanEnabled/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

パラメータ必須説明
namestringOrganization name
isActivebooleanEnabled/disabled
Example Response (200 OK)
JSON
{
"code": "sales",
"name": "Sales Division",
"displayOrder": 1,
"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

パラメータ必須説明
namestringJob type name
isActivebooleanActive/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",
"displayOrder": 1,
"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

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", or "server_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