{
  "openapi": "3.1.0",
  "info": {
    "title": "Delta Registry — OFAC SDN + UN Consolidated - Vessel Sanctions Delta API",
    "description": "Screens the US Treasury OFAC Specially Designated Nationals vessel list against the UN Security Council Consolidated List by IMO number, delivering normalized ship-sanctions records with cross-run change detection: new designations, program changes, and vessel delistings.",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dR68wHyuOLS2WEhmo/run-sync-get-dataset-items": {
      "post": {
        "operationId": "runActor19MaritimeSanctionsMonitor",
        "summary": "Screens the US Treasury OFAC Specially Designated Nationals vessel list against the UN Security Council Consolidated List by IMO number, delivering normalized ship-sanctions records with cross-run change detection: new designations, program changes, and vessel delistings.",
        "x-sync-pattern-reason": "Real observed max runtime 6.8s fits safely under GPT Actions' 45s cap — run-sync-get-dataset-items is safe to expose directly.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "maxItems": {
                    "type": "integer",
                    "description": "Hard cap on how many vessel-type SDN records to return this run, taken in the order OFAC lists them in the source feed.",
                    "default": 250,
                    "minimum": 1
                  },
                  "onlyNew": {
                    "type": "boolean",
                    "description": "When enabled, persists a content fingerprint per vessel (uid) between runs in this actor's own key-value store and returns only records that are new since the last run OR whose sanctions program(s) or other tracked fields changed since they were last seen - records identical to last time are skipped. Vessels no longer present in the current OFAC feed are always reported as DELISTED regardless of this setting (when the run was not itself truncated by maxItems - see the DELISTED section of README.md). Recommended for recurring monitoring; leave off for a full extraction of the current vessel-type SDN list.",
                    "default": false
                  },
                  "enrichWithUnConsolidatedList": {
                    "type": "boolean",
                    "description": "When enabled (default), additionally fetches the UN Security Council Consolidated Sanctions List and flags OFAC vessel records whose IMO number is also mentioned in a UN entity's designation text. Adds one extra live fetch and a linear scan of the UN list per run; disable for a faster OFAC-only run.",
                    "default": true
                  },
                  "programFilter": {
                    "type": "array",
                    "description": "Optional: only return vessels whose Program list contains at least one of these OFAC program codes (case-insensitive substring match, e.g. \"IRAN\", \"DPRK2\", \"RUSSIA-EO14024\"). Leave empty to return vessels from all programs.",
                    "items": {
                      "type": "string"
                    }
                  },
                  "vesselNameContains": {
                    "type": "string",
                    "description": "Optional case-insensitive substring filter on the vessel's listed name, applied before maxItems. Useful for a narrow monitoring run against one vessel of interest."
                  }
                },
                "required": []
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Array of normalized records from the actor run.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$schema": "https://json-schema.org/draft/2020-12/schema",
                    "actorSpecification": 1,
                    "title": "Dataset Schema",
                    "fields": {
                      "type": "object",
                      "properties": {
                        "ofacUid": {
                          "title": "OFAC Entry UID",
                          "type": "string",
                          "description": "OFAC's own stable internal identifier for this SDN entry (the <uid> element / CSV ent_num column). Stable across list republications."
                        },
                        "vesselName": {
                          "title": "Vessel Name",
                          "type": "string"
                        },
                        "sdnType": {
                          "title": "SDN Type",
                          "type": "string",
                          "description": "Always 'Vessel' - this actor filters the SDN list to this type only."
                        },
                        "programs": {
                          "title": "Sanctions Programs",
                          "type": "array",
                          "description": "OFAC program code(s) this designation falls under, e.g. IRAN, DPRK2.",
                          "items": {
                            "type": "string"
                          }
                        },
                        "remarks": {
                          "title": "Remarks",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "linkedTo": {
                          "title": "Linked To",
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "Best-effort extraction of a 'Linked To: X' clause from remarks, e.g. the vessel's designated owning/operating entity."
                        },
                        "akaNames": {
                          "title": "Also Known As",
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "type": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "description": "a.k.a. or f.k.a."
                              },
                              "category": {
                                "type": [
                                  "string",
                                  "null"
                                ],
                                "description": "strong or weak"
                              },
                              "name": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "imoNumber": {
                          "title": "IMO Number",
                          "type": [
                            "string",
                            "null"
                          ],
                          "description": "7-digit IMO ship identification number, extracted from the id list entry whose idType is 'Vessel Registration Identification'. Null when OFAC has not recorded one for this vessel (a real, documented gap - not every SDN vessel entry carries an IMO)."
                        },
                        "mmsi": {
                          "title": "MMSI",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "otherIds": {
                          "title": "Other Identifiers",
                          "type": "array",
                          "description": "Remaining <id> entries not consumed as imoNumber/mmsi (e.g. Former Vessel Flag, Additional Sanctions Information).",
                          "items": {
                            "type": "object",
                            "properties": {
                              "idType": {
                                "type": "string"
                              },
                              "idNumber": {
                                "type": "string"
                              }
                            }
                          }
                        },
                        "callSign": {
                          "title": "Call Sign",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "vesselType": {
                          "title": "Vessel Type",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "vesselFlag": {
                          "title": "Vessel Flag",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "tonnage": {
                          "title": "Tonnage",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "grossRegisteredTonnage": {
                          "title": "Gross Registered Tonnage",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "vesselOwner": {
                          "title": "Vessel Owner",
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "listPublishDateRaw": {
                          "title": "SDN List Publish Date (raw, MM/DD/YYYY)",
                          "type": "string",
                          "description": "The <Publish_Date> of the SDN list snapshot this record was read from - one value per run, not per-entry (OFAC's feed carries no per-entry designation date)."
                        },
                        "crossReferencedInUnConsolidatedList": {
                          "title": "Cross-Referenced in UN Consolidated List",
                          "type": "boolean",
                          "description": "true when this vessel's IMO number was also found (via free-text 'IMO Number: NNNNNNN' extraction) in the UN Security Council Consolidated Sanctions List. Always false when enrichWithUnConsolidatedList input was disabled, or when this vessel has no imoNumber to match on."
                        },
                        "unConsolidatedListMatches": {
                          "title": "UN Consolidated List Matches",
                          "type": "array",
                          "description": "The matching UN entity/individual record(s), when crossReferencedInUnConsolidatedList is true.",
                          "items": {
                            "type": "object",
                            "properties": {
                              "dataId": {
                                "type": "string"
                              },
                              "name": {
                                "type": "string"
                              },
                              "referenceNumber": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "listedOn": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          }
                        },
                        "record_id": {
                          "title": "Record ID",
                          "type": "string",
                          "description": "OFAC-SDN-<ofacUid> - stable across runs"
                        },
                        "event_type": {
                          "title": "Event Type",
                          "type": "string",
                          "description": "SANCTION on first sighting of a vessel. STATUS_CHANGE if its sanctions program(s) changed since it was last seen. UPDATED if some other tracked field changed. SNAPSHOT_NO_DIFF if identical to last time (only ever delivered when onlyNew=false). DELISTED if a previously-seen vessel is no longer in the current OFAC feed (only computed when the run was a complete, untruncated census - see README.md)."
                        },
                        "scraped_at": {
                          "title": "Scraped At",
                          "type": "string",
                          "description": "ISO-8601 timestamp of this extraction"
                        },
                        "is_new": {
                          "title": "Is New",
                          "type": "boolean",
                          "description": "true if not seen in a prior run (delta mode, onlyNew input)"
                        },
                        "source_url": {
                          "title": "Source URL",
                          "type": "string",
                          "description": "Per-vessel permalink on sanctionssearch.ofac.treas.gov (OFAC's own public Sanctions List Search tool), e.g. https://sanctionssearch.ofac.treas.gov/Details.aspx?id=15036"
                        }
                      }
                    },
                    "views": {
                      "overview": {
                        "title": "Overview",
                        "transformation": {
                          "fields": [
                            "vesselName",
                            "imoNumber",
                            "vesselFlag",
                            "vesselType",
                            "programs",
                            "crossReferencedInUnConsolidatedList",
                            "is_new",
                            "source_url"
                          ]
                        },
                        "display": {
                          "component": "table",
                          "columns": [
                            {
                              "label": "Vessel",
                              "format": "text",
                              "field": "vesselName"
                            },
                            {
                              "label": "IMO",
                              "format": "text",
                              "field": "imoNumber"
                            },
                            {
                              "label": "Flag",
                              "format": "text",
                              "field": "vesselFlag"
                            },
                            {
                              "label": "Type",
                              "format": "text",
                              "field": "vesselType"
                            },
                            {
                              "label": "Programs",
                              "format": "array",
                              "field": "programs"
                            },
                            {
                              "label": "UN Cross-Ref",
                              "format": "boolean",
                              "field": "crossReferencedInUnConsolidatedList"
                            },
                            {
                              "label": "New",
                              "format": "boolean",
                              "field": "is_new"
                            },
                            {
                              "label": "Source",
                              "format": "text",
                              "field": "source_url"
                            }
                          ]
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "x-openai-isConsequential": false
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ApifyBearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "security": [
    {
      "ApifyBearerAuth": []
    }
  ]
}