Sanctions
The sanctions dataset carries global sanctions designations as one entity per record: persons, organizations, companies, and other legal entities, each with structured names, identifiers, and per-designation detail.
Requires the sanctions scope, which grants every record in the dataset.
Related guide: Authentication
- 200
- OK
- 400
- Bad Request
- 401
- Unauthorized
- 403
- Forbidden
- 404
- Not Found
- 406
- Not Acceptable
- 410
- Gone
- 422
- Validation error
- 429
- Too Many Requests
- 500
- Internal Server Error
- 503
- Service Unavailable
The sanctioned entity object
Section titled “The sanctioned entity object”sanctions 1.2.6
Fetch the machine-readable JSON Schema for this record from the schema endpoints and validate against it. See Discovering versions for the paths.
Empty fields are omitted everywhere: a field appears only when the source asserts a value. The always-present exceptions are properties.names, sanctions, status, and caption. Field order is fixed: scalar metadata first, then properties, then sanctions[]; within properties: names, identifiers, then plain fields by specificity, deprecated fields last.
Attributes
Stable entity id (e.g. eu-fsf-1003).
Entity type. Values currently served: Person and LegalEntity.
An organization, company, or other legal entity; the source does not distinguish the specific form.
A natural person.
Record lifecycle: active (every /full record) or delisted (removed by the source; resolvable via single-entity lookup only). Never null in served data; the nullable declaration is legacy and becomes a non-null enum in 2.0.0.
Pre-formatted display name for the entity. The schema permits null, but every currently served record carries a value.
Topic memberships of the entity. Value currently served: sanction, on every record.
The entity is subject to at least one regulatory designation.
Declared but not served: no record currently carries this value.
Declared but not served: no record currently carries this value.
Source feeds this record came from (e.g. eu-fsf, un-sc).
When the record was first observed (ISO 8601). Present on every currently served record; not yet a required field.
Most recent observation of the record (ISO 8601). Present on every currently served record; not yet a required field.
Propertiesobject · always present
Plain property values are always arrays of strings, even for single values. Values are normalized but not tokenized: country codes are lowercase ISO-2, dates are ISO-8601.
One item per name exactly as the source asserts it. type is one of six canonical name types, described under Name types. fullName is always set; firstName, middleName, and lastName are filled only when the name is decomposed. Organization names, weak aliases, and non-Latin scripts carry null parts. Items are ordered by type rank, then alphabetically by fullName.
Show child attributesHide child attributes
Canonical name type.
primaryaliasweak_aliasoriginal_scriptnon_latinotherThe whole name, always set. Person names case-normalized to one canonical form.
First-name part; set when the name is decomposed.
Middle-name part; set when the name is decomposed.
Last-name part; set when the name is decomposed.
Typed identification numbers: {"type": "<scheme> | null", "value": "<number>", "country": "<iso2> | null"}.
Show child attributesHide child attributes
Identifier scheme from the source vocabulary, listed under Identifier schemes. Null if the source didn't record one.
The identification number, e.g. EU.6231.35.
Issuing country, ISO 3166-1 alpha-2. Null if the source didn't record one.
Gender, as published by the source (e.g. male, female).
Dates of birth; ISO 8601, possibly partial (1975, 1975-03).
Places of birth, as published by the source.
Countries of birth, ISO 3166-1 alpha-2.
Citizenships, ISO 3166-1 alpha-2.
String-form addresses exactly as the source publishes them. For several sources this is the only complete address form; see also the structured addresses[].
Typed address objects with city, country, and related fields.
Show child attributesHide child attributes
City or locality.
ISO 3166-1 alpha-2.
Pre-formatted single-line address (e.g. EXEMPELGATAN 1, 11122 STOCKHOLM).
Stable UUID of the address row.
Postal code.
Whether this is the holder's primary address.
Region or county.
State or province.
Street address line.
Second street address line, when the source splits the street over two.
Email addresses, as published by the source.
Dates of incorporation; ISO 8601, possibly partial.
Jurisdictions the entity is registered or operates in, ISO 3166-1 alpha-2.
Legal form of the organization, as published by the source.
Nationalities, ISO 3166-1 alpha-2.
Regulatory commentary or rationale, when published with the listing.
Phone numbers, as published by the source.
String-form positions held by the person (e.g. Minister of Defense), as published by the source. Flat list of opaque labels; the pep dataset serves the structured form as properties.roles[].
Industry or activity sector, as published by the source.
Honorific or professional titles, as published by the source.
Websites, as published by the source.
Sanctionsarray of object · always present
One item per regulatory designation. An entity listed under several legal acts carries several items.
Designation facts are flat scalar fields, with description the one array. A field is omitted when the source has no value.
Stable id of the designation, string-typed on the wire.
Sanctions programme or regime.
Always populated; designations without a per-row authority resolve to the source feed's authority.
The authority's own identifier for the designated subject (for example the OFAC SDN number), not the publishing act's reference.
The reference of the legal act behind the designation, for example an EU Official Journal number.
Link to the published act where the source provides it.
ISO 8601 date the entity was listed.
Free-text designation detail.
{ "id": "eu-fsf-1003", "schema": "Person", "status": "active", "caption": "Nurjaman Riduan Isomuddin", "topics": [ "sanction" ], "sources": [ "eu-fsf" ], "firstSeen": "2026-05-27T16:23:39.640799+00:00", "lastSeen": "2026-07-09T01:01:26.747834+00:00", "properties": { "names": [ { "type": "alias", "fullName": "Encep Nurjaman (Birth Name)", "firstName": "Encep", "middleName": "Nurjaman (Birth", "lastName": "Name)" }, { "type": "alias", "fullName": "Hambali", "firstName": null, "middleName": null, "lastName": null }, { "type": "alias", "fullName": "Hambali Bin Ending", "firstName": "Hambali", "middleName": null, "lastName": "Bin Ending" }, { "type": "alias", "fullName": "Hambali Ending Hambali", "firstName": "Hambali", "middleName": "Ending", "lastName": "Hambali" }, { "type": "alias", "fullName": "Isamuddin Riduan", "firstName": "Isamuddin", "middleName": null, "lastName": "Riduan" }, { "type": "alias", "fullName": "Isamudin Ridwan", "firstName": "Isamudin", "middleName": null, "lastName": "Ridwan" }, { "type": "alias", "fullName": "Isomuddin, Nurjaman Riduan", "firstName": "Nurjaman", "middleName": "Riduan", "lastName": "Isomuddin" }, { "type": "alias", "fullName": "Nurjaman", "firstName": null, "middleName": null, "lastName": null }, { "type": "alias", "fullName": "Nurjaman Riduan Isamuddin", "firstName": "Nurjaman", "middleName": "Riduan", "lastName": "Isamuddin" }, { "type": "alias", "fullName": "Nurjaman Riduan Isomuddin", "firstName": "Nurjaman", "middleName": "Riduan", "lastName": "Isomuddin" } ], "identifiers": [ { "type": "eu_fsf_ref", "value": "EU.1003.87", "country": null } ], "gender": [ "male" ], "birthDate": [ "1964-04-04", "1964" ], "birthPlace": [ "Cianjur, West Java, INDONESIA" ], "birthCountry": [ "id" ], "citizenship": [ "id" ] }, "sanctions": [ { "id": "354820", "program": "TAQA", "authority": "EU", "authorityId": "1003", "publicationRef": "577/2011", "sourceUrl": "http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2011:159:0069:0085:EN:PDF", "listingDate": "2011-06-17" } ]}Legacy deprecated fields are omitted from this example; responses include them until the next major version.
Full snapshot
Full snapshot of the dataset, streamed inline as a single 200. See Streaming and snapshots.
All responses set X-Schema-Version: sanctions=<version>.
Query parameters
Cap the number of records returned.
Must be at least 1.
Wire format:
json(default): single array, browser-friendlyjsonl: newline-delimited, one record per linecsv: flattened spreadsheet, downloads
Rebuild the dataset snapshot before serving this response. Requires the admin scope; other keys receive 403 scope_missing. An operational recovery lever, never needed by consumers.
Defaults to false.
Source allowlist: comma-separated source codes (?sources=eu-fsf,un-sc). Returns only records from these feeds; omit to return all sources. Sanctions-only: pep records are instead gated per-source by the key's allowed_sources grant (see /v1/whoami).
Fixed vocabulary; each code must be one of:
eu-fsfeu-ojofac-consofac-sdnpoituk-fcdoun-sc
An unknown code is a 422.
Pin the schema version (major or major.minor, e.g. 1 or 1.2). Defaults to the current version.
- withdrawn version: 410
- unknown version: 406
Accept: …; schema-version= works as a fallback.
Deprecated, no-op. Sanctions records are not filtered by country; this parameter has never narrowed the result set and is retained only for backwards compatibility.
It will be removed in a future major. Use sources to narrow by feed.
curl -sS \ -H "Authorization: Bearer YOUR_API_KEY" \ "https://api.editedsource.com/v1/sanctions/full"[ { "id": "eu-fsf-1003", "schema": "Person", "status": "active", "caption": "Nurjaman Riduan Isomuddin", "topics": [ "sanction" ], "sources": [ "eu-fsf" ], "firstSeen": "2026-05-27T16:23:39.640799+00:00", "lastSeen": "2026-07-09T01:01:26.747834+00:00", "properties": { "names": [ { "type": "alias", "fullName": "Encep Nurjaman (Birth Name)", "firstName": "Encep", "middleName": "Nurjaman (Birth", "lastName": "Name)" }, { "type": "alias", "fullName": "Hambali", "firstName": null, "middleName": null, "lastName": null }, { "type": "alias", "fullName": "Hambali Bin Ending", "firstName": "Hambali", "middleName": null, "lastName": "Bin Ending" }, { "type": "alias", "fullName": "Hambali Ending Hambali", "firstName": "Hambali", "middleName": "Ending", "lastName": "Hambali" }, { "type": "alias", "fullName": "Isamuddin Riduan", "firstName": "Isamuddin", "middleName": null, "lastName": "Riduan" }, { "type": "alias", "fullName": "Isamudin Ridwan", "firstName": "Isamudin", "middleName": null, "lastName": "Ridwan" }, { "type": "alias", "fullName": "Isomuddin, Nurjaman Riduan", "firstName": "Nurjaman", "middleName": "Riduan", "lastName": "Isomuddin" }, { "type": "alias", "fullName": "Nurjaman", "firstName": null, "middleName": null, "lastName": null }, { "type": "alias", "fullName": "Nurjaman Riduan Isamuddin", "firstName": "Nurjaman", "middleName": "Riduan", "lastName": "Isamuddin" }, { "type": "alias", "fullName": "Nurjaman Riduan Isomuddin", "firstName": "Nurjaman", "middleName": "Riduan", "lastName": "Isomuddin" } ], "identifiers": [ { "type": "eu_fsf_ref", "value": "EU.1003.87", "country": null } ], "gender": [ "male" ], "birthDate": [ "1964-04-04", "1964" ], "birthPlace": [ "Cianjur, West Java, INDONESIA" ], "birthCountry": [ "id" ], "citizenship": [ "id" ] }, "sanctions": [ { "id": "354820", "program": "TAQA", "authority": "EU", "authorityId": "1003", "publicationRef": "577/2011", "sourceUrl": "http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2011:159:0069:0085:EN:PDF", "listingDate": "2011-06-17" } ] }]Legacy deprecated fields are omitted from this example; responses include them until the next major version.
Entity lookup
Single-entity lookup. Returns the same record shape as /full: a field is present only when the source asserts a value.
Unlike /full, this endpoint also resolves delisted entities (status = "delisted").
Honours ?schema_version=; the served dataset schema version is echoed in X-Schema-Version.
Single-entity lookup by stable id, e.g. eu-fsf-1003.
The lookup also resolves delisted entities: an id you once saw stays resolvable after the source removes the listing, with status = "delisted". The /full snapshot carries only records with status = "active". 404 is returned only for ids that never existed.
Path parameters
Entity id (e.g. eu-fsf-1003, un-sc-6907993).
curl -sS \ -H "Authorization: Bearer YOUR_API_KEY" \ "https://api.editedsource.com/v1/sanctions/eu-fsf-1003"{ "id": "eu-fsf-1003", "schema": "Person", "status": "active", "caption": "Nurjaman Riduan Isomuddin", "topics": [ "sanction" ], "sources": [ "eu-fsf" ], "firstSeen": "2026-05-27T16:23:39.640799+00:00", "lastSeen": "2026-07-09T01:01:26.747834+00:00", "properties": { "names": [ { "type": "alias", "fullName": "Encep Nurjaman (Birth Name)", "firstName": "Encep", "middleName": "Nurjaman (Birth", "lastName": "Name)" }, { "type": "alias", "fullName": "Hambali", "firstName": null, "middleName": null, "lastName": null }, { "type": "alias", "fullName": "Hambali Bin Ending", "firstName": "Hambali", "middleName": null, "lastName": "Bin Ending" }, { "type": "alias", "fullName": "Hambali Ending Hambali", "firstName": "Hambali", "middleName": "Ending", "lastName": "Hambali" }, { "type": "alias", "fullName": "Isamuddin Riduan", "firstName": "Isamuddin", "middleName": null, "lastName": "Riduan" }, { "type": "alias", "fullName": "Isamudin Ridwan", "firstName": "Isamudin", "middleName": null, "lastName": "Ridwan" }, { "type": "alias", "fullName": "Isomuddin, Nurjaman Riduan", "firstName": "Nurjaman", "middleName": "Riduan", "lastName": "Isomuddin" }, { "type": "alias", "fullName": "Nurjaman", "firstName": null, "middleName": null, "lastName": null }, { "type": "alias", "fullName": "Nurjaman Riduan Isamuddin", "firstName": "Nurjaman", "middleName": "Riduan", "lastName": "Isamuddin" }, { "type": "alias", "fullName": "Nurjaman Riduan Isomuddin", "firstName": "Nurjaman", "middleName": "Riduan", "lastName": "Isomuddin" } ], "identifiers": [ { "type": "eu_fsf_ref", "value": "EU.1003.87", "country": null } ], "gender": [ "male" ], "birthDate": [ "1964-04-04", "1964" ], "birthPlace": [ "Cianjur, West Java, INDONESIA" ], "birthCountry": [ "id" ], "citizenship": [ "id" ] }, "sanctions": [ { "id": "354820", "program": "TAQA", "authority": "EU", "authorityId": "1003", "publicationRef": "577/2011", "sourceUrl": "http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2011:159:0069:0085:EN:PDF", "listingDate": "2011-06-17" } ]}Legacy deprecated fields are omitted from this example; responses include them until the next major version.
Record order
Section titled “Record order”Record order is not guaranteed between snapshots. Sort by id after ingestion if you need stable order.
Closed schema
Section titled “Closed schema”The declared schema is the serving contract: every served property is declared, and additionalProperties: false applies at the record and nested-object levels. New fields arrive only in a schema release, which is why enum additions are major version bumps. See Schema versioning.
Version history
Section titled “Version history”1.2.0 added properties.names[] and 1.1.0 added properties.identifiers[]. Both were additive. See the sanctions changelog for the full release record.