{
  "openapi": "3.0.1",
  "info": {
    "title": "OFAC Sanctions Screening: SDN, EU, UN & UK, Fuzzy Match",
    "description": "Screen names of people, companies and vessels against the official OFAC SDN, OFAC Consolidated, UN, EU and UK sanctions lists. Fuzzy match handles diacritics, transliteration, word order and aliases; optional DOB and country. Screening aid, not legal advice. $0.004 per name.",
    "version": "0.1",
    "x-build-id": "Zx0y0osG75dd2VkUQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/transparent_meteorite~sanctions-screening/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-transparent_meteorite-sanctions-screening",
        "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/transparent_meteorite~sanctions-screening/runs": {
      "post": {
        "operationId": "runs-sync-transparent_meteorite-sanctions-screening",
        "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/transparent_meteorite~sanctions-screening/run-sync": {
      "post": {
        "operationId": "run-sync-transparent_meteorite-sanctions-screening",
        "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": "One name per row: a person, company or vessel. Plain strings work. To add a date of birth, country or type to a name, use the JSON editor and give objects such as {\"name\": \"Ivan Petrov\", \"dob\": \"1975-03-02\", \"country\": \"Russia\", \"type\": \"person\"}. Word order, case, diacritics and punctuation do not matter. Up to 5,000 names per run. Example: [\"Acme Plumbing Supplies LLC\",\"Rafael Caro-Quintero\"].",
            "default": [
              "Rafael Caro-Quintero",
              "Mohamed Ali",
              "Acme Plumbing Supplies LLC"
            ],
            "items": {
              "type": "string"
            }
          },
          "lists": {
            "title": "Sanctions lists to check",
            "type": "array",
            "description": "Which official lists to download for this run. ofac_sdn = US Treasury Specially Designated Nationals (about 19,000 entries). ofac_consolidated = US non-SDN consolidated lists (SSI, FSE, NS-MBS and others). un = UN Security Council consolidated list. eu = EU consolidated financial sanctions list. uk = UK sanctions list (FCDO / OFSI). Each requested list must load for a name to be reported as clear.",
            "items": {
              "type": "string",
              "enum": [
                "ofac_sdn",
                "ofac_consolidated",
                "un",
                "eu",
                "uk"
              ],
              "enumTitles": [
                "OFAC SDN (US)",
                "OFAC Consolidated non-SDN (US)",
                "UN Security Council",
                "EU consolidated",
                "UK sanctions list"
              ]
            },
            "default": [
              "ofac_sdn",
              "ofac_consolidated",
              "un",
              "eu",
              "uk"
            ]
          },
          "minScore": {
            "title": "Minimum match score (50-100)",
            "minimum": 50,
            "maximum": 100,
            "type": "integer",
            "description": "A name is flagged possible_match when its best score reaches this value. 100 means identical after normalisation. 85 to 90 is a sensible start for screening; lower it to catch more spelling variants at the cost of more false positives.",
            "default": 85
          },
          "maxMatchesPerName": {
            "title": "Max matches per name",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many of the best-scoring list entries to return for each flagged name (one per list entry, best alias shown).",
            "default": 3
          },
          "entityType": {
            "title": "Default name type",
            "enum": [
              "any",
              "person",
              "entity",
              "vessel"
            ],
            "type": "string",
            "description": "Restrict matching to people, organisations or vessels for names that do not give their own type. 'any' compares against everything.",
            "default": "any"
          },
          "includeAliases": {
            "title": "Match against aliases (a.k.a., f.k.a.)",
            "type": "boolean",
            "description": "On by default. Aliases catch the many sanctioned parties listed under several spellings. Weak or low-quality aliases are included and marked.",
            "default": true
          },
          "monitorMode": {
            "title": "Monitor mode (only new or changed)",
            "type": "boolean",
            "description": "Recurring-run mode: return only names whose screening outcome changed (new name, status flip, new or removed matched list entry, or a score-band change); unchanged names are skipped and not charged. The first run is a baseline and returns everything in scope. Unchanged records are not returned and not charged. Schedule the actor (Schedules tab) to get a recurring feed. Each row gets a changeType of new or changed.",
            "default": false
          },
          "reportRemoved": {
            "title": "Also report removed (monitor mode)",
            "type": "boolean",
            "description": "With monitor mode on, also emit one row with changeType \"removed\" for names that were on the watch list in an earlier run but are not in this run's names input (dropped from the list; a delisting shows up as a normal \"changed\" row, not here). Removed rows are free: they are not charged and never count toward your charge limit or max results. Nothing is reported as removed on the baseline run, when the fetch was incomplete or hit a cap, or when your input filters changed since the baseline (the next run re-learns the baseline instead). Default off.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the saved baseline. Use a different name per watch list so schedules do not overwrite each other. Default is 'default'. Example: \"vendor-onboarding\".",
            "default": "default"
          },
          "minMatchScore": {
            "title": "Minimum match score (alias)",
            "minimum": 50,
            "maximum": 100,
            "type": "integer",
            "description": "Same as Minimum score (50-100). When set it overrides Minimum score."
          },
          "subjectDob": {
            "title": "Subject date of birth",
            "type": "string",
            "description": "Default date of birth (YYYY-MM-DD or year) applied to every name that has none. A matching year raises the score, a different year lowers it."
          },
          "country": {
            "title": "Subject country",
            "type": "string",
            "description": "Default country or nationality applied to names that have none. A match raises the score."
          },
          "topics": {
            "title": "Sanctions programs / topics filter",
            "type": "array",
            "description": "Keep only matches whose sanctions program contains one of these words, for example SDGT, IRAN, RUSSIA. Empty = all.",
            "default": [],
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}