Skip to main content

User API Reference

Reference for user-facing API endpoint specifications and error codes. For administrator-only APIs, see the Admin API Reference.

Base URL

All API requests are sent to the following base URLs.

SaaS
https://api.fd.agenticstar.tm.softbank.jp/api
Marketplace
https://<your-domain>/api

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

Authentication

All API requests must include 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 scopes are missing, 403 Forbidden is returned.

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

Pagination

List endpoints support cursor-based pagination.

ParameterTypeDescription
limitintegerNumber of items per page. Default values and limits vary by endpoint
cursorstringCursor value for fetching the next page. Pass the cursor value from the previous response as-is
orderstringSort order. "asc" (ascending) or "desc" (descending, default)

The response includes a hasMore field. When true, pass the cursor value to the next request to retrieve the next page.

curl
# Page 1
curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/conversations?limit=10" \
-H "Authorization: Bearer <access_token>"

# Page 2 (using the cursor value from the response)
curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/conversations?limit=10&cursor=2026-03-14T10:30:00.000Z" \
-H "Authorization: Bearer <access_token>"

Currently, cursor-based pagination is supported for GET /v1/conversations. For other endpoints, hasMore is always false.

Chat SaaS Marketplace

OpenAI-compatible Chat Completions API. Conversations with the agent are delivered via SSE (Server-Sent Events) streaming.

The Chat API consists of three endpoints. You can send messages, reconnect to existing conversations, and cancel conversations in progress.

SSE Streaming Guide

Detailed explanation of connection flow, response objects, Delta extensions, execution patterns, reconnection, and error handling

View guide

Endpoint List

メソッドエンドポイント説明Scope (SaaS)
POST/v1/chat/completionsSend a chat message and receive a response via SSE streamingchat:exec
GET/v1/chat/completions/:conversationIdReconnect to the SSE stream of a conversation in progresschat:exec
POST/v1/chat/completions/:conversationId/cancelCancel a conversation in progresschat:exec

Note: The Marketplace edition does not require scopes (authentication only).

POST/v1/chat/completions

Send a message to the agent and receive a response via SSE streaming. Responses are delivered in OpenAI-compatible Chat Completion Chunk format.

Request Headers

ヘッダー必須説明
Authorization必須Bearer <access_token>
Content-Type必須application/json

Request Body

パラメータ必須説明
modelstring必須The model ID to use. Specify "AGENTIC STAR".
messagesarray必須Array of message objects. At least one message with the user role is required.
streamboolean必須Specify true. Currently, only streaming mode is supported.
conversationIdstringSpecify a conversation ID to continue an existing conversation. If omitted, a new conversation is created.

Edition-Specific Parameters

SaaS
agentLevelstring"default" or "high_performance". Defaults to "default" when omitted.
agentModebooleanEnable/disable agent mode. Defaults to true when omitted.
privateModebooleanEnable/disable private mode. Defaults to false when omitted.
Marketplace
agentIdstringThe ID of the agent to use (required).

Message Object

パラメータ必須説明
rolestring必須Use "user". "assistant" / "system" are accepted but only "user" is effectively used as the starting point of the agent turn in the current implementation
contentstring | array必須The message content. A string or an array of content parts.

Content Parts (Array Format)

When specifying content as an array, the following part types are available. You can combine text and files in a single message.

typeParameterDescription
"text"text (string)Text message
"input_file"fileId (string)ID of a previously uploaded file (up to 20 files per request)

Request Example

Create chat completion
1curl -X POST https://api.fd.agenticstar.tm.softbank.jp/api/v1/chat/completions \
2-H "Authorization: Bearer <access_token>" \
3-H "Content-Type: application/json" \
4-d '{
5 "model": "AGENTIC STAR",
6 "stream": true,
7 "messages": [
8 {
9 "role": "user",
10 "content": "Please analyze the sales data"
11 }
12 ]
13}'

Response Headers

HeaderDescription
Content-Typetext/event-stream
X-Conversation-IdConversation ID. For new conversations, a server-generated ID is returned.
X-Message-IdThe assistant response message ID.

SSE Response Format

Responses are delivered as SSE events in the following order. Each event is a JSON line prefixed with data:.

SSE Event Flow
1. data: {"choices":[{"delta":{"role":"assistant"}}]}
2. data: {"choices":[{"delta":{"content":"..."}}]} × N
3. data: {"choices":[{"finishReason":"stop"}]}
4. data: [DONE]

