{
  "openapi": "3.0.1",
  "info": {
    "title": "Sanctions List Screening – EU, UN & UK Lists",
    "description": "Sanctions list screening against the EU consolidated list, the UN Security Council list and the UK Sanctions List: fuzzy name matching with transliteration of Cyrillic and Arabic, aliases, dates of birth and identifiers, and the full match evidence for your audit file.",
    "version": "0.1",
    "x-build-id": "h1gijAX6hvTbNG9aa"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lwsdjfls~eu-sanctions-screening/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lwsdjfls-eu-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/lwsdjfls~eu-sanctions-screening/runs": {
      "post": {
        "operationId": "runs-sync-lwsdjfls-eu-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/lwsdjfls~eu-sanctions-screening/run-sync": {
      "post": {
        "operationId": "run-sync-lwsdjfls-eu-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",
            "maxItems": 50000,
            "type": "array",
            "description": "One name per line: persons or organisations, in any script (Latin, Cyrillic, Arabic, Greek and Hebrew are transliterated). Up to 50,000 lines of 300 characters; blank lines are dropped and repeated identical names are screened and charged once. For dates of birth, countries or identifiers use the structured subjects below.",
            "items": {
              "type": "string",
              "maxLength": 300
            },
            "default": []
          },
          "subjects": {
            "title": "Subjects with details (JSON)",
            "maxItems": 50000,
            "type": "array",
            "description": "Structured subjects for more precise screening: [{\"name\": \"Alexander Lukashenko\", \"type\": \"person\", \"dateOfBirth\": \"1954-08-30\", \"country\": \"BY\", \"identifier\": \"passport or registration number\", \"reference\": \"your customer id\"}]. Every field except name is optional. A date of birth that differs from every listed date lowers the score; a matching identifier lifts it to 100, after which the other adjustments still apply. A date of birth is compared with a listed person's dates of birth only: against a listed organisation it is echoed in the record and leaves the score unchanged. Type accepts person or organisation only and hides parties of any other kind, so leave it out when a ship or an aircraft could be the hit.",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "title": "Name",
                  "type": "string",
                  "editor": "textfield",
                  "description": "Name of the person or organisation, in any script.",
                  "maxLength": 300
                },
                "type": {
                  "title": "Type",
                  "type": "string",
                  "editor": "select",
                  "description": "Screen this subject as a person or as an organisation. Leave it out when a ship or an aircraft could be the hit.",
                  "enum": [
                    "person",
                    "organisation"
                  ],
                  "enumTitles": [
                    "Person",
                    "Organisation"
                  ]
                },
                "dateOfBirth": {
                  "title": "Date of birth",
                  "type": "string",
                  "editor": "textfield",
                  "description": "YYYY, YYYY-MM or YYYY-MM-DD. Compared with a listed person’s dates of birth only.",
                  "pattern": "^\\d{4}(-\\d{2}(-\\d{2})?)?$"
                },
                "country": {
                  "title": "Country",
                  "type": "string",
                  "editor": "textfield",
                  "description": "Country code or name, for example BY.",
                  "maxLength": 60
                },
                "identifier": {
                  "title": "Identifier",
                  "type": "string",
                  "editor": "textfield",
                  "description": "Passport, registration or tax number. A listed identifier that matches lifts the score to 100.",
                  "maxLength": 100
                },
                "reference": {
                  "title": "Your reference",
                  "type": "string",
                  "editor": "textfield",
                  "description": "Your own reference for this subject, echoed in the output.",
                  "maxLength": 200
                }
              },
              "required": [
                "name"
              ]
            },
            "default": []
          },
          "lists": {
            "title": "Lists",
            "minItems": 1,
            "type": "array",
            "description": "Which official lists to screen against, at least one. All are fetched live from their publishers (cached between runs and refreshed when the publisher changes them). If a selected list cannot be loaded and no copy from the last 7 days is cached, the run stops before charging anything, so a screening is never quietly narrower than you asked for.",
            "items": {
              "type": "string",
              "enum": [
                "eu",
                "un",
                "uk",
                "ofac"
              ],
              "enumTitles": [
                "EU consolidated financial sanctions list (DG FISMA)",
                "UN Security Council Consolidated List",
                "UK Sanctions List (FCDO)",
                "OFAC SDN and Consolidated lists (US Treasury)"
              ]
            },
            "default": [
              "eu",
              "un",
              "uk",
              "ofac"
            ]
          },
          "minScore": {
            "title": "Match threshold (score 0–100)",
            "minimum": 50,
            "maximum": 100,
            "type": "integer",
            "description": "Scores at or above this are reported as a match. 85 balances typos and transliteration variants against false positives; lower it for higher-risk onboarding, raise it for cleaner alerts.",
            "default": 85
          },
          "reportPossibleFrom": {
            "title": "Report possible matches from (score)",
            "minimum": 40,
            "maximum": 100,
            "type": "integer",
            "description": "Listed parties scoring between this value and the match threshold are reported as possible matches, so a reviewer can dismiss them with the evidence at hand. A value above the match threshold counts as the threshold itself, which leaves no review band. Lower values report more parties per name and make each record larger.",
            "default": 70
          },
          "includeWeakAliases": {
            "title": "Match on weak aliases",
            "type": "boolean",
            "description": "Also match names the lists themselves call too thin to identify a party on their own (OFAC weak a.k.a., UN low quality, UK low strength, EU non-strong aliases). Such matches lose 8 points and are marked in the evidence.",
            "default": true
          },
          "maxMatchesPerName": {
            "title": "Listed parties reported per name",
            "minimum": 1,
            "maximum": 25,
            "type": "integer",
            "description": "The best-scoring listed parties to include per screened name.",
            "default": 5
          },
          "maxNamesPerRun": {
            "title": "Maximum names per run",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Caps the charged screenings in one run. Names above the cap are not screened or charged: each gets a free skipped record, the run log says how many and the run is marked partial. A run also stops the same way once its results fill the memory set aside for them, a sixteenth of the JavaScript heap: about 32 MB of results at 1 GB of memory and 128 MB at 4 GB, stated in the run log at the start. Runs that report many listed parties per name get there sooner; more memory raises the bound. The dataset carries a skipped record for up to 1,000 names without a result, or 10 per charged name when that is more, never more than 50,000.",
            "default": 10000
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "Receives one POST at the end of every run that wrote at least one record, with a link to the dataset and up to 50 one-line results (screened name, decision and score). Must be a public http(s) address; redirects are not followed. Stored encrypted, because webhook URLs often carry a token."
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}