> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tetherai.ca/llms.txt
> Use this file to discover all available pages before exploring further.

# Handle Sinch MMS delivery receipt

> Status callback posted by the Sinch MMS JSON API for outbound MMS batches. Handles N101 (Sent), N102 (Delivered), N103 (Expired), E101 (Sending Failure), and E102 (Delivery Failure) codes by updating the Message and emitting a socket event to the org.



## OpenAPI

````yaml /api-reference/openapi.yaml post /api/webhook/sinch/mms-delivery-receipt
openapi: 3.0.3
info:
  title: Tether Relay and Tether API
  version: 1.0.0
  description: >-
    Route-derived OpenAPI contract generated from tether-relay backend sources.
    Regenerate with scripts/sync-openapi-from-backend.mjs.
servers:
  - url: https://your-instance.example.com
    description: Production
  - url: http://localhost:2212
    description: Local API service
security: []
tags:
  - name: AI
  - name: Applications
  - name: Approval
  - name: Auth
  - name: Automations
  - name: Calls
  - name: Campaigns
  - name: Contact Analytics
  - name: Contact Metrics
  - name: Contact Notes
  - name: Contacts
  - name: Conversation Monitor
  - name: Conversations
  - name: Departments
  - name: Email
  - name: Escalation Dashboard
  - name: Event Logs
  - name: Google Sheets
  - name: Marketplace
  - name: Messages
  - name: Notification Sounds
  - name: Notifications
  - name: Org Snapshots
  - name: Organizations
  - name: Outreach
  - name: Outreach Metrics
  - name: Outreach Sources
  - name: Pipelines
  - name: Processes
  - name: Prompts
  - name: Reminders
  - name: Sms
  - name: Templates
  - name: Traces
  - name: Training
  - name: Upload
  - name: User Snapshots
  - name: Users
  - name: Vertical
  - name: Webchats
  - name: Webhook
paths:
  /api/webhook/sinch/mms-delivery-receipt:
    post:
      tags:
        - Webhooks
      summary: Handle Sinch MMS delivery receipt
      description: >-
        Status callback posted by the Sinch MMS JSON API for outbound MMS
        batches. Handles N101 (Sent), N102 (Delivered), N103 (Expired), E101
        (Sending Failure), and E102 (Delivery Failure) codes by updating the
        Message and emitting a socket event to the org.
      operationId: post_webhook_sinch_mms_delivery_receipt
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MmsDeliveryReceiptRequest'
      responses:
        '200':
          description: Receipt processed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SinchMmsDeliveryReceiptAckResponse'
        '500':
          description: Receipt processing failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookErrorResponse'
components:
  schemas:
    MmsDeliveryReceiptRequest:
      type: object
      properties:
        origin:
          type: string
          description: >-
            Sinch traffic direction marker — `MMS_MT` for outbound
            (mobile-terminated) delivery receipts.
        code:
          type: string
          description: >-
            Sinch MMS status code: `N101` sent, `N102` delivered, `N103`
            expired, `E101` sending failure, `E102` delivery failure.
        message_id:
          type: string
          description: >-
            Sinch MMS id returned when the outbound message was submitted; used
            to locate the matching Message.
        status:
          type: string
          description: >-
            Human-readable status label corresponding to `code` (e.g.
            `Delivered`, `Failed`).
        to:
          type: string
          description: Recipient phone number this receipt is for.
      additionalProperties: true
      example:
        origin: MMS_MT
        code: N102
        message_id: 01K608PMMS001H41EQS64AH7CE
        status: Delivered
        to: '14165550100'
    SinchMmsDeliveryReceiptAckResponse:
      type: object
      description: >-
        Ack returned after a Sinch MMS delivery receipt is consumed. `code` is
        the Sinch status code (N101 sent, N102 delivered, N103 expired,
        E101/E102 failure).
      properties:
        message:
          type: string
        mmsId:
          type: string
        code:
          type: string
          description: Sinch MMS status code (e.g. `N102`).
      required:
        - message
        - mmsId
        - code
      additionalProperties: true
      example:
        message: MMS delivery receipt received
        mmsId: 01K608PMMS001H41EQS64AH7CE
        code: N102
    WebhookErrorResponse:
      type: object
      description: >-
        Error envelope used across provider webhook routes. Most failures only
        carry `error`; a few (ElevenLabs tool errors, ingress validation) add
        `success:false`, `message`, or a `code`. Many of these endpoints respond
        200 with `success:false` for recoverable cases (especially the
        ElevenLabs server tools) — only hard failures use 4xx/5xx.
      properties:
        error:
          type: string
        message:
          type: string
        success:
          type: boolean
          enum:
            - false
        code:
          type: string
        details:
          description: Optional diagnostic detail (stack snippet, validation issues, etc.).
      additionalProperties: true
      example:
        error: Webhook processing failed

````