Responses are delivered via SSE (Server-Sent Events) streaming. Each chunk is in OpenAI-compatible ChatCompletionChunk format. For details on the connection lifecycle, response objects, agent extension fields, and error handling, see the Streaming Guide.

Response Example

SSE
data: {"createdAt":"2026-03-14T10:30:00Z","model":"AGENTIC STAR","choices":[{"index":0,"delta":{"role":"assistant"},"finishReason":null}]}

data: {"createdAt":"2026-03-14T10:30:00Z","model":"AGENTIC STAR","choices":[{"index":0,"delta":{"content":"Analyzing"},"finishReason":null}]}

data: {"createdAt":"2026-03-14T10:30:00Z","model":"AGENTIC STAR","choices":[{"index":0,"delta":{"content":" the sales data."},"finishReason":null}]}

data: {"createdAt":"2026-03-14T10:30:01Z","model":"AGENTIC STAR","choices":[{"index":0,"delta":{},"finishReason":"stop"}]}

data: [DONE]

Error Response

Errors before the SSE stream starts are returned in JSON format. Errors during the stream are delivered as SSE chunks.

StatusDescription
400Invalid request parameters (missing or malformed model / messages / stream / conversationId / role / content, or more than 20 input_file parts in a single request)
403Missing chat:exec scope
409The specified conversation is currently being processed

GET/v1/chat/completions/:conversationId

Reconnect to the SSE stream of a conversation in progress. Use this when the agent is processing a long-running task or to recover after a network disconnection.

Path Parameters

パラメータ必須説明
conversationIdstring必須The ID of the conversation to reconnect to

Request Example

Resume SSE stream
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/chat/completions/550e8400-e29b-41d4-a716-446655440000 \
2-H "Authorization: Bearer <access_token>"

Response (200 OK)

Reconnects to the SSE stream. The response format is the same as POST /v1/chat/completions. The response headers include X-Conversation-Id and X-Message-Id. For detailed reconnection procedures, see the Streaming Guide.

Error Response

StatusDescription
400Invalid conversationId
403Missing chat:exec scope
404Conversation not found or not in progress

POST/v1/chat/completions/:conversationId/cancel

Cancel a conversation in progress. Use this to abort the agent's execution.

Path Parameters

パラメータ必須説明
conversationIdstring必須The ID of the conversation to cancel

Request Body (optional)

パラメータ必須説明
messageIdstringThe ID of the message to cancel (UUID). If omitted, cancels the entire conversation.

Request Example

Cancel chat
1curl -X POST https://api.fd.agenticstar.tm.softbank.jp/api/v1/chat/completions/550e8400-e29b-41d4-a716-446655440000/cancel \
2-H "Authorization: Bearer <access_token>" \
3-H "Content-Type: application/json"

Response Fields (200 OK)

FieldTypeDescription
conversationIdstringThe ID of the cancelled conversation (UUID)
cancelledbooleanAlways true on successful cancellation

Response Example

JSON
{ "conversationId": "550e8400-...", "cancelled": true }

Error Response

StatusDescription
400Invalid conversationId
403Missing chat:exec scope
404Conversation not found

Conversation Management SaaS Marketplace

List, retrieve message history, delete, and update titles of conversations.

Endpoint List

メソッドエンドポイント説明Scope (SaaS)
GET/v1/conversationsList conversationschat:history
GET/v1/conversations/:conversationId/messagesGet message historychat:history
PATCH/v1/conversations/:conversationIdUpdate conversation titlechat:history
DELETE/v1/conversations/:conversationIdDelete a conversationchat:history
POST/v1/conversations/:conversationId/restoreRestore archived conversationchat:history

Note: The Marketplace edition does not require scopes (authentication only).

Operations on archived conversations

Conversations retrieved with mode=archive only support read operations (list / message history) and restoration. The following operations return a 400 error (code: "conversation_archived").

OperationBehavior on archived conversations
GET /v1/conversations?mode=archive✅ Allowed
GET /v1/conversations/:id/messages✅ Allowed (messages[].archived: true is added)
PATCH /v1/conversations/:id❌ 400 Archived conversations cannot be modified
DELETE /v1/conversations/:id❌ 400 Archived conversations cannot be deleted via this endpoint
POST /v1/chat/completions (continuing an existing conversation)❌ 400 Cannot send messages to an archived conversation
POST /v1/chat/completions/:id/cancel❌ 400 Cannot cancel an archived conversation
POST /v1/conversations/:id/restore✅ Restore to active

