CM.com Webhook Events API

Events sent to your webhook URL when something happens in the lifetime of a dossier. Webhooks are subscribed to via the `Webhook` endpoints. More event types might be added in the future, so implementations should strictly vary their behavior on the `type` attribute.

Documentation

📖
Documentation
https://docs.cm.com/conversational-ai/v1/api-reference
📖
Documentation
https://docs.cm.com/conversational-router/v1/api-reference
📖
Documentation
https://docs.cm.com/conversational-router/v2/api-reference
📖
Documentation
https://docs.cm.com/customer-engagement/v1/api-reference
📖
Documentation
https://docs.cm.com/email-gateway-api/v1/api-reference
📖
Documentation
https://docs.cm.com/halo/analytics/v1/api-reference
📖
Documentation
https://docs.cm.com/halo/core/v1/api-reference
📖
Documentation
https://docs.cm.com/live/entrance-management/v1/api-reference
📖
Documentation
https://docs.cm.com/live/entrance-management/v2/api-reference
📖
Documentation
https://docs.cm.com/live/event-apps/v1/api-reference
📖
Documentation
https://docs.cm.com/live/event-ticketing/v1/api-reference
📖
Documentation
https://docs.cm.com/live/ga-partner/v1/api-reference
📖
Documentation
https://docs.cm.com/live/museum-park-reseller/v1/api-reference
📖
Documentation
https://docs.cm.com/live/museum-park-scan/v1/api-reference
📖
Documentation
https://docs.cm.com/live/tables/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/cdp-integration/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/cms-integrations/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/crm-integrations/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/internal-comms-integrations/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/live-chat-integrations/v1/api-reference
📖
Documentation
https://docs.cm.com/marketplace/product-feed-integrations/v1/api-reference
📖
Documentation
https://docs.cm.com/messaging/business-messaging/v1/api-reference
📖
Documentation
https://docs.cm.com/messaging/channels-api/v1.2/api-reference
📖
Documentation
https://docs.cm.com/mobile-marketing-cloud/cdp-events/v1/api-reference
📖
Documentation
https://docs.cm.com/mobile-marketing-cloud/cdp-profiles/v1/api-reference
📖
Documentation
https://docs.cm.com/mobile-marketing-cloud/email-campaigns/v1/api-reference
📖
Documentation
https://docs.cm.com/mobile-marketing-cloud/email-validation/v1/api-reference
📖
Documentation
https://docs.cm.com/mobile-marketing-cloud/mmc-campaigns/v1/api-reference
📖
Documentation
https://docs.cm.com/payments/online-payments/v1.27.22/api-reference
📖
Documentation
https://docs.cm.com/payments/pos-cloud-api/v1.9.0/api-reference
📖
Documentation
https://docs.cm.com/sign/v1/api-reference
📖
Documentation
https://docs.cm.com/sign/seal/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/iban-verification/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/id-scan/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/identity-hub/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/idin/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/mobile-identity/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/number-validation/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/otp/v1/api-reference
📖
Documentation
https://docs.cm.com/verification/otp/v2/api-reference
📖
Documentation
https://docs.cm.com/voice/audio-manager/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/cdr/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/company-profiles/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/distribution-groups/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/documents/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/number-requests/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/phone-numbers/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/sip-accounts/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/sip-thresholds/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/tts/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/voice-accounts/v1/api-reference
📖
Documentation
https://docs.cm.com/voice/voice-api/v2/api-reference
📖
Documentation
https://docs.cm.com/voice/voice-insights/v1/api-reference

Specifications

Schemas & Data

📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-health-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-connect-custom-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-gateway-gateway-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-configuration-email-inbound-webhook-update-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-configuration-email-inbound-webhook-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-suppression-email-unsubscribe-filters-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-configuration-email-inbound-webhook-controller-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-suppression-unsubscribe-request-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-conversation-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-feedback-score-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-feedback-score-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-conversations-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-conversation-item-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-metrics-data-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handover-input-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-profile-view-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-culture-view-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-rule-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-rule-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-rule-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-update-rule-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-ticket-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-ticket-dto-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handler-view-customer-product-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handler-view-event-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-event-create-event-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handler-product-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handler-view-order-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-handler-create-discount-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-partner-api-venue-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-whats-app-api-whats-app-template-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-whats-app-api-whats-app-template-language-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-whats-app-api-whats-app-template-base-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-googles-business-messages-api-googles-business-messages-agent-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-whats-app-api-whats-app-profile-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-channels-models-channel-types-mobile-push-api-mobile-push-application-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-profiles-api-models-api-profile-type-property-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-workflows-api-models-workflows-api-workflow-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-profiles-api-models-api-segment-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-profiles-api-models-api-profile-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-workflows-api-models-api-workflow-search-filter-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-data-core-profiles-api-models-api-profile-export-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-campaign-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-single-mail-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-mailing-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-template-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-from-domain-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-tooling-bulk-email-api-models-api-mail-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-email-email-validation-api-models-api-email-address-validation-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-message-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-status-report-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-message-cost-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-message-preview-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-message-channel-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-cm-platform-messages-models-api-recipient-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-card-payment-v2-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-ideal-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-authorize-google-pay-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-riverty-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-ideal-qrtransaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-new-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-store-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-get-apikey-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-apikey-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-apikey-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-template-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-reassign-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-invite-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-template-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-dossier-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-branding-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-seal-document-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-status-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-status-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-webhook-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-page-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-result-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-transaction-detail-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-transaction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-transaction-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-transaction-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-merchant-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-directory-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-identity-match-score-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-identity-match-match-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-identity-match-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-number-verify-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-number-verify-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-sim-swap-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-number-check-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-number-check-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-generate-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-generate-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-verify-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-verify-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-otp-voice-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-otp-response-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-otp-whats-app-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-otp-email-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-create-otp-push-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-otp-verify-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-conversation-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-company-profile-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-update-company-profile-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-street-number-and-postal-code-validation-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-required-field-validation-result-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-company-profile-status-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-street-number-and-postal-code-validation-result-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-endpoint-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-distribution-group-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-document-metadata-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-uploaded-document-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-create-number-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-create-porting-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-range-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-available-numbers-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-porting-request-order-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-config-notification-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-config-sip-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-config-direct-forwarding-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-config-halo-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-phone-number-config-flow-builder-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-sip-config-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-sip-endpoint-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-sip-account-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-trunk-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-restriction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-platform-domain-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-sip-account-threshold-rule-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-no-content-result-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-tts-voice-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-tts-preview-request-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-voice-account-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-api-logical-account-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-request-dtmf-instruction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-otp-instruction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-notification-instruction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-flow-builder-instruction-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-call-queued-event-schema.json
📊
JSONSchema
https://artifacts.apis.io/cm-com/json-schema/cm-com-filtered-conversations-schema.json

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/cm-com:cm-com-webhook-events-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

cm-com-webhook-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cm Com Webhook Events API
  version: '1'
  description: 'Operations tagged Webhook Events across 2 of this provider''s published API definitions: cm-com-sign-v1-openapi.yml, cm-com-verification-id-scan-v1-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.cm.com/sign/v1
- url: https://api.cm.com/sign-sandbox/v1
- url: https://api.cm.com/id-scan/v1
security:
- JWT: []
tags:
- name: Webhook Events
  description: 'Events sent to your webhook URL when something happens in the lifetime of a dossier. Webhooks are subscribed to via the `Webhook` endpoints.


    More event types might be added in the future, so implementations should strictly vary their behavior on the `type` attribute.'
