Droid Sessions API

Create and drive Droid sessions: manage their lifecycle, settings, and messages.

GET/api/v0/sessions

List sessions

Returns a paginated list of sessions for the authenticated user. This feature is enabled for selected organizations only.

cURL
curl 'https://api.factory.ai/api/v0/sessions' \
  -H 'Authorization: Bearer $FACTORY_API_KEY'

Parameters

limitstringqueryoptional

Maximum number of items to return (1-100)

cursorstringqueryoptional

Cursor for pagination

computerIdstringqueryoptional

Computer ID to query directly

Responses

200Response for status 200
sessionsobject[]required
sessionIdstringrequired

Session ID

titlestring

Session title

statusstringrequired

Current session execution status

Allowed values

idlependingrunning
messageCountintegerrequired

Number of messages in session

createdAtintegerrequired

Creation timestamp (Unix ms)

updatedAtintegerrequired

Last update timestamp (Unix ms)

completedAtinteger

Completion timestamp (Unix ms)

computerIdstring

Connected computer ID

sessionSettingsobject
modelstring
reasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
interactionModestring

Allowed values

autospecagimission
autonomyLevelstring

Allowed values

offlowmediumhigh
autonomyModestring

Deprecated: use interactionMode + autonomyLevel instead.

Allowed values

normalspecauto-lowauto-mediumauto-high
specModeModelstring
specModeReasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
runInWorktreeboolean
providerLockstring

Allowed values

anthropicopenaigeneric-chat-completion-apifactorygooglexaivoyagebedrock-converse
providerLockTimestampstring
apiProviderLockstring

Allowed values

bedrockanthropicvertex_anthropicbedrock_anthropicbedrock_conversebedrock_openaiopenaiazure_openaigooglexaifireworksbasetensnowflake
assistantActiveTimeMsnumber
tokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
inclusiveTokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
childInclusiveTokenUsageBySessionIdobject (map)

Values

inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
archivedAtstring
tagsobject[]
namestringrequired
metadataobject (map)

Values

enabledToolIdsstring[]
disabledToolIdsstring[]
compactionModelstring
variantOption 1

Allowed values

current-model
variantOption 2

Allowed values

claude-3-5-sonnet-20241022claude-3-7-sonnet-20250219claude-sonnet-4-20250514claude-opus-4-1-20250805claude-3-5-haiku-20241022claude-sonnet-4-5-20250929claude-opus-4-5-20251101claude-haiku-4-5-20251001claude-sonnet-4-6claude-opus-4-6claude-opus-4-6-fastclaude-opus-4-7claude-opus-4-7-fastclaude-opus-4-8claude-opus-4-8-fastclaude-fable-5aspen-05-15almond-05-27gpt-5-2025-08-07gpt-5-mini-2025-08-07gpt-5-nano-2025-08-07gpt-5-codexgpt-5.1gpt-5.1-codexgpt-5.1-codex-maxgpt-5.2gpt-5.2-codexgpt-5.3-codexgpt-5.3-codex-fastgpt-5.4gpt-5.4-fastgpt-5.4-minigpt-5.5gpt-5.5-fastgpt-5.5-proolm-03-05orbit-04-09olive-05-22oriel-06-01oxide-06-01oxbow-06-01ocelot-06-01okappa-alphaomaffa-alphagemini-2.5-flashgemini-2.5-progemini-3-pro-previewgemini-3-flash-previewgemini-3.1-pro-previewgemini-3.5-flashgantry-05-07titan-02-12glm-4.6glm-4.7kimi-k2.5kimi-k2.6kimi-k2.7-codedeepseek-v4-prominimax-m2.5minimax-m2.7minimax-m3glm-5glm-5.1nemotron-3-ultra
variantOption 3 · string

Pattern: ^custom:.+$

compactionThresholdCheckEnabledboolean
paginationobjectrequired
hasMorebooleanrequired

Whether there are more items after this page

nextCursorstring | nullrequired

Cursor to use for the next page, null if no more pages

401Response for status 401
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

403Response for status 403
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