GET/v1/conversations

List conversations. Supports cursor-based pagination.

Query Parameters

ParameterTypeDefaultDescription
limitinteger25Number of items to retrieve (1-100)
cursorstringCursor for fetching the next page (cursor value from the previous response)
orderstring"desc""asc" or "desc"
titlestringFilter by title
modestring"active""active" (regular conversations) or "archive" (archived conversations). Switching mode queries a different data store, so cursor cannot be carried over

Request Example

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

Response Fields (200 OK)

FieldTypeDescription
conversationsarrayArray of conversation objects
conversations[].conversationIdstringUnique identifier of the conversation (UUID)
conversations[].titlestringConversation title
conversations[].createdAtstringCreation date and time (ISO 8601)
conversations[].updatedAtstringLast updated date and time (ISO 8601)
conversations[].archivedboolean?Whether archived. Always true when retrieved via mode=archive. When mode=active returns this field as true, it is only because the conversation remained in archive state but was returned by the active list — usually omitted
hasMorebooleanWhether the next page exists
cursorstringCursor for fetching the next page. Included only when hasMore is true

Response Example

JSON
{
"conversations": [
{
"conversationId": "550e8400-e29b-41d4-a716-446655440000",
"title": "Sales data analysis",
"createdAt": "2026-03-14T10:30:00Z",
"updatedAt": "2026-03-14T10:35:00Z"
}
],
"hasMore": true,
"cursor": "2026-03-14T10:30:00.000Z"
}

Error Response

StatusDescription
400Invalid limit parameter (outside the range of 1-100), or mode is not "active" / "archive"
403Missing chat:history scope

GET/v1/conversations/:conversationId/messages

Retrieve the message history of a specified conversation.

Path Parameters

パラメータ必須説明
conversationIdstring必須Conversation ID (UUID)

Query Parameters

ParameterTypeDefaultDescription
limitintegerMaximum number of items to retrieve
orderstring"desc""asc" or "desc"

Request Example

Get messages
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/conversations/550e8400-e29b-41d4-a716-446655440000/messages?order=asc \
2-H "Authorization: Bearer <access_token>"

Response Fields (200 OK)

FieldTypeDescription
messagesarrayArray of message objects
messages[].conversationIdstringConversation ID (UUID)
messages[].messageIdstringUnique identifier of the message
messages[].senderstringSender. "User" or "AI"
messages[].textstringMessage body text
messages[].createdAtstringCreation date and time (ISO 8601)
messages[].updatedAtstringLast updated date and time (ISO 8601)
messages[].statusobjectMessage processing status
messages[].status.processingbooleanWhether the agent is currently processing
messages[].status.unfinishedbooleanWhether the agent response was interrupted
messages[].tasksarrayArray of tasks executed by the agent (see below)
messages[].deliverablesarrayArray of artifacts generated by the agent. Included only when present
messages[].deliverables[].filenamestringArtifact file name
messages[].deliverables[].filepathstringArtifact file path
messages[].deliverables[].sourcestring"agent" (agent-generated) or "user" (user-uploaded)
messages[].deliverables[].isPrimarybooleanWhether it is a primary artifact
messages[].deliverables[].createdAtstringCreation date and time (ISO 8601 format)
messages[].deliverables[].mimeTypestring?MIME type (e.g., "application/pdf", "text/markdown"). Omitted when it cannot be determined
messages[].deliverables[].sizenumber?File size (bytes). Omitted when 0 or below
messages[].filesarray?Array of user-uploaded files. Included only when present for messages with sender: "User"
messages[].files[].fileIdstringUnique identifier of the file (UUID)
messages[].files[].mimeTypestringMIME type (e.g., "image/png", "application/pdf")
messages[].files[].widthnumber?Image width in pixels. Only for image files
messages[].files[].heightnumber?Image height in pixels. Only for image files
messages[].archivedboolean?true only for messages retrieved via archive. Added when viewing the message history of a conversation retrieved with GET /v1/conversations?mode=archive
hasMorebooleanAlways false (pagination not supported)

Task Object

