Skip to main content
POST
Assist
Use this endpoint for every Assist turn. Create once, then pass the returned assistId for follow-ups. Read state with Get assist request. The Plan, Execute, and Update guides explain the full lifecycle. Authenticate each request with a Darwin API key in x-api-key or Authorization: Bearer. Text messages have { "type": "text", "text": "..." }. Copy IDs from your responses. Never manufacture user consent: the exact typed approvals in Execute record separate decisions by the authorized person. Guest tokens cannot authorize execution or payment. Application-only keys cannot act as a person. All commands return the same Assist state shape. An accepted command is not proof of completed provider work. Budget and execution commands keep their original live-scope, ownership, idempotency, quote-expiry, wallet, and settlement checks.

Authorizations

x-api-key
string
header
required

Headers

X-Assist-Token
string
Idempotency-Key
string

Body

application/json
type
string
required
Allowed value: "create"
message
object
required
context
string[]
Maximum array length: 10
Required string length: 1 - 4000

Response

Current Assist conversation, revisions, quote, funding, run and previous runs. Only an explicitly authorized execute request starts work.

assistId
string
required
Pattern: ^asst_[a-f0-9-]{36}$
status
enum<string>
required
Available options:
planning,
ready,
running,
paused,
completed,
cancelled
goal
string
required
messages
object[]
required
revisions
object[]
required
Maximum array length: 32
latestRevisionId
string | null
required
Pattern: ^arev_[a-f0-9-]{36}$
quote
object | null
required
funding
object | null
required
run
object | null
required
previousRuns
object[]
required
Maximum array length: 32
createdAt
string<date-time>
required
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
updatedAt
string<date-time>
required
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
assistToken
string
Last modified on October 19, 2026