Skip to main content
POST
Generate a canvas document — async job, poll by run_id

Authorizations

Authorization
string
header
required

API key passed as Bearer token (e.g. "Bearer your-api-key")

Headers

X-Acting-User
string

Scope the request to a specific member of your organization (user id or email). Defaults to the API key's default member.

Body

application/json

Exactly one of subject, deal_ids, or filter is required.

canvas_id
string<uuid>
required

The published canvas to generate from.

subject
object
required

Canonical generation selector. Provide this OR top-level deal_ids OR top-level filter.

deal_ids
string<uuid>[]

An explicit deal set (provide this OR subject OR filter).

Minimum array length: 1
filter
object

A structured automation FilterExpression selecting the deal universe (provide this OR subject OR deal_ids).

template_options
object

Author/runtime chip values not derivable from the deals (e.g. period_label, target_amount, user_prompt). The draft-message preset reads recipient_name/recipient_role from here for its recipient_context chip. Keys the template neither declares nor consumes through a declared chip are accepted but echoed back as warnings.

period
object

Reporting-period spec; resolved to a concrete window for the change/movement lens.

as_of
string

Point-in-time anchor (YYYY-MM-DD).

Pattern: ^\d{4}-\d{2}-\d{2}$

Response

The job was enqueued; poll GET by run_id for the result.

run_id
string
required
status
enum<string>
required
Available options:
pending,
running,
completed,
failed
result
object | null
required

Present once status is completed.

error
string | null
required

Present once status is failed.

created_at
string
required
completed_at
string | null
required
warnings
string[]

Trigger responses only: non-fatal request problems (unrecognized chips, template_options keys the template does not declare).