Kudosity Webhook API

Our webhooks API allows you to subscribe to events for SMS, MMS, and RCS messages. Using them requires you to have URLs (https) configured on your account that can receive POST requests over the internet. The `event_type` field is an enum that specifies which event to subscribe to: - LINK_HIT - OPT_OUT - MMS_STATUS - MMS_INBOUND - SMS_INBOUND - SMS_STATUS - RCS_STATUS For status events, the nested `status` field is an enum with these values: - FAILED: Failed because of an error from the carrier or handset. - SENT: Submitted to the carrier. - ACCEPTED: Accepted by the carrier and delivery may have been attempted (but is not confirmed). - DELIVERED: Delivered to handset. - SOFT_BOUNCE: Undeliverable due to handset being switched off, out of range or other temporary deliverability issue. - HARD_BOUNCE: Handset was disconnected. - OTHER: Any other status from the carrier. ## Link Hit The `LINK_HIT` event is triggered any time a recipient visits a link that is tracked. Track Links is an optional flag on the send message API calls. Along with the URL that was being tracked is a hits field indicating how many visits this tracked link has in total and a source_message which contains the track link sent to the recipient. ###### Example Payloads ```json Hit link in MMS { "event_type": "LINK_HIT", "timestamp": "2021-05-06T05:19:42Z", "link_hit": { "hits": 1, "url": "https://www.example.com/abc", "source_message": { "type": "MMS", "id": "b50e4dc1-e57f-459c-a15c-526bee00a4c4", "message": "Hey, Check this out! http://clckme.info/KYhSsuIH Opt-out reply STOP", "message_ref": "D701", "recipient": "61435790000", "sender": "61481074191", "subject": "Hello", "content_urls": [ "https://res.cloudinary.com/burstsms/image/upload/v1618798563/284KB_qgqtbe.jpg" ] } } } ``` ```json Hit link in SMS { "event_type": "LINK_HIT", "timestamp": "2021-07-20T23:14:04Z", "link_hit": { "hits": 1, "url": "https://www.example.com/abc", "source_message": { "type": "SMS", "id": "faf68308-16cd-4cf9-aef7-47342bd405be", "message": "Hey, Check this out! http://clckme.info/KYhSsuIH for Opt-out reply STOP or hit opt out link - http://nsub.me/vqHTcCsh ", "message_ref": "D301", "recipient": "61435795809", "sender": "61481074185" } } } ``` ## Opt Out The `OPT_OUT` event is triggered when a recipient has visited an opt-out link in a message they have received or by sending a message with the text "STOP". Using parameter \[opt-out-link\] in message body, inserts the opt-out link. The source field will be set according to the method a recipient has used to opt-out and contain a value of either link or SMS. ###### Example Payloads ```json Opt out via link { "event_type": "OPT_OUT", "timestamp": "2021-05-06T05:16:20Z", "opt_out": { "source": "LINK_HIT", "source_message": { "type": "SMS", "id": "a51ebe4e-a412-440e-a8d9-464e68a521cc", "message": "Hey, Check this out! http://clckme.info/KYhSsuIH for Opt-out reply STOP or hit opt out link - http://nsub.me/vqHTcCsh", "message_ref": "ncc5009d", "recipient": "61435790000", "sender": "61481074190" } } } ``` ```json Opt out via message { "event_type": "OPT_OUT", "timestamp": "2021-05-06T05:16:20Z", "opt_out": { "source": "SMS_INBOUND", "source_message": { "type": "SMS", "id": "a51ebe4e-a412-440e-a8d9-464e68a521cc", "message": "Hey, Check this out! http://clckme.info/KYhSsuIH for Opt-out reply STOP or hit opt out link - http://nsub.me/vqHTcCsh", "message_ref": "ncc5009d", "recipient": "61435790000", "sender": "61481074190" } } } ``` ## MMS Status The `MMS_STATUS` event data is posted to you for changes to an MMS message status. These are currently only comprised of internal statuses (SENT, FAILED). ###### Example Payload ```json { "event_type": "MMS_STATUS", "timestamp": "2021-05-06T05:19:33Z", "status": { "type": "MMS", "id": "b50e4dc1-e57f-459c-a15c-526bee00a4c4", "message_ref": "D7001", "recipient": "61435790000", "sender": "61481074191", "status": "SENT" } } ``` ## SMS Inbound The `SMS_INBOUND` event is posted to you on receipt of an SMS sent from a recipient to one of the senders listed on your account. For convenience we will try and find a message that you have sent to this recipient from that sender and supply it as the `last_message` field. This is useful for determining if an inbound message is potentially a reply. The `routed_via` field will display when a shared local number has been used to deliver your message. ###### Example Payload ```json { "event_type": "SMS_INBOUND", "timestamp": "2021-05-06T05:16:33Z", "mo": { "type":"SMS", "id": "alss-2way-605b31c7-d2c49104", "message": "Stop", "recipient": "61481074190", "routed_via": "447507333300", "sender": "447507222200", "last_message": { "type":"SMS", "id": "a51ebe4e-a412-440e-a8d9-464e68a521cc", "message": "Hey, check this out!", "message_ref": "ncc5009d", "recipient": "447507222200", "routed_via": "447507333300", "sender": "61481074190" } } } ``` ## SMS Status The `SMS_STATUS` event data is posted to you for changes to a SMS message status. Multiple status events can be triggered for a single message. The `routed_via` field will display when a shared local number has been used to deliver your message. ###### Example Payload ```json { "event_type": "SMS_STATUS", "timestamp": "2021-05-06T05:16:07Z", "status": { "type": "SMS", "id": "a51ebe4e-a412-440e-a8d9-464e68a521cc", "message_ref": "ncc5009d", "recipient": "447507222200", "routed_via": "447507333300", "sender": "61481074190", "status": "SENT" } } ``` ## RCS Status The `RCS_STATUS` event data is posted to you for changes to an RCS message status. RCS supports enhanced status tracking including read receipts. RCS-specific statuses include: - SENT: Submitted to the carrier. - DELIVERED: Delivered to handset. - FAILED: Failed because of an error from the carrier or handset. - READ: Message was read by the recipient (RCS-specific feature). ###### Example Payload ```json { "event_type": "RCS_STATUS", "timestamp": "2025-01-07T05:16:07Z", "webhook_id": "fd0e6485-b905-44c1-bd55-fee1d0d6d864", "webhook_name": "RCS Status Webhook", "status": { "type": "RCS", "id": "6fdae71c-dad7-4c36-9734-a69693ecf3b4", "message_ref": "order-12345", "recipient": "+447903749662", "sender": "DemoSender", "status": "READ" } } ```

