Update Project
Update a project while in draft, awaiting_test, or ready. organization_id / brand_id / campaign_id / channel / toll_free_verification_id / type are immutable after creation; including them in the body returns a 400. All other fields are partial: send only the keys you want to change.
The payload shape follows the project’s type. For surveys, questions is a full replacement: sending it swaps the entire question set (same rules as create). Editing content on a ready project moves it back to awaiting_test (re-test required).
Authorizations
Authenticate every request by passing your API key in the X-API-Key header. Keys are scoped to your organization hierarchy.
Headers
Optional idempotency key: a unique string of 16-200 printable ASCII characters (a UUID is recommended). Retrying the write with the same key within 24 hours returns the stored response of the first call with an X-Idempotent-Replayed: true response header instead of executing it again. Reusing a key with a different request body returns 422 (IDEMPOTENCY_MISMATCH); a duplicate sent while the first call is still running returns 409 with a Retry-After header. Keys are scoped per endpoint and organization.
16 - 200Path Parameters
Resource ID
Body
- Broadcast project update
- Survey project update
sms, mms Replace the project's sending phone numbers (1-49). New conversations rotate across them; existing conversations keep their already-assigned sticky number.
1 - 49 elementsDeprecated. Use phone_number_ids. A single id is treated as a one-element phone_number_ids.
1Contact field appended as a redirect query param on tracking links ('phone', a custom-field name, or null for none).
64