500Response for status 500
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

POST/api/v0/sessions

Create a session

Creates a new session with the specified configuration. This feature is enabled for selected organizations only.

cURL
curl -X POST 'https://api.factory.ai/api/v0/sessions' \
  -H 'Authorization: Bearer $FACTORY_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Request body

computerIdstringrequired

Computer ID to connect

cwdstring

Working directory for the session on the computer.

sessionSettingsobject
modelstring
reasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
interactionModestring

Allowed values

autospecagimission
autonomyLevelstring

Allowed values

offlowmediumhigh
autonomyModestring

Deprecated: use interactionMode + autonomyLevel instead.

Allowed values

normalspecauto-lowauto-mediumauto-high
specModeModelstring
specModeReasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
runInWorktreeboolean
providerLockstring

Allowed values

anthropicopenaigeneric-chat-completion-apifactorygooglexaivoyagebedrock-converse
providerLockTimestampstring
apiProviderLockstring

Allowed values

bedrockanthropicvertex_anthropicbedrock_anthropicbedrock_conversebedrock_openaiopenaiazure_openaigooglexaifireworksbasetensnowflake
assistantActiveTimeMsnumber
tokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
inclusiveTokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
childInclusiveTokenUsageBySessionIdobject (map)

Values

inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
archivedAtstring
tagsobject[]
namestringrequired
metadataobject (map)

Values

enabledToolIdsstring[]
disabledToolIdsstring[]
compactionModelstring
variantOption 1

Allowed values

current-model
variantOption 2

Allowed values

claude-3-5-sonnet-20241022claude-3-7-sonnet-20250219claude-sonnet-4-20250514claude-opus-4-1-20250805claude-3-5-haiku-20241022claude-sonnet-4-5-20250929claude-opus-4-5-20251101claude-haiku-4-5-20251001claude-sonnet-4-6claude-opus-4-6claude-opus-4-6-fastclaude-opus-4-7claude-opus-4-7-fastclaude-opus-4-8claude-opus-4-8-fastclaude-fable-5aspen-05-15almond-05-27gpt-5-2025-08-07gpt-5-mini-2025-08-07gpt-5-nano-2025-08-07gpt-5-codexgpt-5.1gpt-5.1-codexgpt-5.1-codex-maxgpt-5.2gpt-5.2-codexgpt-5.3-codexgpt-5.3-codex-fastgpt-5.4gpt-5.4-fastgpt-5.4-minigpt-5.5gpt-5.5-fastgpt-5.5-proolm-03-05orbit-04-09olive-05-22oriel-06-01oxide-06-01oxbow-06-01ocelot-06-01okappa-alphaomaffa-alphagemini-2.5-flashgemini-2.5-progemini-3-pro-previewgemini-3-flash-previewgemini-3.1-pro-previewgemini-3.5-flashgantry-05-07titan-02-12glm-4.6glm-4.7kimi-k2.5kimi-k2.6kimi-k2.7-codedeepseek-v4-prominimax-m2.5minimax-m2.7minimax-m3glm-5glm-5.1nemotron-3-ultra
variantOption 3 · string

Pattern: ^custom:.+$

compactionThresholdCheckEnabledboolean

Responses

201Response for status 201
sessionIdstringrequired

Session ID

titlestring

Session title

statusstringrequired

Current session execution status

Allowed values

idlependingrunning
messageCountintegerrequired

Number of messages in session

createdAtintegerrequired

Creation timestamp (Unix ms)

updatedAtintegerrequired

Last update timestamp (Unix ms)

completedAtinteger

Completion timestamp (Unix ms)

computerIdstring

Connected computer ID

sessionSettingsobject
modelstring
reasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
interactionModestring

Allowed values

autospecagimission
autonomyLevelstring

Allowed values

offlowmediumhigh
autonomyModestring

Deprecated: use interactionMode + autonomyLevel instead.

Allowed values

normalspecauto-lowauto-mediumauto-high
specModeModelstring
specModeReasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
runInWorktreeboolean
providerLockstring