paths: {}
webhooks:
  dossier.state.updated:
    post:
      operationId: webhook_dossier_state_updated
      summary: Dossier state updated
      description: 'The state of the dossier is updated. For example, from `pending` to `completed`. This event is sent by default.


        Your server implementation should return a 2xx HTTP status code if the event was received successfully. The response body is ignored.'
      tags:
      - Webhook Events
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DossierStateUpdatedEvent'
            example:
              id: b041a287-bc92-4469-801e-ae1a39c08f6e
              type: dossier.state.updated
              created: '2026-01-01T00:00:00+00:00'
              dossier:
                id: b659c273-954e-43cf-893a-0f74a7f87153
                state: completed
      responses:
        2XX:
          $ref: '#/components/responses/WebhookReceived'
    servers:
    - url: https://api.cm.com/sign/v1
    - url: https://api.cm.com/sign-sandbox/v1
  dossier.prepared:
    post:
      operationId: webhook_dossier_prepared
      summary: Dossier prepared
      description: 'The prepare step has been completed: fields are added to the dossier and invites should be sent. This event is sent by default.


        Your server implementation should return a 2xx HTTP status code if the event was received successfully. The response body is ignored.'
      tags:
      - Webhook Events
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DossierPreparedEvent'
            example:
              id: c36f5fc9-b412-4aeb-9cbd-bdb6cdca581f
              type: dossier.prepared
              created: '2026-01-01T00:00:00+00:00'
              dossier:
                id: b659c273-954e-43cf-893a-0f74a7f87153
                state: draft
      responses:
        2XX:
          $ref: '#/components/responses/WebhookReceived'
    servers:
    - url: https://api.cm.com/sign/v1
    - url: https://api.cm.com/sign-sandbox/v1
  dossier.invite.created:
    post:
      operationId: webhook_dossier_invite_created
      summary: Invite created
      description: 'An invite has been created.


        Your server implementation should return a 2xx HTTP status code if the event was received successfully. The response body is ignored.'
      tags:
      - Webhook Events
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DossierInviteCreatedEvent'
            example:
              id: 523075b3-dae7-4f2e-89ba-b194d2b56c2f
              type: dossier.invite.created
              created: '2026-01-01T00:00:00+00:00'
              dossier:
                id: b659c273-954e-43cf-893a-0f74a7f87153
                state: draft
              invite:
                id: 87aa2c40-7ad1-4493-8ede-640eab6d2f4e
      responses:
        2XX:
          $ref: '#/components/responses/WebhookReceived'
    servers:
    - url: https://api.cm.com/sign/v1
    - url: https://api.cm.com/sign-sandbox/v1
  dossier.invite.expired:
    post:
      operationId: webhook_dossier_invite_expired
      summary: Invite expired
      description: 'An invite has expired.


        Your server implementation should return a 2xx HTTP status code if the event was received successfully. The response body is ignored.'
      tags:
      - Webhook Events
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DossierInviteExpiredEvent'
            example:
              id: 115c17e0-e714-465c-a3a4-f33700a69d7b
              type: dossier.invite.expired
              created: '2026-01-01T00:00:00+00:00'
              dossier:
                id: b659c273-954e-43cf-893a-0f74a7f87153
                state: pending
              invite:
                id: 87aa2c40-7ad1-4493-8ede-640eab6d2f4e
      responses:
        2XX:
          $ref: '#/components/responses/WebhookReceived'
    servers:
    - url: https://api.cm.com/sign/v1
    - url: https://api.cm.com/sign-sandbox/v1
  dossier.invite.undelivered:
    post:
      operationId: webhook_dossier_invite_undelivered
      summary: Invite undelivered
      description: 'An invite cannot be delivered. This event is sent by default.


        Your server implementation should return a 2xx HTTP status code if the event was received successfully. The response body is ignored.'
      tags:
      - Webhook Events
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DossierInviteUndeliveredEvent'
            example:
              id: e5210e6e-058b-4898-9f71-16f18eb6c141
              type: dossier.invite.undelivered
              created: '2026-01-01T00:00:00+00:00'
              dossier:
                id: b659c273-954e-43cf-893a-0f74a7f87153
                state: pending
              invite:
                id: 87aa2c40-7ad1-4493-8ede-640eab6d2f4e
      responses:
        2XX:
          $ref: '#/components/responses/WebhookReceived'
    servers:
    - url: https://api.cm.com/sign/v1
    - url: https://api.cm.com/sign-sandbox/v1
  dossier.invite.viewed:
    post:
      operationId: webhook_dossier_invite_viewed
      summary: Invite viewed
      description: 'The invite has been viewed by the invitee.


        Your server implementation should return a 2xx HTTP status code if the event was received successfully. The response body is ignored.'
      tags:
      - Webhook Events
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DossierInviteViewedEvent'
            example:
              id: e20d315d-9b37-4407-a036-22f4fdafb226
              type: dossier.invite.viewed
              created: '2026-01-01T00:00:00+00:00'
              dossier:
                id: b659c273-954e-43cf-893a-0f74a7f87153
                state: pending
              invite:
                id: 87aa2c40-7ad1-4493-8ede-640eab6d2f4e
              invitee:
                id: f6b72c37-9255-4272-8b21-f2f6ba9537ba
      responses:
        2XX:
          $ref: '#/components/responses/WebhookReceived'
    servers:
    - url: https://api.cm.com/sign/v1
    - url: https://api.cm.com/sign-sandbox/v1
  dossier.invitee.state.updated:
    post:
      operationId: webhook_dossier_invitee_state_updated
      summary: Invitee state updated
      description: 'The invitee state is updated. For example, to `approved` or `declined`.


        Your server implementation should return a 2xx HTTP status code if the event was received successfully. The response body is ignored.'
      tags:
      - Webhook Events
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DossierInviteeStateUpdatedEvent'
            example:
              id: 12a1eded-01ca-4e56-9e6c-125842dca977
              type: dossier.invitee.state.updated
              created: '2026-01-01T00:00:00+00:00'
              dossier:
                id: b659c273-954e-43cf-893a-0f74a7f87153
                state: pending
              invitee:
                id: f6b72c37-9255-4272-8b21-f2f6ba9537ba
                state: approved
      responses:
        2XX:
          $ref: '#/components/responses/WebhookReceived'
    servers:
    - url: https://api.cm.com/sign/v1
    - url: https://api.cm.com/sign-sandbox/v1
  dossier.invitee.reassignRequest.state.updated:
    post:
      operationId: webhook_dossier_invitee_reassignRequest_state_updated
      summary: Reassign request state updated
      description: 'The state of the reassign request is updated. For example, from `pending` to `approved`.


        Your server implementation should return a 2xx HTTP status code if the event was received successfully. The response body is ignored.'
      tags:
      - Webhook Events
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DossierInviteeReassignRequestStateUpdatedEvent'
            example:
              id: f5b8eb0b-e976-4dc4-88c9-069f377dd1c9
              type: dossier.invitee.reassignRequest.state.updated
              created: '2026-01-01T00:00:00+00:00'
              dossier:
                id: b659c273-954e-43cf-893a-0f74a7f87153
                state: pending
              reassignRequest:
                id: 44971ae0-88fc-43e7-9868-ceaacf6d3ee4
                state: pending
                originalInvitee:
                  id: f6b72c37-9255-4272-8b21-f2f6ba9537ba
                  state: reassigned
      responses:
        2XX:
          $ref: '#/components/responses/WebhookReceived'
    servers:
    - url: https://api.cm.com/sign/v1
    - url: https://api.cm.com/sign-sandbox/v1
  transaction.state.updated:
    post:
      operationId: webhook_transaction_state_updated
      summary: Transaction state updated
      description: 'The state of a transaction is updated. For example, from `pending` to `completed`. The `resultId` is only present when the state is `completed`. This event is sent by default.


        Your server implementation should return a 2xx HTTP status code if the event was received successfully. The response body is ignored.'
      tags:
      - Webhook Events
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionStateUpdatedEvent'
            example:
              id: b041a287-bc92-4469-801e-ae1a39c08f6e
              type: transaction.state.updated
              created: '2026-01-01T00:00:00+00:00'
              transaction:
                id: b659c273-954e-43cf-893a-0f74a7f87153
                state: completed
                resultId: e6b7ce66-df56-4316-bb36-3d014ed84636
      responses:
        2XX:
          $ref: '#/components/responses/WebhookReceived_2'
    servers:
    - url: https://api.cm.com/id-scan/v1
  task.state.updated:
    post:
      operationId: webhook_task_state_updated
      summary: Task state updated
      description: 'The state of a task is updated. For example, from `pending` to `completed`. This event is sent by default.


        Your server implementation should return a 2xx HTTP status code if the event was received successfully. The response body is ignored.'
      tags:
      - Webhook Events
      security: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskStateUpdatedEvent'
            example:
              id: c36f5fc9-b412-4aeb-9cbd-bdb6cdca581f
              type: task.state.updated
              created: '2026-01-01T00:00:00+00:00'
              transaction:
                id: b659c273-954e-43cf-893a-0f74a7f87153
                state: pending
              task:
                type: document_scan
                state: completed
      responses:
        '200':
          $ref: '#/components/responses/WebhookReceived_2'
    servers:
    - url: https://api.cm.com/id-scan/v1
