Patch Campaign Full
PATCH /campaigns/{campaign_id}/full
Apply a deep-update to a campaign in one round trip.
Behavior:
- Campaign fields (name/brief/hook/etc.) update the row when present.
- audience_list_id attaches; detach_audience=true clears it.
- documents[*] either updates an existing doc by id, or creates a
new doc when id is omitted (file_type + display_name required).
- sequence_steps replaces the sequence ordering verbatim
(same semantics as PUT /sequence).
Returns the full kitchen-sink payload (same shape as GET /full). Backwards-compat: omitting any field is a no-op. Existing single-purpose endpoints (PATCH /campaigns/{id}, PUT /audience, PUT /sequence, etc.) keep working unchanged.
Authorizations
Parameters
Path Parameters
Campaign ID
Campaign ID
Header Parameters
Request Body required
Deep-update payload for PATCH /campaigns/{id}/full.
Every field is optional. Each non-null section is applied in the same transaction — campaign fields → audience → documents → sequence — so a single call can re-shape the whole campaign without ping-pong.
object
Set true to explicitly DETACH the audience (audience_list_id=NULL). Required because JSON null in audience_list_id is ambiguous (could mean ‘no change’).
A single-document patch for PATCH /campaigns/{id}/full.
object
Responses
200
Successful Response
object
object
422
Validation Error