FieldTypeDescription
messageIdstringID of the message the task belongs to
conversationIdstringID of the conversation the task belongs to
callIdstring?Tool call ID. In Complex Path, multiple tasks share the same callId and identify a sequence of steps for the same tool call
actionTypestringType of task (e.g., tool execution, code generation)
titlestring?Task title. Omitted when not present
descriptionstring?Task description. Omitted when not present
statusstringTask status. One of: "in_progress" / "completed" / "failed" / "error" / "pending"
contentstring?Task execution result text. Omitted when not present
metadataobject?Auxiliary information that varies by actionType (sub_event_type, url, filepath, etc.). See the [Streaming Guide](/docs/api/guide/streaming-guide) for details
filesarray?Files related to the task (filename / size / filepath / mimeType?. mimeType is omitted when it cannot be determined). The array itself is omitted when there are no related files
timestampnumberTimestamp of task execution (Unix milliseconds)
createdAtstringCreation date and time (ISO 8601)
updatedAtstringLast updated date and time (ISO 8601)

Response Example

JSON
{
"messages": [
{
"conversationId": "550e8400-...",
"messageId": "msg-abc123",
"sender": "User",
"text": "Please analyze the sales data",
"createdAt": "2026-03-14T10:30:00Z",
"updatedAt": "2026-03-14T10:30:00Z",
"status": { "processing": false, "unfinished": false },
"tasks": []
}
],
"hasMore": false
}

Error Response

StatusDescription
400Invalid conversationId format
403Missing chat:history scope
404Conversation not found

PATCH/v1/conversations/:conversationId

Update the title of a conversation.

Path Parameters

パラメータ必須説明
conversationIdstring必須Conversation ID (UUID)

Request Body

パラメータ必須説明
titlestring必須New conversation title (200 characters or less)

Request Example

Update conversation
1curl -X PATCH https://api.fd.agenticstar.tm.softbank.jp/api/v1/conversations/550e8400-e29b-41d4-a716-446655440000 \
2-H "Authorization: Bearer <access_token>" \
3-H "Content-Type: application/json" \
4-d '{ "title": "New title" }'

Response Fields (200 OK)

FieldTypeDescription
conversationIdstringConversation ID (UUID)
titlestringUpdated title
createdAtstringCreation timestamp (ISO 8601)
updatedAtstringLast update timestamp (ISO 8601)

Response Example

JSON
{
"conversationId": "550e8400-...",
"title": "New title",
"createdAt": "2026-03-14T10:30:00.000Z",
"updatedAt": "2026-03-14T12:00:00.000Z"
}

Error Response

StatusDescription
400title is missing, empty, or exceeds 200 characters
403Missing chat:history scope
404Conversation not found

DELETE/v1/conversations/:conversationId

Delete a conversation.

Path Parameters

パラメータ必須説明
conversationIdstring必須Conversation ID (UUID)

Request Example

Delete conversation
1curl -X DELETE https://api.fd.agenticstar.tm.softbank.jp/api/v1/conversations/550e8400-e29b-41d4-a716-446655440000 \
2-H "Authorization: Bearer <access_token>"

Response Fields (200 OK)

FieldTypeDescription
conversationIdstringID of the deleted conversation (UUID)
deletedbooleanAlways true on successful deletion

Response Example

JSON
{ "conversationId": "550e8400-...", "deleted": true }

Error Response

StatusDescription
400Invalid conversationId
403Missing chat:history scope
404Conversation not found
409Conversation cannot be deleted because it is currently being processed

POST/v1/conversations/:conversationId/restore

Restore an archived conversation back to active. After restoration, the conversation can be edited, continued, and deleted just like a regular conversation.

Path Parameters

パラメータ必須説明
conversationIdstring必須ID of the archived conversation (UUID)

Request Example

Restore archived conversation
1curl -X POST https://api.fd.agenticstar.tm.softbank.jp/api/v1/conversations/550e8400-e29b-41d4-a716-446655440000/restore \
2-H "Authorization: Bearer <access_token>"

Response Fields (200 OK)

FieldTypeDescription
conversationIdstringID of the restored conversation (UUID)
restoredbooleanAlways true on successful restoration

Response Example

JSON
{ "conversationId": "550e8400-...", "restored": true }

Error Response

StatusDescription
400Invalid conversationId
403Missing chat:history scope
404No matching conversation in archive, or it is already active (archive state is not distinguished)

File Management SaaS Marketplace

Upload, retrieve, and delete files.

Endpoint List

メソッドエンドポイント説明Scope (SaaS)
GET/v1/filesList fileschat:file
POST/v1/filesUpload a filechat:file
GET/v1/files/:file_id/contentDownload a filechat:file
DELETE/v1/files/:file_idDelete a filechat:file

