ComplyAdvantage Monitored Searches API

Ongoing monitoring of searches, change differences, and acknowledgement.

OpenAPI Specification

complyadvantage-monitored-searches-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ComplyAdvantage Case Management Monitored Searches API
  description: 'The ComplyAdvantage REST API screens people and companies against sanctions and watchlists, warnings and fitness-probity lists, politically exposed persons (PEPs and RCAs), and adverse media, and keeps them under ongoing monitoring. It covers searches (create, list, retrieve, update, delete, certificates, entities), monitored searches (start/stop monitoring, differences, acknowledge), case management (assignment, match status, risk level, comments, tags), and account users. Authentication is an api key sent as "Authorization: Token YOUR_API_KEY"; keys are generated inside the ComplyAdvantage web platform, so an account is required. Standard contracts allow 600 API calls per minute (sandbox 300), with 429 responses requiring exponential backoff (start at 2 seconds, cap at 60). Webhook events match_status_updated, search_status_updated, and monitored_search_updated push changes to your systems. This document was modeled from the public API reference at docs.complyadvantage.com; the endpoint paths are documented publicly, while request/response schemas are summarized rather than exhaustive.'
  version: '1.0'
  contact:
    name: ComplyAdvantage
    url: https://complyadvantage.com
servers:
- url: https://api.complyadvantage.com
  description: EU (default)
- url: https://api.us.complyadvantage.com
  description: US
- url: https://api.ap.complyadvantage.com
  description: APAC
security:
- apiKeyAuth: []
tags:
- name: Monitored Searches
  description: Ongoing monitoring of searches, change differences, and acknowledgement.
paths:
  /searches/{id}/monitors:
    get:
      operationId: getMonitoredSearch
      tags:
      - Monitored Searches
      summary: Get monitored search details
      description: Retrieves the monitoring configuration and state of a search.
      parameters:
      - $ref: '#/components/parameters/SearchId'
      responses:
        '200':
          description: Monitoring details for the search.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorEnvelope'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateMonitoredSearch
      tags:
      - Monitored Searches
      summary: Update monitored search details
      description: Starts or stops ongoing monitoring for a search.
      parameters:
      - $ref: '#/components/parameters/SearchId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                is_monitored:
                  type: boolean
      responses:
        '200':
          description: The updated monitoring state.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorEnvelope'
        '404':
          $ref: '#/components/responses/NotFound'
  /searches/{id}/search-profile:
    patch:
      operationId: updateSearchProfile
      tags:
      - Monitored Searches
      summary: Update the associated search profile
      description: Updates which search profile a monitored search uses.
      parameters:
      - $ref: '#/components/parameters/SearchId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                search_profile:
                  type: string
      responses:
        '200':
          description: The updated search.
        '404':
          $ref: '#/components/responses/NotFound'
  /searches/{id}/monitor/differences:
    get:
      operationId: getMonitoredSearchDifferences
      tags:
      - Monitored Searches
      summary: Retrieve monitored search changes
      description: Retrieves what changed on a monitored search - new, updated, and removed matching entities since the last acknowledgement.
      parameters:
      - $ref: '#/components/parameters/SearchId'
      responses:
        '200':
          description: The differences since last acknowledgement.
        '404':
          $ref: '#/components/responses/NotFound'
  /searches/{id}/monitor/acknowledge:
    post:
      operationId: acknowledgeMonitoredSearchChanges
      tags:
      - Monitored Searches
      summary: Acknowledge monitored search changes
      description: Acknowledges the pending changes on a monitored search.
      parameters:
      - $ref: '#/components/parameters/SearchId'
      responses:
        '200':
          description: Acknowledgement confirmation.
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    SearchId:
      name: id
      in: path
      required: true
      schema:
        type: string
      description: The search ID or ref.
  schemas:
    MonitorEnvelope:
      type: object
      properties:
        status:
          type: string
        content:
          type: object
          properties:
            is_monitored:
              type: boolean
  responses:
    NotFound:
      description: The search or resource was not found.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: 'API key sent as: Authorization: Token YOUR_API_KEY. Keys are generated in the ComplyAdvantage web platform.'