8x8

8x8 Webhook Configuration API

The Webhook Configuration API API from 8x8 — 1 operation(s) for webhook configuration api.

Operations 3

GET /api/v1/accounts/{accountId}/webhooks Get all Webhooks for Account #
POST /api/v1/accounts/{accountId}/webhooks Create or Replace webhooks #
DELETE /api/v1/accounts/{accountId}/webhooks Delete webhooks #

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/8x8-webhook-configuration-api-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

8x8-webhook-configuration-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 8x8 Webhook Configuration Webhook Configuration API
  version: '1'
  contact:
    name: 8x8 Inc
    url: https://cpaas.8x8.com
    email: cpaas-support@8x8.com
  termsOfService: https://cpaas.8x8.com/sg/terms-and-conditions/
  description: 'Operations tagged Webhook Configuration API across 2 of this provider''s published API definitions: 8x8-connect-business-messaging-api.json, 8x8-connect-sms-api.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://chatapps.8x8.com
  description: Asia-Pacific region
- url: https://chatapps.us.8x8.com
  description: North America region
- url: https://chatapps.8x8.uk
  description: Europe region
- url: https://chatapps.8x8.id
  description: Indonesia region
- url: https://sms.8x8.com
  description: Asia-Pacific region
- url: https://sms.us.8x8.com
  description: North America region
- url: https://sms.8x8.uk
  description: Europe region
- url: https://sms.8x8.id
  description: Indonesia region