Note: The Marketplace edition does not require scopes (authentication only).

POST/v1/files

Upload a file.

Request Body (multipart/form-data)

パラメータ必須説明
filefile必須The file to upload
filenamestring必須File name

Request Example

Upload file
1curl -X POST https://api.fd.agenticstar.tm.softbank.jp/api/v1/files \
2-H "Authorization: Bearer <access_token>" \
3-F "file=@report.pdf" \
4-F "filename=report.pdf"

Response Fields (201 Created)

FieldTypeDescription
fileIdstringUnique identifier of the file (UUID)
filenamestringFile name
bytesintegerFile size (bytes)
createdAtstringCreation date and time (ISO 8601)
widthintegerImage width (pixels). Only for image files
heightintegerImage height (pixels). Only for image files

Response Example

JSON
{
"fileId": "550e8400-e29b-41d4-a716-446655440001",
"filename": "report.pdf",
"bytes": 1048576,
"createdAt": "2026-03-14T10:30:00.000Z"
}

Error Response

StatusDescription
400file or filename parameter is missing, or file size exceeds the limit
403Missing chat:file scope

GET/v1/files

List files.

Query Parameters

ParameterTypeDefaultDescription
limitintegerMaximum number of items to retrieve. All items are returned when omitted
orderstring"desc""asc" or "desc"

Request Example

List files
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/files?order=desc \
2-H "Authorization: Bearer <access_token>"

Response Fields (200 OK)

FieldTypeDescription
filesarrayArray of file objects
files[].fileIdstringUnique identifier of the file (UUID)
files[].filenamestringFile name
files[].bytesintegerFile size (bytes)
files[].createdAtstringCreation date and time (ISO 8601)
files[].widthintegerImage width (pixels). Only for image files
files[].heightintegerImage height (pixels). Only for image files
hasMorebooleanAlways false (pagination not supported)

Response Example

JSON
{
"files": [
{
"fileId": "550e8400-e29b-41d4-a716-446655440001",
"filename": "report.pdf",
"bytes": 1048576,
"createdAt": "2026-03-14T10:30:00.000Z"
}
],
"hasMore": false
}

Error Response

StatusDescription
403Missing chat:file scope

GET/v1/files/:file_id/content

Download a file.

Path Parameters

パラメータ必須説明
file_idstring必須File ID (UUID)

Request Example

Download file
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/files/550e8400-e29b-41d4-a716-446655440001/content \
2-H "Authorization: Bearer <access_token>" \
3-o downloaded_file.pdf

Response (200 OK)

The file binary data is returned as a stream.

Response HeaderDescription
Content-TypeMIME type of the file
Content-LengthFile size (bytes)
Content-Dispositionattachment; filename="filename"

Error Response

StatusDescription
400Invalid fileId format
403Missing chat:file scope
404File not found

DELETE/v1/files/:file_id

Delete a file.

Path Parameters

パラメータ必須説明
file_idstring必須File ID (UUID)

Request Example

Delete file
1curl -X DELETE https://api.fd.agenticstar.tm.softbank.jp/api/v1/files/550e8400-e29b-41d4-a716-446655440001 \
2-H "Authorization: Bearer <access_token>"

Response Fields (200 OK)

FieldTypeDescription
fileIdstringID of the deleted file (UUID)
deletedbooleanAlways true on successful deletion

Response Example

JSON
{ "fileId": "550e8400-e29b-41d4-a716-446655440001", "deleted": true }

Error Response

StatusDescription
400Invalid fileId format
403Missing chat:file scope
404File not found

Artifact Retrieval SaaS Marketplace

Retrieve artifact files generated by the agent.

Endpoint List

メソッドエンドポイント説明Scope (SaaS)
GET/v1/files/proxyGet an artifact filechat:exec

Note: The Marketplace edition does not require scopes (authentication only).

GET/v1/files/proxy

Download an artifact file by specifying the path obtained from deliverables[].filepath in the message history.

Query Parameters

パラメータ必須説明
pathstring必須Artifact file path (obtained from deliverables[].filepath in the message history)

Request Example

Get artifact file
1curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/files/proxy?path=/path/to/artifact.xlsx" \
2-H "Authorization: Bearer <access_token>" \
3-o artifact.xlsx

Response (200 OK)

The artifact file binary data is returned as a stream.

