Cancel a message
Cancel an outbound message that is still queued, typically a scheduled
send that has not gone out yet. On success the message's status becomes
canceled, and no charge applies because queued messages are not yet
billed.
This call is idempotent: canceling an already-canceled message returns
200. If the message has already started sending or reached a terminal
state, the call returns 409 MESSAGE_NOT_CANCELABLE; fetch the message to
see its current status.
Requires the messages:send scope.
Authenticate by sending your API key as a bearer token:
Authorization: Bearer am_live_.... Every request is automatically
scoped to the organization that owns the key and to the scopes granted
to that key.
In: header
Path Parameters
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
curl -X DELETE "https://example.com/v1/messages/497f6eca-6276-4993-bfeb-53cbbbba6f08"{
"success": true,
"data": {
"id": "8f3a2b1c-1c2d-4e5f-9a8b-0c1d2e3f4a5b",
"from": "+15551112222",
"to": "+15554443333",
"text": "scheduled reminder",
"channel": "sms",
"priority": "default",
"status": "canceled",
"tag": "order-7421",
"scheduled_at": "2026-05-02T15:00:00Z",
"created_at": "2026-04-28T12:00:00Z"
}
}{
"success": false,
"error": {
"code": "VALIDATION_FAILED",
"message": "validation failed",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM",
"details": {
"to": "must be E.164",
"body": "must be 1..1600 chars"
}
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "authentication failed",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
}
}{
"success": false,
"error": {
"code": "FORBIDDEN",
"message": "missing required scope",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
}
}{
"success": false,
"error": {
"code": "MESSAGE_NOT_CANCELABLE",
"message": "message is not cancelable",
"request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
}
}