Allowed values

anthropicopenaigeneric-chat-completion-apifactorygooglexaivoyagebedrock-converse
providerLockTimestampstring
apiProviderLockstring

Allowed values

bedrockanthropicvertex_anthropicbedrock_anthropicbedrock_conversebedrock_openaiopenaiazure_openaigooglexaifireworksbasetensnowflake
assistantActiveTimeMsnumber
tokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
inclusiveTokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
childInclusiveTokenUsageBySessionIdobject (map)

Values

inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
archivedAtstring
tagsobject[]
namestringrequired
metadataobject (map)

Values

enabledToolIdsstring[]
disabledToolIdsstring[]
compactionModelstring
variantOption 1

Allowed values

current-model
variantOption 2

Allowed values

claude-3-5-sonnet-20241022claude-3-7-sonnet-20250219claude-sonnet-4-20250514claude-opus-4-1-20250805claude-3-5-haiku-20241022claude-sonnet-4-5-20250929claude-opus-4-5-20251101claude-haiku-4-5-20251001claude-sonnet-4-6claude-opus-4-6claude-opus-4-6-fastclaude-opus-4-7claude-opus-4-7-fastclaude-opus-4-8claude-opus-4-8-fastclaude-fable-5aspen-05-15almond-05-27gpt-5-2025-08-07gpt-5-mini-2025-08-07gpt-5-nano-2025-08-07gpt-5-codexgpt-5.1gpt-5.1-codexgpt-5.1-codex-maxgpt-5.2gpt-5.2-codexgpt-5.3-codexgpt-5.3-codex-fastgpt-5.4gpt-5.4-fastgpt-5.4-minigpt-5.5gpt-5.5-fastgpt-5.5-proolm-03-05orbit-04-09olive-05-22oriel-06-01oxide-06-01oxbow-06-01ocelot-06-01okappa-alphaomaffa-alphagemini-2.5-flashgemini-2.5-progemini-3-pro-previewgemini-3-flash-previewgemini-3.1-pro-previewgemini-3.5-flashgantry-05-07titan-02-12glm-4.6glm-4.7kimi-k2.5kimi-k2.6kimi-k2.7-codedeepseek-v4-prominimax-m2.5minimax-m2.7minimax-m3glm-5glm-5.1nemotron-3-ultra
variantOption 3 · string

Pattern: ^custom:.+$

compactionThresholdCheckEnabledboolean
400Response for status 400
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

401Response for status 401
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

403Response for status 403
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

429Response for status 429
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

500Response for status 500
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

GET/api/v0/sessions/{sessionId}

Get a session

Returns detailed session information including settings and stats. This feature is enabled for selected organizations only.

cURL
curl 'https://api.factory.ai/api/v0/sessions/{sessionId}' \
  -H 'Authorization: Bearer $FACTORY_API_KEY'

Parameters

sessionIdstringpathrequired

Session ID

computerIdstringqueryoptional

Computer ID to query directly

Responses

200Response for status 200
sessionIdstringrequired

Session ID

titlestring

Session title

statusstringrequired

Current session execution status

Allowed values

idlependingrunning
messageCountintegerrequired

Number of messages in session

createdAtintegerrequired

Creation timestamp (Unix ms)

updatedAtintegerrequired

Last update timestamp (Unix ms)

completedAtinteger

Completion timestamp (Unix ms)

computerIdstring

Connected computer ID

sessionSettingsobject
modelstring
reasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
interactionModestring

Allowed values

autospecagimission
autonomyLevelstring

Allowed values

offlowmediumhigh
autonomyModestring

Deprecated: use interactionMode + autonomyLevel instead.

Allowed values

normalspecauto-lowauto-mediumauto-high
specModeModelstring
specModeReasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
runInWorktreeboolean
providerLockstring

Allowed values

anthropicopenaigeneric-chat-completion-apifactorygooglexaivoyagebedrock-converse
providerLockTimestampstring
apiProviderLockstring

Allowed values

