> 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: bounced

POST 

Email-only event — fired when AWS SES returns a bounce notification. Hard bounces
(`bounceType: "Permanent"`) should be treated as a signal to **suppress** the address
from future broadcasts.


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

## OpenAPI 3.1 Webhook Specification

```yaml
openapi: 3.1.0
info:
  title: Teekrr Public API
  version: 1.0.0
paths: {}
webhooks:
  webhook-bounced:
    post:
      operationId: webhook-bounced
      summary: 'Event: bounced'
      description: >
        Email-only event — fired when AWS SES returns a bounce notification.
        Hard bounces

        (`bounceType: "Permanent"`) should be treated as a signal to
        **suppress** the address

        from future broadcasts.
      responses:
        '200':
          description: Webhook received successfully
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BouncedEvent'
components:
  schemas:
    BouncedEventEvent:
      type: string
      enum:
        - bounced
      title: BouncedEventEvent
    BouncedEventDataChannel:
      type: string
      enum:
        - email
      title: BouncedEventDataChannel
    EmailAddress:
      type: string
      format: email
      title: EmailAddress
    BouncedEventDataBounceType:
      type: string
      enum:
        - Permanent
        - Transient
      description: |
        - `Permanent` — hard bounce; suppress this address
        - `Transient` — soft bounce; SES has already retried internally
      title: BouncedEventDataBounceType
    BouncedEventData:
      type: object
      properties:
        messageUuid:
          type: string
          format: uuid
        broadcastUuid:
          type: string
          format: uuid
        channel:
          $ref: '#/components/schemas/BouncedEventDataChannel'
        email:
          $ref: '#/components/schemas/EmailAddress'
        bouncedAt:
          type: string
          format: date-time
        bounceType:
          $ref: '#/components/schemas/BouncedEventDataBounceType'
          description: |
            - `Permanent` — hard bounce; suppress this address
            - `Transient` — soft bounce; SES has already retried internally
        bounceSubType:
          type: string
          description: SES bounce subtype (e.g. `General`, `NoEmail`, `Suppressed`)
        diagnostic:
          type: string
          description: Raw SMTP response from the receiving server.
      required:
        - messageUuid
        - broadcastUuid
        - channel
        - email
        - bouncedAt
        - bounceType
      title: BouncedEventData
    BouncedEvent:
      type: object
      properties:
        event:
          $ref: '#/components/schemas/BouncedEventEvent'
        timestamp:
          type: string
          format: date-time
        data:
          $ref: '#/components/schemas/BouncedEventData'
      required:
        - event
        - timestamp
        - data
      title: BouncedEvent

```