Create a campaign
/campaignsCreates a draft campaign. Add recipients, then start it. Every recipient gets the same message, from the phone number you choose. It’s sent from the API identity the key belongs to; until identities are on for the account, it shows the key’s name.
Run in Postman: import the collection, set api_key, and find this request in its folder.
Query parameters
org_idUUIDThe organization the call acts on, from List organizations. Required when an account API key reaches more than one organization; an organization key or a key limited to one organization can leave it out.
Headers
Idempotency-KeyUUIDRequiredA UUID you generate for each write. Retrying with the same key returns the original result for 24 hours. Reusing a key with a different method, path, or body returns 409.
Body parameters
namestringRequiredA name for staff.
bodystringRequiredThe message, up to 1,600 characters. Every recipient gets the same text.
channelsecure, smssecure (the default) or sms, as in Send a message to a patient.
fromstringThe clinic phone number to send from, in E.164 format, like +15125550100. Defaults to the API key’s default number, else the organization’s only number; an organization with several numbers and no default answers 422 from_required. See List phone numbers.
send_interval_secondsnumberSeconds between messages.
Any other field returns 422 unknown_field. See Unknown fields are rejected.
Returns
Returns 201 Created with the Campaign object.
Errors
Failed requests return application/problem+json problem details. The errors specific to this endpoint:
| Status | Code | Meaning |
|---|---|---|
| 400 | invalid_request | The request is malformed, such as invalid JSON. |
| 400 | org_id_required | The key reaches more than one organization: pass org_id. |
| 401 | invalid_token | The API key is missing or malformed, or isn’t a BloomText key. |
| 401 | key_revoked | The API key was revoked. |
| 401 | key_expired | The API key’s expiry has passed. |
| 403 | insufficient_scope | The key doesn’t have the scope this endpoint needs. |
| 403 | org_not_reachable | The key can’t reach the organization in org_id. |
| 409 | idempotency_key_reused | The Idempotency-Key was already used with a different request. |
| 409 | idempotency_request_in_progress | A request with this Idempotency-Key is still running. Retry shortly. |
| 422 | validation_failed | A field failed validation. See field_errors. |
| 422 | from_required | There are several phone numbers and no default. Pass from. |
| 429 | rate_limited | Too many requests. Retry after Retry-After seconds. |