Skip to main content
POST
Submit a form

Authorizations

Authorization
string
header
default:Bearer sandbox_any_token_works
required

A 15-minute token bound to one patient and one enrollment, issued by POST /v1/oauth/token with the token-exchange grant. Treat it as opaque. When it expires, exchange a fresh assertion; there is no refresh token.

Headers

Idempotency-Key
string

Optional on this action. When sent, it works as on creating requests (24 hours, same body).

Required string length: 8 - 255

Path Parameters

form_assignment_id
string<uuid>
required

Body

application/json
answers
object
required

Answers keyed by field id.

Example:

Response

The completed form.

A form sent to the patient, with its fields, prefill and any saved draft.

id
string<uuid>
required
Example:

"0190f5c3-7e21-7a40-9b11-5d6e7f8091a2"

form
object
required
status
enum<string>
required
Available options:
pending,
sent,
in_progress,
completed,
expired,
cancelled
Example:

"sent"

blocks_onboarding
boolean
required

Onboarding completes only when every blocking form is completed.

Example:

true

fields
object[]
required
prefill
object
required

Values the brand's intake already provided. Show them as defaults.

Example:
due_at
string<date-time> | null
Example:

"2026-10-24T15:00:00Z"

sent_at
string<date-time> | null
Example:

"2026-10-21T15:00:00Z"

completed_at
string<date-time> | null
Example:

null

draft_answers
object | null

Answers keyed by field id.

Example:
answers
object | null

Submitted answers, once completed.

Example:
result
object | null

Eligibility forms only, once completed.