Skip to main content
POST
Go (SDK)

Authorizations

Authorization
string
header
required

Send Authorization: Bearer , using an MKA1 API key for automation or an OAuth API access token for a signed-in application. Use a dynamic security callback to refresh OAuth access tokens. Browser session-only operations still require their declared cookie.

Headers

X-On-Behalf-Of
string

Optional external end-user identifier forwarded by the API gateway.

Body

application/json
name
string
required
Required string length: 1 - 120
model
string
required
Minimum string length: 1
Example:

"functionary-pt"

description
string | null
Maximum string length: 2000
instructions
string | null
Maximum string length: 20000
tools
object[]

Tool configuration for agent creation or update. Shell container_auto accepts network_policy with type 'allowlist' and up to 256 allowed_domains (DNS hostnames); an empty or omitted list denies all external hosts. This further restricts tenant and operator policies. Domain secrets, unknown policy fields, and changing a container_reference policy or memory-store mounts are rejected. Omit memory_stores on a reference to retain its existing mounts. computer_use_preview is unsupported. Historical agent responses and versions retain their original tool fields.

tool_choice
any

Arbitrary JSON value.

parallel_tool_calls
boolean
default:true
max_tool_calls
integer | null
Required range: 1 <= x <= 300
fallback_models
string[]

Ordered chain of model IDs the gateway tries when a model call fails on the model before it; forwarded unchanged to the Responses API, which validates it. Empty (the default) means the run keeps the gateway's own fallback rules for the model.

Minimum string length: 1
max_concurrent_runs
integer | null

Most runs of this agent that may execute at once. Null (the default) means no limit. Not part of the versioned configuration: a rollback keeps the current limit, and changing only this field or concurrency_overflow creates no new version.

Required range: 1 <= x <= 1000
concurrency_overflow
enum<string>

What a run beyond max_concurrent_runs gets. reject (the default) refuses it with 429 and error code agent_concurrency_limit. queue stores it as waiting and starts it, oldest first, when a run finishes, with the agent configuration current at that time.

Available options:
reject,
queue
text
object | null
reasoning
object | null
metadata
object

Response

Agent created.

object
enum<string>
required
Available options:
agent
id
string
required
name
string
required
description
string | null
required
model
string
required
Example:

"functionary-pt"

instructions
string | null
required
tools
object[]
required
tool_choice
any
required

Arbitrary JSON value.

parallel_tool_calls
boolean
required
max_tool_calls
integer | null
required
fallback_models
string[]
required
max_concurrent_runs
integer | null
required
Required range: 1 <= x <= 1000
concurrency_overflow
enum<string>
required
Available options:
reject,
queue
text
object | null
required
reasoning
object | null
required
metadata
object
required
version
integer
required

Current configuration version. Incremented on every update or rollback.

Required range: x >= 1
created_at
string<date-time>
required
updated_at
string<date-time>
required
deleted_at
string<date-time> | null
required
retention_expires_at
string<date-time> | null
required
within_restore_window
boolean
required

Whether the deleted agent is within its pinned restoration deadline, independent of caller permission.

can_restore
boolean
required

Whether the current caller has restoration permission within the pinned deadline.