ComplyAdvantage Webhooks API

The Webhooks API from ComplyAdvantage — 3 operation(s) for webhooks.

Operations 4

GET /v2/notifications/configurations/webhook Get a list of all webhook notification configurations #
POST /v2/notifications/configurations/webhook Create a new webhook configuration #
POST /v2/notifications/configurations/webhook/test Test a webhook #
PATCH /v2/notifications/configurations/webhook/{identifier} Update a webhook notification configuration #

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/complyadvantage-webhooks-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 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

complyadvantage-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mesh Webhooks API
  version: v2.0
servers:
- description: ComplyAdvantage Mesh API
  url: https://api.mesh.complyadvantage.com
security:
- BearerAuth: []
tags:
- name: Webhooks
paths:
  /v2/notifications/configurations/webhook:
    get:
      description: 'Use this endpoint to get back a list of all webhook notification configurations that the account has set up.


        You need the "View webhooks" permission to use this endpoint.'
      operationId: notificationGetWebhookConfigurations
      parameters:
      - description: 'Filter webhook notification configurations by type.


          CASE_STATE_UPDATED is deprecated (replaced by CASE_TRANSITIONED)'
        example: CASE_CREATED
        in: query
        name: type
        required: false
        schema:
          enum:
          - CASE_CREATED
          - CASE_STATE_UPDATED
          - CASE_TRANSITIONED
          - WORKFLOW_COMPLETED
          - CASE_ALERT_LIST_UPDATED
          - TRANSACTION_REVIEWED
          - TRANSACTION_MONITORING_ASYNC_COMPLETED
          - CUSTOMER_RISK_SCORE_CHANGED
          - CUSTOMER_RISK_LEVEL_INCREASED
          - CUSTOMER_RISK_LEVEL_DECREASED
          type: string
      - description: One-based page index (1..N)
        example: 1
        in: query
        name: page_number
        required: false
        schema:
          default: 1
          minimum: 1
          type: integer
      - description: The size of the page to be returned
        example: 20
        in: query
        name: page_size
        required: false
        schema:
          default: 25
          minimum: 1
          type: integer
      - description: 'Sorting criteria in the format of: `[-]property` (`-` descending modifier).


          * Default sort order is ascending (without `-`).


          * Multiple sort criteria are supported.'
        example:
        - -timestamp
        in: query
        name: sort
        required: false
        schema:
          default: []
          items:
            type: string
          type: array
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ns_PaginatedResponseWebhookConfigurationLog'
          description: OK
      summary: Get a list of all webhook notification configurations
      tags:
      - Webhooks
    post:
      callbacks:
        onCaseAlertListUpdated:
          $request.body.url:
            post:
              description: Receive an update whenever the alert list associated with a case is updated, such as when new alerts are added to the case.
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ns_CaseAlertListUpdatedV2JsonPayload'
              responses:
                '200':
                  description: The downstream service should respond with 200 OK to acknowledge receipt of the  webhook.
              summary: CASE_ALERT_LIST_UPDATED
        onCaseCreated:
          $request.body.url:
            post:
              description: Receive an update whenever a new case is created.
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ns_CaseCreatedJsonPayloadV2'
              responses:
                '200':
                  description: The downstream service should respond with 200 OK to acknowledge receipt of the  webhook.
              summary: CASE_CREATED
        onCaseTransitioned:
          $request.body.url:
            post:
              description: 'Receive an update whenever a case changes its stage, e.g. from "Not Started" to "In Progress".


                Subscribe using type CASE_TRANSITIONED. The previous subscription type CASE_STATE_UPDATED is deprecated but remains functional.'
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ns_CaseTransitionedV2JsonPayload'
              responses:
                '200':
                  description: The downstream service should respond with 200 OK to acknowledge receipt of the  webhook.
              summary: CASE_TRANSITIONED
        onCustomerRiskLevelDecreased:
          $request.body.url:
            post:
              description: Receive an update when a customer's risk level decreases.
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ns_CustomerRiskScoreDataUpdateV3JsonPayload'
              responses:
                '200':
                  description: The downstream service should respond with 200 OK to acknowledge receipt of the  webhook.
              summary: CUSTOMER_RISK_LEVEL_DECREASED
        onCustomerRiskLevelIncreased:
          $request.body.url:
            post:
              description: Receive an update when a customer's risk level increases.
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ns_CustomerRiskScoreDataUpdateV3JsonPayload'
              responses:
                '200':
                  description: The downstream service should respond with 200 OK to acknowledge receipt of the  webhook.
              summary: CUSTOMER_RISK_LEVEL_INCREASED
        onCustomerRiskScoreChanged:
          $request.body.url:
            post:
              description: Receive an update when a customer's risk score changes.
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ns_CustomerRiskScoreDataUpdateV3JsonPayload'
              responses:
                '200':
                  description: The downstream service should respond with 200 OK to acknowledge receipt of the  webhook.
              summary: CUSTOMER_RISK_SCORE_CHANGED
        onTransactionMonitoringAsyncCompleted:
          $request.body.url:
            post:
              description: Receive an update when a transaction monitoring evaluation completes.
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ns_TransactionMonitoredV2JsonPayload'
              responses:
                '200':
                  description: The downstream service should respond with 200 OK to acknowledge receipt of the  webhook.
              summary: TRANSACTION_MONITORING_ASYNC_COMPLETED
        onTransactionReviewed:
          $request.body.url:
            post:
              description: Receive an update when a transaction has been reviewed and either released or rejected.
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ns_TransactionReviewedV3JsonPayload'
              responses:
                '200':
                  description: The downstream service should respond with 200 OK to acknowledge receipt of the  webhook.
              summary: TRANSACTION_REVIEWED
        onWorkflowCompleted:
          $request.body.url:
            post:
              description: Receive an update when an onboarding workflow completes.
              requestBody:
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/ns_WorkflowCompletedV2JsonPayload'
              responses:
                '200':
                  description: The downstream service should respond with 200 OK to acknowledge receipt of the  webhook.
              summary: WORKFLOW_COMPLETED
      description: This endpoint enables you to create a webhook configuration that will monitor an event type and send updates to the URL you specify.
      operationId: notificationCreateWebhookConfiguration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ns_WebhookConfigurationPayload'
        required: true
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ns_WebhookConfigurationLog'
          description: Webhook configuration created successfully
        '400':
          content:
            application/problem+json:
              examples:
                invalid url:
                  description: invalid url
                  value:
                    identifier: 018dc10d-4ef6-794e-a21b-04de02024aa5
                    instance: https://example/v2/webhooks
                    properties:
                      errors:
                      - field: url
                        reasons: []
                        rejected: URL not properly formatted
                    status: 400
                    timestamp: '2024-02-19T11:08:11.382Z'
                    title: validation failed
              schema:
                $ref: '#/components/schemas/ns_ProblemDetailErrorResponse'
          description: Bad request. Request cannot be processed due to input webhook configuration payload error.
      summary: Create a new webhook configuration
      tags:
      - Webhooks
  /v2/notifications/configurations/webhook/test:
    post:
      description: 'This is an optional test that will send an example payload to the URL you specify.


        Test webhook payload:


        ```json

        {

        "message": "This is a test webhook from ComplyAdvantage"

        }

        ```


        You need the "Create and update webhooks" permission to use this endpoint.'
      operationId: notificationTestWebhookConfiguration
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ns_WebhookTestPayload'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ns_TestWebhookResponse'
          description: success
        '400':
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ns_ProblemDetailErrorResponse'
          description: Bad request. Request cannot be processed due to input error.
      summary: Test a webhook
      tags:
      - Webhooks
  /v2/notifications/configurations/webhook/{identifier}:
    patch:
      description: 'This endpoint will update the webhook configuration


        You need the "Create and update webhooks" permission to use this endpoint.'
      operationId: notificationPatchWebhookConfiguration
      parameters:
      - description: Identifier of the webhook notification configuration object
        example: 95913b76-050c-40f3-9075-25f0737ac7d3
        in: path
        name: identifier
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ns_UpdateWebhookPayload'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ns_UpdatedWebhookConfigurationResponse'
          description: Webhook configuration updated successfully
        '400':
          content:
            application/json:
              examples:
                Invalid URL format:
                  description: URL validation failed due to invalid format
                  value:
                    detail: There were validation errors with your request
                    errors:
                    - field: url
                      reasons:
                      - key: error.validation.ValidWebhookUrl
                        message: Invalid webhook URL
                      rejected: invalid-url-format
                    identifier: 018e1971-1c6f-761f-a510-43540727ff48
                    instance: https://example/v2/notifications/configurations/webhook/95913b76-050c-40f3-9075-25f0737ac7d3
                    status: 400
                    timestamp: '2024-03-07T15:03:47.055Z'
                    title: Validation Error
                    type: about:blank
                Private IP address:
                  description: URL validation failed because it resolves to a private IP address
                  value:
                    detail: There were validation errors with your request
                    errors:
                    - field: url
                      reasons:
                      - key: error.validation.ValidWebhookUrl
                        message: Invalid webhook URL
                      rejected: http://172.16.0.1/webhook
                    identifier: 018e1971-1c6f-761f-a510-43540727ff48
                    instance: https://example/v2/notifications/configurations/webhook/95913b76-050c-40f3-9075-25f0737ac7d3
                    status: 400
                    timestamp: '2024-03-07T15:03:47.055Z'
                    title: Validation Error
                    type: about:blank
              schema:
                $ref: '#/components/schemas/ns_ProblemDetailErrorResponse'
          description: Bad request. Validation errors with the request payload.
        '403':
          content:
            application/json:
              example:
                detail: You do not have the permissions needed to access the resource.
                identifier: 018d3157-0ec8-73ba-a684-865e5e2ff1ed
                instance: https://example/v2/notifications/configurations/webhook/95913b76-050c-40f3-9075-25f0737ac7d3
                properties: {}
                status: 403
                timestamp: '2024-01-22T13:23:25.512Z'
                title: Forbidden
                type: about:blank
              schema:
                $ref: '#/components/schemas/ns_ProblemDetailErrorResponse'
          description: Forbidden. User does not have the required permissions.
        '404':
          content:
            application/problem+json:
              examples:
                Configuration not found:
                  description: The webhook configuration identifier does not exist for this account
                  value:
                    detail: Webhook configuration with the provided identifier=95913b76-050c-40f3-9075-25f0737ac7d3 does not exist
                    identifier: 018e1971-1c6f-761f-a510-43540727ff48
                    instance: https://example/v2/notifications/configurations/webhook/95913b76-050c-40f3-9075-25f0737ac7d3
                    properties: {}
                    status: 404
                    timestamp: '2024-03-07T15:03:47.055Z'
                    title: Configuration does not exist
                    type: about:blank
              schema:
                $ref: '#/components/schemas/ns_ProblemDetailErrorResponse'
          description: Not Found. The webhook configuration with the specified identifier does not exist.
      summary: Update a webhook notification configuration
      tags:
      - Webhooks
