{"openapi":"3.1.0","info":{"title":"CompliAPI","description":"Real-time OFAC/sanctions compliance screening. Authenticate with `Authorization: Bearer <api token>` — create tokens in the dashboard.","contact":{"name":"CompliAPI","url":"https://compliapi.com/","email":"help@compliapi.com"},"version":"2.0.0"},"servers":[{"url":"https://api.compliapi.com/api/v1"}],"paths":{"/screen/lists":{"get":{"tags":["screen"],"summary":"Screening Lists","description":"The source lists this API screens against. Unauthenticated, like /stats.","operationId":"screening_lists_screen_lists_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/ListInfo"},"type":"array","title":"Response Screening Lists Screen Lists Get"}}}}},"security":[]}},"/screen/lists/{slug}/entities":{"get":{"tags":["screen"],"summary":"Screening List Entities","description":"Full current dataset for one source list (rendered on the marketing\ndata-source pages and offered as a public download). Unauthenticated,\nlike /stats; disabled or unknown lists 404.","operationId":"screening_list_entities_screen_lists__slug__entities_get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}},{"name":"format","in":"query","required":false,"schema":{"type":"string","pattern":"^(json|csv)$","description":"json (default) or csv.","default":"json","title":"Format"},"description":"json (default) or csv."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100000,"minimum":1,"default":5000,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListEntitiesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/screen/crypto/{address}":{"get":{"tags":["screen"],"summary":"Screen Crypto","description":"Screen a crypto address (any chain) or ENS name across the enabled lists.\n\nDotted names (e.g. name.eth, name.base.eth) go through ENS resolution;\neverything else screens directly, so Bitcoin/Tron/... addresses just work.","operationId":"screen_crypto_screen_crypto__address__get","parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string","title":"Address"}},{"name":"lists","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated list slugs to screen against (default: all enabled lists).","title":"Lists"},"description":"Comma-separated list slugs to screen against (default: all enabled lists)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/screen/email/{email}":{"get":{"tags":["screen"],"summary":"Screen Email","description":"Screen an email address across the enabled lists.","operationId":"screen_email_screen_email__email__get","parameters":[{"name":"email","in":"path","required":true,"schema":{"type":"string","title":"Email"}},{"name":"lists","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated list slugs to screen against (default: all enabled lists).","title":"Lists"},"description":"Comma-separated list slugs to screen against (default: all enabled lists)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/screen/website":{"get":{"tags":["screen"],"summary":"Screen Website","description":"Screen a website or domain across the enabled lists.","operationId":"screen_website_screen_website_get","parameters":[{"name":"address","in":"query","required":true,"schema":{"type":"string","description":"Website address or web domain","title":"Address"},"description":"Website address or web domain"},{"name":"lists","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated list slugs to screen against (default: all enabled lists).","title":"Lists"},"description":"Comma-separated list slugs to screen against (default: all enabled lists)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/screen/id/{government_id}":{"get":{"tags":["screen"],"summary":"Screen Government Id","description":"Screen a government-issued identifier (fuzzy) across the enabled lists.","operationId":"screen_government_id_screen_id__government_id__get","parameters":[{"name":"government_id","in":"path","required":true,"schema":{"type":"string","title":"Government Id"}},{"name":"lists","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated list slugs to screen against (default: all enabled lists).","title":"Lists"},"description":"Comma-separated list slugs to screen against (default: all enabled lists)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/screen/pep":{"get":{"tags":["screen"],"summary":"Screen Pep","description":"Screen a person's name against the OpenSanctions PEPs dataset\n(politically exposed persons — live proxy, not one of our ingested lists,\nso no `lists` filter and its own response shape). `pep` is true when any\ncandidate clears the 0.7 decision threshold. Data: OpenSanctions.","operationId":"screen_pep_screen_pep_get","parameters":[{"name":"name","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":200,"description":"Full name of the person to screen.","title":"Name"},"description":"Full name of the person to screen."},{"name":"birth_date","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Birth date (YYYY-MM-DD, or partial e.g. 1961) to sharpen matching.","title":"Birth Date"},"description":"Birth date (YYYY-MM-DD, or partial e.g. 1961) to sharpen matching."},{"name":"country","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Country name or ISO code of citizenship/residence.","title":"Country"},"description":"Country name or ISO code of citizenship/residence."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":10,"minimum":1,"description":"Maximum candidates to return.","default":5,"title":"Limit"},"description":"Maximum candidates to return."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PepScreenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/screen/country/{country}":{"get":{"tags":["screen"],"summary":"Screen Country","description":"Check whether a country or region carries sanctions designations.\n\nDesignations are OFAC-curated today; the envelope matches the other\n/screen endpoints so coverage can extend to other regimes' designations.","operationId":"screen_country_screen_country__country__get","parameters":[{"name":"country","in":"path","required":true,"schema":{"type":"string","title":"Country"}},{"name":"lists","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated list slugs to screen against (default: all enabled lists).","title":"Lists"},"description":"Comma-separated list slugs to screen against (default: all enabled lists)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScreenResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/stats":{"get":{"tags":["stats"],"summary":"Stats","description":"Public per-list entity counts (consumed by the marketing site). Unauthenticated.","operationId":"stats_stats_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StatsResponse"}}}}},"security":[]}},"/delisted":{"get":{"tags":["stats"],"summary":"Delisted","description":"Entities recently removed from their source lists (consumed by the\nmarketing site's delisted page). Unauthenticated, like /stats.","operationId":"delisted_delisted_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":100,"title":"Limit"}},{"name":"lists","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated list slugs (default: all enabled).","title":"Lists"},"description":"Comma-separated list slugs (default: all enabled)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DelistedEntity"},"title":"Response Delisted Delisted Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/search":{"get":{"tags":["search"],"summary":"Search","description":"Free fuzzy search across every enabled list — names, companies, and\nidentifiers including crypto addresses (powers compliapi.com/tools/sdn-search).\nUnauthenticated and burst-limited per client IP; never metered or audited,\nso searched values are not stored. Delisted rows rank last with removed_at set.","operationId":"search_search_get","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":3,"maxLength":100,"description":"Name, company, or identifier.","title":"Q"},"description":"Name, company, or identifier."},{"name":"lists","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Comma-separated list slugs (default: all enabled).","title":"Lists"},"description":"Comma-separated list slugs (default: all enabled)."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":25,"minimum":1,"default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicSearchResult"},"title":"Response Search Search Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[]}},"/vpn/{ip_address}":{"get":{"tags":["vpn"],"summary":"Vpn","description":"Evaluate whether the IP address (or the calling client) is using a VPN.","operationId":"vpn_vpn__ip_address__get","parameters":[{"name":"ip_address","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VpnResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/vpn":{"get":{"tags":["vpn"],"summary":"Vpn","description":"Evaluate whether the IP address (or the calling client) is using a VPN.","operationId":"vpn_vpn_get","parameters":[{"name":"ip_address","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VpnResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/geo/{ip_address}":{"get":{"tags":["geo"],"summary":"Geo","description":"Geolocate the IP address (or calling client) and flag sanctioned countries.","operationId":"geo_geo__ip_address__get","parameters":[{"name":"ip_address","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/geo":{"get":{"tags":["geo"],"summary":"Geo","description":"Geolocate the IP address (or calling client) and flag sanctioned countries.","operationId":"geo_geo_get","parameters":[{"name":"ip_address","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Address"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GeoResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"DelistedEntity":{"properties":{"entity_type":{"type":"string","title":"Entity Type"},"value":{"type":"string","title":"Value"},"list":{"type":"string","title":"List"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"removed_at":{"type":"string","format":"date-time","title":"Removed At"}},"type":"object","required":["entity_type","value","list","metadata","source_url","removed_at"],"title":"DelistedEntity"},"GeoResponse":{"properties":{"ip":{"type":"string","title":"Ip"},"city":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"City"},"region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Region"},"country":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Country"},"sanctioned":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Sanctioned"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"}},"type":"object","required":["ip"],"title":"GeoResponse"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ListEntitiesResponse":{"properties":{"list":{"type":"string","title":"List"},"list_name":{"type":"string","title":"List Name"},"list_type":{"type":"string","title":"List Type"},"total":{"type":"integer","title":"Total"},"last_updated":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Updated"},"entities":{"items":{"$ref":"#/components/schemas/ListedEntity"},"type":"array","title":"Entities"}},"type":"object","required":["list","list_name","list_type","total","last_updated","entities"],"title":"ListEntitiesResponse","description":"Public dataset feed for one source list (marketing data-source pages\nrender it; ?format=csv serves it as a download)."},"ListInfo":{"properties":{"slug":{"type":"string","title":"Slug"},"display_name":{"type":"string","title":"Display Name"},"list_type":{"type":"string","title":"List Type"},"kind":{"type":"string","title":"Kind"},"cadence":{"type":"string","title":"Cadence"},"enabled":{"type":"boolean","title":"Enabled"},"total":{"type":"integer","title":"Total"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"}},"type":"object","required":["slug","display_name","list_type","kind","cadence","enabled","total","last_updated"],"title":"ListInfo"},"ListedEntity":{"properties":{"entity_type":{"type":"string","title":"Entity Type"},"value":{"type":"string","title":"Value"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"listed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Listed At"}},"type":"object","required":["entity_type","value","metadata","source_url","listed_at"],"title":"ListedEntity"},"OfacRefresh":{"properties":{"check_minutes_utc":{"items":{"type":"integer"},"type":"array","title":"Check Minutes Utc"},"next_check_at":{"type":"string","format":"date-time","title":"Next Check At"}},"type":"object","required":["check_minutes_utc","next_check_at"],"title":"OfacRefresh"},"PepMatch":{"properties":{"id":{"type":"string","title":"Id"},"caption":{"type":"string","title":"Caption"},"score":{"type":"number","title":"Score"},"match":{"type":"boolean","title":"Match"},"topics":{"items":{"type":"string"},"type":"array","title":"Topics","default":[]},"countries":{"items":{"type":"string"},"type":"array","title":"Countries","default":[]},"birth_dates":{"items":{"type":"string"},"type":"array","title":"Birth Dates","default":[]},"positions":{"items":{"type":"string"},"type":"array","title":"Positions","default":[]},"datasets":{"items":{"type":"string"},"type":"array","title":"Datasets","default":[]},"source_url":{"type":"string","title":"Source Url"}},"type":"object","required":["id","caption","score","match","source_url"],"title":"PepMatch","description":"One scored candidate from the OpenSanctions peps dataset (live proxy —\ndeliberately not a ScreenMatch: there is no source-registry slug behind it)."},"PepScreenResponse":{"properties":{"value":{"type":"string","title":"Value"},"pep":{"type":"boolean","title":"Pep"},"dataset":{"type":"string","title":"Dataset","default":"peps"},"matches":{"items":{"$ref":"#/components/schemas/PepMatch"},"type":"array","title":"Matches"}},"type":"object","required":["value","pep","matches"],"title":"PepScreenResponse"},"PublicSearchResult":{"properties":{"entity_type":{"type":"string","title":"Entity Type"},"value":{"type":"string","title":"Value"},"match":{"type":"string","title":"Match"},"similarity":{"type":"number","title":"Similarity"},"list":{"type":"string","title":"List","default":"ofac"},"list_name":{"type":"string","title":"List Name"},"list_type":{"type":"string","title":"List Type","default":"sanctions"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"removed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Removed At"}},"type":"object","required":["entity_type","value","match","similarity","list_name","metadata"],"title":"PublicSearchResult","description":"One row of the free public /search (powers compliapi.com/tools/sdn-search).\n\nSame data already public via the per-list dataset feeds; delisted rows are\nincluded (ranked last) with removed_at set, unlike /screen/*."},"ScreenMatch":{"properties":{"list":{"type":"string","title":"List"},"list_name":{"type":"string","title":"List Name"},"list_type":{"type":"string","title":"List Type"},"match":{"type":"string","title":"Match"},"value":{"type":"string","title":"Value"},"source_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Source Url"},"metadata":{"additionalProperties":true,"type":"object","title":"Metadata"}},"type":"object","required":["list","list_name","list_type","match","value","metadata"],"title":"ScreenMatch"},"ScreenResponse":{"properties":{"value":{"type":"string","title":"Value"},"flagged":{"type":"boolean","title":"Flagged"},"sanctioned":{"type":"boolean","title":"Sanctioned"},"lists_checked":{"items":{"type":"string"},"type":"array","title":"Lists Checked"},"matches":{"items":{"$ref":"#/components/schemas/ScreenMatch"},"type":"array","title":"Matches"}},"type":"object","required":["value","flagged","sanctioned","lists_checked","matches"],"title":"ScreenResponse"},"SourceStats":{"properties":{"list_type":{"type":"string","title":"List Type"},"total":{"type":"integer","title":"Total"},"by_entity_type":{"additionalProperties":{"type":"integer"},"type":"object","title":"By Entity Type"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"}},"type":"object","required":["list_type","total","by_entity_type","last_updated"],"title":"SourceStats"},"StatsResponse":{"properties":{"sources":{"additionalProperties":{"$ref":"#/components/schemas/SourceStats"},"type":"object","title":"Sources"},"countries":{"type":"integer","title":"Countries"},"delisted":{"type":"integer","title":"Delisted"},"last_updated":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Updated"},"ofac_refresh":{"$ref":"#/components/schemas/OfacRefresh"}},"type":"object","required":["sources","countries","delisted","last_updated","ofac_refresh"],"title":"StatsResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"VpnResponse":{"properties":{"ip":{"type":"string","title":"Ip"},"vpn":{"anyOf":[{"type":"boolean"},{"type":"string"}],"title":"Vpn"}},"type":"object","required":["ip","vpn"],"title":"VpnResponse"}}}}