bedrockanthropicvertex_anthropicbedrock_anthropicbedrock_conversebedrock_openaiopenaiazure_openaigooglexaifireworksbasetensnowflake
assistantActiveTimeMsnumber
tokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
inclusiveTokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
childInclusiveTokenUsageBySessionIdobject (map)

Values

inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
archivedAtstring
tagsobject[]
namestringrequired
metadataobject (map)

Values

enabledToolIdsstring[]
disabledToolIdsstring[]
compactionModelstring
variantOption 1

Allowed values

current-model
variantOption 2

Allowed values

claude-3-5-sonnet-20241022claude-3-7-sonnet-20250219claude-sonnet-4-20250514claude-opus-4-1-20250805claude-3-5-haiku-20241022claude-sonnet-4-5-20250929claude-opus-4-5-20251101claude-haiku-4-5-20251001claude-sonnet-4-6claude-opus-4-6claude-opus-4-6-fastclaude-opus-4-7claude-opus-4-7-fastclaude-opus-4-8claude-opus-4-8-fastclaude-fable-5aspen-05-15almond-05-27gpt-5-2025-08-07gpt-5-mini-2025-08-07gpt-5-nano-2025-08-07gpt-5-codexgpt-5.1gpt-5.1-codexgpt-5.1-codex-maxgpt-5.2gpt-5.2-codexgpt-5.3-codexgpt-5.3-codex-fastgpt-5.4gpt-5.4-fastgpt-5.4-minigpt-5.5gpt-5.5-fastgpt-5.5-proolm-03-05orbit-04-09olive-05-22oriel-06-01oxide-06-01oxbow-06-01ocelot-06-01okappa-alphaomaffa-alphagemini-2.5-flashgemini-2.5-progemini-3-pro-previewgemini-3-flash-previewgemini-3.1-pro-previewgemini-3.5-flashgantry-05-07titan-02-12glm-4.6glm-4.7kimi-k2.5kimi-k2.6kimi-k2.7-codedeepseek-v4-prominimax-m2.5minimax-m2.7minimax-m3glm-5glm-5.1nemotron-3-ultra
variantOption 3 · string

Pattern: ^custom:.+$

compactionThresholdCheckEnabledboolean
401Response for status 401
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

403Response for status 403
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

404Response for status 404
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

500Response for status 500
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

503Response for status 503
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

DELETE/api/v0/sessions/{sessionId}

Delete a session

Soft-deletes a session (can be restored within retention period). This feature is enabled for selected organizations only.

cURL
curl -X DELETE 'https://api.factory.ai/api/v0/sessions/{sessionId}' \
  -H 'Authorization: Bearer $FACTORY_API_KEY'

Parameters

sessionIdstringpathrequired

Session ID

computerIdstringqueryoptional

Computer ID to query directly

Responses

204Response for status 204
401Response for status 401
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

403Response for status 403
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

404Response for status 404
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

500Response for status 500
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

503Response for status 503
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

PATCH/api/v0/sessions/{sessionId}

Update a session

Updates session configuration such as model and reasoning effort. This feature is enabled for selected organizations only.

cURL
curl -X PATCH 'https://api.factory.ai/api/v0/sessions/{sessionId}' \
  -H 'Authorization: Bearer $FACTORY_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Parameters

sessionIdstringpathrequired

Session ID

Request body

sessionSettingsobject
modelstring
reasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
interactionModestring

Allowed values

autospecagimission
autonomyLevelstring

Allowed values

offlowmediumhigh
autonomyModestring

Deprecated: use interactionMode + autonomyLevel instead.

Allowed values

normalspecauto-lowauto-mediumauto-high
specModeModelstring
specModeReasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
runInWorktreeboolean
providerLockstring

Allowed values

anthropicopenaigeneric-chat-completion-apifactorygooglexaivoyagebedrock-converse
providerLockTimestampstring
apiProviderLockstring

Allowed values

bedrockanthropicvertex_anthropicbedrock_anthropicbedrock_conversebedrock_openaiopenaiazure_openaigooglexaifireworksbasetensnowflake
assistantActiveTimeMsnumber
tokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
inclusiveTokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
childInclusiveTokenUsageBySessionIdobject (map)

