Skip to Content
API access is available to organizations with a signed BAA. Request API access →
API referenceCreate a campaign

Create a campaign

POST/campaigns

Creates a draft campaign. Add recipients, then start it. Every recipient gets the same message, from the phone number you choose. It’s sent as the connected admin, or as the API key’s name.

Scope
messages.write
Idempotent
With Idempotency-Key

Headers

Idempotency-KeyUUIDRequired

A 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

namestringRequired

A name for staff.

bodystringRequired

The message, up to 1,600 characters. Every recipient gets the same text.

channelsecure, sms

secure (the default) or sms, as in Send a message to a patient.

fromstring

The clinic phone number to send from, in E.164 format, like +15125550100. Defaults to the default number: the one set on the API key, or the admin’s own. See List phone numbers.

send_interval_secondsnumber

Seconds between messages.

Returns

Returns 201 Created with the Campaign object.

Errors

Failed requests return application/problem+json problem details. The errors specific to this endpoint:

StatusCodeMeaning
400invalid_requestThe request is malformed, such as invalid JSON.
401invalid_tokenThe API key or access token is missing, expired, or revoked.
403insufficient_scopeThe credential doesn’t have the scope this endpoint needs.
409idempotency_key_reusedThe Idempotency-Key was already used with a different request.
409idempotency_request_in_progressA request with this Idempotency-Key is still running. Retry shortly.
422validation_failedA field failed validation. See field_errors.
422from_requiredThere are several phone numbers and no default. Pass from.
429rate_limitedToo many requests. Retry after Retry-After seconds.
Last updated on