Skip to content

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

HTTP STATUS SUMMARY
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

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

idstring · always present

Stable entity id (e.g. eu-fsf-1003).

schemaenum · always present

Entity type. Values currently served: Person and LegalEntity.

Possible enum values
LegalEntity

An organization, company, or other legal entity; the source does not distinguish the specific form.

Person

A natural person.

statusstring · nullable · always present

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.

captionstring · nullable · always present

Pre-formatted display name for the entity. The schema permits null, but every currently served record carries a value.

topicsarray of enum · always present

Topic memberships of the entity. Value currently served: sanction, on every record.

Possible enum values
sanction

The entity is subject to at least one regulatory designation.

sanction.counter

Declared but not served: no record currently carries this value.

sanction.linked

Declared but not served: no record currently carries this value.

sourcesarray of string · always present

Source feeds this record came from (e.g. eu-fsf, un-sc).

firstSeenstring · date-time · optional

When the record was first observed (ISO 8601). Present on every currently served record; not yet a required field.

lastSeenstring · date-time · optional

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.

namesarray of object · always present

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
typeenum · always present

Canonical name type.

primaryaliasweak_aliasoriginal_scriptnon_latinother
fullNamestring · always present

The whole name, always set. Person names case-normalized to one canonical form.

firstNamestring · optional

First-name part; set when the name is decomposed.

middleNamestring · optional

Middle-name part; set when the name is decomposed.

lastNamestring · optional

Last-name part; set when the name is decomposed.

identifiersarray of object · optional

Typed identification numbers: {"type": "<scheme> | null", "value": "<number>", "country": "<iso2> | null"}.

Show child attributesHide child attributes
typestring · optional

Identifier scheme from the source vocabulary, listed under Identifier schemes. Null if the source didn't record one.

valuestring · always present

The identification number, e.g. EU.6231.35.

countrystring · optional

Issuing country, ISO 3166-1 alpha-2. Null if the source didn't record one.

genderarray of string · optional

Gender, as published by the source (e.g. male, female).

birthDatearray of string · optional

Dates of birth; ISO 8601, possibly partial (1975, 1975-03).

birthPlacearray of string · optional

Places of birth, as published by the source.

birthCountryarray of string · optional

Countries of birth, ISO 3166-1 alpha-2.

citizenshiparray of string · optional

Citizenships, ISO 3166-1 alpha-2.

addressStringarray of string · optional

String-form addresses exactly as the source publishes them. For several sources this is the only complete address form; see also the structured addresses[].

addressesarray of object · optional

Typed address objects with city, country, and related fields.

Show child attributesHide child attributes
citystring · optional

City or locality.

countrystring · optional

ISO 3166-1 alpha-2.

fullstring · optional

Pre-formatted single-line address (e.g. EXEMPELGATAN 1, 11122 STOCKHOLM).

idstring · always present

Stable UUID of the address row.

postalCodestring · optional

Postal code.

primaryboolean · always present

Whether this is the holder's primary address.

regionstring · optional

Region or county.

statestring · optional

State or province.

streetstring · optional

Street address line.

street2string · optional

Second street address line, when the source splits the street over two.

emailarray of string · optional

Email addresses, as published by the source.

incorporationDatearray of string · optional

Dates of incorporation; ISO 8601, possibly partial.

jurisdictionarray of string · optional

Jurisdictions the entity is registered or operates in, ISO 3166-1 alpha-2.

legalFormarray of string · optional

Legal form of the organization, as published by the source.

nationalityarray of string · optional

Nationalities, ISO 3166-1 alpha-2.

notesarray of string · optional

Regulatory commentary or rationale, when published with the listing.

phonearray of string · optional

Phone numbers, as published by the source.

positionarray of string · optional

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[].

sectorarray of string · optional

Industry or activity sector, as published by the source.

titlearray of string · optional

Honorific or professional titles, as published by the source.

websitearray of string · optional

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.

idstring · optional

Stable id of the designation, string-typed on the wire.

programstring · optional

Sanctions programme or regime.

authoritystring · optional

Always populated; designations without a per-row authority resolve to the source feed's authority.

authorityIdstring · optional

The authority's own identifier for the designated subject (for example the OFAC SDN number), not the publishing act's reference.

publicationRefstring · optional

The reference of the legal act behind the designation, for example an EU Official Journal number.

sourceUrlstring · optional

Link to the published act where the source provides it.

listingDatestring · optional

ISO 8601 date the entity was listed.

descriptionarray of string · optional

Free-text designation detail.

The sanctioned entity objectsanctions 1.2.6
{
"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

GET/v1/sanctions/full

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

limitinteger · optional

Cap the number of records returned.

Must be at least 1.

formatenum · optional

Wire format:

  • json (default): single array, browser-friendly
  • jsonl: newline-delimited, one record per line
  • csv: flattened spreadsheet, downloads
regenboolean · optional

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.

sourcesstring · optional

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-fsf
  • eu-oj
  • ofac-cons
  • ofac-sdn
  • poit
  • uk-fcdo
  • un-sc

An unknown code is a 422.

schema_versionstring · optional

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.

countrystring · optionalDEPRECATED

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.

cURLcURL
curl -sS \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://api.editedsource.com/v1/sanctions/full"
RESPONSEapplication/json · application/x-ndjson · text/csv
[
{
"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

GET/v1/sanctions/{entity_id}

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_idstring · required

Entity id (e.g. eu-fsf-1003, un-sc-6907993).

cURLcURL
curl -sS \
-H "Authorization: Bearer YOUR_API_KEY" \
"https://api.editedsource.com/v1/sanctions/eu-fsf-1003"
RESPONSEapplication/json
{
"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 is not guaranteed between snapshots. Sort by id after ingestion if you need stable order.

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.

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.