ISO 20022 code sets
iso20022_code_setsUse 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
codeto 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
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | 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. | |
| offset | No | 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. | |
| message | Yes | 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'). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Paging of the pipe-delimited list. Continue with next_offset until complete is true. | |
| found | Yes | ||
| input | Yes | The identifier as interpreted by the server: the code set's short name, the ISO 20022 message, or the code | |
| notes | No | Caveats to pass on to the user | |
| values | No | 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. | |
| matches | No | 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. | |
| code_set | No | Attributes of the code set (input_kind code_set) | |
| code_sets | No | 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. | |
| input_kind | Yes | ||
| provenance | Yes | ||
| used_in_messages | No | input_kind code_set: IDs of the messages (all variants) that use this code set. Complete on every page. | |
| iso20022_message_name | No | Name of the ISO 20022 message, when the input is one | |
| iso20022_deactivated_in | No | Navigator data load (quarter) in which the input message was marked deactivated; absent if current |