Values

inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
archivedAtstring
tagsobject[]
namestringrequired
metadataobject (map)

Values

enabledToolIdsstring[]
disabledToolIdsstring[]
compactionModelstring
variantOption 1

Allowed values

current-model
variantOption 2

Allowed values

claude-3-5-sonnet-20241022claude-3-7-sonnet-20250219claude-sonnet-4-20250514claude-opus-4-1-20250805claude-3-5-haiku-20241022claude-sonnet-4-5-20250929claude-opus-4-5-20251101claude-haiku-4-5-20251001claude-sonnet-4-6claude-opus-4-6claude-opus-4-6-fastclaude-opus-4-7claude-opus-4-7-fastclaude-opus-4-8claude-opus-4-8-fastclaude-fable-5aspen-05-15almond-05-27gpt-5-2025-08-07gpt-5-mini-2025-08-07gpt-5-nano-2025-08-07gpt-5-codexgpt-5.1gpt-5.1-codexgpt-5.1-codex-maxgpt-5.2gpt-5.2-codexgpt-5.3-codexgpt-5.3-codex-fastgpt-5.4gpt-5.4-fastgpt-5.4-minigpt-5.5gpt-5.5-fastgpt-5.5-proolm-03-05orbit-04-09olive-05-22oriel-06-01oxide-06-01oxbow-06-01ocelot-06-01okappa-alphaomaffa-alphagemini-2.5-flashgemini-2.5-progemini-3-pro-previewgemini-3-flash-previewgemini-3.1-pro-previewgemini-3.5-flashgantry-05-07titan-02-12glm-4.6glm-4.7kimi-k2.5kimi-k2.6kimi-k2.7-codedeepseek-v4-prominimax-m2.5minimax-m2.7minimax-m3glm-5glm-5.1nemotron-3-ultra
variantOption 3 · string

Pattern: ^custom:.+$

compactionThresholdCheckEnabledboolean

Responses

200Response for status 200
sessionIdstringrequired

Session ID

titlestring

Session title

statusstringrequired

Current session execution status

Allowed values

idlependingrunning
messageCountintegerrequired

Number of messages in session

createdAtintegerrequired

Creation timestamp (Unix ms)

updatedAtintegerrequired

Last update timestamp (Unix ms)

completedAtinteger

Completion timestamp (Unix ms)

computerIdstring

Connected computer ID

sessionSettingsobject
modelstring
reasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
interactionModestring

Allowed values

autospecagimission
autonomyLevelstring

Allowed values

offlowmediumhigh
autonomyModestring

Deprecated: use interactionMode + autonomyLevel instead.

Allowed values

normalspecauto-lowauto-mediumauto-high
specModeModelstring
specModeReasoningEffortstring

Allowed values

nonedynamicoffminimallowmediumhighxhighmax
runInWorktreeboolean
providerLockstring

Allowed values

anthropicopenaigeneric-chat-completion-apifactorygooglexaivoyagebedrock-converse
providerLockTimestampstring
apiProviderLockstring

Allowed values

bedrockanthropicvertex_anthropicbedrock_anthropicbedrock_conversebedrock_openaiopenaiazure_openaigooglexaifireworksbasetensnowflake
assistantActiveTimeMsnumber
tokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
inclusiveTokenUsageobject
inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
childInclusiveTokenUsageBySessionIdobject (map)

Values

inputTokensnumberrequired
outputTokensnumberrequired
cacheCreationTokensnumberrequired
cacheReadTokensnumberrequired
thinkingTokensnumberrequired
factoryCreditsnumber
archivedAtstring
tagsobject[]
namestringrequired
metadataobject (map)

Values

enabledToolIdsstring[]
disabledToolIdsstring[]
compactionModelstring
variantOption 1

Allowed values

current-model
variantOption 2

Allowed values

