{
  "openapi": "3.0.1",
  "info": {
    "title": "Sanctions Screening — OFAC SDN & EU List Name Check (KYC/AML)",
    "description": "Screen names of people, companies and vessels against the US OFAC SDN list and the EU consolidated sanctions list. Fuzzy matching with score, aliases, program, country, listing date. Bulk screening. Built for compliance agents. No API key.",
    "version": "0.1",
    "x-build-id": "U6ttwuVdjWiRHDRQk"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yadroo~sanctions-screen/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yadroo-sanctions-screen",
        "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/yadroo~sanctions-screen/runs": {
      "post": {
        "operationId": "runs-sync-yadroo-sanctions-screen",
        "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/yadroo~sanctions-screen/run-sync": {
      "post": {
        "operationId": "run-sync-yadroo-sanctions-screen",
        "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": {
          "names": {
            "title": "Names to screen",
            "type": "array",
            "description": "People, companies, vessels or aircraft to screen — one name per line, any script (Cyrillic is transliterated automatically). Up to 5,000 per run; about 3,000 fit in the default 15-minute run at 256 MB (README → Limits).",
            "items": {
              "type": "string"
            }
          },
          "entities": {
            "title": "Structured entities (optional)",
            "type": "array",
            "description": "Alternative to `names` (can be combined): objects {name, type?, country?, ref?}. `type` is individual, entity, vessel or aircraft (also person, company, ship, plane) and restricts matches to that kind — an unknown type stops the run with an error; `country` keeps only entries linked to that country (substring); `ref` is echoed back (your customer id)."
          },
          "lists": {
            "title": "Lists to screen against",
            "type": "array",
            "description": "Any of: ofac_sdn, ofac_consolidated, eu, un, uk. Groups: `ofac` = SDN + consolidated, `all` = all five. Empty = ofac + eu + un. `uk` is the FCDO UK Sanctions List (the largest download, so it is opt-in). If a requested list cannot be downloaded, the run fails with the reason unless allowPartial is on. Unknown names stop the run with the list of valid ones.",
            "items": {
              "type": "string"
            }
          },
          "minScore": {
            "title": "Min match score (0.5–1)",
            "pattern": "^\\s*(\\d+(\\.\\d*)?|\\.\\d+)\\s*$",
            "type": "string",
            "description": "Similarity threshold from 0.5 to 1, as text (e.g. \"0.9\"). 1 = exact after normalization; 0.9 = tolerant to word order/legal forms; 0.8 = catches typos and transliteration variants (more false positives). Values outside 0.5–1 are read as the nearest bound and the status says so. Below ~0.8 every listed name has to be scored and runs are much slower.",
            "default": "0.85"
          },
          "entityTypes": {
            "title": "Entity types",
            "type": "array",
            "description": "Screen only against these entry types. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "individual",
                "entity",
                "vessel",
                "aircraft",
                "unknown"
              ],
              "enumTitles": [
                "Individuals",
                "Entities / companies",
                "Vessels",
                "Aircraft",
                "Unknown (EU/UK rows without type)"
              ]
            }
          },
          "programs": {
            "title": "Programs / regimes",
            "type": "array",
            "description": "Keep only entries under these programs (substring, case-insensitive): OFAC codes like RUSSIA-EO14024, SDGT, IRAN, CYBER2; EU codes like UKR, IRN, BLR; UN list types like Al-Qaida, DPRK; UK regimes like Russia, Cyber. See README reference.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Keep only entries with an address/nationality/flag in these countries (substring, case-insensitive), e.g. ['Russia', 'Kazakhstan'].",
            "items": {
              "type": "string"
            }
          },
          "includeAliases": {
            "title": "Match against aliases (a.k.a. / f.k.a.)",
            "type": "boolean",
            "description": "Compare with all known aliases, not only the primary listed name.",
            "default": true
          },
          "strictTokenMatch": {
            "title": "Disable token containment",
            "type": "boolean",
            "description": "By default 'Gazprombank' matches 'GAZPROMBANK JOINT STOCK COMPANY' (all query words contained). Turn on to require whole-name similarity only.",
            "default": false
          },
          "allowPartial": {
            "title": "Allow an incomplete screen",
            "type": "boolean",
            "description": "Off (default): if a requested list cannot be downloaded, the run fails with the reason and charges no rows — a \"clear\" verdict must never cover a list nobody checked. On: screen against the lists that did load; every row then has complete=false and listsFailed, summary rows without a match get riskLevel \"incomplete\" instead of \"clear\", and the status starts with INCOMPLETE.",
            "default": false
          },
          "maxHitsPerName": {
            "title": "Max hits per name",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Cap on matches returned per screened name. The best match of every list that matched is kept first (OFAC SDN, UN, EU, UK before OFAC non-SDN), so a cap never hides a full-blocking designation; remaining places go to the highest scores.",
            "default": 10
          },
          "outputMode": {
            "title": "Output mode",
            "enum": [
              "hits",
              "summary"
            ],
            "type": "string",
            "description": "`summary` is convenient for batch KYC files (one line per customer); `hits` for audit trails.",
            "default": "hits"
          },
          "includeClear": {
            "title": "Include cleared names",
            "type": "boolean",
            "description": "Emit a row for names with no match (matched=false). Turn off to get only alerts.",
            "default": true
          },
          "fields": {
            "title": "Output fields",
            "type": "array",
            "description": "Keep only these columns, in this order (empty = all). query, matched and complete are always included. Names depend on outputMode — hits: queryRef, queryType, queryCountry, queryIndex, score, method, matchReason, matchedName, matchedOn, commonTokens, list, listLabel, id, name, type, programs, program, countries, country, aliases, listedOn, remarks, url, listsRequested, listsScreened, listsFailed, screenedAt; summary: queryRef, queryType, queryCountry, queryIndex, hitCount, hitsOmitted, topScore, riskLevel, listsRequested, listsScreened, listsFailed, listsHit, hits, screenedAt. Letter case is corrected; an unknown name stops the run with a suggestion.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}