CFI

GET/v0/cfi

Validates and parses a Classification of Financial Instruments (CFI) code as defined by ISO 10962:2021. A CFI code is a 6-character uppercase alphabetic string where each position encodes a specific attribute of the financial instrument: category, group, and four further attributes that vary by category. The endpoint returns a structured breakdown of all six positions.

Guides: Node.js · Python

Try it

Query Parameters

ParameterTypeRequiredDescription
valuestringYesThe 6-character CFI code to validate (e.g. ESVUFR). Case-insensitive.

Response Fields

FieldTypeDescription
validbooleanWhether the code is a valid ISO 10962 CFI (6 uppercase letters, recognised category)
cfistringNormalised (uppercase) CFI code
categorystringPosition 1 — asset class letter (e.g. E)
categoryNamestringHuman-readable category name (e.g. Equities)
groupstringPosition 2 — group / subcategory letter
groupNamestring | nullHuman-readable group name, or null if not recognised
attributesarrayArray of 4 objects for positions 3–6. See The attributes array below.

The attributes array

Each element describes one CFI position (3–6). The array always contains exactly 4 items.

FieldTypeDescription
positionnumberCFI character position (3, 4, 5, or 6)
codestringThe single letter from the CFI code at this position
namestring | nullName of the attribute (e.g. Voting right, Form). null when the group is not recognised.
valuestring | nullHuman-readable decoded value (e.g. Voting, Registered). null when the code is not recognised for this attribute.

Example Request

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.isvalid.dev/v0/cfi?value=ESVUFR"

Example Response — valid

{
  "valid": true,
  "cfi": "ESVUFR",
  "category": "E",
  "categoryName": "Equities",
  "group": "S",
  "groupName": "Shares (common / ordinary)",
  "attributes": [
    { "position": 3, "code": "V", "name": "Voting right", "value": "Voting" },
    { "position": 4, "code": "U", "name": "Ownership / transfer restrictions", "value": "Free" },
    { "position": 5, "code": "F", "name": "Payment status", "value": "Partly paid" },
    { "position": 6, "code": "R", "name": "Form", "value": "Registered" }
  ]
}

Example Response — invalid

{
  "valid": false
}