> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.teekrr.com/llms.txt.
> For full documentation content, see https://docs.teekrr.com/llms-full.txt.

# Event: failed

POST 

Triggered when the provider returns a permanent failure for the recipient.
For prepaid clients this also automatically **releases** the reserved credit
for that single recipient back to `credit_balance`.

## Common error codes

- **WhatsApp (META):** `131026` (recipient cannot receive), `131047` (24h window),
  `131051` (unsupported), `133010` (number not registered)
- **Email (SES):** `Throttling`, `MessageRejected`
- **SMS (Elfo):** passed through verbatim from the Elfo response


Reference: https://docs.teekrr.com/api-reference/webhooks/webhook-failed

## OpenAPI 3.1 Webhook Specification

```yaml
openapi: 3.1.0
info:
  title: Teekrr Public API
  version: 1.0.0
paths: {}
webhooks:
  webhook-failed:
    post:
      operationId: webhook-failed
      summary: 'Event: failed'
      description: >
        Triggered when the provider returns a permanent failure for the
        recipient.

        For prepaid clients this also automatically **releases** the reserved
        credit

        for that single recipient back to `credit_balance`.


        ## Common error codes


        - **WhatsApp (META):** `131026` (recipient cannot receive), `131047`
        (24h window),
          `131051` (unsupported), `133010` (number not registered)
        - **Email (SES):** `Throttling`, `MessageRejected`

        - **SMS (Elfo):** passed through verbatim from the Elfo response
      responses:
        '200':
          description: Webhook received successfully
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FailedEvent'
components:
  schemas:
    FailedEventEvent:
      type: string
      enum:
        - failed
      title: FailedEventEvent
    FailedEventDataChannel:
      type: string
      enum:
        - sms
        - whatsapp
        - email
      title: FailedEventDataChannel
    FailedEventData:
      type: object
      properties:
        messageUuid:
          type: string
          format: uuid
        broadcastUuid:
          type: string
          format: uuid
        channel:
          $ref: '#/components/schemas/FailedEventDataChannel'
        msisdn:
          type: string
        email:
          type: string
        failedAt:
          type: string
          format: date-time
        errorCode:
          type: string
          description: Provider error code (passed through verbatim)
        errorMessage:
          type: string
      required:
        - messageUuid
        - broadcastUuid
        - channel
        - failedAt
        - errorMessage
      title: FailedEventData
    FailedEvent:
      type: object
      properties:
        event:
          $ref: '#/components/schemas/FailedEventEvent'
        timestamp:
          type: string
          format: date-time
        data:
          $ref: '#/components/schemas/FailedEventData'
      required:
        - event
        - timestamp
        - data
      title: FailedEvent

```