Schedule a draft email broadcast for a future ISO datetime (sendAt). Requires a non-empty subject. fromAddress must be the platform default sender or a domain verified for this account (Settings → Domain Verification). The platform default sender is for testing only (at most 10 recipients, heavily throttled). Cancels any existing schedule when the broadcast is returned to draft via cancel.
const url = 'https://api.pingram.io/broadcasts/example/schedule';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"sendAt":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.pingram.io/broadcasts/example/schedule \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "sendAt": "example" }'Authorizations
Parameters
Path Parameters
Broadcast ID
Request Bodyrequired
object
ISO datetime in the future.
Examplegenerated
{ "sendAt": "example"}Responses
200
Successful response
Broadcast as returned by the API (html + optional internalTemplate on single-get only).
object
UUIDv7 (time-ordered).
Lifecycle status of an email broadcast.
Notification type id. Required before send or schedule.
Email-only in v1; forward-compatible field.
Broadcast audience: exactly one of filter (Mongo-style query evaluated against synced user objects) or emails (raw list, max 10,000 addresses; for larger audiences use filter after syncing users via the Users API).
object
object
Send-ready HTML body.
Optional visual-editor source. Can only be set at create time and must stay paired with html.
ISO datetime for scheduled broadcasts.
Set when the user archives the broadcast; hidden from the default list.
Example
{ "status": "draft", "pausedReason": "PAUSED_BY_USER", "channel": "email"}400
Bad Request - validation errors, invalid input
Standard error response for API errors.
object
Unique tracking ID for the request.
Structured error details for API error responses.
object
Machine-readable error code.
Human-readable error message.
Actionable hint for fixing the error.
Examplegenerated
{ "trackingId": "example", "error": { "code": "example", "message": "example", "fix": "example" }}401
Unauthorized
402
Payment Required - usage limits exceeded
Standard error response for API errors.
object
Unique tracking ID for the request.
Structured error details for API error responses.
object
Machine-readable error code.
Human-readable error message.
Actionable hint for fixing the error.
Examplegenerated
{ "trackingId": "example", "error": { "code": "example", "message": "example", "fix": "example" }}500
Internal Server Error
502
Bad Gateway - provider error
Standard error response for API errors.
object
Unique tracking ID for the request.
Structured error details for API error responses.
object
Machine-readable error code.
Human-readable error message.
Actionable hint for fixing the error.
Examplegenerated
{ "trackingId": "example", "error": { "code": "example", "message": "example", "fix": "example" }}