# 10DLC status callback

POST 

Payload sent by SignalWire to your 10DLC Status Callback URL when the state of a 10DLC registration
object changes. Use this webhook to monitor the lifecycle of messaging brands, campaigns, number
assignment orders, and number assignments in real time.

Configure `status_callback_url` when
[creating a brand](/docs/apis/rest/campaign-registry/brands/create-brand),
[creating a campaign](/docs/apis/rest/campaign-registry/campaigns/create-campaign), or
[creating a number assignment order](/docs/apis/rest/campaign-registry/phone-number-assignments/create-order).

### Brand event types

| State transition | Event type | Description |
|------------------|------------|-------------|
| `pending` → `completed` | `brand_activated` | The brand has been successfully verified and activated. |
| `pending` → `unverified` | `brand_unverified` | Brand verification failed or additional information is required. |
| `unverified` → `completed` | `brand_activated` | The brand was previously unverified but is now active. |

### Campaign event types

| State transition | Event type | Description |
|------------------|------------|-------------|
| `pending` → `active` | `campaign_activated` | The campaign has been approved and is now active. |
| `active` → `inactive` | `campaign_deactivated` | The campaign has been deactivated and can no longer send. |

### Number assignment order event types

| State transition | Event type | Description |
|------------------|------------|-------------|
| `pending` → `processed` | `number_assignment_order_processed` | The order has been processed and numbers assigned. |

### Number assignment event types

| State transition | Event type | Description |
|------------------|------------|-------------|
| `pending` → `failed` | `number_assignment_failed` | The number was not assigned to the campaign. |
| `failed` → `pending` | `number_assignment_pending` | A failed assignment is being retried. |
| `pending` → `completed` | `number_assignment_activated` | The number has been successfully assigned to the campaign. |

Reference: https://signalwire.com/docs/apis/rest/campaign-registry/webhooks/ten-dlc-status-callback

## OpenAPI 3.1 Webhook Specification

```yaml
openapi: 3.1.0
info:
  title: signalwire-rest
  version: 1.0.0
paths: {}
webhooks:
  ten-dlc-status-callback:
    post:
      operationId: ten-dlc-status-callback
      summary: 10DLC status callback
      description: >-
        Payload sent by SignalWire to your 10DLC Status Callback URL when the
        state of a 10DLC registration

        object changes. Use this webhook to monitor the lifecycle of messaging
        brands, campaigns, number

        assignment orders, and number assignments in real time.


        Configure `status_callback_url` when

        [creating a
        brand](/docs/apis/rest/campaign-registry/brands/create-brand),

        [creating a
        campaign](/docs/apis/rest/campaign-registry/campaigns/create-campaign),
        or

        [creating a number assignment
        order](/docs/apis/rest/campaign-registry/phone-number-assignments/create-order).


        ### Brand event types


        | State transition | Event type | Description |

        |------------------|------------|-------------|

        | `pending` → `completed` | `brand_activated` | The brand has been
        successfully verified and activated. |

        | `pending` → `unverified` | `brand_unverified` | Brand verification
        failed or additional information is required. |

        | `unverified` → `completed` | `brand_activated` | The brand was
        previously unverified but is now active. |


        ### Campaign event types


        | State transition | Event type | Description |

        |------------------|------------|-------------|

        | `pending` → `active` | `campaign_activated` | The campaign has been
        approved and is now active. |

        | `active` → `inactive` | `campaign_deactivated` | The campaign has been
        deactivated and can no longer send. |


        ### Number assignment order event types


        | State transition | Event type | Description |

        |------------------|------------|-------------|

        | `pending` → `processed` | `number_assignment_order_processed` | The
        order has been processed and numbers assigned. |


        ### Number assignment event types


        | State transition | Event type | Description |

        |------------------|------------|-------------|

        | `pending` → `failed` | `number_assignment_failed` | The number was not
        assigned to the campaign. |

        | `failed` → `pending` | `number_assignment_pending` | A failed
        assignment is being retried. |

        | `pending` → `completed` | `number_assignment_activated` | The number
        has been successfully assigned to the campaign. |
      responses:
        '200':
          description: Webhook received successfully
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  type: string
                  description: The unique ID of the project this object is associated with.
                event_at:
                  type: string
                  description: >-
                    The timestamp of when the event occurred, in ISO 8601
                    format.
                event_category:
                  $ref: >-
                    #/components/schemas/WebhooksTenDlcStatusCallbackPayloadContentApplicationJsonSchemaEventCategory
                  description: The category of the event.
                event_type:
                  $ref: >-
                    #/components/schemas/WebhooksTenDlcStatusCallbackPayloadContentApplicationJsonSchemaEventType
                  description: >-
                    The specific type of event that occurred.

                    One of: `brand_activated`, `brand_unverified`,
                    `campaign_activated`, `campaign_deactivated`,

                    `number_assignment_order_processed`,
                    `number_assignment_failed`, `number_assignment_pending`,

                    `number_assignment_activated`.
                state:
                  type: string
                  description: >-
                    The current state of the object after the event. Possible
                    values depend on the object type.
                brand_id:
                  type: string
                  description: >-
                    The unique identifier for the brand. Present in all event
                    types.
                campaign_id:
                  type: string
                  description: >-
                    The unique identifier for the campaign. Present in campaign,
                    number assignment order, and number assignment events.
                number_assignment_order_id:
                  type: string
                  description: >-
                    The unique identifier for the number assignment order.
                    Present in number assignment order and number assignment
                    events.
                number_assignment_id:
                  type: string
                  description: >-
                    The unique identifier for the number assignment. Present
                    only in number assignment events.
                phone_number_id:
                  type: string
                  description: >-
                    The unique identifier for the phone route itself. Present
                    only in number assignment events.
                phone_number:
                  type: string
                  description: >-
                    The phone number in E.164 format. Present only in number
                    assignment events.
              required:
                - project_id
                - event_at
                - event_category
                - event_type
                - state
                - brand_id
components:
  schemas:
    WebhooksTenDlcStatusCallbackPayloadContentApplicationJsonSchemaEventCategory:
      type: string
      enum:
        - brand
        - campaign
        - number_assignment_order
        - number_assignment
      description: The category of the event.
      title: >-
        WebhooksTenDlcStatusCallbackPayloadContentApplicationJsonSchemaEventCategory
    WebhooksTenDlcStatusCallbackPayloadContentApplicationJsonSchemaEventType:
      type: string
      enum:
        - brand_activated
        - brand_unverified
        - campaign_activated
        - campaign_deactivated
        - number_assignment_order_processed
        - number_assignment_failed
        - number_assignment_pending
        - number_assignment_activated
      description: >-
        The specific type of event that occurred.

        One of: `brand_activated`, `brand_unverified`, `campaign_activated`,
        `campaign_deactivated`,

        `number_assignment_order_processed`, `number_assignment_failed`,
        `number_assignment_pending`,

        `number_assignment_activated`.
      title: WebhooksTenDlcStatusCallbackPayloadContentApplicationJsonSchemaEventType

```