claude-3-5-sonnet-20241022claude-3-7-sonnet-20250219claude-sonnet-4-20250514claude-opus-4-1-20250805claude-3-5-haiku-20241022claude-sonnet-4-5-20250929claude-opus-4-5-20251101claude-haiku-4-5-20251001claude-sonnet-4-6claude-opus-4-6claude-opus-4-6-fastclaude-opus-4-7claude-opus-4-7-fastclaude-opus-4-8claude-opus-4-8-fastclaude-fable-5aspen-05-15almond-05-27gpt-5-2025-08-07gpt-5-mini-2025-08-07gpt-5-nano-2025-08-07gpt-5-codexgpt-5.1gpt-5.1-codexgpt-5.1-codex-maxgpt-5.2gpt-5.2-codexgpt-5.3-codexgpt-5.3-codex-fastgpt-5.4gpt-5.4-fastgpt-5.4-minigpt-5.5gpt-5.5-fastgpt-5.5-proolm-03-05orbit-04-09olive-05-22oriel-06-01oxide-06-01oxbow-06-01ocelot-06-01okappa-alphaomaffa-alphagemini-2.5-flashgemini-2.5-progemini-3-pro-previewgemini-3-flash-previewgemini-3.1-pro-previewgemini-3.5-flashgantry-05-07titan-02-12glm-4.6glm-4.7kimi-k2.5kimi-k2.6kimi-k2.7-codedeepseek-v4-prominimax-m2.5minimax-m2.7minimax-m3glm-5glm-5.1nemotron-3-ultra
variantOption 3 · string

Pattern: ^custom:.+$

compactionThresholdCheckEnabledboolean
401Response for status 401
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

403Response for status 403
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

404Response for status 404
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

500Response for status 500
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

503Response for status 503
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

POST/api/v0/sessions/{sessionId}/interrupt

Interrupt a session

Interrupts a running agent loop. Idempotent if already idle. This feature is enabled for selected organizations only.

cURL
curl -X POST 'https://api.factory.ai/api/v0/sessions/{sessionId}/interrupt' \
  -H 'Authorization: Bearer $FACTORY_API_KEY'

Parameters

sessionIdstringpathrequired

Responses

200Response for status 200
statusstringrequired

Current session execution status

Allowed values

idlependingrunning
400Response for status 400
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

401Response for status 401
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

403Response for status 403
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

404Response for status 404
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

500Response for status 500
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

503Response for status 503
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

GET/api/v0/sessions/{sessionId}/messages

Get session messages

Returns paginated message history with optional role filtering. This feature is enabled for selected organizations only.

cURL
curl 'https://api.factory.ai/api/v0/sessions/{sessionId}/messages' \
  -H 'Authorization: Bearer $FACTORY_API_KEY'

Parameters

sessionIdstringpathrequired
limitstringqueryoptional

Maximum number of items to return (1-100)

cursorstringqueryoptional

Cursor for pagination

computerIdstringqueryoptional

Computer ID to query directly

rolestringqueryoptional

Filter messages by role

Allowed values

userassistanttool

Responses

200Response for status 200
messagesobject[]required
idstringrequired
rolestringrequired

Allowed values

userassistanttoolsystem
contentobject[]required

Each item is one of

varianttext
idstring
typestringrequired

Allowed values

text
textstringrequired
variantimage
idstring
typestringrequired

Allowed values

image
sourceobjectrequired
typestringrequired

Allowed values

base64
datastringrequired
mediaTypestringrequired

Allowed values

image/jpegimage/pngimage/gifimage/webp
variantthinking
idstring
typestringrequired

Allowed values

thinking
signaturestringrequired
signatureProviderstring
variantOption 1

Allowed values

anthropicopenaigeneric-chat-completion-apifactorygooglexaivoyagebedrock-converse
variantOption 2

Allowed values

unknown
thinkingstringrequired
durationMsnumber
variantredacted_thinking
idstring
typestringrequired

Allowed values

redacted_thinking
datastringrequired
varianttool_use
typestringrequired

Allowed values

tool_use
idstringrequired
inputobject (map)required

Values