Response HeaderDescription
Content-TypeMIME type of the file
Content-LengthFile size (bytes)

Error Response

StatusDescription
400path parameter is missing or has an invalid format
403Missing chat:exec scope or no access permission
404File not found

Search SaaS Marketplace

Full-text search messages.

Endpoint List

メソッドエンドポイント説明Scope (SaaS)
GET/v1/search/messagesFull-text search messageschat:history

Note: The Marketplace edition does not require scopes (authentication only).

GET/v1/search/messages

Full-text search messages.

Query Parameters

パラメータ必須説明
qstring必須Search query
orderstringSort order. `"asc"` (ascending) or `"desc"` (descending, default)

Request Example

Search messages
1curl "https://api.fd.agenticstar.tm.softbank.jp/api/v1/search/messages?q=sales" \
2-H "Authorization: Bearer <access_token>"

Response Fields (200 OK)

FieldTypeDescription
messagesarrayArray of search result messages (up to 50)
messages[].conversationIdstringConversation ID (UUID)
messages[].messageIdstringUnique identifier of the message
messages[].textstringMessage body text
messages[].titlestringConversation title
messages[].senderstringSender. "User" or "AI"
messages[].createdAtstringCreation date and time (ISO 8601)
messages[].updatedAtstringLast updated date and time (ISO 8601)
messages[].matchedQueriesarrayArray of matched search queries
messages[].statusobjectMessage processing status
messages[].status.processingbooleanWhether the agent is currently processing
messages[].status.unfinishedbooleanWhether the agent response was interrupted
messages[].tasksarrayArray of tasks executed by the agent. See the Task object under [GET /v1/conversations/:conversationId/messages](#get-messages) for field definitions
messages[].deliverablesarrayArray of artifacts generated by the agent (included only when present)
messages[].deliverables[].filenamestringArtifact file name
messages[].deliverables[].filepathstringArtifact file path
messages[].deliverables[].sourcestring"agent" (agent-generated) or "user" (user-uploaded)
messages[].deliverables[].isPrimarybooleanWhether it is a primary artifact
messages[].deliverables[].createdAtstringCreation date and time (ISO 8601 format)
messages[].deliverables[].mimeTypestring?MIME type (e.g., "application/pdf", "text/markdown"). Omitted when it cannot be determined
messages[].deliverables[].sizenumber?File size (bytes). Omitted when 0 or below
messages[].filesarray?Array of user-uploaded files. Included only when present for messages with sender: "User". The field structure matches the history API (fileId / mimeType / width? / height?). See [GET /v1/conversations/:id/messages](#get-messages) for details
hasMorebooleanAlways false (pagination not supported)

Response Example

JSON
{
"messages": [
{
"conversationId": "550e8400-...",
"messageId": "msg-abc123",
"text": "Result of sales data analysis...",
"title": "Sales data analysis",
"sender": "AI",
"createdAt": "2026-03-14T10:30:00Z",
"updatedAt": "2026-03-14T10:35:00Z",
"matchedQueries": ["sales"],
"tasks": []
}
],
"hasMore": false
}

Error Response

StatusDescription
400q parameter is missing
403Missing chat:history scope

User SaaS

Retrieve, update user information, and change password.

Endpoint List

メソッドエンドポイント説明
GET/v1/userGet user information
PATCH/v1/userUpdate user information
POST/v1/user/passwordChange password

GET/v1/user

Get user information.

Request Example

Get user
1curl https://api.fd.agenticstar.tm.softbank.jp/api/v1/user \
2-H "Authorization: Bearer <access_token>"

Response Fields (200 OK)

FieldTypeDescription
userIdstringUnique identifier of the user
emailstringEmail address
usernamestringUsername
emailVerifiedbooleanEmail verification status
createdAtstringAccount creation date and time (ISO 8601)
isApprovedbooleanAccount approval status
rolestringUser role
organizationobjectOrganization (included only when set)
organization.valuestringOrganization code
organization.labelstringOrganization name
jobTypeobjectJob type (included only when set)
jobType.valuestringJob type code
jobType.labelstringJob type name
biostringBio (included only when set)
lastLoginAtstringLast login date and time (ISO 8601, included only when present)

Response Example

JSON
{
"userId": "user-abc123",
"email": "tanaka@example.com",
"username": "John Doe",
"emailVerified": true,
"createdAt": "2026-03-10T09:00:00.000Z",
"isApproved": true,
"role": "user",
"organization": { "value": "eng", "label": "Engineering Department" },
"jobType": { "value": "dev", "label": "Developer" },
"bio": "AI Engineer",
"lastLoginAt": "2026-03-14T10:00:00.000Z"
}

PATCH/v1/user

Update user information.

Request Body

パラメータ必須説明
usernamestringUsername
organizationstringOrganization code
jobTypestringJob type code
biostringBio

Request Example

Update user
1curl -X PATCH https://api.fd.agenticstar.tm.softbank.jp/api/v1/user \
2-H "Authorization: Bearer <access_token>" \
3-H "Content-Type: application/json" \
4-d '{ "username": "John Doe", "bio": "Engineering Department" }'

Response Fields (200 OK)

Returns the same user object as GET /v1/user (with updated values).

Response Example

JSON
{
"userId": "user-abc123",
"email": "tanaka@example.com",
"username": "John Doe",
"emailVerified": true,
"createdAt": "2026-03-10T09:00:00.000Z",
"isApproved": true,
"role": "user",
"organization": { "value": "eng", "label": "Engineering Department" },
"jobType": { "value": "dev", "label": "Developer" },
"bio": "Engineering Department",
"lastLoginAt": "2026-03-14T10:00:00.000Z"
}

Error Response

StatusDescription
400No fields specified for update

POST/v1/user/password

Change password.

Request Body

パラメータ必須説明
currentPasswordstring必須Current password
newPasswordstring必須New password
confirmPasswordstring必須New password (confirmation)

Request Example

Change password
1curl -X POST https://api.fd.agenticstar.tm.softbank.jp/api/v1/user/password \
2-H "Authorization: Bearer <access_token>" \
3-H "Content-Type: application/json" \
4-d '{
5 "currentPassword": "OldPass123!",
6 "newPassword": "NewPass456!",
7 "confirmPassword": "NewPass456!"
8}'

Response Fields (200 OK)

FieldTypeDescription
userIdstringUnique identifier of the user
changedbooleanAlways true on successful password change

Response Example

JSON
{ "userId": "user-abc123", "changed": true }

Error Response

StatusDescription
400Missing required parameters or password validation failed
401Authentication token is invalid or current password is incorrect

Master Data SaaS

Retrieve master data such as organizations and job types.

Endpoint List

メソッドエンドポイント説明
GET/v1/organizationsList organizations
GET/v1/job-typesList job types

GET/v1/organizations

List organizations.

Request Example

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

Response Fields (200 OK)

FieldTypeDescription
organizationsarrayArray of organization objects
organizations[].valuestringOrganization code
organizations[].labelstringOrganization name
hasMorebooleanAlways false (pagination not supported)

Response Example

JSON
{
"organizations": [
{ "value": "eng", "label": "Engineering Department" },
{ "value": "sales", "label": "Sales Department" }
],
"hasMore": false
}

GET/v1/job-types

List job types.

Request Example

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

Response Fields (200 OK)

FieldTypeDescription
jobTypesarrayArray of job type objects
jobTypes[].valuestringJob type code
jobTypes[].labelstringJob type name
hasMorebooleanAlways false (pagination not supported)

Response Example

JSON
{
"jobTypes": [
{ "value": "dev", "label": "Developer" },
{ "value": "pm", "label": "Project Manager" }
],
"hasMore": false
}

Error Responses

HTTP Status Codes

HTTP status codes that may be returned by all endpoints.

StatusDescription
400 Bad RequestInvalid request parameters
401 UnauthorizedToken is invalid or missing
403 ForbiddenNo access permission to the resource
404 Not FoundResource does not exist
409 ConflictOperation conflict, such as the resource currently being processed
413 Payload Too LargeRequest body exceeds the size limit
429 Too Many RequestsRate limit exceeded
500 Internal Server ErrorInternal server error

Error Response Format

All error responses are returned in the following common structure.

FieldTypeDescription
error.typestringError classification. One of: "invalid_request_error", "authentication_error", "insufficient_scope_error", "forbidden_error", "not_found_error", "conflict_error", "payload_too_large_error", "server_error"
error.messagestringHuman-readable error message
error.codestringMachine-processable error code (e.g., "missing_parameter", "invalid_parameter", "invalid_token")
error.paramstringThe parameter that caused the error. Included only for validation errors
error.suggested_actionstringRecommended action to take. 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"
}
}