components:
  schemas:
    ns_CustomerCreationStep:
      properties:
        error_message:
          type:
          - string
          - 'null'
        identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
          - string
          - 'null'
        status:
          type: string
        step_output:
          $ref: '#/components/schemas/ns_CustomerCreationOutput'
      required:
      - status
      - step_output
      type: object
    ns_Subject:
      properties:
        external_identifier:
          example: your unique subject identifier
          type:
          - string
          - 'null'
        identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
          - string
          - 'null'
        type:
          example: CUSTOMER
          type: string
        version:
          example: '1'
          type:
          - string
          - 'null'
      required:
      - type
      type: object
    ns_UpdateWebhookPayload:
      properties:
        is_active:
          description: 'This flag sets whether the webhook is active or not.

            If ''true'', Mesh sends updates when the monitored events take place.

            If ''false'', Mesh will not send any updates.

            '
          example: false
          type:
          - boolean
          - 'null'
        name:
          description: The name of the webhook configuration.
          example: New Name
          type:
          - string
          - 'null'
        url:
          description: The client side URL that webhooks should be sent to
          example: https://www.example.org/hooks
          format: url
          type:
          - string
          - 'null'
      type: object
    ns_TransactionMonitoredV2JsonPayload:
      properties:
        api_version:
          example: v2
          type: string
        error_message:
          type:
          - string
          - 'null'
        monitoring_outcome:
          example: HOLD
          type: string
        scenario_evaluations:
          items:
            $ref: '#/components/schemas/ns_ScenarioEvaluationV2JsonPayload'
          type:
          - array
          - 'null'
        transaction_external_id:
          example: your unique transaction identifier
          type: string
        transaction_version:
          format: int32
          type: integer
        webhook_id:
          example: your unique webhook identifier
          type: string
        webhook_type:
          example: TRANSACTION_MONITORING_ASYNC_COMPLETED
          type: string
      required:
      - api_version
      - monitoring_outcome
      - transaction_external_id
      - transaction_version
      - webhook_id
      - webhook_type
      type: object
    ns_RiskAttribute:
      properties:
        fields:
          items:
            $ref: '#/components/schemas/ns_RiskAttribute'
          type:
          - array
          - 'null'
        name:
          example: country_of_residence
          type: string
        parameter:
          example: PT
          type:
          - string
          - 'null'
        score:
          example: 30
          format: double
          type: number
      required:
      - name
      - score
      type: object
    ns_UpdatedWebhookConfigurationResponse:
      properties:
        identifier:
          description: The identifier of the webhook notification configuration that has been updated
          example: 70f0581a-8d09-4077-8dcc-0d78d3f687e3
          format: uuid
          type: string
      required:
      - identifier
      type: object
    ns_TestResult:
      properties:
        response_type:
          description: Server response type
          enum:
          - SUCCESS
          - REDIRECTION
          - CLIENT_REQUEST_ERROR
          - SERVER_ERROR
          - NO_RESPONSE
          - OAUTH_CLIENT_REQUEST_ERROR
          - OAUTH_SERVER_ERROR
          - OAUTH_NO_RESPONSE
          type: string
        server_response_code:
          description: Server response code
          format: int32
          type: integer
      required:
      - response_type
      - server_response_code
      type: object
    ns_CustomerScreeningOutput:
      properties:
        aml_types:
          items:
            type: string
          type:
          - array
          - 'null'
        screening_result:
          example: HAS_PROFILES
          type:
          - string
          - 'null'
      type: object
    ns_CustomerCreationOutput:
      properties:
        customer_identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
          - string
          - 'null'
        external_identifier:
          example: your unique customer identifier
          type:
          - string
          - 'null'
      type: object
    ns_WorkflowAlert:
      properties:
        identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type: string
      required:
      - identifier
      type: object
    ns_AlertingOutput:
      properties:
        alerts:
          items:
            $ref: '#/components/schemas/ns_WorkflowAlert'
          type:
          - array
          - 'null'
      type: object
    ns_CaseAlertListUpdatedV2JsonPayload:
      properties:
        account_identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type: string
        alert_identifiers:
          example:
          - xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          items:
            example: '["xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"]'
            type: string
          type: array
        api_version:
          example: v2
          type: string
        case_identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type: string
        customer:
          $ref: '#/components/schemas/ns_Customer'
        subjects:
          items:
            $ref: '#/components/schemas/ns_Subject'
          type: array
        webhook_type:
          example: CASE_ALERT_LIST_UPDATED
          type: string
      required:
      - account_identifier
      - alert_identifiers
      - api_version
      - case_identifier
      - subjects
      - webhook_type
      type: object
    ns_PaginatedResponseWebhookConfigurationLog:
      properties:
        first:
          description: The URL path to the first page.
          example: /v1/resource?page_number=1
          type: string
        next:
          description: The URL path to the next page.
          example: /v1/resource?page_number=4
          type:
          - string
          - 'null'
        prev:
          description: The URL path to the previous page.
          example: /v1/resource?page_number=2
          type:
          - string
          - 'null'
        self:
          description: The URL path to the current page.
          example: /v1/resource?page_number=3
          type: string
        total_count:
          description: Total number of items.
          example: 60
          format: int64
          type:
          - integer
          - 'null'
        webhook_notification_configurations:
          items:
            $ref: '#/components/schemas/ns_WebhookConfigurationLog'
          type: array
      required:
      - first
      - self
      - webhook_notification_configurations
      type: object
    ns_Customer:
      properties:
        external_identifier:
          example: your unique customer identifier
          type:
          - string
          - 'null'
        identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
          - string
          - 'null'
        version:
          example: 1
          format: int32
          type:
          - integer
          - 'null'
      type: object
    ns_WebhookConfigurationLog:
      properties:
        created_at:
          description: The datetime that the webook notification configuration was created
          example: '2022-01-31T14:27:24.000Z'
          format: date-time
          type: string
        created_by:
          description: The user who created the webhook notification configuration
          example: 6de244da-11f8-479d-aec7-c4d2126b092e
          format: uuid
          type: string
        identifier:
          description: Identifier of the webhook notification configuration object
          example: 6de244da-11f8-479d-aec7-c4d2126b092e
          format: uuid
          type: string
        is_active:
          description: The flag to make webhooks active or inactive
          example: true
          type: boolean
        name:
          description: The client provided name for the webhook configration
          example: example name
          type: string
        type:
          description: 'The type of webhook notification configuration being created.


            CASE_STATE_UPDATED is deprecated (replaced by CASE_TRANSITIONED)'
          enum:
          - CASE_CREATED
          - CASE_STATE_UPDATED
          - CASE_TRANSITIONED
          - WORKFLOW_COMPLETED
          - CASE_ALERT_LIST_UPDATED
          - CSOM_EMULATION_MATCH_STATUS_UPDATED
          - CSOM_EMULATION_SEARCH_STATUS_UPDATED
          - CSOM_EMULATION_MONITORED_SEARCH_UPDATED
          - TRANSACTION_REVIEWED
          - TRANSACTION_MONITORING_ASYNC_COMPLETED
          - CUSTOMER_RISK_SCORE_CHANGED
          - CUSTOMER_RISK_LEVEL_INCREASED
          - CUSTOMER_RISK_LEVEL_DECREASED
          example: CASE_CREATED
          type: string
        updated_at:
          description: The datetime that the webhook notification configuration was last updated
          example: '2022-01-31T14:27:24.000Z'
          format: date-time
          type: string
        url:
          description: The client side URL to send the webhooks to
          example: https://www.example.org/hooks
          format: url
          type: string
      required:
      - created_at
      - created_by
      - identifier
      - is_active
      - name
      - type
      - updated_at
      - url
      type: object
    ns_CustomerScreeningStep:
      properties:
        error_message:
          type:
          - string
          - 'null'
        identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
          - string
          - 'null'
        status:
          example: COMPLETED
          type: string
        step_output:
          $ref: '#/components/schemas/ns_CustomerScreeningOutput'
      required:
      - status
      - step_output
      type: object
    ns_CaseCreatedJsonPayloadV2:
      properties:
        account_identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type: string
        api_version:
          example: v2
          type: string
        case_identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type: string
        case_stage:
          $ref: '#/components/schemas/ns_CaseStage'
        case_state:
          example: ONBOARDING_NOT_STARTED
          type: string
        case_type:
          example: CUSTOMER_ONBOARDING
          type: string
        customer:
          $ref: '#/components/schemas/ns_Customer'
        subjects:
          items:
            $ref: '#/components/schemas/ns_Subject'
          type: array
        webhook_type:
          example: CASE_CREATED
          type: string
      required:
      - account_identifier
      - api_version
      - case_identifier
      - case_stage
      - case_state
      - case_type
      - subjects
      - webhook_type
      type: object
    ns_RiskCategory:
      properties:
        category_type:
          enum:
          - BASIC_INFORMATION
          - AML
          - COUNTRY
          - PRODUCT
          - CHANNEL
          - NGD_RISK
          - CUSTOM_FIELDS
          type: string
        level:
          enum:
          - LOW
          - MEDIUM
          - HIGH
          - PROHIBITED
          - SKIPPED
          example: MEDIUM
          type: string
        risk_attributes:
          items:
            $ref: '#/components/schemas/ns_RiskAttribute'
          type: array
        score:
          example: 30
          format: double
          type: number
        weight:
          example: 0.5
          format: double
          type: number
      required:
      - category_type
      - level
      - risk_attributes
      - score
      - weight
      type: object
    ns_InitialRiskScoringOutput:
      properties:
        overall_level:
          example: LOW-RISK
          type:
          - string
          - 'null'
        overall_value:
          example: 0
          format: double
          type:
          - number
          - 'null'
      type: object
    ns_CaseTransitionedV2JsonPayload:
      properties:
        account_identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type: string
        api_version:
          example: v2
          type: string
        case_identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type: string
        case_stage:
          $ref: '#/components/schemas/ns_CaseStage'
        case_state:
          example: CASE_STATE_POSITIVE_END_STATE
          type: string
        case_type:
          example: CUSTOMER_ONBOARDING
          type: string
        customer:
          $ref: '#/components/schemas/ns_Customer'
        note:
          $ref: '#/components/schemas/ns_CaseNote'
        subjects:
          items:
            $ref: '#/components/schemas/ns_Subject'
          type: array
        webhook_type:
          example: CASE_TRANSITIONED
          type: string
      required:
      - account_identifier
      - api_version
      - case_identifier
      - case_stage
      - case_state
      - case_type
      - subjects
      - webhook_type
      type: object
    ns_WorkflowStepDetails:
      properties:
        alerting:
          $ref: '#/components/schemas/ns_AlertingStep'
        case-creation:
          $ref: '#/components/schemas/ns_CaseCreationStep'
        customer-creation:
          $ref: '#/components/schemas/ns_CustomerCreationStep'
        customer-screening:
          $ref: '#/components/schemas/ns_CustomerScreeningStep'
        initial-risk-scoring:
          $ref: '#/components/schemas/ns_InitialRiskScoringStep'
      type: object
    ns_CaseCreationStep:
      properties:
        error_message:
          type:
          - string
          - 'null'
        identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
          - string
          - 'null'
        status:
          example: COMPLETED
          type: string
        step_output:
          $ref: '#/components/schemas/ns_CaseCreationOutput'
      required:
      - status
      - step_output
      type: object
    ns_TestWebhookResponse:
      properties:
        identifier:
          description: Test webhook unique identifier
          format: uuid
          type: string
        test_result:
          $ref: '#/components/schemas/ns_TestResult'
      required:
      - identifier
      - test_result
      type: object
    ns_ScenarioEvaluationV2JsonPayload:
      properties:
        evaluation_results:
          items:
            $ref: '#/components/schemas/ns_EvaluationResultV2JsonPayload'
          type: array
        scenario_configuration_id:
          format: uuid
          type: string
      required:
      - evaluation_results
      - scenario_configuration_id
      type: object
    ns_CaseStage:
      properties:
        decision_type:
          example: POSITIVE
          type:
          - string
          - 'null'
        display_name:
          example: Not Started
          type: string
        display_order:
          example: 1
          format: int32
          type: integer
        identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type: string
        stage_type:
          example: INITIAL
          type: string
      required:
      - display_name
      - display_order
      - identifier
      - stage_type
      type: object
    ns_CustomerRiskScoreDataUpdateV3JsonPayload:
      properties:
        account_identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type: string
        api_version:
          example: v3
          type: string
        customer_external_identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type: string
        previous_risk_score:
          $ref: '#/components/schemas/ns_RiskScorePayload'
        risk_score:
          $ref: '#/components/schemas/ns_RiskScorePayload'
        webhook_type:
          example: CUSTOMER_RISK_SCORE_CHANGED
          type: string
      required:
      - account_identifier
      - api_version
      - customer_external_identifier
      - risk_score
      - webhook_type
      type: object
    ns_AlertingStep:
      properties:
        error_message:
          type:
          - string
          - 'null'
        identifier:
          example: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
          type:
          - string
          - 'null'
        status:
          example: COMPLETED
          type: string
        step_output:
          $ref: '#/components/schemas/ns_AlertingOutput'
      required:
      - status
      - step_output
      type: object
    ns_ProblemDetailErrorResponse:
      additionalProperties: true
      properties:
       

# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/complyadvantage/refs/heads/main/openapi/complyadvantage-webhooks-api-openapi.yml