Business capability
Webhook & Event Subscription Management BC-4270.80

Operations 5

POST /v2/webhook Create Webhook
GET /v2/webhook Retrieve all webhooks
GET /v2/webhook/{id} Get a webhook by ID
PUT /v2/webhook/{id} Update Webhook
DELETE /v2/webhook/{id} Delete Webhook

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/kudosity-webhook-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

kudosity-webhook-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Transmit Message Webhook API
  description: Transmit APIs
  version: '20250101'
  x-go-package: github.com/oapi-codegen/runtime
servers:
- url: https://api.transmitmessage.com
security:
- ApiKeyAuth: []
tags:
- name: Webhook
  description: "Our webhooks API allows you to subscribe to events for SMS, MMS, and RCS messages. Using them requires you to have URLs (https) configured on your account that can receive POST requests over the internet.\n\nThe `event_type` field is an enum that specifies which event to subscribe to:\n\n- LINK_HIT\n- OPT_OUT\n- MMS_STATUS\n- MMS_INBOUND\n- SMS_INBOUND\n- SMS_STATUS\n- RCS_STATUS\n    \n\nFor status events, the nested `status` field is an enum with these values:\n\n- FAILED: Failed because of an error from the carrier or handset.\n    \n- SENT: Submitted to the carrier.\n- ACCEPTED: Accepted by the carrier and delivery may have been attempted (but is not confirmed).\n- DELIVERED: Delivered to handset.\n- SOFT_BOUNCE: Undeliverable due to handset being switched off, out of range or other temporary deliverability issue.\n- HARD_BOUNCE: Handset was disconnected.\n- OTHER: Any other status from the carrier.\n    \n\n## Link Hit\n\nThe `LINK_HIT` event is triggered any time a recipient visits a link that is tracked. Track Links is an optional flag on the send message API calls. Along with the URL that was being tracked is a hits field indicating how many visits this tracked link has in total and a source_message which contains the track link sent to the recipient.\n\n###### Example Payloads\n\n```json Hit link in MMS {\n  \"event_type\": \"LINK_HIT\",\n  \"timestamp\": \"2021-05-06T05:19:42Z\",\n  \"link_hit\": {\n    \"hits\": 1,\n    \"url\": \"https://www.example.com/abc\",\n    \"source_message\": {\n      \"type\": \"MMS\",\n      \"id\": \"b50e4dc1-e57f-459c-a15c-526bee00a4c4\",\n      \"message\": \"Hey, Check this out! http://clckme.info/KYhSsuIH Opt-out reply STOP\",\n      \"message_ref\": \"D701\",\n      \"recipient\": \"61435790000\",\n      \"sender\": \"61481074191\",\n      \"subject\": \"Hello\",\n      \"content_urls\": [\n        \"https://res.cloudinary.com/burstsms/image/upload/v1618798563/284KB_qgqtbe.jpg\"\n      ]\n    }\n  }\n} ``` ```json Hit link in SMS {\n  \"event_type\": \"LINK_HIT\",\n  \"timestamp\": \"2021-07-20T23:14:04Z\",\n  \"link_hit\": {\n    \"hits\": 1,\n    \"url\": \"https://www.example.com/abc\",\n    \"source_message\": {\n      \"type\": \"SMS\",\n      \"id\": \"faf68308-16cd-4cf9-aef7-47342bd405be\",\n      \"message\": \"Hey, Check this out! http://clckme.info/KYhSsuIH for Opt-out reply STOP or hit opt out link - http://nsub.me/vqHTcCsh \",\n      \"message_ref\": \"D301\",\n      \"recipient\": \"61435795809\",\n      \"sender\": \"61481074185\"\n    }\n  }\n} ```\n## Opt Out\n\nThe `OPT_OUT` event is triggered when a recipient has visited an opt-out link in a message they have received or by sending a message with the text \"STOP\".\n\nUsing parameter \\[opt-out-link\\] in message body, inserts the opt-out link.\n\nThe source field will be set according to the method a recipient has used to opt-out and contain a value of either link or SMS.\n  \n\n###### Example Payloads\n\n```json Opt out via link {\n  \"event_type\": \"OPT_OUT\",\n  \"timestamp\": \"2021-05-06T05:16:20Z\",\n  \"opt_out\": {\n    \"source\": \"LINK_HIT\",\n    \"source_message\": {\n      \"type\": \"SMS\",\n      \"id\": \"a51ebe4e-a412-440e-a8d9-464e68a521cc\",\n      \"message\": \"Hey, Check this out! http://clckme.info/KYhSsuIH for Opt-out reply STOP or hit opt out link - http://nsub.me/vqHTcCsh\",\n      \"message_ref\": \"ncc5009d\",\n      \"recipient\": \"61435790000\",\n      \"sender\": \"61481074190\"  \n    }\n  }\n} ``` ```json Opt out via message {\n  \"event_type\": \"OPT_OUT\",\n  \"timestamp\": \"2021-05-06T05:16:20Z\",\n  \"opt_out\": {\n    \"source\": \"SMS_INBOUND\",\n    \"source_message\": {\n      \"type\": \"SMS\",\n      \"id\": \"a51ebe4e-a412-440e-a8d9-464e68a521cc\",\n      \"message\": \"Hey, Check this out! http://clckme.info/KYhSsuIH for Opt-out reply STOP or hit opt out link - http://nsub.me/vqHTcCsh\",\n      \"message_ref\": \"ncc5009d\",\n      \"recipient\": \"61435790000\",\n      \"sender\": \"61481074190\"\n    }\n  }\n} ```\n## MMS Status\n\nThe `MMS_STATUS` event data is posted to you for changes to an MMS message status. These are currently only comprised of internal statuses (SENT, FAILED).\n\n###### Example Payload\n\n```json {\n  \"event_type\": \"MMS_STATUS\",\n  \"timestamp\": \"2021-05-06T05:19:33Z\",\n  \"status\": {\n    \"type\": \"MMS\",\n    \"id\": \"b50e4dc1-e57f-459c-a15c-526bee00a4c4\",\n    \"message_ref\": \"D7001\",\n    \"recipient\": \"61435790000\",\n    \"sender\": \"61481074191\",\n    \"status\": \"SENT\"\n  }\n} ```\n## SMS Inbound\n\nThe `SMS_INBOUND` event is posted to you on receipt of an SMS sent from a recipient to one of the senders listed on your account. For convenience we will try and find a message that you have sent to this recipient from that sender and supply it as the `last_message` field. This is useful for determining if an inbound message is potentially a reply. The `routed_via` field will display when a shared local number has been used to deliver your message.\n\n###### Example Payload\n\n```json {\n  \"event_type\": \"SMS_INBOUND\",\n  \"timestamp\": \"2021-05-06T05:16:33Z\",\n  \"mo\": {\n    \"type\":\"SMS\",\n    \"id\": \"alss-2way-605b31c7-d2c49104\",\n    \"message\": \"Stop\",\n    \"recipient\": \"61481074190\",\n    \"routed_via\": \"447507333300\",\n    \"sender\": \"447507222200\",\n    \"last_message\": {\n      \"type\":\"SMS\",\n      \"id\": \"a51ebe4e-a412-440e-a8d9-464e68a521cc\",     \n      \"message\": \"Hey, check this out!\",\n      \"message_ref\": \"ncc5009d\",\n      \"recipient\": \"447507222200\",\n      \"routed_via\": \"447507333300\",\n      \"sender\": \"61481074190\"\n    }\n  }\n} ```\n## SMS Status\n\nThe `SMS_STATUS` event data is posted to you for changes to a SMS message status. Multiple status events can be triggered for a single message.\n\nThe `routed_via` field will display when a shared local number has been used to deliver your message.\n\n###### Example Payload\n\n```json {\n  \"event_type\": \"SMS_STATUS\",\n  \"timestamp\": \"2021-05-06T05:16:07Z\",\n  \"status\": {\n    \"type\": \"SMS\",\n    \"id\": \"a51ebe4e-a412-440e-a8d9-464e68a521cc\",\n    \"message_ref\": \"ncc5009d\",\n    \"recipient\": \"447507222200\",\n    \"routed_via\": \"447507333300\",\n    \"sender\": \"61481074190\",\n    \"status\": \"SENT\"\n  }\n} ```\n## RCS Status\n\nThe `RCS_STATUS` event data is posted to you for changes to an RCS message status. RCS supports enhanced status tracking including read receipts.\n\nRCS-specific statuses include:\n\n- SENT: Submitted to the carrier.\n- DELIVERED: Delivered to handset.\n- FAILED: Failed because of an error from the carrier or handset.\n- READ: Message was read by the recipient (RCS-specific feature).\n\n###### Example Payload\n\n```json {\n  \"event_type\": \"RCS_STATUS\",\n  \"timestamp\": \"2025-01-07T05:16:07Z\",\n  \"webhook_id\": \"fd0e6485-b905-44c1-bd55-fee1d0d6d864\",\n  \"webhook_name\": \"RCS Status Webhook\",\n  \"status\": {\n    \"type\": \"RCS\",\n    \"id\": \"6fdae71c-dad7-4c36-9734-a69693ecf3b4\",\n    \"message_ref\": \"order-12345\",\n    \"recipient\": \"+447903749662\",\n    \"sender\": \"DemoSender\",\n    \"status\": \"READ\"\n  }\n} ```"