security:
- apiKey: []
tags:
- name: Webhook Configuration API
paths:
  /api/v1/accounts/{accountId}/webhooks:
    parameters:
    - name: accountId
      in: path
      description: You must replace *{accountId}* with the accountid that you want to use.
      required: true
      schema:
        maxLength: 36
        minLength: 32
        pattern: ^[0-9A-Fa-f]{8}[-]?(?:[0-9A-Fa-f]{4}[-]?){3}[0-9A-Fa-f]{12}$
        type: string
    servers:
    - url: https://chatapps.8x8.com
      description: Asia-Pacific region
    - url: https://chatapps.us.8x8.com
      description: North America region
    - url: https://chatapps.8x8.uk
      description: Europe region
    - url: https://chatapps.8x8.id
      description: Indonesia region
    get:
      tags:
      - Webhook Configuration API
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  title: Webhook
                  description: The webhook model
                  properties:
                    subAccountId:
                      type: string
                      description: '- Sets the subaccount scope of the webhook.

                        - Use `*` to receive events across all subAccounts.

                        - Use the `subAccountId` to receive events for a specific subaccount.'
                      example: Onion_Marketing
                    url:
                      type: string
                      format: uri
                      example: http://example.com
                      description: The `url` to use for the webhook (8x8 platform will send events to this URL).
                    httpAuthorization:
                      type: string
                      description: The static HTTP `Authorization` header value sent with every webhook request. Masked as `***` in GET responses.
                      example: '***'
                    enabled:
                      type: boolean
                      example: false
                      description: Use this flag to enable or disable a Webhook.
                      default: true
                    oauth:
                      type: object
                      description: OAuth 2.0 Client Credentials configuration for webhook authentication. When configured, the platform will obtain an access token from the specified token endpoint and include it in the webhook request. The `clientSecret` is masked (`***`) in GET responses.
                      properties:
                        url:
                          type: string
                          format: uri
                          description: The token endpoint URL used to obtain the OAuth access token.
                          example: https://auth.example.com/oauth/token
                        clientId:
                          type: string
                          description: The client ID for OAuth authentication.
                          example: my-client-id
                        clientSecret:
                          type: string
                          description: The client secret for OAuth authentication. Masked as `***` in GET responses.
                          example: '***'
                        credentialsLocation:
                          type: string
                          enum:
                          - header
                          - body
                          description: 'Specifies where the client credentials are sent: `header` (HTTP Basic Auth) or `body` (form body).'
                          example: header
                        scope:
                          type: string
                          description: Optional space-separated list of OAuth scopes to request.
                          example: read write
                      required:
                      - url
                      - clientId
                      - clientSecret
                      - credentialsLocation
                  required:
                  - subAccountId
                  - url
              examples:
                response:
                  value:
                  - type: CADR
                    subAccountId: Onion_Marketing
                    url: http://example.com/dr/marketing
                    enabled: true
                    oauth:
                      url: https://auth.example.com/oauth/token
                      clientId: my-client-id
                      clientSecret: '***'
                      credentialsLocation: header
                      scope: read write
                  - type: MSG
                    subAccountId: Onion_Marketing
                    url: http://example.com/dr/sales
                    enabled: true
                    httpAuthorization: '***'
                  - type: MSG
                    subAccountId: '*'
                    url: http://example.com/dr/general
                    enabled: true
                  - type: CABM
                    subAccountId: '*'
                    url: http://example.com/mo/general
                    enabled: false
        '400':
          description: Bad request error response
          content:
            application/json:
              schema:
                $ref: '#/paths/~1api~1v1~1subaccounts~1%7BsubAccountId%7D~1messages~1%7Bumid%7D/delete/responses/400/content/application~1json/schema'
              example:
                code: 1002
                message: Invalid MSISDN format (not E.164 international number)
                errorId: b4478860-b76c-e811-814e-022a35cc1c71
                timestamp: '2018-08-04T09:25:40.9235752+00:00'
        '401':
          description: Request was not authenticated response
          content:
            application/json:
              schema:
                $ref: '#/paths/~1api~1v1~1subaccounts~1%7BsubAccountId%7D~1messages~1%7Bumid%7D/delete/responses/400/content/application~1json/schema'
              example:
                code: 1200
                message: Request was not authenticated properly
                errorId: db9dced4-3534-4d86-9d18-6b448af0d621
                timestamp: '2018-08-02T09:42:38.8988997+00:00'
        '500':
          $ref: '#/paths/~1files~1%7Bfilename%7D/get/responses/500'
      summary: Get all Webhooks for Account
      operationId: Get-Webhooks-1
      security:
      - apiKey: []
      description: Sending a GET request on this endpoint allows to **retrieve a list of all the webhooks or a specific webhook configured for an account**.
    post:
      tags:
      - Webhook Configuration API
      responses:
        '200':
          description: The webhook was created or updated successfully
        '400':
          $ref: '#/paths/~1api~1v1~1accounts~1%7BaccountId%7D~1webhooks/get/responses/400'
        '401':
          $ref: '#/paths/~1api~1v1~1accounts~1%7BaccountId%7D~1webhooks/get/responses/401'
        '500':
          $ref: '#/paths/~1files~1%7Bfilename%7D/get/responses/500'
      summary: Create or Replace webhooks
      operationId: Add-Webhooks-1
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                title: Webhook
                description: The webhook model
                properties:
                  subAccountId:
                    type: string
                    description: '- Sets the subaccount scope of the webhook.

                      - Use `*` to receive events across all subAccounts.

                      - Use the `subAccountId` to receive events for a specific subaccount.'
                    example: Onion_Marketing
                  url:
                    type: string
                    format: uri
                    example: http://example.com
                    description: The `url` to use for the webhook (8x8 platform will send events to this URL).
                  httpAuthorization:
                    type: string
                    description: 'A static value sent as the HTTP `Authorization` header with every webhook request. Use this for static credentials such as API keys or pre-shared tokens.


                      **Example — Basic Authorization:**

                      - Encode `user:password` in base64 (e.g. `dXNlcjpwYXNzd29yZA==`)

                      - Set this field to `Basic dXNlcjpwYXNzd29yZA==`


                      > For OAuth 2.0 Client Credentials flow, leave this field empty and use the `oauth` property instead.'
                    example: Bearer 9QQhlsEb8VY
                  enabled:
                    type: boolean
                    example: false
                    description: Use this flag to enable or disable a Webhook.
                    default: true
                  type:
                    type: string
                    enum:
                    - CADR
                    - MSG
                    - CABM
                    description: "This parameter is not mandatory.\n- Sets the type of webhook to be added/updated.\n- Possible values are:\n  * `CADR` for delivery receipts\n  * `MSG` for inbound messages\n  * `CABM` for Messaging Apps Business Management Updates\n- When not provided, webhooks will be added/updated for only CADR and MSG."
                  oauth:
                    type: object
                    description: OAuth 2.0 Client Credentials configuration for webhook authentication. When configured, the platform will obtain an access token from the specified token endpoint and include it in the webhook request.
                    properties:
                      url:
                        type: string
                        format: uri
                        description: The token endpoint URL used to obtain the OAuth access token.
                        example: https://auth.example.com/oauth/token
                      clientId:
                        type: string
                        description: The client ID for OAuth authentication.
                        example: my-client-id
                      clientSecret:
                        type: string
                        description: The client secret for OAuth authentication.
                        example: my-client-secret
                      credentialsLocation:
                        type: string
                        enum:
                        - header
                        - body
                        description: 'Specifies where the client credentials are sent: `header` (HTTP Basic Auth) or `body` (form body).'
                        example: header
                      scope:
                        type: string
                        description: Optional space-separated list of OAuth scopes to request.
                        example: read write
                    required:
                    - url
                    - clientId
                    - clientSecret
                    - credentialsLocation
                required:
                - subAccountId
                - url
            examples:
              no authorization:
                summary: Without authorization
                value:
                - subAccountId: Onion_Marketing
                  url: http://example.com/DR/marketing
                  enabled: true
                - subAccountId: '*'
                  url: http://example.com/mo/general
                  enabled: true
                  type: MSG
              basic authorization:
                summary: With Basic Authorization
                value:
                - subAccountId: Onion_Marketing
                  url: http://example.com/DR/marketing
                  enabled: true
                  httpAuthorization: Basic dXNlcjpwYXNzd29yZA==
              oauth:
                summary: With OAuth
                value:
                - subAccountId: Onion_Marketing
                  url: http://example.com/DR/marketing
                  enabled: true
                  oauth:
                    url: https://auth.example.com/oauth/token
                    clientId: my-client-id
                    clientSecret: my-client-secret
                    credentialsLocation: header
                    scope: read write
      security:
      - apiKey: []
      description: "Sending a POST request on this endpoint allows to **add a new webhook for an account or modify the configuration of an existing one** .  \n\nWebhooks can be given an account-wide and/or a type-wide scope using the \\* character  \n\nFor example: if a webhook is created with subAccount=\\* , this webhook will receive events across all the subaccounts of an account."
    delete:
      tags:
      - Webhook Configuration API
      responses:
        '200':
          description: The webhook was deleted successfully
        '400':
          $ref: '#/paths/~1api~1v1~1accounts~1%7BaccountId%7D~1webhooks/get/responses/400'
        '401':
          $ref: '#/paths/~1api~1v1~1accounts~1%7BaccountId%7D~1webhooks/get/responses/401'
        '500':
          $ref: '#/paths/~1files~1%7Bfilename%7D/get/responses/500'
      summary: Delete webhooks
      operationId: Delete-Webhooks-1
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                type: object
                title: Webhook Delete
                description: The webhook-delete model
                properties:
                  subAccountId:
                    type: string
                    description: '- Used to target  which webhook to deactivate based on the subaccount it is configured for.

                      - Use the `subaccountid` of the webhook to target a webhook set for a specific subaccount.

                      - Use `*` to target a webhook with a subAccount-wide scope.'
                    example: Onion_Marketing
                  type:
                    type: string
                    enum:
                    - CADR
                    - MSG
                    - CABM
                    description: "This parameter is not mandatory.\n- Sets the type of webhook to be delete.\n- Possible values are:\n  * `CADR` for delivery receipts\n  * `MSG` for inbound messages\n  * `CABM` for Messaging Apps Business Management Updates\n- When not provided, webhooks will be deleted for only CADR and MSG."
                required:
                - subAccountId
        description: 'For this request, the subaccount and type (both required) are used to identify which webhook to target and delete.


          *NB: the * character will only be used for targeting webhooks configured with a global subaccount or global product scope: it does not act as a wild-card to delete all webhooks.*'
        x-examples:
          application/json:
          - subAccountId: Onion_Marketing
          - subAccountId: '*'
      security:
      - apiKey: []
      description: Sending a DELETE request on this endpoint allows to **remove a configured webhook for an account or a subaccount** .
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: '* 8x8 SMS API accepts an **ApiKey Bearer Token** authentication method.


        * You can generate  tokens from your customer portal  [https://connect.8x8.com/](https://connect.8x8.com/)


        * You need to include the following header in your requests: `Authorization: Bearer {apiKey}`


        > **Note**: Replace the `{apiKey}` placeholder with the key generated from the customer portal.

        ---

        If you haven''t created your account yet, please go to 8x8 website [https://connect.8x8.com](https://connect.8x8.com) to sign up.

        '
x-refined-from:
- 8x8-connect-business-messaging-api.json
- 8x8-connect-sms-api.json
x-readme:
  explorer-enabled: true
  proxy-enabled: false
  samples-enabled: true