Skip to main content
POST
Create or schedule an operational event message

Authorizations

Authorization
string
header
required

Batch Relay scoped API key or an anonymous Test Mode session. Scope names document required capabilities. Anonymous sessions are sandbox-only and do not authorize studio, event, billing, or Live Mode operations.

Headers

Idempotency-Key
string
required
Required string length: 1 - 200
X-BatchRelay-Client-Surface
string

Untrusted optional analytics hint naming the calling client surface. It never affects authorization, routing, pricing, or behavior.

Required string length: 1 - 100
X-BatchRelay-Client-Version
string

Untrusted optional analytics hint naming the calling client version. It never affects authorization, routing, pricing, or behavior.

Required string length: 1 - 100
X-BatchRelay-Invocation-Mode
string

Untrusted optional analytics hint naming the invocation mode. It never affects authorization, routing, pricing, or behavior.

Required string length: 1 - 100

Path Parameters

studio_id
string
required

Stable public studio ID beginning with stu_. The API never selects a studio implicitly; a local CLI profile name is not a studio ID.

Required string length: 5 - 256
Pattern: ^stu_[A-Za-z0-9_-]+$

Body

application/json
audience
object
required
body
string
required

Plain operational text; URLs and promotional content are rejected.

Required string length: 1 - 2000
delivery
object
required
event_id
string
required
policy_acknowledgement_version
string
required
Maximum string length: 120
type
enum<string>
required
Available options:
photo_day_reminder,
schedule_changed,
location_changed,
what_to_bring,
event_canceled,
general_operational,
custom_operational
contact_actions
string[]

Reserved for a future verified-contact release. V1 accepts only an empty array.

subject
string

Accepted only for custom_operational.

Maximum string length: 120

Response

Durable message command

criticality
enum<string>
required

Classification only in V1; authored notices still respect the guardian routine-message preference until an event change can be corroborated server-side.

Available options:
routine,
critical
event_id
string
required
has_correction
boolean
required
id
string
required
is_correction
boolean
required
status
string
required
subject
string
required
type
string
required
accepted_email_count
integer
Required range: x >= 0
body
string

Returned only from an authorized message-detail read.

bounced_email_count
integer
Required range: x >= 0
created_at
string<date-time>
failed_email_count
integer
Required range: x >= 0
projected_recipient_count
integer
Required range: x >= 0
read_count
integer
Required range: x >= 0
recipient_count
integer
Required range: x >= 0
scheduled_for
string<date-time>
scheduled_timezone
string
sent_at
string<date-time>
suppressed_email_count
integer
Required range: x >= 0