Create a durable message request
/message-requestsCreates a durable message request. Authorized recipients and routes are frozen before delivery. Idempotency keys are scoped to the authenticated principal and retained for 24 hours. A retry attaches to the same request and never resends an attempted command. A created request returns HTTP 200 regardless of delivery outcome. Pending dispatches appear in neither list. FIRE_FORGET returns after storage; SYNC waits to completion; AUTO follows each selected plugin declaration. The default deadline is 30 seconds and the recipient cap is 100. TIMED_OUT means the external outcome is unknown.
Required scope
message:sendHeader parameters
- Idempotency-Key
stringRequired Client-chosen key that makes a non-idempotent request retry-safe, following draft-ietf-httpapi-idempotency-key-header. A committed response is stored for 24 hours and replayed for the same principal, operation, key and payload. Missing key returns 400 IDEMPOTENCY_KEY_REQUIRED, a key longer than 255 characters returns 400 IDEMPOTENCY_KEY_INVALID, the same key with a different payload returns 422, and the same key while the first request is still in flight returns 409. Requests rolled back before external provider attempts do not consume the key. Group mutations retain terminal failed responses after provider attempts together with received provider truth; their operation contract defines these replayable outcomes.
minLength: 1
maxLength: 255
Request body
Fields
CreateMessageRequestReturns
200
Durable request created, including its current delivery outcomes.
Fields
MessageRequestErrors
400 BAD_REQUESTBad request.
Check the request fields and any validation details, then correct the payload.
403 FORBIDDENForbidden.
Check the linked account and its permissions for the device or resource.
422 IDEMPOTENCY_KEY_REUSEDIdempotency key reused with a different payload.
Correct the rejected value using the constraints in the error details or request schema.