paths:
  /v2/webhook:
    post:
      tags:
      - Webhook
      summary: Create Webhook
      security:
      - ApiKeyAuth: []
      description: We use webhooks to let your application know when events happen, such as receiving an SMS message. When the event occurs, the system makes an HTTP request (usually a POST) to the URL you configured for the webhook. The request will include details of the event such as the incoming phone number or the body of an incoming message.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookRequest'
      responses:
        '201':
          description: Webhook created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: 'Validation Error: rate_limit: greater than the maximum value of 10000'
    get:
      tags:
      - Webhook
      summary: Retrieve all webhooks
      security:
      - ApiKeyAuth: []
      responses:
        '200':
          description: A list of webhooks
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookListResponse'
  /v2/webhook/{id}:
    get:
      tags:
      - Webhook
      summary: Get a webhook by ID
      security:
      - ApiKeyAuth: []
      parameters:
      - name: id
        in: path
        description: Unique ID of the webhook
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: A single webhook
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
        '404':
          description: Webhook not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Webhook not found
    put:
      tags:
      - Webhook
      summary: Update Webhook
      description: Updates the webhook. Any fields not provided in the request body will reset to their default values.
      security:
      - ApiKeyAuth: []
      parameters:
      - name: id
        in: path
        description: Unique identifier for the webhook
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WebhookRequest'
      responses:
        '200':
          description: Webhook updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookResponse'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: 'Validation Error: event_type: required'
    delete:
      tags:
      - Webhook
      summary: Delete Webhook
      parameters:
      - name: id
        in: path
        schema:
          type: string
          format: uuid
        required: true
        description: Unique ID of the webhook
      responses:
        '200':
          description: Webhook deletion confirmation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookDeleteResponse'
        '400':
          description: Invalid webhook ID
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: invalid webhook ID
        '404':
          description: Webhook not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Webhook not found