namestringrequired
thoughtSignaturestring
varianttool_result
idstring
typestringrequired

Allowed values

tool_result
toolUseIdstringrequired
contentstring | object[]
variantOption 1 · string
variantOption 2 · object[]

Each item is one of

varianttext
idstring
typestringrequired

Allowed values

text
textstringrequired
variantimage
idstring
typestringrequired

Allowed values

image
sourceobjectrequired
typestringrequired

Allowed values

base64
datastringrequired
mediaTypestringrequired

Allowed values

image/jpegimage/pngimage/gifimage/webp
variantdocument
idstring
typestringrequired

Allowed values

document
sourceobjectrequired
variantbase64
typestringrequired

Allowed values

base64
mediaTypestringrequired

Allowed values

application/pdf
datastringrequired
parsedDatastring
namestring
pathstring
varianttext
typestringrequired

Allowed values

text
mediaTypestringrequired

Allowed values

text/plain
datastringrequired
namestring
mimestring
isErrorboolean
variantdocument
idstring
typestringrequired

Allowed values

document
sourceobjectrequired
variantbase64
typestringrequired

Allowed values

base64
mediaTypestringrequired

Allowed values

application/pdf
datastringrequired
parsedDatastring
namestring
pathstring
varianttext
typestringrequired

Allowed values

text
mediaTypestringrequired

Allowed values

text/plain
datastringrequired
namestring
mimestring
createdAtnumberrequired
updatedAtnumberrequired
parentIdstring
userMessageSourcestring

Allowed values

webdesktopcli_tuicli_execcli_acpslacklinearsessions_apiapiautomationreadiness-remediationreadiness-evaluationwiki-generationwiki-ci-setup
visibilitystring

Allowed values

bothllm_onlyuser_only
openaiMessageIdstring
openaiPhasestring | null

Allowed values

commentaryfinal_answer
openaiEncryptedContentstring
openaiReasoningIdstring
openaiReasoningSummarystring
geminiThoughtSignaturestring

@deprecated Use thinking block `signature` fields with `signatureProvider: "google"` instead. Do not use in new code.

chatCompletionReasoningFieldstring

Allowed values

reasoningreasoning_content
chatCompletionReasoningContentstring
isUserVisibleboolean
isErrorboolean
paginationobjectrequired
hasMorebooleanrequired

Whether there are more items after this page

nextCursorstring | nullrequired

Cursor to use for the next page, null if no more pages

400Response for status 400
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

401Response for status 401
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

403Response for status 403
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

404Response for status 404
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

500Response for status 500
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

POST/api/v0/sessions/{sessionId}/messages

Add a message to a session

Adds a user message and optionally waits for agent completion. Supports text, images, and file attachments. This feature is enabled for selected organizations only.

cURL
curl -X POST 'https://api.factory.ai/api/v0/sessions/{sessionId}/messages' \
  -H 'Authorization: Bearer $FACTORY_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Parameters

sessionIdstringpathrequired

Request body

textstringrequired

Message text content

imagesobject[]

Optional base64-encoded images

typestringrequired

Allowed values

base64
datastringrequired
mediaTypestringrequired

Allowed values

image/jpegimage/pngimage/gifimage/webp
filesobject[]

Optional file attachments (PDFs, text files)

Each item is one of

variantbase64
typestringrequired

Allowed values

base64
mediaTypestringrequired

Allowed values

application/pdf
datastringrequired
parsedDatastring
namestring
pathstring
varianttext
typestringrequired

Allowed values

text
mediaTypestringrequired

Allowed values

text/plain
datastringrequired
namestring
mimestring
computerIdstring

Computer ID to route the message to; falls back to the session.computerId if omitted

Responses

200Response for status 200
messageIdstringrequired

ID of the created user message

statusstringrequired

Agent status after message submission

Allowed values

idlependingrunning
400Response for status 400
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

401Response for status 401
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

403Response for status 403
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

404Response for status 404
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

500Response for status 500
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

503Response for status 503
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

GET/api/v0/sessions/{sessionId}/messages/{messageId}

