{
  "openapi": "3.0.1",
  "info": {
    "title": "Sanctions PEP Screening API - AML Watchlist, Adverse Media",
    "description": "Sanctions, PEP and adverse media screening with the ComplyAdvantage API: screen people, companies, vessels and aircraft against global sanctions lists, watchlists, PEP classes and adverse media, then read past searches, hits and monitoring changes. Bring your own key.",
    "version": "0.1",
    "x-build-id": "fdnATEzuzq7jixUjr"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~sanctions-pep-screening-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-sanctions-pep-screening-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/nabeelbaghoor~sanctions-pep-screening-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-sanctions-pep-screening-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/nabeelbaghoor~sanctions-pep-screening-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-sanctions-pep-screening-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "What to do",
            "enum": [
              "screen",
              "searchHistory",
              "searchDetails",
              "searchEntities",
              "monitorStatus",
              "monitorDifferences"
            ],
            "type": "string",
            "description": "Screen runs a new ComplyAdvantage search for each name (sanctions, watchlists, PEPs and adverse media) and returns one row per hit; each search is created in your account and counts toward your contracted search volume. The other modes only read: past searches, the hits of given searches, their paged entities, monitoring status and monitoring changes.",
            "default": "screen"
          },
          "searchTerms": {
            "title": "Names to screen",
            "type": "array",
            "description": "Screen only. One person, company, vessel or aircraft name per line (at most 255 characters each, up to 1,000 per run). Each name is one new ComplyAdvantage search.",
            "items": {
              "type": "string"
            }
          },
          "entityType": {
            "title": "Entity type",
            "enum": [
              "person",
              "company",
              "organisation",
              "vessel",
              "aircraft"
            ],
            "type": "string",
            "description": "Screen only. Tunes name matching to a person, company, organisation, vessel or aircraft (titles, legal suffixes, nicknames, initials). ComplyAdvantage notes it is not a hard filter between entity types."
          },
          "types": {
            "title": "Screening types",
            "type": "array",
            "description": "Screen only. Which lists to check. Leave empty to use your account default. Use the classic adverse media types or the FATF aligned v2 types, whichever taxonomy your account uses. Cannot be combined with a search profile.",
            "items": {
              "type": "string",
              "enum": [
                "sanction",
                "warning",
                "fitness-probity",
                "pep",
                "pep-class-1",
                "pep-class-2",
                "pep-class-3",
                "pep-class-4",
                "adverse-media",
                "adverse-media-financial-crime",
                "adverse-media-violent-crime",
                "adverse-media-sexual-crime",
                "adverse-media-terrorism",
                "adverse-media-fraud",
                "adverse-media-narcotics",
                "adverse-media-general",
                "adverse-media-v2-property",
                "adverse-media-v2-financial-aml-cft",
                "adverse-media-v2-fraud-linked",
                "adverse-media-v2-narcotics-aml-cft",
                "adverse-media-v2-violence-aml-cft",
                "adverse-media-v2-terrorism",
                "adverse-media-v2-cybercrime",
                "adverse-media-v2-general-aml-cft",
                "adverse-media-v2-regulatory",
                "adverse-media-v2-financial-difficulty",
                "adverse-media-v2-violence-non-aml-cft",
                "adverse-media-v2-other-financial",
                "adverse-media-v2-other-serious",
                "adverse-media-v2-other-minor"
              ],
              "enumTitles": [
                "Sanctions",
                "Warnings (watchlists, enforcement)",
                "Fitness and probity",
                "PEP (all classes)",
                "PEP class 1 (heads of state, ministers)",
                "PEP class 2 (senior officials, judges)",
                "PEP class 3 (senior management of state bodies)",
                "PEP class 4 (mid ranking officials)",
                "Adverse media (all, classic taxonomy)",
                "Adverse media: financial crime",
                "Adverse media: violent crime",
                "Adverse media: sexual crime",
                "Adverse media: terrorism",
                "Adverse media: fraud",
                "Adverse media: narcotics",
                "Adverse media: general",
                "Adverse media v2: property",
                "Adverse media v2: financial AML/CFT",
                "Adverse media v2: fraud linked",
                "Adverse media v2: narcotics AML/CFT",
                "Adverse media v2: violence AML/CFT",
                "Adverse media v2: terrorism",
                "Adverse media v2: cybercrime",
                "Adverse media v2: general AML/CFT",
                "Adverse media v2: regulatory",
                "Adverse media v2: financial difficulty",
                "Adverse media v2: violence non AML/CFT",
                "Adverse media v2: other financial",
                "Adverse media v2: other serious",
                "Adverse media v2: other minor"
              ]
            }
          },
          "searchProfile": {
            "title": "Search profile ID",
            "type": "string",
            "description": "Screen only. The ID (a UUID) of a search profile set up in the ComplyAdvantage web app, which fixes the lists and settings to use. Leave screening types empty when you set this."
          },
          "birthYear": {
            "title": "Birth year",
            "minimum": 1850,
            "maximum": 2100,
            "type": "integer",
            "description": "Screen only. Year of birth, when known, to cut false positives on people."
          },
          "countryCodes": {
            "title": "Country codes",
            "type": "array",
            "description": "Screen only. ISO 3166-1 alpha-2 codes such as GB, US or RU. Narrows PEP and country tagged results; sanctioned entities and adverse media only results still appear whatever the country.",
            "items": {
              "type": "string"
            }
          },
          "fuzziness": {
            "title": "Fuzziness",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "description": "Screen only. How loosely names may match, from 0 (no one letter typos) to 1 (loosest). ComplyAdvantage examples use 0.6. Leave empty for your account default."
          },
          "exactMatch": {
            "title": "Exact match only",
            "type": "boolean",
            "description": "Screen only. Turns off all name variation matching (honorifics, initials, nicknames, glued names, extra words). Overrides fuzziness.",
            "default": false
          },
          "removeDeceased": {
            "title": "Remove deceased people",
            "type": "boolean",
            "description": "Screen only. Leaves deceased people out of the results.",
            "default": false
          },
          "clientRef": {
            "title": "Client reference",
            "type": "string",
            "description": "Screen: your own reference for the customer being screened (one name per run when set). ComplyAdvantage tracks results per reference and stops reporting hits you have already reviewed for that customer. Search history: show searches with this reference."
          },
          "hitsPerSearch": {
            "title": "Hits per search",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Screen only. The most hits each search pulls, 1 to 100 (the API maximum per search).",
            "default": 100
          },
          "shareUrl": {
            "title": "Include share URL",
            "type": "boolean",
            "description": "Screen and Search details. Asks ComplyAdvantage for a shareable link to the search result. The link opens the result publicly, so leave this off unless you need it.",
            "default": false
          },
          "searchIds": {
            "title": "Search IDs or refs",
            "type": "array",
            "description": "Search details, Search entities, Monitor status and Monitor differences. Numeric search IDs or search refs such as 1594889804-eVSo1JXO (Search history and Screen rows give both).",
            "items": {
              "type": "string"
            }
          },
          "entityProvider": {
            "title": "Entity source",
            "enum": [
              "comply",
              "internal"
            ],
            "type": "string",
            "description": "Search entities only. comply reads hits from ComplyAdvantage data; internal reads hits from your own uploaded internal lists (blacklists).",
            "default": "comply"
          },
          "differencesDate": {
            "title": "Differences date",
            "type": "string",
            "description": "Monitor differences only. The day to report changes for, YYYY-MM-DD. Leave empty for today."
          },
          "matchStatus": {
            "title": "Match status",
            "type": "array",
            "description": "Search history only. Keep searches with any of these match statuses.",
            "items": {
              "type": "string",
              "enum": [
                "no_match",
                "false_positive",
                "potential_match",
                "true_positive",
                "unknown",
                "true_positive_approve",
                "true_positive_reject"
              ],
              "enumTitles": [
                "No match",
                "False positive",
                "Potential match",
                "True positive",
                "Unknown",
                "True positive, approved",
                "True positive, rejected"
              ]
            }
          },
          "riskLevel": {
            "title": "Risk level",
            "type": "array",
            "description": "Search history only. Keep searches with any of these risk levels.",
            "items": {
              "type": "string",
              "enum": [
                "low",
                "medium",
                "high",
                "unknown"
              ],
              "enumTitles": [
                "Low",
                "Medium",
                "High",
                "Unknown"
              ]
            }
          },
          "searchTermFilter": {
            "title": "Search term contains",
            "type": "string",
            "description": "Search history only. Keep searches whose term matches this text (3 characters minimum)."
          },
          "createdFrom": {
            "title": "Created from",
            "type": "string",
            "description": "Search history only. Searches made on or after this date, YYYY-MM-DD."
          },
          "createdTo": {
            "title": "Created to",
            "type": "string",
            "description": "Search history only. Searches made on or before this date, YYYY-MM-DD."
          },
          "assigneeId": {
            "title": "Assignee user ID",
            "minimum": 1,
            "type": "integer",
            "description": "Search history only. Searches assigned to this ComplyAdvantage user ID."
          },
          "searcherId": {
            "title": "Searcher user ID",
            "minimum": 1,
            "type": "integer",
            "description": "Search history only. Searches run by this ComplyAdvantage user ID."
          },
          "monitored": {
            "title": "Monitoring",
            "enum": [
              "un-suspended",
              "suspended",
              "false"
            ],
            "type": "string",
            "description": "Search history only. Actively monitored, suspended, or not monitored searches."
          },
          "tags": {
            "title": "Tags",
            "type": "array",
            "description": "Search history only. Tags as name:value, such as internal_ref:1234.",
            "items": {
              "type": "string"
            }
          },
          "tagsLogicalOperator": {
            "title": "Tag match",
            "enum": [
              "OR",
              "AND"
            ],
            "type": "string",
            "description": "Search history only, with two or more tags. OR keeps searches with any tag, AND only those with all of them.",
            "default": "OR"
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "id",
              "created_at",
              "updated_at",
              "assignee_id",
              "searcher_id"
            ],
            "type": "string",
            "description": "Search history only. Leave empty for the stored order."
          },
          "sortDir": {
            "title": "Sort direction",
            "enum": [
              "DESC",
              "ASC"
            ],
            "type": "string",
            "description": "Search history only, with a sort field.",
            "default": "DESC"
          },
          "region": {
            "title": "Account region",
            "enum": [
              "eu",
              "us",
              "ap"
            ],
            "type": "string",
            "description": "The ComplyAdvantage region your account lives on. A key works only on its own region.",
            "default": "eu"
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "The most rows this run returns. In Screen mode the run stops starting new searches once it is reached, so no search is wasted.",
            "default": 100
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 600,
            "type": "integer",
            "description": "Pacing. ComplyAdvantage allows 600 calls a minute on a standard contract and 300 on a sandbox. A rate limit answer is waited out and retried.",
            "default": 60
          },
          "apiKey": {
            "title": "API key",
            "type": "string",
            "description": "Your own ComplyAdvantage API key, created in the ComplyAdvantage web app. Stored as a secret, sent only to the ComplyAdvantage API host of your region in the Authorization header, and never logged. You can instead set the DATA_API_KEY environment secret."
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}