components:
  schemas:
    InviteWebhook:
      description: Basic unprivileged information of the Invite referred to by a webhook event
      type: object
      properties:
        id:
          $ref: '#/components/schemas/InviteReference'
      required:
      - id
    InviteeReference:
      description: Optional. Indicates that only a particular invitee is allowed/required to use a field.
      type: string
      format: uuid
      examples:
      - c6f7eb6f-7414-4f5e-9096-85c6c5a48f84
    DossierInviteExpiredEvent:
      allOf:
      - $ref: '#/components/schemas/WebhookEventBase'
      - type: object
        properties:
          type:
            type: string
            const: dossier.invite.expired
            description: The type of the event
          dossier:
            $ref: '#/components/schemas/DossierWebhook'
          invite:
            $ref: '#/components/schemas/InviteWebhook'
        required:
        - type
        - dossier
        - invite
    InviteReference:
      description: Id of the invite
      type: string
      format: uuid
      examples:
      - 7b842910-41ef-4ca7-8b4a-4eeb9172c54b
    InviteeState:
      type:
      - string
      - 'null'
      enum:
      - approved
      - declined
      - reassigned
      examples:
      - approved
      description: Indicates if the dossier has been approved or declined by the user.
    DossierState:
      type: string
      enum:
      - draft
      - pending
      - completed
      - declined
      - expired
      - deleted
      examples:
      - pending
      description: Every dossier is initialized with the draft state. When the dossier is pending, it will have sent out any invitations for signing. From this point, the dossier is mostly no longer editable. Once everyone has signed, the state becomes completed and the signed dossier will be ready for retrieval. If any invitee declines, the state of the dossier will become declined. After the dossier expiry time has passed, a dossier will always enter the expired state. In the expired state a dossier can no longer be completed or declined. Once the state is deleted the signed contracts are no longer downloadable and all contracts and sensitive information are removed from the system.
    WebhookEventBase:
      description: Properties shared by all webhook events. More event types might be added in the future, so implementations should strictly vary their behavior on the `type` attribute.
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: ID of the webhook event
          examples:
          - b041a287-bc92-4469-801e-ae1a39c08f6e
        created:
          type: string
          format: date-time
          description: The date the webhook event has been created
          examples:
          - '2026-01-01T00:00:00+00:00'
      required:
      - id
      - created
    DossierStateUpdatedEvent:
      allOf:
      - $ref: '#/components/schemas/WebhookEventBase'
      - type: object
        properties:
          type:
            type: string
            const: dossier.state.updated
            description: The type of the event
          dossier:
            $ref: '#/components/schemas/DossierWebhook'
        required:
        - type
        - dossier
    ReassignRequestWebhook:
      description: Basic unprivileged information of the Reassign Request referred to by a webhook event
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: UUID of the reassign request
        state:
          $ref: '#/components/schemas/ReassignRequestState'
        originalInvitee:
          type: object
          description: The original invitee who requested reassignment
          properties:
            id:
              $ref: '#/components/schemas/InviteeReference'
            state:
              $ref: '#/components/schemas/InviteeState'
          required:
          - id
          - state
      required:
      - id
      - state
      - originalInvitee
    DossierInviteeReassignRequestStateUpdatedEvent:
      allOf:
      - $ref: '#/components/schemas/WebhookEventBase'
      - type: object
        properties:
          type:
            type: string
            const: dossier.invitee.reassignRequest.state.updated
            description: The type of the event
          dossier:
            $ref: '#/components/schemas/DossierWebhook'
          reassignRequest:
            $ref: '#/components/schemas/ReassignRequestWebhook'
        required:
        - type
        - dossier
        - reassignRequest
    DossierWebhook:
      description: Basic unprivileged information of the Dossier referred to by a webhook event
      type: object
      properties:
        id:
          $ref: '#/components/schemas/DossierReference'
        state:
          $ref: '#/components/schemas/DossierState'
      required:
      - id
      - state
    DossierPreparedEvent:
      allOf:
      - $ref: '#/components/schemas/WebhookEventBase'
      - type: object
        properties:
          type:
            type: string
            const: dossier.prepared
            description: The type of the event
          dossier:
            $ref: '#/components/schemas/DossierWebhook'
        required:
        - type
        - dossier
    DossierInviteUndeliveredEvent:
      allOf:
      - $ref: '#/components/schemas/WebhookEventBase'
      - type: object
        properties:
          type:
            type: string
            const: dossier.invite.undelivered
            description: The type of the event
          dossier:
            $ref: '#/components/schemas/DossierWebhook'
          invite:
            $ref: '#/components/schemas/InviteWebhook'
        required:
        - type
        - dossier
        - invite
    DossierInviteCreatedEvent:
      allOf:
      - $ref: '#/components/schemas/WebhookEventBase'
      - type: object
        properties:
          type:
            type: string
            const: dossier.invite.created
            description: The type of the event
          dossier:
            $ref: '#/components/schemas/DossierWebhook'
          invite:
            $ref: '#/components/schemas/InviteWebhook'
        required:
        - type
        - dossier
        - invite
    InviteeWebhook:
      description: Basic unprivileged information of the Invitee referred to by a webhook event. The `state` is only present when the invitee state was updated.
      type: object
      properties:
        id:
          $ref: '#/components/schemas/InviteeReference'
        state:
          $ref: '#/components/schemas/InviteeState'
      required:
      - id
    DossierInviteeStateUpdatedEvent:
      allOf:
      - $ref: '#/components/schemas/WebhookEventBase'
      - type: object
        properties:
          type:
            type: string
            const: dossier.invitee.state.updated
            description: The type of the event
          dossier:
            $ref: '#/components/schemas/DossierWebhook'
          invitee:
            $ref: '#/components/schemas/InviteeWebhook'
        required:
        - type
        - dossier
        - invitee
    DossierReference:
      type: string
      format: uuid
      description: Id of the dossier
      examples:
      - 22470767-904e-4553-9586-d7ed4f2b330e
    DossierInviteViewedEvent:
      allOf:
      - $ref: '#/components/schemas/WebhookEventBase'
      - type: object
        properties:
          type:
            type: string
            const: dossier.invite.viewed
            description: The type of the event
          dossier:
            $ref: '#/components/schemas/DossierWebhook'
          invite:
            $ref: '#/components/schemas/InviteWebhook'
          invitee:
            $ref: '#/components/schemas/InviteeWebhook'
        required:
        - type
        - dossier
        - invite
        - invitee
    ReassignRequestState:
      type: string
      enum:
      - approved
      - declined
      - pending
    TaskState:
      type: string
      enum:
      - pending
      - completed
      - aborted
      - maximum_attempts_exceeded
    TaskType:
      type: string
      enum:
      - document_scan
      - face_liveness
      - face_match
    WebhookResultId:
      type: string
      format: uuid
      description: A unique identifier to retrieve the transaction results. This field is only present when the transaction state is completed.
    TransactionStateUpdatedEvent:
      allOf:
      - $ref: '#/components/schemas/WebhookEventBase_2'
      - type: object
        properties:
          type:
            type: string
            const: transaction.state.updated
            description: The type of the event.
          transaction:
            type: object
            properties:
              id:
                type: string
                format: uuid
                description: The unique identifier of the transaction.
              state:
                $ref: '#/components/schemas/TransactionState'
              resultId:
                $ref: '#/components/schemas/WebhookResultId'
            required:
            - id
            - state
        required:
        - type
        - transaction
    TaskStateUpdatedEvent:
      allOf:
      - $ref: '#/components/schemas/WebhookEventBase_2'
      - type: object
        properties:
          type:
            type: string
            const: task.state.updated
            description: The type of the event.
          transaction:
            type: object
            properties:
              id:
                type: string
                format: uuid
                description: The unique identifier of the transaction the task belongs to.
              state:
                $ref: '#/components/schemas/TransactionState'
            required:
            - id
            - state
          task:
            type: object
            properties:
              type:
                $ref: '#/components/schemas/TaskType'
              state:
                $ref: '#/components/schemas/TaskState'
            required:
            - type
            - state
        required:
        - type
        - transaction
        - task
    WebhookEventBase_2:
      description: Properties shared by all webhook events. More event types might be added in the future, so implementations should strictly vary their behavior on the `type` attribute.
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: A unique identifier for the event.
        created:
          type: string
          format: date-time
          description: The date the event was created.
      required:
      - id
      - created
    TransactionState:
      type: string
      description: Current state of the transaction
      enum:
      - pending
      - completed
      - failed
  responses:
    WebhookReceived:
      description: 'The event was received successfully. Any 2xx HTTP status code is accepted and the response body is ignored.


        In case of a 5xx status code the event will be retried several times with an exponentially increasing delay of up to a maximum of 1 day between attempts. After 4 failed delivery attempts the event is dropped.

        '
    WebhookReceived_2:
      description: 'The event was received successfully. Any 2xx HTTP status code is accepted and the response body is ignored.


        In case of a 4xx status code, the event is dropped and not retried. In case of a 5xx status code, a timeout or a connection error, the event will be retried a few times with an increasing delay before it''s dropped.

        '
  securitySchemes:
    JWT:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: 'In order to authenticate you need to use your credentials to generate a JWT Bearer token. The [JWT token](https://jwt.io/introduction/) has to be generated using the `HS256` algorithm and your credentials. This JWT has to contain the following attributes: `iat`, `nbf`, `exp`  in the payload, as well as the attribute `kid` in the header of the JWT. This `kid` attribute needs to contain the Key Id of your credentials.


        The generated token needs to be passed via the HTTP Authorization header like:


        ```

        Authorization: Bearer GENERATED_TOKEN_HERE

        ```


        There are many libraries available for different programming languages that can help you to generate a JWT. See the Libraries tab on [https://jwt.io](https://jwt.io)

        '
x-refined-from:
- cm-com-sign-v1-openapi.yml
- cm-com-verification-id-scan-v1-openapi.yml