Get a message by ID

Returns a single message from the session by its ID. This feature is enabled for selected organizations only.

cURL
curl 'https://api.factory.ai/api/v0/sessions/{sessionId}/messages/{messageId}' \
  -H 'Authorization: Bearer $FACTORY_API_KEY'

Parameters

sessionIdstringpathrequired

Session ID

messageIdstringpathrequired

Message ID

computerIdstringqueryoptional

Computer ID to query directly

Responses

200Response for status 200
idstringrequired
rolestringrequired

Allowed values

userassistanttoolsystem
contentobject[]required

Each item is one of

varianttext
idstring
typestringrequired

Allowed values

text
textstringrequired
variantimage
idstring
typestringrequired

Allowed values

image
sourceobjectrequired
typestringrequired

Allowed values

base64
datastringrequired
mediaTypestringrequired

Allowed values

image/jpegimage/pngimage/gifimage/webp
variantthinking
idstring
typestringrequired

Allowed values

thinking
signaturestringrequired
signatureProviderstring
variantOption 1

Allowed values

anthropicopenaigeneric-chat-completion-apifactorygooglexaivoyagebedrock-converse
variantOption 2

Allowed values

unknown
thinkingstringrequired
durationMsnumber
variantredacted_thinking
idstring
typestringrequired

Allowed values

redacted_thinking
datastringrequired
varianttool_use
typestringrequired

Allowed values

tool_use
idstringrequired
inputobject (map)required

Values

namestringrequired
thoughtSignaturestring
varianttool_result
idstring
typestringrequired

Allowed values

tool_result
toolUseIdstringrequired
contentstring | object[]
variantOption 1 · string
variantOption 2 · object[]

Each item is one of

varianttext
idstring
typestringrequired

Allowed values

text
textstringrequired
variantimage
idstring
typestringrequired

Allowed values

image
sourceobjectrequired
typestringrequired

Allowed values

base64
datastringrequired
mediaTypestringrequired

Allowed values

image/jpegimage/pngimage/gifimage/webp
variantdocument
idstring
typestringrequired

Allowed values

document
sourceobjectrequired
variantbase64
typestringrequired

Allowed values

base64
mediaTypestringrequired

Allowed values

application/pdf
datastringrequired
parsedDatastring
namestring
pathstring
varianttext
typestringrequired

Allowed values

text
mediaTypestringrequired

Allowed values

text/plain
datastringrequired
namestring
mimestring
isErrorboolean
variantdocument
idstring
typestringrequired

Allowed values

document
sourceobjectrequired
variantbase64
typestringrequired

Allowed values

base64
mediaTypestringrequired

Allowed values

application/pdf
datastringrequired
parsedDatastring
namestring
pathstring
varianttext
typestringrequired

Allowed values

text
mediaTypestringrequired

Allowed values

text/plain
datastringrequired
namestring
mimestring
createdAtnumberrequired
updatedAtnumberrequired
parentIdstring
userMessageSourcestring

Allowed values

webdesktopcli_tuicli_execcli_acpslacklinearsessions_apiapiautomationreadiness-remediationreadiness-evaluationwiki-generationwiki-ci-setup
visibilitystring

Allowed values

bothllm_onlyuser_only
openaiMessageIdstring
openaiPhasestring | null

Allowed values

commentaryfinal_answer
openaiEncryptedContentstring
openaiReasoningIdstring
openaiReasoningSummarystring
geminiThoughtSignaturestring

@deprecated Use thinking block `signature` fields with `signatureProvider: "google"` instead. Do not use in new code.

chatCompletionReasoningFieldstring

Allowed values

reasoningreasoning_content
chatCompletionReasoningContentstring
isUserVisibleboolean
isErrorboolean
400Response for status 400
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

401Response for status 401
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

403Response for status 403
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

404Response for status 404
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

500Response for status 500
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values

503Response for status 503
detailstringrequired

Human-readable error message

statusnumberrequired

HTTP status code

titlestringrequired

HTTP status title

metadataobject (map)

Additional error metadata

Values