ISO 20022 Navigator
Look up ISO 20022 messages, bank transaction codes, legacy MT replacements, schemes and code sets.
Should I use this
Quality & Safety
Findings (2)
- LOWin iso20022_bank_transaction_codes
- LOWin iso20022_legacy_and_scheme_mappings
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"iso20022-navigator": {
"url": "https://mcp.isonavigator.io/iso20022"
}
}
}Remote endpoints
https://mcp.isonavigator.io/iso20022streamable-httpWhat it can do
Tool inventory
Tools (4)
🟢iso20022_bank_transaction_codes(code)
Use for ANY question about ISO 20022 Bank Transaction Codes (BTC): the Domain / Family / SubFamily codes that classify entries in bank statements and account reports, such as PMNT, PMNT-RCDT or PMNT-RCDT-ESCT. Call it even when the code looks familiar: it returns the official names, descriptions and how the codes fit together. Send the code in one of these forms: - PMNT (a domain): its name and its families. - PMNT-RCDT (domain and family): both names and its subfamilies. - PMNT-RCDT-ESCT (all three): the three names and an explanation of the combination. - /RCDT (a family): its name, the domains it appears in and its subfamilies. - //ESCT (a subfamily): its name, the domains and families it appears in. - /RCDT/ESCT (family and subfamily): the domains where this pair exists. - PMNT//ESCT (domain and subfamily): the families under PMNT that contain ESCT. - ESCT (no level given): matched as a domain, a family and a subfamily; each level where it exists is returned separately. This tool matches codes, not meanings. To find the code for a type of transaction, browse from the domain down: PMNT, then its families, then their subfamilies. It covers the ISO external code list only; bank-specific (proprietary) codes are outside it. It has no information about message structure or how a bank fills in a code.
Input Schema
{
"type": "object",
"properties": {
"code": {
"description": "A Bank Transaction Code or part of one, written domain-family-subfamily with hyphens, e.g. 'PMNT-RCDT-ESCT'. Each part is four letters or digits. Begin with slashes to fix the level ('/RCDT' is a family, '//ESCT' is a subfamily) and leave a level empty to skip it ('PMNT//ESCT'). Slash, comma or space also work as separators.",
"maxLength": 30,
"minLength": 1,
"pattern": "^[A-Za-z0-9 ,./_\\-]+$",
"title": "Code",
"type": "string"
}
},
"required": [
"code"
],
"title": "find_transaction_codesArguments"
}Output Schema
{
"type": "object",
"properties": {
"found": {
"title": "Found",
"type": "boolean"
},
"input": {
"description": "The code as interpreted by the server, slash-separated by level, e.g. PMNT/RCDT, /RCDT, //ESCT",
"title": "Input",
"type": "string"
},
"matches": {
"items": {
"$ref": "#/$defs/Match"
},
"title": "Matches",
"type": "array"
},
"segments": {
"description": "Not found only: where each part of the input exists in the ISO list",
"items": {
"$ref": "#/$defs/Segment"
},
"title": "Segments",
"type": "array"
},
"closest_paths": {
"description": "Not found only: up to 5 existing paths sharing a part with the input",
"items": {
"type": "string"
},
"title": "Closest Paths",
"type": "array"
},
"notes": {
"description": "Caveats to pass on to the user",
"items": {
"type": "string"
},
"title": "Notes",
"type": "array"
},
"provenance": {
"$ref": "#/$defs/Provenance"
}
},
"required": [
"found",
"input",
"provenance"
],
"$defs": {
"Code": {
"properties": {
"code": {
"title": "Code",
"type": "string"
},
"name": {
"title": "Name",
"type": "string"
}
},
"required": [
"code",
"name"
],
"title": "Code",
"type": "object"
},
"Counts": {
"properties": {
"domains": {
"title": "Domains",
"type": "integer"
},
"families": {
"title": "Families",
"type": "integer"
},
"subfamilies": {
"title": "Subfamilies",
"type": "integer"
},
"combinations": {
"description": "Valid domain-family-subfamily combinations that match",
"title": "Combinations",
"type": "integer"
}
},
"required": [
"domains",
"families",
"subfamilies",
"combinations"
],
"title": "Counts",
"type": "object"
},
"Match": {
"properties": {
"level": {
"description": "The deepest level the request fixed; 'combination' when all three were given",
"enum": [
"domain",
"family",
"subfamily",
"combination"
],
"title": "Level",
"type": "string"
},
"resolved": {
"$ref": "#/$defs/Resolved",
"description": "The codes the request fixed, with their official names"
},
"counts": {
"anyOf": [
{
"$ref": "#/$defs/Counts"
},
{
"type": "null"
}
],
"default": null,
"description": "Totals over all matching combinations (not only those listed)"
},
"domains": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Code"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Domains"
},
"families": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Code"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Families"
},
"subfamilies": {
"anyOf": [
{
"items": {
"$ref": "#/$defs/Code"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"title": "Subfamilies"
},
"all_pairs_exist": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"description": "Present when two lists are returned. True: every item in one list combines with every item in the other. False: the lists are not paired; some pairs do not exist.",
"title": "All Pairs Exist"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "AI-generated description of the combination, validated against ISO definitions; present when exactly one combination matches",
"title": "Description"
}
},
"required": [
"level",
"resolved"
],
"title": "Match",
"type": "object"
},
"Provenance": {
"description": "Where the data comes from [3.6]. Each tool supplies its own `scope`.",
"properties": {
"source": {
"default": "ISO 20022 Navigator reference data (https://www.isonavigator.io/iso20022/)",
"title": "Source",
"type": "string"
},
"scope": {
"title": "Scope",
"type": "string"
},
"data_baseline": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Quarter of the Navigator's baseline data load, e.g. 4Q2025: data reflects that load unless stated otherwise. This is when data was added to the Navigator, not an ISO 20022 publication.",
"title": "Data Baseline"
}
},
"required": [
"scope"
],
"title": "Provenance",
"type": "object"
},
"Resolved": {
"properties": {
"domain": {
"anyOf": [
{
"$ref": "#/$defs/Code"
},
{
"type": "null"
}
],
"default": null
},
"family": {
"anyOf": [
{
"$ref": "#/$defs/Code"
},
{
"type": "null"
}
],
"default": null
},
"subfamily": {
"anyOf": [
{
"$ref": "#/$defs/Code"
},
{
"type": "null"
}
],
"default": null
}
},
"title": "Resolved",
"type": "object"
},
"Segment": {
"properties": {
"code": {
"title": "Code",
"type": "string"
},
"exists_as": {
"anyOf": [
{
"items": {
"enum": [
"domain",
"family",
"subfamily"
],
"type": "string"
},
"type": "array"
},
{
"type": "null"
}
],
"default": null,
"description": "Levels at which this code exists in the ISO list; absent if it exists nowhere",
"title": "Exists As"
}
},
"required": [
"code"
],
"title": "Segment",
"type": "object"
}
},
"title": "BankTransactionCodeResult"
}🟢iso20022_message_details(message_id)
Use for ANY question about what an ISO 20022 message is: its official name, purpose, business area, latest version, and the size and shape of its structure. Send a message identifier such as pacs.008, camt.053 or pain.001. Call it even when the message looks familiar: it returns the official name, a plain-English description, the business area and domain, the Navigator's own functional grouping, whether the message is retired, structure statistics (total elements, maximum depth, element counts at each depth) and the number of external code sets the message uses. Covers the standard variant (variant 1) of each message, at the latest version held. For legacy equivalents (SWIFT MT, NACHA, CHAPS) and the schemes that use a message, use iso20022_legacy_and_scheme_mappings. For the list of code sets a message uses, use iso20022_code_sets (the response's next_calls names it).
Input Schema
{
"type": "object",
"properties": {
"message_id": {
"description": "An ISO 20022 message identifier: four letters and three digits, e.g. 'pacs.008' or 'camt.053'. Any case works, and a hyphen, underscore, space or no separator also works ('pacs-008', 'pacs008'). A full identifier with variant and version ('pacs.008.001.13') is accepted; the response gives the latest version held and notes any difference.",
"maxLength": 24,
"minLength": 7,
"pattern": "^ *[A-Za-z]{4}[ ._\\-]?[0-9]{3}([ ._\\-][0-9]{3}([ ._\\-][0-9]{2})?)? *$",
"title": "Message Id",
"type": "string"
}
},
"required": [
"message_id"
],
"title": "get_message_detailsArguments"
}Output Schema
{
"type": "object",
"properties": {
"found": {
"title": "Found",
"type": "boolean"
},
"input": {
"description": "The message identifier as interpreted by the server, e.g. pacs.008",
"title": "Input",
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Official message name, e.g. BankToCustomerAccountReport",
"title": "Name"
},
"latest_version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Full identifier of the latest version held, e.g. camt.053.001.14",
"title": "Latest Version"
},
"business_area": {
"anyOf": [
{
"$ref": "#/$defs/BusinessArea"
},
{
"type": "null"
}
],
"default": null
},
"navigator_group": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The Navigator's own functional grouping of messages. It is not part of the ISO 20022 standard.",
"title": "Navigator Group"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "AI-generated plain-English description of the message.",
"title": "Description"
},
"deactivated_in": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Navigator data load (quarter) in which this message was marked deactivated; absent if current",
"title": "Deactivated In"
},
"structure": {
"anyOf": [
{
"$ref": "#/$defs/Structure"
},
{
"type": "null"
}
],
"default": null,
"description": "Size and shape of the message definition; absent when no structure is held"
},
"code_set_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of external code sets the message uses",
"title": "Code Set Count"
},
"next_calls": {
"description": "Follow-up calls that return related data too large to include here, each with the tool and the arguments to send; absent when there is nothing to follow up",
"items": {
"$ref": "#/$defs/NextCall"
},
"title": "Next Calls",
"type": "array"
},
"closest_ids": {
"description": "Not found only: up to 5 held messages in the same business area, nearest number first",
"items": {
"type": "string"
},
"title": "Closest Ids",
"type": "array"
},
"notes": {
"description": "Caveats to pass on to the user",
"items": {
"type": "string"
},
"title": "Notes",
"type": "array"
},
"provenance": {
"$ref": "#/$defs/Provenance"
}
},
"required": [
"found",
"input",
"provenance"
],
"$defs": {
"BusinessArea": {
"properties": {
"code": {
"description": "Business area code, e.g. camt",
"title": "Code",
"type": "string"
},
"name": {
"description": "Business area name, e.g. Cash Management",
"title": "Name",
"type": "string"
},
"domain": {
"description": "Product domain the business area belongs to, e.g. Payments",
"title": "Domain",
"type": "string"
}
},
"required": [
"code",
"name",
"domain"
],
"title": "BusinessArea",
"type": "object"
},
"NextCall": {
"properties": {
"tool": {
"description": "Name of the tool that returns the related data",
"title": "Tool",
"type": "string"
},
"arguments": {
"additionalProperties": {
"type": "string"
},
"description": "The arguments to send to that tool",
"title": "Arguments",
"type": "object"
},
"purpose": {
"description": "What the call returns",
"title": "Purpose",
"type": "string"
}
},
"required": [
"tool",
"arguments",
"purpose"
],
"title": "NextCall",
"type": "object"
},
"Provenance": {
"description": "Where the data comes from [3.6]. Each tool supplies its own `scope`.",
"properties": {
"source": {
"default": "ISO 20022 Navigator reference data (https://www.isonavigator.io/iso20022/)",
"title": "Source",
"type": "string"
},
"scope": {
"title": "Scope",
"type": "string"
},
"data_baseline": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Quarter of the Navigator's baseline data load, e.g. 4Q2025: data reflects that load unless stated otherwise. This is when data was added to the Navigator, not an ISO 20022 publication.",
"title": "Data Baseline"
}
},
"required": [
"scope"
],
"title": "Provenance",
"type": "object"
},
"Structure": {
"properties": {
"total_elements": {
"description": "All elements declared in the message definition, including the document wrapper at depths 0 and 1. Optional elements and every alternative of a choice are counted.",
"title": "Total Elements",
"type": "integer"
},
"max_depth": {
"description": "Deepest nesting level in the message definition",
"title": "Max Depth",
"type": "integer"
},
"elements_by_depth": {
"anyOf": [
{
"additionalProperties": {
"type": "integer"
},
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Element counts keyed by depth, counted as total_elements is (optional elements and all alternatives included). Depth 2 holds the message's top-level blocks; depths 0 and 1 are the document wrapper. Runs from depth 2 to max_depth.",
"title": "Elements By Depth"
}
},
"required": [
"total_elements",
"max_depth"
],
"title": "Structure",
"type": "object"
}
},
"title": "MessageDetailsResult"
}🟢iso20022_legacy_and_scheme_mappings(message, standard)
Use for ANY question about what replaces or corresponds to a legacy payment message (SWIFT MT such as MT103, MT202, MT940; NACHA; CHAPS), or which payment schemes use an ISO 20022 message (pacs.008, pain.001, pain.008, camt.053; SEPA, NPP, CHAPS, Lynx, CIPS and others). Call it even when the answer seems well known: it returns sourced, current mappings with status and caveats. For "which schemes use X", call once with only the message: the response lists every recorded scheme (without descriptions, to keep it compact). Omit `standard` unless the user names one scheme; with `standard`, the response includes that scheme's description. - Legacy input (MT103, 940, ACH Statement): returns its ISO 20022 equivalent(s) in legacy_equivalents. - ISO 20022 input (pacs.008): returns legacy_equivalents (legacy messages that map to it) and used_by_schemes (schemes that use it). Mappings are message-level only; this tool does not map individual fields and has no information about a message's structure, elements or rules. Do not cite it for those. ISO 20022 messages that have been retired are returned flagged with iso20022_deactivated_in, not hidden.
Input Schema
{
"type": "object",
"properties": {
"message": {
"description": "A legacy message (e.g. 'MT103', 'MT 202COV', '940', 'ACH Statement') or an ISO 20022 message (e.g. 'pacs.008', 'camt.053.001.08').",
"maxLength": 40,
"minLength": 2,
"pattern": "^[A-Za-z0-9 .\\-/()]+$",
"title": "Message",
"type": "string"
},
"standard": {
"anyOf": [
{
"maxLength": 30,
"pattern": "^[A-Za-z0-9 _+/()\\-]*$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Omit (or leave empty) unless the user names one specific standard or scheme. Omitted returns every recorded scheme and legacy equivalent in one call; do not use this to check schemes one by one. Examples when the user names one: 'SWIFT_MT', 'SEPA', 'NPP', 'CHAPS'.",
"title": "Standard"
}
},
"required": [
"message"
],
"title": "find_mappingsArguments"
}Output Schema
{
"type": "object",
"properties": {
"found": {
"title": "Found",
"type": "boolean"
},
"input": {
"description": "The message identifier as interpreted by the server",
"title": "Input",
"type": "string"
},
"input_kind": {
"enum": [
"iso20022",
"legacy"
],
"title": "Input Kind",
"type": "string"
},
"iso20022_message_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Name of the ISO 20022 message, when the input is one",
"title": "Iso20022 Message Name"
},
"iso20022_deactivated_in": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Navigator data load (quarter) in which the input message was marked deactivated; absent if current",
"title": "Iso20022 Deactivated In"
},
"legacy_equivalents": {
"description": "Legacy or non-ISO messages (SWIFT MT, NACHA, CHAPS legacy) and their ISO 20022 equivalent",
"items": {
"$ref": "#/$defs/Mapping"
},
"title": "Legacy Equivalents",
"type": "array"
},
"used_by_schemes": {
"description": "Payment schemes that use this ISO 20022 message",
"items": {
"$ref": "#/$defs/Mapping"
},
"title": "Used By Schemes",
"type": "array"
},
"notes": {
"description": "Caveats to pass on to the user",
"items": {
"type": "string"
},
"title": "Notes",
"type": "array"
},
"provenance": {
"$ref": "#/$defs/Provenance"
}
},
"required": [
"found",
"input",
"input_kind",
"provenance"
],
"$defs": {
"Mapping": {
"properties": {
"standard_id": {
"description": "Identifier of the payment standard or scheme, e.g. SWIFT_MT, SEPA",
"title": "Standard Id",
"type": "string"
},
"standard_name": {
"title": "Standard Name",
"type": "string"
},
"ref_id": {
"description": "Message identifier as the standard writes it, e.g. 103, MT103, pacs.008",
"title": "Ref Id",
"type": "string"
},
"ref_name": {
"title": "Ref Name",
"type": "string"
},
"iso20022_message_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "ISO 20022 message; absent when there is no equivalent",
"title": "Iso20022 Message Id"
},
"iso20022_message_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Iso20022 Message Name"
},
"iso20022_deactivated_in": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Navigator data load (quarter) in which this ISO 20022 message was marked deactivated; absent if current",
"title": "Iso20022 Deactivated In"
},
"status": {
"enum": [
"ACTIVE",
"DEPRECATED"
],
"title": "Status",
"type": "string"
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Explanation of this specific mapping",
"title": "Description"
}
},
"required": [
"standard_id",
"standard_name",
"ref_id",
"ref_name",
"status"
],
"title": "Mapping",
"type": "object"
},
"Provenance": {
"description": "Where the data comes from [3.6]. Each tool supplies its own `scope`.",
"properties": {
"source": {
"default": "ISO 20022 Navigator reference data (https://www.isonavigator.io/iso20022/)",
"title": "Source",
"type": "string"
},
"scope": {
"title": "Scope",
"type": "string"
},
"data_baseline": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Quarter of the Navigator's baseline data load, e.g. 4Q2025: data reflects that load unless stated otherwise. This is when data was added to the Navigator, not an ISO 20022 publication.",
"title": "Data Baseline"
}
},
"required": [
"scope"
],
"title": "Provenance",
"type": "object"
}
},
"title": "MappingResult"
}🟢iso20022_code_sets(message, code, offset)
Use for ANY question about ISO 20022 external code sets: the values of a code set (BalanceType, ReturnReason, Purpose, StatusReason, ...), what a code means (CLBD, OTHR, ...), whether a code is valid in a code set, which code sets a message uses (camt.053, pain.001, ...), or which messages use a code set. Call it even when the answer seems well known: it returns the sourced, current values with their official descriptions and flags deactivated ones. Send one identifier in `message`: - A code set (BalanceType, or ExternalBalanceType1Code): its description, its values (code, name, description) and the messages that use it. Add `code` to check a single value. - A code (CLBD): every code set that contains it, with the name and description in each. - An ISO 20022 message (camt.053): the code sets it uses, with their number of values. The values, code sets and matches are pipe-delimited text with a header row. Long lists are paged by whole rows: when `page.complete` is false, call again with the same input and the offset in `page.next_offset` until it is true, before answering about the whole list. Not covered: Bank Transaction Codes (PMNT, PMNT-RCDT-ESCT; use iso20022_bank_transaction_codes), which ISO 20022 message replaces a legacy message or which schemes use one (use iso20022_legacy_and_scheme_mappings), and what a message itself contains. Code set usage is message-level, not element-level. The code set description (concept_description) is AI-generated.
Input Schema
{
"type": "object",
"properties": {
"message": {
"description": "A code set (e.g. 'BalanceType', or its full name 'ExternalBalanceType1Code'), a code (e.g. 'CLBD', 'OTHR'), or an ISO 20022 message (e.g. 'camt.053', 'pacs.008.001.08').",
"maxLength": 60,
"minLength": 1,
"pattern": "^[A-Za-z0-9 .\\-/()_]+$",
"title": "Message",
"type": "string"
},
"code": {
"anyOf": [
{
"maxLength": 10,
"pattern": "^[A-Za-z0-9 ._+\\-/()]*$",
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional, only when message is a code set: check one code in that set, e.g. message 'BalanceType' with code 'CLBD'. Returns just that value, so use it for 'is X a valid ...' questions instead of fetching the whole set.",
"title": "Code"
},
"offset": {
"default": 0,
"description": "Row to start from; 0 (the default) is the first row. Use only to continue a list whose previous response said it was not complete, with the next_offset from that response.",
"maximum": 100000,
"minimum": 0,
"title": "Offset",
"type": "integer"
}
},
"required": [
"message"
],
"title": "find_code_setsArguments"
}Output Schema
{
"type": "object",
"properties": {
"found": {
"title": "Found",
"type": "boolean"
},
"input": {
"description": "The identifier as interpreted by the server: the code set's short name, the ISO 20022 message, or the code",
"title": "Input",
"type": "string"
},
"input_kind": {
"enum": [
"code_set",
"message",
"code",
"unknown"
],
"title": "Input Kind",
"type": "string"
},
"code_set": {
"anyOf": [
{
"$ref": "#/$defs/CodeSetInfo"
},
{
"type": "null"
}
],
"default": null,
"description": "Attributes of the code set (input_kind code_set)"
},
"iso20022_message_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Name of the ISO 20022 message, when the input is one",
"title": "Iso20022 Message Name"
},
"iso20022_deactivated_in": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Navigator data load (quarter) in which the input message was marked deactivated; absent if current",
"title": "Iso20022 Deactivated In"
},
"values": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "input_kind code_set: the values, pipe-delimited, one row per line. First line is the header: code|name|description|deactivated_in. deactivated_in is empty for current values.",
"title": "Values"
},
"used_in_messages": {
"description": "input_kind code_set: IDs of the messages (all variants) that use this code set. Complete on every page.",
"items": {
"type": "string"
},
"title": "Used In Messages",
"type": "array"
},
"code_sets": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "input_kind message: the code sets the message uses, pipe-delimited, one row per line. First line is the header: concept|navigator_group|code_count. code_count is the number of current values.",
"title": "Code Sets"
},
"matches": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "input_kind code: every code set containing the code, pipe-delimited, one row per line. First line is the header: concept|code|name|description|deactivated_in.",
"title": "Matches"
},
"page": {
"anyOf": [
{
"$ref": "#/$defs/Page"
},
{
"type": "null"
}
],
"default": null,
"description": "Paging of the pipe-delimited list. Continue with next_offset until complete is true."
},
"notes": {
"description": "Caveats to pass on to the user",
"items": {
"type": "string"
},
"title": "Notes",
"type": "array"
},
"provenance": {
"$ref": "#/$defs/Provenance"
}
},
"required": [
"found",
"input",
"input_kind",
"provenance"
],
"$defs": {
"CodeSetInfo": {
"properties": {
"concept": {
"description": "Short code set name, e.g. BalanceType",
"title": "Concept",
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Full ISO name of the code set, e.g. ExternalBalanceType1Code",
"title": "Name"
},
"navigator_group": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "The Navigator's own grouping of code sets (13 groups); not an ISO classification",
"title": "Navigator Group"
},
"concept_description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "AI-generated description of the code set",
"title": "Concept Description"
},
"active_values": {
"description": "Number of current values in the code set",
"title": "Active Values",
"type": "integer"
},
"deactivated_values": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of values marked deactivated; absent if none",
"title": "Deactivated Values"
},
"deactivated_in": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Navigator data load (quarter) in which the code set was marked deactivated; absent if current",
"title": "Deactivated In"
},
"message_count": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Number of messages in used_in_messages (all variants). Use it instead of counting the list; absent when the requested code is not in the set",
"title": "Message Count"
}
},
"required": [
"concept",
"active_values"
],
"title": "CodeSetInfo",
"type": "object"
},
"Page": {
"properties": {
"offset": {
"description": "Row number this page starts at (0 = first row)",
"title": "Offset",
"type": "integer"
},
"returned": {
"description": "Rows on this page",
"title": "Returned",
"type": "integer"
},
"total": {
"description": "Rows in the whole list",
"title": "Total",
"type": "integer"
},
"complete": {
"description": "True when this page ends the list",
"title": "Complete",
"type": "boolean"
},
"next_offset": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Offset for the next page; absent when complete",
"title": "Next Offset"
}
},
"required": [
"offset",
"returned",
"total",
"complete"
],
"title": "Page",
"type": "object"
},
"Provenance": {
"description": "Where the data comes from [3.6]. Each tool supplies its own `scope`.",
"properties": {
"source": {
"default": "ISO 20022 Navigator reference data (https://www.isonavigator.io/iso20022/)",
"title": "Source",
"type": "string"
},
"scope": {
"title": "Scope",
"type": "string"
},
"data_baseline": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Quarter of the Navigator's baseline data load, e.g. 4Q2025: data reflects that load unless stated otherwise. This is when data was added to the Navigator, not an ISO 20022 publication.",
"title": "Data Baseline"
}
},
"required": [
"scope"
],
"title": "Provenance",
"type": "object"
}
},
"title": "CodeSetsResult"
}Community
Evidence