components:
  schemas:
    WebhookDeleteResponse:
      type: object
      description: Webhook deletion confirmation response.
      properties:
        message:
          type: string
          description: Confirmation message
          example: deleted
      required:
      - message
    EventType:
      type: string
      enum:
      - LINK_HIT
      - OPT_OUT
      - MMS_STATUS
      - SMS_INBOUND
      - SMS_STATUS
      - MMS_INBOUND
      - WHATSAPP_STATUS
      - WHATSAPP_INBOUND
      - RCS_STATUS
      - RCS_INBOUND
      description: 'Event type string values:

        - LINK_HIT: Link hit event when a recipient visits a tracked link

        - OPT_OUT: Opt out event when a recipient visits an opt-out link or by sending a message with the text "STOP"

        - MMS_STATUS: Status change for a MMS messages. Currently only comprised of internal statuses (sent, failed)

        - SMS_INBOUND: Inbound SMS sent from a recipient back to the sender

        - SMS_STATUS: Status change for a SMS message. Includes internal statuses (sent, failed) and delivery receipts (soft_bounce, hard_bounce, delivered, undelivered). Multiple status events can be triggered for a single message

        - MMS_INBOUND: Inbound MMS sent from a recipient back to the sender

        - WHATSAPP_STATUS: Status change for Whatsapp messages

        - WHATSAPP_INBOUND: Inbound Whatsapp sent from a recipient back to the sender

        - RCS_STATUS: Status change for RCS messages

        - RCS_INBOUND: Inbound RCS sent from a recipient back to the sender

        '
    Filter:
      type:
      - object
      - 'null'
      description: Filter applied to webhook events
      properties:
        event_type:
          type: array
          description: Types of events to subscribe to
          items:
            $ref: '#/components/schemas/EventType'
          example:
          - SMS_STATUS
          - SMS_INBOUND
        sender:
          type: array
          description: Filter by sender
          items:
            type: string
          example:
          - '+61412345678'
          - '+61487654321'
        status:
          type: array
          description: Filter by message status (only applicable for status events)
          items:
            type: string
          example:
          - DELIVERED
          - FAILED
        message_ref:
          type: array
          description: Filter by message ref
          items:
            type: string
          example:
          - ref123
          - ref456
        campaign_id:
          type: array
          description: Filter by campaign ID
          items:
            type: string
          example:
          - campaign_123
          - campaign_456
    WebhookResponse:
      type: object
      description: Webhook details.
      properties:
        id:
          type: string
          description: Unique identifier for the webhook.
          example: 67e3e4af-62e8-4515-8b67-6f20d0c51ffb
        filter:
          $ref: '#/components/schemas/Filter'
        name:
          type: string
          description: Name of the webhook.
          example: Hook
        url:
          type: string
          description: URL (https) that accepts JSON encoded POST requests.
          format: uri
          example: https://webhook.site/uuid
        rate_limit:
          type: integer
          description: Rate limit for the webhook in requests per second.
          example: 10
        is_sandbox:
          type: boolean
          deprecated: true
          description: Deprecated. Will be removed in a future version.
          example: false
        created_at:
          type: string
          format: date-time
          description: Timestamp when the webhook was created.
          example: '2025-04-14T00:59:32.75819Z'
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the webhook was last updated.
          example: '2025-04-14T00:59:32.75819Z'
      required:
      - id
      - name
      - url
      - rate_limit
      - is_sandbox
      - created_at
      - updated_at
    WebhookListResponse:
      type: object
      description: List of webhooks response.
      properties:
        webhooks:
          type: array
          items:
            $ref: '#/components/schemas/WebhookResponse'
    WebhookRequest:
      type: object
      properties:
        event_type:
          allOf:
          - $ref: '#/components/schemas/EventType'
          description: Type of event to subscribe to. Deprecated - use filter.event_type instead.
          example: SMS_STATUS
          deprecated: true
        filter:
          type: object
          description: "Filter to apply to webhook events. The filters are applied differently based on the event type:\n- For status events (`SMS_STATUS`, `MMS_STATUS`, etc.): `sender`, `status`,\n  `message_ref`, and `campaign_id` filters are applied to the **status** payload.\n- For `LINK_HIT` events: `sender` and `message_ref` filters are applied to\n  the `source_message` in the link-hit payload.\n- For `OPT_OUT` events: `sender` and `message_ref` filters are applied to\n  the `source_message` in the opt-out payload.\n- For inbound events (`SMS_INBOUND`, `MMS_INBOUND`, etc.): `sender` filter is\n  applied to the `recipient` field (the sender address that received the inbound message),\n  while `message_ref` and `campaign_id` filters are applied to `last_message` if available.\n\nWithin each filter array (e.g., sender, status, message_ref), the conditions are combined using an OR logic. For example, if multiple senders are specified, the webhook will trigger if the event matches any of the specified senders. Between different filters (e.g., sender and status), the conditions are combined using an AND logic. For example, the webhook will trigger only if the event matches both the specified sender and the specified status."
          properties:
            event_type:
              type: array
              description: Types of events to subscribe to
              items:
                $ref: '#/components/schemas/EventType'
              example:
              - SMS_STATUS
              - SMS_INBOUND
            sender:
              type: array
              description: Filter by sender. For outbound events (status, link-hit, opt-out), this filters by the sender of the outbound message. For inbound events, this filters by the recipient of the inbound message (the sender address that received it).
              items:
                type: string
              example:
              - '+61412345678'
              - '+61487654321'
            status:
              type: array
              description: Filter by message status (only applicable for status events)
              items:
                type: string
              example:
              - DELIVERED
              - FAILED
            message_ref:
              type: array
              description: Filter by message ref
              items:
                type: string
              example:
              - ref123
              - ref456
            campaign_id:
              type: array
              description: Filter by campaign ID
              items:
                type: string
              example:
              - campaign_123
              - campaign_456
        name:
          type: string
          description: Name of the webhook
          minLength: 2
          maxLength: 100
          example: My Webhook
          x-oapi-codegen-extra-tags:
            valid: length(2|100)
        url:
          type: string
          description: URL (https) that accepts JSON encoded POST requests
          format: uri
          example: https://example.com/webhook
          x-oapi-codegen-extra-tags:
            valid: required,webhook_url
        rate_limit:
          type: integer
          description: Rate limit for your URL in requests per second. Max 10,000/sec. If set to 0 or not specified, the default system limit will be applied.
          x-go-type-skip-optional-pointer: true
          x-oapi-codegen-extra-tags:
            valid: range(0|10000)
        is_sandbox:
          type: boolean
          deprecated: true
          description: Deprecated. Will be removed in a future version.
          x-go-type-skip-optional-pointer: true
      required:
      - name
      - url
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: 'All API requests require your API credentials, you will find them once logged into your account on the SETTINGS page. Scroll down to API Settings to find your API key.

        '