{
    "openapi": "3.1.0",
    "info": {
        "title": "Nexus Payments API",
        "description": "Combined Nexus participant-facing API. All endpoints are versioned in the URL path under /v1: ISO 20022 message ingress (asynchronous XML endpoints under /v1/iso20022) and Payment Setup APIs (synchronous JSON endpoints under /v1: reference data, FX quotes, fees and amounts). IPSO connectivity requires an established IPsec IKEv2 tunnel; endpoints resolve via Nexus private DNS and are not reachable from the public Internet. Every request is additionally secured by mutual TLS (the IPSO's X.509 client certificate, validated per connection, fail-closed) and an OAuth 2.0 bearer access token that is certificate-bound per RFC 8705; every request additionally carries an RFC 9421 HTTP message signature (Signature-Input and Signature headers, algorithm rsa-pss-sha512, plus an RFC 9530 Content-Digest on requests with a body), produced with the IPSO's own signing private key and verified by Nexus against the IPSO's registered signing public key before any processing (no key material is shared between the parties). Nexus signs every GET response with its own signing private key, and the IPSO MUST verify the response signature against the Nexus signing public key before using the response. Connectivity APIs (synchronous JSON endpoints under /v1/connectivity) let the IPSO verify that Nexus is reachable (heartbeat) and that requests are processed end to end with all security controls applied (health check); the heartbeat and the health check are signed like every other request.",
        "contact": {
            "name": "Nexus",
            "url": "https://docs.nexusglobalpayments.org",
            "email": "tbd@nexusglobalpayments.org"
        },
        "version": "v1"
    },
    "servers": [
        {
            "url": "https://{environment}.payments.nexus.net",
            "description": "Nexus participant-facing API endpoint. Resolved via Nexus private DNS over the established IPsec IKEv2 tunnel and not reachable from the public Internet.",
            "variables": {
                "environment": {
                    "default": "prod",
                    "enum": [
                        "pat",
                        "prod"
                    ],
                    "description": "Deployment environment subdomain."
                }
            }
        }
    ],
    "security": [
        {
            "mutualTLS": [],
            "nexusOAuth": []
        }
    ],
    "tags": [
        {
            "name": "Countries",
            "description": "Country reference data and payment constraints, including supported instruction priorities, SLA execution timeouts, currency amount ranges (min/max), and purpose-code requirements."
        },
        {
            "name": "Address Types",
            "description": "Address types and input field definitions for recipient account or proxy details, by country or address type."
        },
        {
            "name": "Financial Institutions",
            "description": "Reference data for PSPs, FXPs, and SAPs, searchable by country, role, or institution ID."
        },
        {
            "name": "Quotes",
            "description": "FX quotes for a corridor and amount."
        },
        {
            "name": "Fees and Amounts",
            "description": "APIs for a Source PSP acting as its own FX Provider to either have settlement amounts and fees computed on its behalf, or retrieve the fee formula for independent computation."
        },
        {
            "name": "ISO 20022 Messages",
            "description": "Accepts an ISO 20022 message in XML format, prepared according to the Nexus Message Usage Guidelines. The messagePath path parameter selects the message type."
        },
        {
            "name": "Connectivity",
            "description": "Connectivity checks the IPSO calls on Nexus: a lightweight heartbeat (liveness) and an end-to-end health check that exercises every security control. The IPSO API exposes the mirror endpoints so that Nexus can check connectivity to the IPSO."
        }
    ],
    "paths": {
        "/v1/quotes": {
            "get": {
                "tags": [
                    "Quotes"
                ],
                "summary": "FX Quote Retrieval & Selection",
                "description": "Source PSP retrieves FX quotes from Nexus for a given corridor and amount. Includes improved rates for PSP, improved rates for the amount, and checks Maximum Source and Destination IPS amounts for the currencies. Service used when Source PSP uses third-party FXP.\n\n---\n\n#### Response validation rules\n\n**200 OK** — the body MUST conform to the response schema below. Response objects are open: additional properties may be introduced in later minor versions, and clients MUST ignore properties they do not recognise.\n\n| Field | Type | Presence | Nullable | Constraints |\n|---|---|---|---|---|\n| `quoteRequestId` | string | Required | N | format `uuid`; pattern `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$`; length 36 |\n| `sourceCountry` | string | Required | N | pattern `^[A-Z]{2}$`; length 2 |\n| `sourceCurrency` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `destinationCountry` | string | Required | N | pattern `^[A-Z]{2}$`; length 2 |\n| `destinationCurrency` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `amountCurrency` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `amount` | number | Required | N | > 0 |\n| `quotes` | array | Required | N | — |\n| `quotes[].quoteId` | string | Required | N | format `uuid`; pattern `^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$`; length 36 |\n| `quotes[].issuedDateTime` | string | Required | N | format `date-time`; pattern `^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$`; max length 24 |\n| `quotes[].expiryDateTime` | string | Required | N | format `date-time`; pattern `^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$`; max length 24 |\n| `quotes[].fxpFinInstIdType` | string | Required | N | one of `BICFI`, `LEI`, `otherId`; max length 10 |\n| `quotes[].fxpFinInstId` | string | Required | N | min length 1; max length 35 |\n| `quotes[].exchangeRate` | number | Required | N | > 0 |\n| `quotes[].debtorAgent` | object | Required | N | — |\n| `quotes[].debtorAgent.interbankSettlementAmount` | object | Required | N | — |\n| `quotes[].debtorAgent.interbankSettlementAmount.currency` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `quotes[].debtorAgent.interbankSettlementAmount.amount` | number | Required | N | ≥ 0 |\n| `quotes[].debtorAgent.interbankSettlementAmount.cappedToMaxAmount` | boolean | Required | N | — |\n| `quotes[].intermediaryAgent1` | object | Required | N | — |\n| `quotes[].intermediaryAgent1.finInstId` | object | Required | N | — |\n| `quotes[].intermediaryAgent1.finInstId.name` | string | Required | N | min length 1; max length 140 |\n| `quotes[].intermediaryAgent1.finInstId.BICFI` | string | Conditional — present when the institution has a BIC | Y | pattern `^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$`; max length 11 |\n| `quotes[].intermediaryAgent1.finInstId.LEI` | string | Optional | Y | pattern `^[0-9A-Z]{18}[0-9]{2}$`; max length 20 |\n| `quotes[].intermediaryAgent1.finInstId.clearingSystemMemberId` | object | Optional | N | — |\n| `quotes[].intermediaryAgent1.finInstId.clearingSystemMemberId.clearingSystemId` | string | Optional | Y | — |\n| `quotes[].intermediaryAgent1.finInstId.clearingSystemMemberId.memberId` | string | Optional | Y | max length 35 |\n| `quotes[].intermediaryAgent1.finInstId.other` | object | Optional | N | — |\n| `quotes[].intermediaryAgent1.finInstId.other.id` | string | Optional | Y | max length 35 |\n| `quotes[].intermediaryAgent1Account` | object | Required | N | — |\n| `quotes[].intermediaryAgent1Account.id` | string | Required | N | min length 1; max length 34 |\n| `quotes[].intermediaryAgent2` | object | Required | N | — |\n| `quotes[].intermediaryAgent2.finInstId` | object | Required | N | — |\n| `quotes[].intermediaryAgent2.finInstId.name` | string | Required | N | min length 1; max length 140 |\n| `quotes[].intermediaryAgent2.finInstId.BICFI` | string | Conditional — present when the institution has a BIC | Y | pattern `^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$`; max length 11 |\n| `quotes[].intermediaryAgent2.finInstId.LEI` | string | Optional | Y | pattern `^[0-9A-Z]{18}[0-9]{2}$`; max length 20 |\n| `quotes[].intermediaryAgent2.finInstId.clearingSystemMemberId` | object | Optional | N | — |\n| `quotes[].intermediaryAgent2.finInstId.clearingSystemMemberId.clearingSystemId` | string | Optional | Y | — |\n| `quotes[].intermediaryAgent2.finInstId.clearingSystemMemberId.memberId` | string | Optional | Y | max length 35 |\n| `quotes[].intermediaryAgent2.finInstId.other` | object | Optional | N | — |\n| `quotes[].intermediaryAgent2.finInstId.other.id` | string | Optional | Y | max length 35 |\n| `quotes[].intermediaryAgent2Account` | object | Required | N | — |\n| `quotes[].intermediaryAgent2Account.id` | string | Required | N | min length 1; max length 34 |\n| `quotes[].creditorAgent` | object | Required | N | — |\n| `quotes[].creditorAgent.interbankSettlementAmount` | object | Required | N | — |\n| `quotes[].creditorAgent.interbankSettlementAmount.currency` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `quotes[].creditorAgent.interbankSettlementAmount.amount` | number | Required | N | ≥ 0 |\n| `quotes[].creditorAgent.interbankSettlementAmount.cappedToMaxAmount` | boolean | Required | N | — |\n| `quotes[].creditorAgent.chargesAmount` | object | Required | N | — |\n| `quotes[].creditorAgent.chargesAmount.amount` | number | Required | N | ≥ 0 |\n| `quotes[].creditorAgent.chargesAmount.currency` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `quotes[].creditorAgent.creditorAccountAmount` | number | Required | N | ≥ 0 |\n\n**Cross-field rules**\n\n- `sourceCountry`, `sourceCurrency`, `destinationCountry`, `destinationCurrency`, `amountCurrency` and `amount` echo the request parameters.\n- `quotes` is an empty array when no FXP is eligible.\n- `quotes[].expiryDateTime` = `quotes[].issuedDateTime` + NQVT (Nexus Quote Validity Time).\n- `quotes[].fxpFinInstId` conforms to the format implied by `quotes[].fxpFinInstIdType` (e.g. BIC pattern for `BICFI`, LEI pattern for `LEI`).\n- `quotes[].exchangeRate` carries at most 8 decimal places.\n- `quotes[].debtorAgent.interbankSettlementAmount.currency` = `sourceCurrency`.\n- `quotes[].creditorAgent.interbankSettlementAmount.currency` = `quotes[].creditorAgent.chargesAmount.currency` = `destinationCurrency`.\n- `quotes[].creditorAgent.creditorAccountAmount` = `quotes[].creditorAgent.interbankSettlementAmount.amount` − `quotes[].creditorAgent.chargesAmount.amount`.\n- Monetary amounts are rounded to the currency's ISO 4217 minor units (decimal places from the currency's Nexus configuration) using `ROUND_HALF_UP`.\n\n**Response signature** — every 200 response carries `Signature-Input` and `Signature` and `Content-Digest` per the Nexus HTTP Message Signature Profile v1, signed by the responding server. The client MUST verify the response signature before using the response and MUST discard a response that fails verification.\n\n**Error responses (4xx/5xx with a body)** — the body MUST conform to `ErrorApiResponse`: `statusCode` = `RJCT`; `reasonCode` matches `^[A-Z]{2}[0-9]{3}$`; `name` is UPPER_SNAKE_CASE (≤ 50); `description` ≤ 500 characters and MUST NOT contain PII. `reasonCode` values for this operation: `TE001`, `BE007`, `BE008`, `AE001`, `AE002`, `AE003`, `AE005`, `AE006`, `AE004`, `BE009`, `TE099`. Gateway errors (405, 429, 502, 503, 504) carry no body.",
                "operationId": "createQuote",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputBodyless"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "name": "sourceCountry",
                        "in": "query",
                        "description": "ISO-3166 alpha-2 country code of the Source Country.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 2,
                            "minLength": 2,
                            "pattern": "^[A-Z]{2}$"
                        },
                        "example": "SG"
                    },
                    {
                        "name": "sourceCurrency",
                        "in": "query",
                        "description": "ISO-4217 3-letter code of the Source Currency.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 3,
                            "minLength": 3,
                            "pattern": "^[A-Z]{3}$"
                        },
                        "example": "SGD"
                    },
                    {
                        "name": "destinationCountry",
                        "in": "query",
                        "description": "ISO-3166 alpha-2 country code of the Destination Country.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 2,
                            "minLength": 2,
                            "pattern": "^[A-Z]{2}$"
                        },
                        "example": "MY"
                    },
                    {
                        "name": "destinationCurrency",
                        "in": "query",
                        "description": "ISO-4217 3-letter code of the Destination Currency.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 3,
                            "minLength": 3,
                            "pattern": "^[A-Z]{3}$"
                        },
                        "example": "MYR"
                    },
                    {
                        "name": "amountCurrency",
                        "in": "query",
                        "description": "   ISO-4217 3-letter currency code of `amount`. Equals `sourceCurrency` if Sender defined `DebtorAccountAmount`,\n   or `destinationCurrency` if Sender defined `CreditorAccountAmount`.\n",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 3,
                            "minLength": 3,
                            "pattern": "^[A-Z]{3}$"
                        },
                        "example": "SGD"
                    },
                    {
                        "name": "amount",
                        "in": "query",
                        "description": "  Amount specified by Sender. If Sender chose `DebtorAccountAmount`,\n  this is `DebtorAccountAmount` minus `Source PSP Deducted Fee` (Source Currency).\n  If Sender chose `CreditorAccountAmount`, this is `CreditorAccountAmount` (Destination Currency).\n",
                        "required": true,
                        "schema": {
                            "type": "number",
                            "exclusiveMinimum": 0
                        },
                        "example": 5000
                    },
                    {
                        "name": "finInstIdType",
                        "in": "query",
                        "description": "  Type ID of the Source PSP. Used together with `finInstId` to identify the Source PSP for FXP eligibility and rate improvement lookups.\n  The originating Source IPS is resolved separately from the authenticated caller context.\n\nOne of `BICFI`, `LEI` or `otherId`.\n",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "BICFI",
                                "LEI",
                                "otherId"
                            ]
                        },
                        "example": "BICFI"
                    },
                    {
                        "name": "finInstId",
                        "in": "query",
                        "description": "ID of the Source PSP.\n\nFormat depends on the sibling `finInstIdType` parameter: `BICFI` is 8 or 11 characters, `LEI` is 20 characters, `otherId` is free text of up to 35 characters. The per-type format is enforced as a business validation (`BE019 FI_ID_TYPE_UNSUPPORTED` / `BE020 FI_NOT_FOUND`) rather than by this schema, because it cannot be expressed as a constraint on an independent parameter.\n",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                        },
                        "example": "DBSSSGSG"
                    },
                    {
                        "name": "destFinInstIdType",
                        "in": "query",
                        "description": "  Type ID of the Destination PSP. Required when the destination country operates multiple IPSes.\n  Used to resolve which Destination IPS(s) the Destination PSP is connected to,\n  constraining eligible FXPs to those with Destination-side access on the same IPS(s).\n\nOne of `BICFI`, `LEI` or `otherId`.\n",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "BICFI",
                                "LEI",
                                "otherId"
                            ]
                        },
                        "example": "BICFI"
                    },
                    {
                        "name": "destFinInstId",
                        "in": "query",
                        "description": "  ID of the Destination PSP. Required when the destination country operates multiple IPSes.\n  If absent in a multi-IPS destination country, Nexus rejects the request with `BE008 QUOTE_DESTINATION_PSP_REQUIRED`\n\nFormat depends on the sibling `destFinInstIdType` parameter: `BICFI` is 8 or 11 characters, `LEI` is 20 characters, `otherId` is free text of up to 35 characters. The per-type format is enforced as a business validation (`BE019 FI_ID_TYPE_UNSUPPORTED` / `BE020 FI_NOT_FOUND`) rather than by this schema, because it cannot be expressed as a constraint on an independent parameter.\n",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                        },
                        "example": "MBBEMYKL"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Quote created.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/QuoteResponse"
                                }
                            }
                        },
                        "headers": {
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            },
                            "Content-Digest": {
                                "$ref": "#/components/headers/ResponseContentDigest"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_REQUEST": {
                                        "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE001",
                                            "name": "INVALID_REQUEST",
                                            "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema."
                                        }
                                    },
                                    "QUOTE_SAME_CURRENCY": {
                                        "description": "Nexus is a cross-border, cross-currency payment network. A request where sourceCurrency equals destinationCurrency is rejected because no FX conversion is required.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE007",
                                            "name": "QUOTE_SAME_CURRENCY",
                                            "description": "Nexus is a cross-border, cross-currency payment network. A request where sourceCurrency equals destinationCurrency is rejected because no FX conversion is required."
                                        }
                                    },
                                    "QUOTE_DESTINATION_PSP_REQUIRED": {
                                        "description": "The destination country operates multiple IPSes. The caller must include destFinInstIdType and destFinInstId query parameters to identify the destination financial institution.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE008",
                                            "name": "QUOTE_DESTINATION_PSP_REQUIRED",
                                            "description": "The destination country operates multiple IPSes. The caller must include destFinInstIdType and destFinInstId query parameters to identify the destination financial institution."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "The Authorization header is absent or does not contain a Bearer token.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid).",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Authorization Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or currency pair.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or currency pair."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "QUOTE_CURRENCY_PAIR_NOT_CONFIGURED": {
                                        "description": "No FXP has registered an active Source Currency to Destination Currency pair matching the request.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE009",
                                            "name": "QUOTE_CURRENCY_PAIR_NOT_CONFIGURED",
                                            "description": "No FXP has registered an active Source Currency to Destination Currency pair matching the request."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "integer",
                                    "minimum": 0
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "quotes.read"
                        ]
                    }
                ]
            }
        },
        "/v1/fin-insts/{finInstRole}": {
            "get": {
                "tags": [
                    "Financial Institutions"
                ],
                "summary": "Get Financial Institutions by Role",
                "description": "Returns a list of financial institutions available in Nexus, for the specified role, for all countries. If the role is omitted (GET /v1/fin-insts), defaults to any.\n\n---\n\n#### Response validation rules\n\n**200 OK** — the body MUST conform to the response schema below. Response objects are open: additional properties may be introduced in later minor versions, and clients MUST ignore properties they do not recognise.\n\n| Field | Type | Presence | Nullable | Constraints |\n|---|---|---|---|---|\n| `finInsts` | array | Required | N | — |\n| `finInsts[].name` | string | Required | N | min length 1; max length 140 |\n| `finInsts[].finInstId` | object | Required | N | — |\n| `finInsts[].finInstId.bicfi` | array | Conditional — present when the institution has a BIC | Y | each item: pattern `^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$`, max length 11 |\n| `finInsts[].finInstId.lei` | string | Optional | Y | pattern `^[0-9A-Z]{18}[0-9]{2}$`; max length 20 |\n| `finInsts[].finInstId.otherId` | array | Optional | Y | — |\n| `finInsts[].countryCode` | string | Required | N | pattern `^[A-Z]{2}$`; length 2 |\n| `finInsts[].roles` | array | Required | N | each item: one of `psp`, `fxp`, `sap` |\n| `nextCursor` | string | Optional | Y | — |\n\n**Cross-field rules**\n\n- Every item's `roles` contains the requested `finInstRole` (all roles when `finInstRole` = `any`).\n- `finInstId.lei` is `null` when no LEI is available; `finInstId.otherId` is an empty array when there are no other identifiers.\n\n**Response signature** — every 200 response carries `Signature-Input` and `Signature` and `Content-Digest` per the Nexus HTTP Message Signature Profile v1, signed by the responding server. The client MUST verify the response signature before using the response and MUST discard a response that fails verification.\n\n**Error responses (4xx/5xx with a body)** — the body MUST conform to `ErrorApiResponse`: `statusCode` = `RJCT`; `reasonCode` matches `^[A-Z]{2}[0-9]{3}$`; `name` is UPPER_SNAKE_CASE (≤ 50); `description` ≤ 500 characters and MUST NOT contain PII. `reasonCode` values for this operation: `TE001`, `BE016`, `TE099`, `AE001`, `AE002`, `AE003`, `AE005`, `AE006`, `AE004`. Gateway errors (405, 429, 502, 503, 504) carry no body.",
                "operationId": "listFinancialInstitutionsByRole",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputBodyless"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "name": "finInstRole",
                        "in": "path",
                        "description": "One of psp, fxp, sap, any. Defaults to any if blank.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "psp",
                                "fxp",
                                "sap",
                                "any"
                            ]
                        },
                        "example": "any"
                    },
                    {
                        "name": "cursor",
                        "in": "query",
                        "description": "Opaque cursor for the next page ordered by country code and name.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "eyJjb3VudHJ5Q29kZSI6IlRIIiwibmFtZSI6IkZYUC1BIn0"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Number of results per page.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "default": 20
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Success.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FinancialInstitutionsPageResponse"
                                }
                            }
                        },
                        "headers": {
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            },
                            "Content-Digest": {
                                "$ref": "#/components/headers/ResponseContentDigest"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_REQUEST": {
                                        "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE001",
                                            "name": "INVALID_REQUEST",
                                            "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema."
                                        }
                                    },
                                    "FI_ROLE_UNSUPPORTED": {
                                        "description": "The finInstRole path parameter is not one of the recognised roles. Nexus supports psp, fxp, sap, and any.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE016",
                                            "name": "FI_ROLE_UNSUPPORTED",
                                            "description": "The finInstRole path parameter is not one of the recognised roles. Nexus supports psp, fxp, sap, and any."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "The Authorization header is absent or does not contain a Bearer token.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid).",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Authorization Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "integer",
                                    "minimum": 0
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "institutions.read"
                        ]
                    }
                ]
            }
        },
        "/v1/fin-insts/any/{finInstIdType}/{finInstId}": {
            "get": {
                "tags": [
                    "Financial Institutions"
                ],
                "summary": "Get Financial Institution by Financial Institution ID",
                "description": "Returns a Financial Institution (including PSP, FXP and SAP) based on a specified type of financial institution ID. Supports HTTP conditional GET via If-None-Match header.\n\n---\n\n#### Response validation rules\n\n**200 OK** — the body MUST conform to the response schema below. Response objects are open: additional properties may be introduced in later minor versions, and clients MUST ignore properties they do not recognise.\n\n| Field | Type | Presence | Nullable | Constraints |\n|---|---|---|---|---|\n| `name` | string | Required | N | min length 1; max length 140 |\n| `finInstId` | object | Required | N | — |\n| `finInstId.bicfi` | array | Conditional — present when the institution has a BIC | Y | each item: pattern `^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$`, max length 11 |\n| `finInstId.lei` | string | Optional | Y | pattern `^[0-9A-Z]{18}[0-9]{2}$`; max length 20 |\n| `finInstId.otherId` | array | Optional | Y | — |\n| `countryCode` | string | Required | N | pattern `^[A-Z]{2}$`; length 2 |\n| `roles` | array | Required | N | each item: one of `psp`, `fxp`, `sap` |\n\n**Cross-field rules**\n\n- `finInstId` contains the requested identifier under the requested `finInstIdType`.\n- `finInstId.lei` is `null` when no LEI is available; `finInstId.otherId` is an empty array when there are no other identifiers.\n\n**Response signature** — every 200 and 304 response carries `Signature-Input` and `Signature` (plus `Content-Digest` on 200) per the Nexus HTTP Message Signature Profile v1, signed by the responding server. The client MUST verify the response signature before using the response and MUST discard a response that fails verification.\n\n**Error responses (4xx/5xx with a body)** — the body MUST conform to `ErrorApiResponse`: `statusCode` = `RJCT`; `reasonCode` matches `^[A-Z]{2}[0-9]{3}$`; `name` is UPPER_SNAKE_CASE (≤ 50); `description` ≤ 500 characters and MUST NOT contain PII. `reasonCode` values for this operation: `TE001`, `BE019`, `BE020`, `TE099`, `AE001`, `AE002`, `AE003`, `AE005`, `AE006`, `AE004`. Gateway errors (405, 429, 502, 503, 504) carry no body.",
                "operationId": "getFinancialInstitutionById",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "name": "finInstIdType",
                        "in": "path",
                        "description": "BICFI, LEI, otherId.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "BICFI",
                                "LEI",
                                "otherId"
                            ]
                        },
                        "example": "BICFI"
                    },
                    {
                        "name": "finInstId",
                        "in": "path",
                        "description": "Identifier value (format validated per type).\n\nFormat depends on the sibling `finInstIdType` parameter: `BICFI` is 8 or 11 characters, `LEI` is 20 characters, `otherId` is free text of up to 35 characters. The per-type format is enforced as a business validation (`BE019 FI_ID_TYPE_UNSUPPORTED` / `BE020 FI_NOT_FOUND`) rather than by this schema, because it cannot be expressed as a constraint on an independent parameter.\n",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                        },
                        "example": "DBSSSGSG"
                    },
                    {
                        "name": "If-None-Match",
                        "in": "header",
                        "description": "Optional. ETag value from a previous response for conditional GET. If it matches the current entity tag, the server returns 304 Not Modified with no body.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "\"a1b2c3\""
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputBodyless"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Financial institution retrieved.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "description": "Caching guidance for this reference-data resource. Nexus invalidates the underlying cache immediately when the underlying configuration changes; responses may otherwise be cached for up to 300 seconds.",
                                "schema": {
                                    "type": "string"
                                },
                                "example": "public, max-age=300"
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            },
                            "Content-Digest": {
                                "$ref": "#/components/headers/ResponseContentDigest"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FinancialInstitutionResponse"
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not Modified. The resource has not changed since the last request.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_REQUEST": {
                                        "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE001",
                                            "name": "INVALID_REQUEST",
                                            "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema."
                                        }
                                    },
                                    "FI_ID_TYPE_UNSUPPORTED": {
                                        "description": "The finInstIdType path parameter is not one of the recognised types. Nexus supports BICFI, LEI, and otherId.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE019",
                                            "name": "FI_ID_TYPE_UNSUPPORTED",
                                            "description": "The finInstIdType path parameter is not one of the recognised types. Nexus supports BICFI, LEI, and otherId."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "FI_NOT_FOUND": {
                                        "description": "The identifier type is valid but no institution record matches the specified identifier value. The institution may not be onboarded or the identifier may be incorrect.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE020",
                                            "name": "FI_NOT_FOUND",
                                            "description": "The identifier type is valid but no institution record matches the specified identifier value. The institution may not be onboarded or the identifier may be incorrect."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "The Authorization header is absent or does not contain a Bearer token.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid).",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Authorization Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "integer",
                                    "minimum": 0
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "institutions.read"
                        ]
                    }
                ]
            }
        },
        "/v1/fees-and-amounts/{sourceCountry}/{sourceCurrency}/{destinationCountry}/{destinationCurrency}/{amountCurrency}/{amount}/{exchangeRate}": {
            "get": {
                "tags": [
                    "Fees and Amounts"
                ],
                "summary": "Get Fees and Interbank Settlement Amounts",
                "description": "Retrieves the various fees and amounts based on specified parameters. Information can be used in the pacs.008 payment instruction.\n\n---\n\n#### Response validation rules\n\n**200 OK** — the body MUST conform to the response schema below. Response objects are open: additional properties may be introduced in later minor versions, and clients MUST ignore properties they do not recognise.\n\n| Field | Type | Presence | Nullable | Constraints |\n|---|---|---|---|---|\n| `debtorAgent` | object | Required | N | — |\n| `debtorAgent.interbankSettlementAmount` | object | Required | N | — |\n| `debtorAgent.interbankSettlementAmount.amount` | number | Required | N | ≥ 0; > 0 |\n| `debtorAgent.interbankSettlementAmount.currency` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `creditorAgent` | object | Required | N | — |\n| `creditorAgent.interbankSettlementAmount` | object | Required | N | — |\n| `creditorAgent.interbankSettlementAmount.amount` | number | Required | N | ≥ 0; > 0 |\n| `creditorAgent.interbankSettlementAmount.currency` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `creditorAgent.chargesAmount` | object | Required | N | — |\n| `creditorAgent.chargesAmount.amount` | number | Required | N | ≥ 0 |\n| `creditorAgent.chargesAmount.currency` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `creditorAgent.creditorAccountAmount` | number | Required | N | ≥ 0 |\n\n**Cross-field rules**\n\n- `debtorAgent.interbankSettlementAmount.currency` = `sourceCurrency` (path parameter).\n- `creditorAgent.interbankSettlementAmount.currency` = `creditorAgent.chargesAmount.currency` = `destinationCurrency` (path parameter).\n- `creditorAgent.creditorAccountAmount` = `creditorAgent.interbankSettlementAmount.amount` − `creditorAgent.chargesAmount.amount`.\n- The response is a stateless calculation result: it never contains `quoteRequestId`, `quoteId`, `issuedDateTime`, `expiryDateTime` or intermediary agents.\n- Monetary amounts are rounded to the currency's ISO 4217 minor units (decimal places from the currency's Nexus configuration) using `ROUND_HALF_UP`.\n\n**Response signature** — every 200 response carries `Signature-Input` and `Signature` and `Content-Digest` per the Nexus HTTP Message Signature Profile v1, signed by the responding server. The client MUST verify the response signature before using the response and MUST discard a response that fails verification.\n\n**Error responses (4xx/5xx with a body)** — the body MUST conform to `ErrorApiResponse`: `statusCode` = `RJCT`; `reasonCode` matches `^[A-Z]{2}[0-9]{3}$`; `name` is UPPER_SNAKE_CASE (≤ 50); `description` ≤ 500 characters and MUST NOT contain PII. `reasonCode` values for this operation: `TE001`, `BE007`, `BE008`, `BE010`, `BE012`, `BE009`, `AE001`, `AE002`, `AE003`, `AE005`, `AE006`, `AE004`, `TE099`. Gateway errors (405, 429, 502, 503, 504) carry no body.",
                "operationId": "getFeesAndAmounts",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputBodyless"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "name": "sourceCountry",
                        "in": "path",
                        "description": "ISO-3166 alpha-2 country code of the Source Country.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 2,
                            "minLength": 2,
                            "pattern": "^[A-Z]{2}$"
                        },
                        "example": "SG"
                    },
                    {
                        "name": "sourceCurrency",
                        "in": "path",
                        "description": "ISO-4217 3-letter code of the Source Currency.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 3,
                            "minLength": 3,
                            "pattern": "^[A-Z]{3}$"
                        },
                        "example": "SGD"
                    },
                    {
                        "name": "destinationCountry",
                        "in": "path",
                        "description": "ISO-3166 alpha-2 country code of the Destination Country.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 2,
                            "minLength": 2,
                            "pattern": "^[A-Z]{2}$"
                        },
                        "example": "MY"
                    },
                    {
                        "name": "destinationCurrency",
                        "in": "path",
                        "description": "ISO-4217 3-letter code of the Destination Currency.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 3,
                            "minLength": 3,
                            "pattern": "^[A-Z]{3}$"
                        },
                        "example": "MYR"
                    },
                    {
                        "name": "amountCurrency",
                        "in": "path",
                        "description": "ISO-4217 3-letter code of the currency in which amount is expressed.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 3,
                            "minLength": 3,
                            "pattern": "^[A-Z]{3}$"
                        },
                        "example": "SGD"
                    },
                    {
                        "name": "amount",
                        "in": "path",
                        "description": "The amount in the specified amountCurrency. If defined in Source Currency, this\nmust be the Interbank Settlement Amount (after Source PSP deduction). If defined\nin Destination Currency, this is the CreditorAccountAmount to be credited to the\nRecipient.\n",
                        "required": true,
                        "schema": {
                            "type": "number",
                            "exclusiveMinimum": 0
                        },
                        "example": 100
                    },
                    {
                        "name": "exchangeRate",
                        "in": "path",
                        "description": "The exchange rate from Source to Destination currency, as managed by the Source PSP.",
                        "required": true,
                        "schema": {
                            "type": "number",
                            "exclusiveMinimum": 0
                        },
                        "example": 3.5
                    },
                    {
                        "name": "finInstIdType",
                        "in": "query",
                        "description": "Type ID of the Source PSP. Used together with finInstId to identify the Source\nPSP, which is treated as the FX Provider for the resulting payment. The\noriginating Source IPS is resolved separately from the authenticated caller\ncontext.\n\nOne of `BICFI`, `LEI` or `otherId`.\n",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "BICFI",
                                "LEI",
                                "otherId"
                            ]
                        },
                        "example": "BICFI"
                    },
                    {
                        "name": "finInstId",
                        "in": "query",
                        "description": "ID of the Source PSP.\n\nFormat depends on the sibling `finInstIdType` parameter: `BICFI` is 8 or 11 characters, `LEI` is 20 characters, `otherId` is free text of up to 35 characters. The per-type format is enforced as a business validation (`BE019 FI_ID_TYPE_UNSUPPORTED` / `BE020 FI_NOT_FOUND`) rather than by this schema, because it cannot be expressed as a constraint on an independent parameter.\n",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                        },
                        "example": "FXSGAAAA"
                    },
                    {
                        "name": "destFinInstIdType",
                        "in": "query",
                        "description": "Type ID of the Destination PSP. Required when the destination country operates\nmultiple IPSes. Used to resolve which Destination IPS serves the Destination PSP\nfor the Source PSP's Destination-side settlement-account check.\n\nOne of `BICFI`, `LEI` or `otherId`.\n",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "BICFI",
                                "LEI",
                                "otherId"
                            ]
                        },
                        "example": "BICFI"
                    },
                    {
                        "name": "destFinInstId",
                        "in": "query",
                        "description": "ID of the Destination PSP. Required when the destination country operates\nmultiple IPSes. If absent in a multi-IPS destination country, Nexus rejects the\nrequest with BE008 QUOTE_DESTINATION_PSP_REQUIRED.\n\nFormat depends on the sibling `destFinInstIdType` parameter: `BICFI` is 8 or 11 characters, `LEI` is 20 characters, `otherId` is free text of up to 35 characters. The per-type format is enforced as a business validation (`BE019 FI_ID_TYPE_UNSUPPORTED` / `BE020 FI_NOT_FOUND`) rather than by this schema, because it cannot be expressed as a constraint on an independent parameter.\n",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                        },
                        "example": "MBBEMYKL"
                    }
                ],
                "responses": {
                    "400": {
                        "description": "Invalid Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_REQUEST": {
                                        "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE001",
                                            "name": "INVALID_REQUEST",
                                            "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema."
                                        }
                                    },
                                    "QUOTE_SAME_CURRENCY": {
                                        "description": "Nexus is a cross-border, cross-currency payment network. A request where sourceCurrency equals destinationCurrency is rejected because no FX conversion is required.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE007",
                                            "name": "QUOTE_SAME_CURRENCY",
                                            "description": "Nexus is a cross-border, cross-currency payment network. A request where sourceCurrency equals destinationCurrency is rejected because no FX conversion is required."
                                        }
                                    },
                                    "QUOTE_DESTINATION_PSP_REQUIRED": {
                                        "description": "The destination country operates multiple IPSes. The caller must include destFinInstIdType and destFinInstId query parameters to identify the destination financial institution.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE008",
                                            "name": "QUOTE_DESTINATION_PSP_REQUIRED",
                                            "description": "The destination country operates multiple IPSes. The caller must include destFinInstIdType and destFinInstId query parameters to identify the destination financial institution."
                                        }
                                    },
                                    "FXP_NOT_REGISTERED": {
                                        "description": "The financial institution identified by finInstIdType / finInstId is not registered as an FXP in Nexus. Only institutions with the FXP role may supply the exchange rate and act as FX Provider.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE010",
                                            "name": "FXP_NOT_REGISTERED",
                                            "description": "The financial institution identified by finInstIdType / finInstId is not registered as an FXP in Nexus. Only institutions with the FXP role may supply the exchange rate and act as FX Provider."
                                        }
                                    },
                                    "FXP_NO_SETTLEMENT_ACCOUNT": {
                                        "description": "The Source PSP acting as its own FX Provider does not hold Destination-side fund-holding access on an IPS serving the Destination Country, so the resulting payment could not be credited to the Recipient.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE012",
                                            "name": "FXP_NO_SETTLEMENT_ACCOUNT",
                                            "description": "The Source PSP acting as its own FX Provider does not hold Destination-side fund-holding access on an IPS serving the Destination Country, so the resulting payment could not be credited to the Recipient."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "QUOTE_CURRENCY_PAIR_NOT_CONFIGURED": {
                                        "description": "No FXP has registered an active Source Currency to Destination Currency pair matching the request.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE009",
                                            "name": "QUOTE_CURRENCY_PAIR_NOT_CONFIGURED",
                                            "description": "No FXP has registered an active Source Currency to Destination Currency pair matching the request."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "The Authorization header is absent or does not contain a Bearer token.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid).",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Authorization Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or currency pair.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or currency pair."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "200": {
                        "description": "Fees and amounts quote generated.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/FeesAndAmountsResponse"
                                }
                            }
                        },
                        "headers": {
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            },
                            "Content-Digest": {
                                "$ref": "#/components/headers/ResponseContentDigest"
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "integer",
                                    "minimum": 0
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "quote.read"
                        ]
                    }
                ]
            }
        },
        "/v1/fee-formulas/destination-agent-fee/{countryCode}/{currencyCode}": {
            "get": {
                "tags": [
                    "Fees and Amounts"
                ],
                "summary": "Get Destination Agent Fee Formula",
                "description": "Returns the Destination Agent (Destination PSP) Fee FORMULA for a specified Destination Country, denominated in the Destination Currency. Supports HTTP conditional GET via If-None-Match header.\n\n---\n\n#### Response validation rules\n\n**200 OK** — the body MUST conform to the response schema below. Response objects are open: additional properties may be introduced in later minor versions, and clients MUST ignore properties they do not recognise.\n\n| Field | Type | Presence | Nullable | Constraints |\n|---|---|---|---|---|\n| `countryCode` | string | Required | N | pattern `^[A-Z]{2}$`; length 2 |\n| `nominalFee` | object | Conditional — present when the formula has a fixed component | Y | — |\n| `nominalFee.amount` | number | Required | N | ≥ 0 |\n| `nominalFee.currency` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `percentageFee` | number | Conditional — present when the formula has a percentage component | Y | ≥ 0; ≤ 1 |\n| `validTo` | string | Required | N | format `date-time`; max length 32 |\n\n**Cross-field rules**\n\n- `countryCode` equals the `countryCode` path parameter.\n- `nominalFee` is omitted or `null` when the formula has no fixed component; when present, `nominalFee.amount` ≥ 0 and `nominalFee.currency` equals the `currencyCode` path parameter (the Destination Currency).\n- `percentageFee` is omitted or `null` when the formula has no percentage component; when present it is a decimal ratio between 0 and 1 (0.1 = 10 %).\n- `validTo` is a future timestamp at the next Nexus-configured boundary (default `23:59:59+08:00`); participants MUST re-pull on or before it.\n\n**Response signature** — every 200 and 304 response carries `Signature-Input` and `Signature` (plus `Content-Digest` on 200) per the Nexus HTTP Message Signature Profile v1, signed by the responding server. The client MUST verify the response signature before using the response and MUST discard a response that fails verification.\n\n**Error responses (4xx/5xx with a body)** — the body MUST conform to `ErrorApiResponse`: `statusCode` = `RJCT`; `reasonCode` matches `^[A-Z]{2}[0-9]{3}$`; `name` is UPPER_SNAKE_CASE (≤ 50); `description` ≤ 500 characters and MUST NOT contain PII. `reasonCode` values for this operation: `TE001`, `BE011`, `AE001`, `AE002`, `AE003`, `AE005`, `AE006`, `AE004`, `TE099`. Gateway errors (405, 429, 502, 503, 504) carry no body.",
                "operationId": "getDestinationAgentFee",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "name": "countryCode",
                        "in": "path",
                        "description": "ISO-3166 alpha-2 country code of the Destination Country. Example:`MY`",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 2,
                            "minLength": 2,
                            "pattern": "^[A-Z]{2}$"
                        },
                        "example": "MY"
                    },
                    {
                        "name": "currencyCode",
                        "in": "path",
                        "description": "ISO-4217 3-letter code of the Destination Currency. Example:`MYR`",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 3,
                            "minLength": 3,
                            "pattern": "^[A-Z]{3}$"
                        },
                        "example": "MYR"
                    },
                    {
                        "name": "If-None-Match",
                        "in": "header",
                        "description": "Optional. ETag value from a previous response for conditional GET. If it matches the current entity tag, the server returns 304 Not Modified with no body.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "\"a1b2c3\""
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputBodyless"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Destination Agent Fee retrieved.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "description": "Caching guidance for this reference-data resource. Nexus invalidates the underlying cache immediately when the underlying configuration changes; responses may otherwise be cached for up to 300 seconds.",
                                "schema": {
                                    "type": "string"
                                },
                                "example": "public, max-age=300"
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            },
                            "Content-Digest": {
                                "$ref": "#/components/headers/ResponseContentDigest"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/DestinationAgentFeeResponse"
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not Modified. The resource has not changed since the last request.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_REQUEST": {
                                        "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE001",
                                            "name": "INVALID_REQUEST",
                                            "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "FEE_FORMULA_NOT_FOUND": {
                                        "description": "The fee formula has not been configured in Nexus for the requested country-currency pair. This may indicate the country-currency configuration is partially set up.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE011",
                                            "name": "FEE_FORMULA_NOT_FOUND",
                                            "description": "The fee formula has not been configured in Nexus for the requested country-currency pair. This may indicate the country-currency configuration is partially set up."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "The Authorization header is absent or does not contain a Bearer token.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid).",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Authorization Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or country-currency pair.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or country-currency pair."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "integer",
                                    "minimum": 0
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "fees.read"
                        ]
                    }
                ]
            }
        },
        "/v1/countries": {
            "get": {
                "tags": [
                    "Countries"
                ],
                "summary": "Retrieve All Countries in Nexus",
                "description": "Returns all countries available on the Nexus network, along with key reference data for sending payments to those countries, such as maximum transaction amounts and requirements for category purpose codes.\n\n---\n\n#### Response validation rules\n\n**200 OK** — the body MUST conform to the response schema below. Response objects are open: additional properties may be introduced in later minor versions, and clients MUST ignore properties they do not recognise.\n\n| Field | Type | Presence | Nullable | Constraints |\n|---|---|---|---|---|\n| `countries` | array | Required | N | — |\n| `countries[].countryId` | integer | Required | N | format `int32`; ≥ 1; ≤ 999 |\n| `countries[].countryCode` | string | Required | N | pattern `^[A-Z]{2}$`; length 2 |\n| `countries[].name` | string | Required | N | min length 1; max length 100 |\n| `countries[].currencies` | array | Required | N | ≥ 1 item(s) |\n| `countries[].currencies[].currencyCode` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `countries[].currencies[].currencyName` | string | Required | N | min length 1; max length 50 |\n| `countries[].currencies[].symbol` | string | Required | N | min length 1; max length 5 |\n| `countries[].currencies[].decimalPlaces` | integer | Required | N | format `int32`; ≥ 0; ≤ 4 |\n| `countries[].currencies[].minAmount` | string | Optional | N | pattern `^[0-9]+(\\.[0-9]+)?$`; max length 18 |\n| `countries[].currencies[].maxAmount` | string | Required | N | pattern `^[0-9]+(\\.[0-9]+)?$`; max length 18 |\n| `countries[].requiredMessageElements` | object | Required | N | — |\n| `countries[].requiredMessageElements.pacs008` | array | Required | N | each item: pattern `^/Document/.+` |\n| `countries[].requiredMessageElements.getQuotes` | array | Conditional — present only for multi-IPS destination countries | N | each item: one of `destinationPsp` |\n| `countries[].supportedInstructionPriorities` | array | Required | N | unique items; each item: one of `NORM`, `HIGH` |\n| `countries[].sla` | object | Required | N | — |\n| `countries[].sla.normalPaymentMaxExecutionTimeout` | integer | Required | N | format `int32`; ≥ 0 |\n| `countries[].sla.highPaymentMaxExecutionTimeout` | integer | Conditional — present only when the country supports `HIGH` priority; omitted otherwise | N | format `int32`; ≥ 0 |\n\n**Cross-field rules**\n\n- `currencies[].minAmount` / `currencies[].maxAmount`: fractional digits exactly equal `currencies[].decimalPlaces`; JSON numbers, exponent notation and grouping separators are prohibited.\n- `currencies` lists only active currencies.\n- `sla.highPaymentMaxExecutionTimeout` is present only when the country supports `HIGH` priority (omitted otherwise); it therefore never appears unless `supportedInstructionPriorities` contains `HIGH`.\n- `requiredMessageElements.getQuotes` is present only for multi-IPS destination countries and then contains `destinationPsp`.\n- `supportedInstructionPriorities` is the union across the country's IPSes; `sla` values are the most relaxed (longest) MET across the country's IPSes, in whole seconds.\n\n**Response signature** — every 200 and 304 response carries `Signature-Input` and `Signature` (plus `Content-Digest` on 200) per the Nexus HTTP Message Signature Profile v1, signed by the responding server. The client MUST verify the response signature before using the response and MUST discard a response that fails verification.\n\n**Error responses (4xx/5xx with a body)** — the body MUST conform to `ErrorApiResponse`: `statusCode` = `RJCT`; `reasonCode` matches `^[A-Z]{2}[0-9]{3}$`; `name` is UPPER_SNAKE_CASE (≤ 50); `description` ≤ 500 characters and MUST NOT contain PII. `reasonCode` values for this operation: `TE099`, `AE001`, `AE002`, `AE003`, `AE005`, `AE006`, `AE004`. Gateway errors (405, 429, 502, 503, 504) carry no body.",
                "operationId": "listCountries",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "name": "If-None-Match",
                        "in": "header",
                        "description": "Optional. ETag value from a previous response for conditional GET. If it matches the current entity tag, the server returns 304 Not Modified with no body.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "\"a1b2c3\""
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputBodyless"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "A list of countries with payment details.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "description": "Caching guidance for this reference-data resource. Nexus invalidates the underlying cache immediately when the underlying configuration changes; responses may otherwise be cached for up to 300 seconds.",
                                "schema": {
                                    "type": "string"
                                },
                                "example": "public, max-age=300"
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            },
                            "Content-Digest": {
                                "$ref": "#/components/headers/ResponseContentDigest"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CountriesResponse"
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not Modified. The resource has not changed since the last request.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "The Authorization header is absent or does not contain a Bearer token.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid).",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Authorization Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "integer",
                                    "minimum": 0
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "countries.read"
                        ]
                    }
                ]
            }
        },
        "/v1/countries/{countryCode}": {
            "get": {
                "tags": [
                    "Countries"
                ],
                "summary": "Retrieve a Single Country",
                "description": "Returns a specified country based on the 2-letter countryCode provided, along with key reference data for sending payments to that country, such as maximum transaction amounts and requirements for category purpose codes.\n\n---\n\n#### Response validation rules\n\n**200 OK** — the body MUST conform to the response schema below. Response objects are open: additional properties may be introduced in later minor versions, and clients MUST ignore properties they do not recognise.\n\n| Field | Type | Presence | Nullable | Constraints |\n|---|---|---|---|---|\n| `countryId` | integer | Required | N | format `int32`; ≥ 1; ≤ 999 |\n| `countryCode` | string | Required | N | pattern `^[A-Z]{2}$`; length 2 |\n| `name` | string | Required | N | min length 1; max length 100 |\n| `currencies` | array | Required | N | ≥ 1 item(s) |\n| `currencies[].currencyCode` | string | Required | N | pattern `^[A-Z]{3}$`; length 3 |\n| `currencies[].currencyName` | string | Required | N | min length 1; max length 50 |\n| `currencies[].symbol` | string | Required | N | min length 1; max length 5 |\n| `currencies[].decimalPlaces` | integer | Required | N | format `int32`; ≥ 0; ≤ 4 |\n| `currencies[].minAmount` | string | Optional | N | pattern `^[0-9]+(\\.[0-9]+)?$`; max length 18 |\n| `currencies[].maxAmount` | string | Required | N | pattern `^[0-9]+(\\.[0-9]+)?$`; max length 18 |\n| `requiredMessageElements` | object | Required | N | — |\n| `requiredMessageElements.pacs008` | array | Required | N | each item: pattern `^/Document/.+` |\n| `requiredMessageElements.getQuotes` | array | Conditional — present only for multi-IPS destination countries | N | each item: one of `destinationPsp` |\n| `supportedInstructionPriorities` | array | Required | N | unique items; each item: one of `NORM`, `HIGH` |\n| `sla` | object | Required | N | — |\n| `sla.normalPaymentMaxExecutionTimeout` | integer | Required | N | format `int32`; ≥ 0 |\n| `sla.highPaymentMaxExecutionTimeout` | integer | Conditional — present only when the country supports `HIGH` priority; omitted otherwise | N | format `int32`; ≥ 0 |\n\n**Cross-field rules**\n\n- `countryCode` equals the `countryCode` path parameter.\n- `currencies[].minAmount` / `currencies[].maxAmount`: fractional digits exactly equal `currencies[].decimalPlaces`; JSON numbers, exponent notation and grouping separators are prohibited.\n- `currencies` lists only active currencies.\n- `sla.highPaymentMaxExecutionTimeout` is present only when the country supports `HIGH` priority (omitted otherwise); it therefore never appears unless `supportedInstructionPriorities` contains `HIGH`.\n- `requiredMessageElements.getQuotes` is present only for multi-IPS destination countries and then contains `destinationPsp`.\n- `supportedInstructionPriorities` is the union across the country's IPSes; `sla` values are the most relaxed (longest) MET across the country's IPSes, in whole seconds.\n\n**Response signature** — every 200 and 304 response carries `Signature-Input` and `Signature` (plus `Content-Digest` on 200) per the Nexus HTTP Message Signature Profile v1, signed by the responding server. The client MUST verify the response signature before using the response and MUST discard a response that fails verification.\n\n**Error responses (4xx/5xx with a body)** — the body MUST conform to `ErrorApiResponse`: `statusCode` = `RJCT`; `reasonCode` matches `^[A-Z]{2}[0-9]{3}$`; `name` is UPPER_SNAKE_CASE (≤ 50); `description` ≤ 500 characters and MUST NOT contain PII. `reasonCode` values for this operation: `TE001`, `BE001`, `BE002`, `TE099`, `AE001`, `AE002`, `AE003`, `AE005`, `AE006`, `AE004`. Gateway errors (405, 429, 502, 503, 504) carry no body.",
                "operationId": "getCountryByCode",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "name": "countryCode",
                        "in": "path",
                        "description": "ISO 3166-1 alpha-2 uppercase destination code",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 2,
                            "minLength": 2,
                            "pattern": "^[A-Z]{2}$"
                        },
                        "example": "ID"
                    },
                    {
                        "name": "If-None-Match",
                        "in": "header",
                        "description": "Optional. ETag value from a previous response for conditional GET. If it matches the current entity tag, the server returns 304 Not Modified with no body.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "\"a1b2c3\""
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputBodyless"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Country information.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "description": "Caching guidance for this reference-data resource. Nexus invalidates the underlying cache immediately when the underlying configuration changes; responses may otherwise be cached for up to 300 seconds.",
                                "schema": {
                                    "type": "string"
                                },
                                "example": "public, max-age=300"
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            },
                            "Content-Digest": {
                                "$ref": "#/components/headers/ResponseContentDigest"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/CountryResponse"
                                }
                            }
                        }
                    },
                    "304": {
                        "description": "Not Modified. The resource has not changed since the last request.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_REQUEST": {
                                        "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE001",
                                            "name": "INVALID_REQUEST",
                                            "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema."
                                        }
                                    },
                                    "COUNTRY_CODE_INVALID": {
                                        "description": "The countryCode path parameter does not conform to ISO 3166-1 alpha-2 format.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE001",
                                            "name": "COUNTRY_CODE_INVALID",
                                            "description": "The countryCode path parameter does not conform to ISO 3166-1 alpha-2 format."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "COUNTRY_NOT_FOUND": {
                                        "description": "The country code is syntactically valid but not onboarded or active in Nexus reference data.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE002",
                                            "name": "COUNTRY_NOT_FOUND",
                                            "description": "The country code is syntactically valid but not onboarded or active in Nexus reference data."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "The Authorization header is absent or does not contain a Bearer token.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid).",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Authorization Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "integer",
                                    "minimum": 0
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "countries.read"
                        ]
                    }
                ]
            }
        },
        "/v1/countries/{countryCode}/fin-insts/{finInstRole}": {
            "get": {
                "tags": [
                    "Financial Institutions"
                ],
                "summary": "Get Financial Institutions (PSPs, FXPs, SAPs or all) in a specified country",
                "description": "Returns a list of financial institutions (PSPs, FXPs, SAPs or all) operating in the specified country, who are connected to an IPS that is a member of Nexus. The list also includes those PSPs who are not members of Nexus. The data can be used (for example) to populate a drop-down list of PSPs (rather than requiring the Sender to enter a BIC directly). If {finInstRole} is set to any or left blank, all PSPs, FXPs and SAPs are returned.\n\n---\n\n#### Response validation rules\n\n**200 OK** — the body MUST conform to the response schema below. Response objects are open: additional properties may be introduced in later minor versions, and clients MUST ignore properties they do not recognise.\n\nThe body is a top-level JSON array (no envelope); it may be empty unless stated otherwise.\n\n| Field | Type | Presence | Nullable | Constraints |\n|---|---|---|---|---|\n| `[].name` | string | Required | N | min length 1; max length 140 |\n| `[].finInstId` | object | Required | N | — |\n| `[].finInstId.bicfi` | array | Conditional — present when the institution has a BIC | Y | each item: pattern `^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$`, max length 11 |\n| `[].finInstId.lei` | string | Optional | Y | pattern `^[0-9A-Z]{18}[0-9]{2}$`; max length 20 |\n| `[].finInstId.otherId` | array | Optional | Y | — |\n| `[].countryCode` | string | Required | N | pattern `^[A-Z]{2}$`; length 2 |\n| `[].roles` | array | Required | N | each item: one of `psp`, `fxp`, `sap` |\n\n**Cross-field rules**\n\n- Every item's `countryCode` equals the `countryCode` path parameter.\n- Every item's `roles` contains the requested `finInstRole` (all roles when `finInstRole` = `any`).\n- `finInstId.lei` is `null` when no LEI is available; `finInstId.otherId` is an empty array when there are no other identifiers.\n\n**Response signature** — every 200 and 304 response carries `Signature-Input` and `Signature` (plus `Content-Digest` on 200) per the Nexus HTTP Message Signature Profile v1, signed by the responding server. The client MUST verify the response signature before using the response and MUST discard a response that fails verification.\n\n**Error responses (4xx/5xx with a body)** — the body MUST conform to `ErrorApiResponse`: `statusCode` = `RJCT`; `reasonCode` matches `^[A-Z]{2}[0-9]{3}$`; `name` is UPPER_SNAKE_CASE (≤ 50); `description` ≤ 500 characters and MUST NOT contain PII. `reasonCode` values for this operation: `TE001`, `BE017`, `BE016`, `BE018`, `TE099`, `AE001`, `AE002`, `AE003`, `AE005`, `AE006`, `AE004`. Gateway errors (405, 429, 502, 503, 504) carry no body.",
                "operationId": "listFinancialInstitutionsByCountryAndRole",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "name": "countryCode",
                        "in": "path",
                        "description": "ISO 3166-1 alpha-2 (e.g., SG).",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 2,
                            "minLength": 2,
                            "pattern": "^[A-Z]{2}$"
                        },
                        "example": "SG"
                    },
                    {
                        "name": "finInstRole",
                        "in": "path",
                        "description": "psp, fxp, sap, any (optional, defaults any).",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "psp",
                                "fxp",
                                "sap",
                                "any"
                            ]
                        },
                        "example": "psp"
                    },
                    {
                        "name": "If-None-Match",
                        "in": "header",
                        "description": "Optional. ETag value from a previous response for conditional GET. If it matches the current entity tag, the server returns 304 Not Modified with no body.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "\"a1b2c3\""
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputBodyless"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Financial institutions retrieved.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "description": "Caching guidance for this reference-data resource. Nexus invalidates the underlying cache immediately when the underlying configuration changes; responses may otherwise be cached for up to 300 seconds.",
                                "schema": {
                                    "type": "string"
                                },
                                "example": "public, max-age=300"
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            },
                            "Content-Digest": {
                                "$ref": "#/components/headers/ResponseContentDigest"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FinancialInstitutionResponse"
                                    }
                                },
                                "example": [
                                    {
                                        "name": "DBS Bank Ltd",
                                        "finInstId": {
                                            "bicfi": [
                                                "DBSSSGSG"
                                            ],
                                            "lei": "ATUEL7OJR5057F2PV266",
                                            "otherId": []
                                        },
                                        "countryCode": "SG",
                                        "roles": [
                                            "psp",
                                            "sap"
                                        ]
                                    },
                                    {
                                        "name": "United Overseas Bank Limited",
                                        "finInstId": {
                                            "bicfi": [
                                                "UOVBSGSG"
                                            ],
                                            "lei": "AR3L4Z0XCMCQS27SE236",
                                            "otherId": []
                                        },
                                        "countryCode": "SG",
                                        "roles": [
                                            "psp"
                                        ]
                                    }
                                ]
                            }
                        }
                    },
                    "304": {
                        "description": "Not Modified. The resource has not changed since the last request.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_REQUEST": {
                                        "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE001",
                                            "name": "INVALID_REQUEST",
                                            "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema."
                                        }
                                    },
                                    "FI_COUNTRY_INVALID": {
                                        "description": "The countryCode path parameter does not conform to ISO 3166-1 alpha-2 format.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE017",
                                            "name": "FI_COUNTRY_INVALID",
                                            "description": "The countryCode path parameter does not conform to ISO 3166-1 alpha-2 format."
                                        }
                                    },
                                    "FI_ROLE_UNSUPPORTED": {
                                        "description": "The finInstRole path parameter is not one of the recognised roles. Nexus supports psp, fxp, sap, and any.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE016",
                                            "name": "FI_ROLE_UNSUPPORTED",
                                            "description": "The finInstRole path parameter is not one of the recognised roles. Nexus supports psp, fxp, sap, and any."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "FI_COUNTRY_NO_INSTITUTIONS": {
                                        "description": "The country code is valid and the role is supported, but no financial institutions are onboarded for that country-role combination.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE018",
                                            "name": "FI_COUNTRY_NO_INSTITUTIONS",
                                            "description": "The country code is valid and the role is supported, but no financial institutions are onboarded for that country-role combination."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "The Authorization header is absent or does not contain a Bearer token.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid).",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Authorization Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "integer",
                                    "minimum": 0
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "institutions.read"
                        ]
                    }
                ]
            }
        },
        "/v1/countries/{countryCode}/address-types-and-inputs": {
            "get": {
                "tags": [
                    "Address Types"
                ],
                "summary": "Gets all the address types AND inputs for a specified Country",
                "description": "Returns all address types AND their associated inputs for a specified country.\n\n---\n\n#### Response validation rules\n\n**200 OK** — the body MUST conform to the response schema below. Response objects are open: additional properties may be introduced in later minor versions, and clients MUST ignore properties they do not recognise.\n\nThe body is a top-level JSON array (no envelope); it may be empty unless stated otherwise.\n\n| Field | Type | Presence | Nullable | Constraints |\n|---|---|---|---|---|\n| `[].addressTypeId` | string | Required | N | pattern `^[A-Z]+$`; min length 1; max length 20 |\n| `[].countries` | array | Required | N | each item: pattern `^[A-Z]{2}$`, length 2 |\n| `[].addressTypeCode` | string | Required | N | min length 1; max length 10 |\n| `[].clearingSystemId` | string | Conditional — present when `addressTypeCode` is `ACCT` or `IBAN` | Y | max length 12 |\n| `[].proxyDirectoryId` | string | Conditional — present when `addressTypeCode` is a proxy type (`MBNO`, `EMAL`, `NIDN`) | Y | max length 20 |\n| `[].displayOrder` | integer | Required | N | format `int32`; ≥ 1 |\n| `[].inputs` | array | Required | N | ≥ 1 item(s) |\n| `[].inputs[].addressInputId` | string | Required | N | min length 1; max length 20 |\n| `[].inputs[].label` | object | Conditional — present for visible inputs; absent for `hidden` inputs | Y | — |\n| `[].inputs[].label.addressTypeCode` | string | Required | N | min length 1; max length 10 |\n| `[].inputs[].label.title` | object | Required | N | — |\n| `[].inputs[].label.title.en` | string | Required | N | min length 1; max length 200 |\n| `[].inputs[].label.title.de` | string | Optional | N | — |\n| `[].inputs[].attributes` | object | Required | N | — |\n| `[].inputs[].attributes.name` | string | Required | N | min length 1; max length 50 |\n| `[].inputs[].attributes.type` | string | Required | N | one of `text`, `number`, `hidden`; max length 10 |\n| `[].inputs[].attributes.pattern` | string | Conditional — absent when `type` = `hidden` | N | max length 200 |\n| `[].inputs[].attributes.placeholder` | string | Conditional — absent when `type` = `hidden` | N | max length 50 |\n| `[].inputs[].attributes.required` | boolean | Required | N | — |\n| `[].inputs[].attributes.value` | string | Conditional — present only when `type` = `hidden` | N | max length 50 |\n| `[].inputs[].iso20022XPath` | object | Required | N | — |\n| `[].inputs[].iso20022XPath.acmt023` | string | Required | Y | pattern `^/Document/.+`; max length 200 |\n| `[].inputs[].iso20022XPath.pacs008` | string | Required | Y | pattern `^/Document/.+`; max length 200 |\n\n**Cross-field rules**\n\n- `addressTypeId` is unique within the country; `inputs[].addressInputId` is unique within its address type.\n- `clearingSystemId` is populated for account types (`ACCT`, `IBAN`) and `null` for proxy types; `proxyDirectoryId` is populated for proxy types (`MBNO`, `EMAL`, `NIDN`) and `null` for account types.\n- For inputs with `attributes.type` = `hidden`: `label`, `attributes.pattern` and `attributes.placeholder` are absent and `attributes.value` is present.\n- `attributes.pattern`, when present, is a valid regular expression.\n- `iso20022XPath.acmt023` / `iso20022XPath.pacs008` are `null` when the input is not mapped to that message.\n\n**Response signature** — every 200 and 304 response carries `Signature-Input` and `Signature` (plus `Content-Digest` on 200) per the Nexus HTTP Message Signature Profile v1, signed by the responding server. The client MUST verify the response signature before using the response and MUST discard a response that fails verification.\n\n**Error responses (4xx/5xx with a body)** — the body MUST conform to `ErrorApiResponse`: `statusCode` = `RJCT`; `reasonCode` matches `^[A-Z]{2}[0-9]{3}$`; `name` is UPPER_SNAKE_CASE (≤ 50); `description` ≤ 500 characters and MUST NOT contain PII. `reasonCode` values for this operation: `TE001`, `BE001`, `BE002`, `TE099`, `AE001`, `AE002`, `AE003`, `AE005`, `AE006`, `AE004`. Gateway errors (405, 429, 502, 503, 504) carry no body.",
                "operationId": "listAddressTypesWithInputs",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "name": "countryCode",
                        "in": "path",
                        "description": "ISO 3166-1 alpha-2 uppercase country code used to scope the lookup. Must match the Sender’s selected destination country.",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "maxLength": 2,
                            "minLength": 2,
                            "pattern": "^[A-Z]{2}$"
                        },
                        "example": "PH"
                    },
                    {
                        "name": "If-None-Match",
                        "in": "header",
                        "description": "Optional. ETag value from a previous response for conditional GET. If it matches the current entity tag, the server returns 304 Not Modified with no body.",
                        "required": false,
                        "schema": {
                            "type": "string"
                        },
                        "example": "\"a1b2c3\""
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputBodyless"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Address types and inputs for the specified country.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Cache-Control": {
                                "description": "Caching guidance for this reference-data resource. Nexus invalidates the underlying cache immediately when the underlying configuration changes; responses may otherwise be cached for up to 300 seconds.",
                                "schema": {
                                    "type": "string"
                                },
                                "example": "public, max-age=300"
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            },
                            "Content-Digest": {
                                "$ref": "#/components/headers/ResponseContentDigest"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/AddressTypeWithInputsResponse"
                                    }
                                },
                                "example": [
                                    {
                                        "addressTypeId": "PHACCT",
                                        "countries": [
                                            "PH"
                                        ],
                                        "addressTypeCode": "ACCT",
                                        "clearingSystemId": "PHPINST",
                                        "displayOrder": 3,
                                        "inputs": [
                                            {
                                                "addressInputId": "PHINPT1",
                                                "label": {
                                                    "addressTypeCode": "ACCT",
                                                    "title": {
                                                        "en": "Account number, 10-18 digits"
                                                    }
                                                },
                                                "attributes": {
                                                    "name": "accountOrProxyId",
                                                    "type": "number",
                                                    "pattern": "^\\d{10,18}$",
                                                    "placeholder": "1234567890",
                                                    "required": true
                                                },
                                                "iso20022XPath": {
                                                    "acmt023": "/Document/IdVrfctnReq/Vrfctn/PtyAndAcctId/Acct/Id/Othr/Id",
                                                    "pacs008": "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/CdtrAcct/Id/Othr/Id"
                                                }
                                            },
                                            {
                                                "addressInputId": "PHINPT2",
                                                "label": {
                                                    "addressTypeCode": "BICFI",
                                                    "title": {
                                                        "en": "BIC of the Recipient's Bank or Payment Service Provider"
                                                    }
                                                },
                                                "attributes": {
                                                    "name": "finInstId",
                                                    "type": "text",
                                                    "pattern": "^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?",
                                                    "placeholder": "AAAAPHAAXXX",
                                                    "required": true
                                                },
                                                "iso20022XPath": {
                                                    "acmt023": "/Document/IdVrfctnReq/Vrfctn/PtyAndAcctId/Agt/FinInstnId/BICFI",
                                                    "pacs008": "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/CdtrAgt/FinInstnId/BICFI"
                                                }
                                            }
                                        ]
                                    },
                                    {
                                        "addressTypeId": "PHEMAL",
                                        "countries": [
                                            "PH"
                                        ],
                                        "addressTypeCode": "EMAL",
                                        "proxyDirectoryId": "PHPROXY",
                                        "displayOrder": 2,
                                        "inputs": [
                                            {
                                                "addressInputId": "PHINPT3",
                                                "label": {
                                                    "addressTypeCode": "EMAL",
                                                    "title": {
                                                        "en": "Email address"
                                                    }
                                                },
                                                "attributes": {
                                                    "name": "accountOrProxyId",
                                                    "type": "text",
                                                    "placeholder": "someone@somewhere.com",
                                                    "required": true
                                                },
                                                "iso20022XPath": {
                                                    "acmt023": "/Document/IdVrfctnReq/Vrfctn/PtyAndAcctId/Acct/Prxy/Id",
                                                    "pacs008": null
                                                }
                                            },
                                            {
                                                "addressInputId": "PHINPT2",
                                                "label": {
                                                    "addressTypeCode": "BICFI",
                                                    "title": {
                                                        "en": "BIC of the Recipient's Bank or Payment Service Provider"
                                                    }
                                                },
                                                "attributes": {
                                                    "name": "finInstId",
                                                    "type": "text",
                                                    "pattern": "^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?",
                                                    "placeholder": "AAAAPHAAXXX",
                                                    "required": true
                                                },
                                                "iso20022XPath": {
                                                    "acmt023": "/Document/IdVrfctnReq/Vrfctn/PtyAndAcctId/Agt/FinInstnId/BICFI",
                                                    "pacs008": "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/CdtrAgt/FinInstnId/BICFI"
                                                }
                                            }
                                        ]
                                    },
                                    {
                                        "addressTypeId": "PHMBNO",
                                        "countries": [
                                            "PH"
                                        ],
                                        "addressTypeCode": "MBNO",
                                        "proxyDirectoryId": "PHPROXY",
                                        "displayOrder": 1,
                                        "inputs": [
                                            {
                                                "addressInputId": "PHINPT4",
                                                "label": {
                                                    "addressTypeCode": "MBNO",
                                                    "title": {
                                                        "en": "Mobile phone number, including the country code"
                                                    }
                                                },
                                                "attributes": {
                                                    "name": "accountOrProxyId",
                                                    "type": "text",
                                                    "pattern": "^\\+(?:[0-9] ?){6,14}[0-9]$",
                                                    "placeholder": "+633456789101",
                                                    "required": true
                                                },
                                                "iso20022XPath": {
                                                    "acmt023": "/Document/IdVrfctnReq/Vrfctn/PtyAndAcctId/Acct/Prxy/Id",
                                                    "pacs008": null
                                                }
                                            },
                                            {
                                                "addressInputId": "PHINPT5",
                                                "label": {
                                                    "addressTypeCode": "BICFI",
                                                    "title": {
                                                        "en": "BIC of the Recipient's Bank or Payment Service Provider"
                                                    }
                                                },
                                                "attributes": {
                                                    "name": "finInstId",
                                                    "type": "text",
                                                    "pattern": "^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?",
                                                    "placeholder": "AAAAPHAAXXX",
                                                    "required": true
                                                },
                                                "iso20022XPath": {
                                                    "acmt023": "/Document/IdVrfctnReq/Vrfctn/PtyAndAcctId/Agt/FinInstnId/BICFI",
                                                    "pacs008": "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/CdtrAgt/FinInstnId/BICFI"
                                                }
                                            }
                                        ]
                                    }
                                ]
                            }
                        }
                    },
                    "304": {
                        "description": "Not Modified. The resource has not changed since the last request.",
                        "headers": {
                            "ETag": {
                                "description": "Entity tag for cache validation",
                                "style": "simple",
                                "schema": {
                                    "type": "string"
                                }
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid Request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_REQUEST": {
                                        "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE001",
                                            "name": "INVALID_REQUEST",
                                            "description": "One or more request parameters are missing, malformed, or do not conform to the expected schema."
                                        }
                                    },
                                    "COUNTRY_CODE_INVALID": {
                                        "description": "The countryCode path parameter does not conform to ISO 3166-1 alpha-2 format.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE001",
                                            "name": "COUNTRY_CODE_INVALID",
                                            "description": "The countryCode path parameter does not conform to ISO 3166-1 alpha-2 format."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Resource Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "COUNTRY_NOT_FOUND": {
                                        "description": "The country code is syntactically valid but not onboarded or active in Nexus reference data.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "BE002",
                                            "name": "COUNTRY_NOT_FOUND",
                                            "description": "The country code is syntactically valid but not onboarded or active in Nexus reference data."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "The Authorization header is absent or does not contain a Bearer token.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid).",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Authorization Failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor.",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "integer",
                                    "minimum": 0
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "address.read"
                        ]
                    }
                ]
            }
        },
        "/v1/iso20022/pacs008": {
            "post": {
                "tags": [
                    "ISO 20022 Messages"
                ],
                "summary": "Submit an ISO 20022 pacs.008 FI to FI Customer Credit Transfer",
                "description": "Submit an ISO 20022 pacs.008 FI to FI customer credit transfer payment instruction. Nexus validates the message, transforms routing fields, and routes it to the Destination IPS. The asynchronous pacs.002 status report is delivered to the Source IPS.",
                "operationId": "submitPacs008",
                "parameters": [
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "application/xml",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/xml"
                        },
                        "example": "application/xml"
                    },
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputWithBody"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "$ref": "#/components/parameters/ContentDigest"
                    }
                ],
                "requestBody": {
                    "description": "Raw ISO 20022 pacs.008.001.13 XML payload. Validated against the pacs.008.001.13 XSD.\n",
                    "content": {
                        "application/xml": {
                            "schema": {
                                "$ref": "#/components/schemas/Pacs008Document"
                            },
                            "examples": {
                                "happyPath": {
                                    "summary": "SG to MY credit transfer, NORM priority",
                                    "description": "Example pacs.008 XML for credit transfer purpose",
                                    "value": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Payment Execution NORM happy flow, 4-step settlement process. Leg 1: Source IPSO -> Nexus. -->\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pacs.008.001.13\">\n  <FIToFICstmrCdtTrf>\n    <GrpHdr>\n      <MsgId>20260807NXPS081DN080001MBBEMYKLXXXX</MsgId>\n      <CreDtTm>2026-08-07T05:20:00</CreDtTm>\n      <NbOfTxs>1</NbOfTxs>\n      <SttlmInf>\n        <SttlmMtd>CLRG</SttlmMtd>\n        <ClrSys>\n          <Cd>RPP</Cd>\n        </ClrSys>\n      </SttlmInf>\n    </GrpHdr>\n    <CdtTrfTxInf>\n      <PmtId>\n        <InstrId>MBB-INSTR-0807-778899</InstrId>\n        <EndToEndId>E2E-20260807-778899</EndToEndId>\n        <TxId>MBB-TX-0807-778899</TxId>\n        <UETR>4e1a7c90-2b3d-4f56-8a12-9c7d5e6f0a1b</UETR>\n      </PmtId>\n      <PmtTpInf>\n        <InstrPrty>NORM</InstrPrty>\n        <SvcLvl>\n          <Cd>XBIN</Cd>\n        </SvcLvl>\n        <LclInstrm>\n          <Cd>INST</Cd>\n        </LclInstrm>\n      </PmtTpInf>\n      <IntrBkSttlmAmt Ccy=\"MYR\">1000.00</IntrBkSttlmAmt>\n      <IntrBkSttlmDt>2026-08-07</IntrBkSttlmDt>\n      <AddtlDtTm>\n        <AccptncDtTm>2026-08-07T05:19:57</AccptncDtTm>\n      </AddtlDtTm>\n      <InstdAmt Ccy=\"MYR\">1000.00</InstdAmt>\n      <AgrdRate>\n        <UnitCcy>MYR</UnitCcy>\n        <QtdCcy>SGD</QtdCcy>\n        <PreAgrdXchgRate>0.30300000</PreAgrdXchgRate>\n        <QtnDtTm>2026-08-07T05:19:50</QtnDtTm>\n        <QtId>7c2e4b81-9d6a-4c3f-8b21-5a0f9e8d7c6b</QtId>\n        <FXAgt>\n          <FinInstnId>\n            <BICFI>CIBBMYKLXXX</BICFI>\n          </FinInstnId>\n        </FXAgt>\n      </AgrdRate>\n      <ChrgBr>DEBT</ChrgBr>\n      <ChrgsInf>\n        <Amt Ccy=\"MYR\">2.00</Amt>\n        <Agt>\n          <FinInstnId>\n            <BICFI>MBBEMYKLXXX</BICFI>\n          </FinInstnId>\n        </Agt>\n      </ChrgsInf>\n      <ChrgsInf>\n        <Amt Ccy=\"SGD\">2.02</Amt>\n        <Agt>\n          <FinInstnId>\n            <ClrSysMmbId>\n              <ClrSysId>\n                <Cd>SGIBG</Cd>\n              </ClrSysId>\n              <MmbId>7339</MmbId>\n            </ClrSysMmbId>\n          </FinInstnId>\n        </Agt>\n      </ChrgsInf>\n      <InstgAgt>\n        <FinInstnId>\n          <BICFI>MBBEMYKLXXX</BICFI>\n        </FinInstnId>\n      </InstgAgt>\n      <InstdAgt>\n        <FinInstnId>\n          <BICFI>BNMAMYKLXXX</BICFI>\n        </FinInstnId>\n      </InstdAgt>\n      <IntrmyAgt1>\n        <FinInstnId>\n          <BICFI>BNMAMYKLXXX</BICFI>\n        </FinInstnId>\n      </IntrmyAgt1>\n      <IntrmyAgt1Acct>\n        <Id>\n          <Othr>\n            <Id>MYR0000700123</Id>\n          </Othr>\n        </Id>\n      </IntrmyAgt1Acct>\n      <IntrmyAgt2>\n        <FinInstnId>\n          <BICFI>MASGSGSGXXX</BICFI>\n        </FinInstnId>\n      </IntrmyAgt2>\n      <IntrmyAgt2Acct>\n        <Id>\n          <Othr>\n            <Id>SGD0000800987</Id>\n          </Othr>\n        </Id>\n      </IntrmyAgt2Acct>\n      <Dbtr>\n        <Nm>Ahmad bin Abdullah</Nm>\n        <PstlAdr>\n          <StrtNm>Jalan Ampang</StrtNm>\n          <BldgNb>8</BldgNb>\n          <PstCd>50450</PstCd>\n          <TwnNm>Kuala Lumpur</TwnNm>\n          <Ctry>MY</Ctry>\n        </PstlAdr>\n        <Id>\n          <PrvtId>\n            <Othr>\n              <Id>MY-CUST-0099887766</Id>\n              <SchmeNm>\n                <Cd>CUST</Cd>\n              </SchmeNm>\n            </Othr>\n          </PrvtId>\n        </Id>\n        <CtryOfRes>MY</CtryOfRes>\n      </Dbtr>\n      <DbtrAcct>\n        <Id>\n          <Othr>\n            <Id>1234567890123</Id>\n          </Othr>\n        </Id>\n      </DbtrAcct>\n      <DbtrAgt>\n        <FinInstnId>\n          <BICFI>MBBEMYKLXXX</BICFI>\n        </FinInstnId>\n      </DbtrAgt>\n      <CdtrAgt>\n        <FinInstnId>\n          <ClrSysMmbId>\n            <ClrSysId>\n              <Cd>SGIBG</Cd>\n            </ClrSysId>\n            <MmbId>7339</MmbId>\n          </ClrSysMmbId>\n        </FinInstnId>\n      </CdtrAgt>\n      <Cdtr>\n        <Nm>Tan Wei Ming</Nm>\n        <PstlAdr>\n          <PstCd>049513</PstCd>\n          <TwnNm>Singapore</TwnNm>\n          <Ctry>SG</Ctry>\n        </PstlAdr>\n        <Id>\n          <PrvtId>\n            <Othr>\n              <Id>SG-CUST-5501234567</Id>\n              <SchmeNm>\n                <Cd>CUST</Cd>\n              </SchmeNm>\n            </Othr>\n          </PrvtId>\n        </Id>\n        <CtryOfRes>SG</CtryOfRes>\n      </Cdtr>\n      <CdtrAcct>\n        <Id>\n          <Othr>\n            <Id>5501234567</Id>\n          </Othr>\n        </Id>\n      </CdtrAcct>\n      <Purp>\n        <Cd>GDDS</Cd>\n      </Purp>\n      <RmtInf>\n        <Ustrd>Invoice 20260807 goods</Ustrd>\n      </RmtInf>\n    </CdtTrfTxInf>\n  </FIToFICstmrCdtTrf>\n</Document>"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Message accepted with a technical acknowledgement (HTTP 202) and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002, negative pacs.002)."
                    },
                    "400": {
                        "description": "Invalid request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_XML": {
                                        "description": "INVALID_XML",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE002",
                                            "name": "INVALID_XML",
                                            "description": "The submitted message could not be parsed as valid XML. The caller must correct the XML structure and resubmit."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "AUTH_TOKEN_MISSING",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "AUTH_TOKEN_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "MESSAGE_SIGNATURE_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "ACCESS_DENIED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not include `payment.process`, or the caller is not authorized for the target corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "INTERNAL_ERROR",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict. This request was already accepted and is still being processed. Do not retry - use a pacs.028 status request to check the outcome."
                    },
                    "413": {
                        "description": "Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration."
                    },
                    "415": {
                        "description": "Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml)."
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "payment.process"
                        ]
                    }
                ]
            }
        },
        "/v1/iso20022/pacs002": {
            "post": {
                "tags": [
                    "ISO 20022 Messages"
                ],
                "summary": "Submit an ISO 20022 pacs.002 FI to FI Payment Status Report",
                "description": "Submit an ISO 20022 pacs.002 FI to FI payment status report. Nexus validates the status report, correlates it to the original pacs.008 by OrgnlUETR, and routes it to the Source IPS for that transaction.",
                "operationId": "submitPacs002",
                "parameters": [
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "application/xml",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/xml"
                        },
                        "example": "application/xml"
                    },
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputWithBody"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "$ref": "#/components/parameters/ContentDigest"
                    }
                ],
                "requestBody": {
                    "description": "Raw ISO 20022 pacs.002.001.15 XML payload. Validated against the pacs.002.001.15 XSD.\n",
                    "content": {
                        "application/xml": {
                            "schema": {
                                "$ref": "#/components/schemas/Pacs002Document"
                            },
                            "examples": {
                                "happyPath": {
                                    "summary": "IPSO responding to previous pacs.008 request",
                                    "description": "Example pacs.002 XML for payment status report",
                                    "value": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Payment Execution NORM happy flow, 4-step settlement process. Leg 3: Destination IPSO -> Nexus. -->\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pacs.002.001.15\">\n  <FIToFIPmtStsRpt>\n    <GrpHdr>\n      <MsgId>20260807NXPS021SG020001OCBCSGSGXXXX</MsgId>\n      <CreDtTm>2026-08-07T05:20:03</CreDtTm>\n    </GrpHdr>\n    <TxInfAndSts>\n      <OrgnlGrpInf>\n        <OrgnlMsgId>20260807NXPS081NX080001NXSGCHZ1XXXX</OrgnlMsgId>\n        <OrgnlMsgNmId>pacs.008.001.13</OrgnlMsgNmId>\n        <OrgnlCreDtTm>2026-08-07T05:20:01</OrgnlCreDtTm>\n      </OrgnlGrpInf>\n      <OrgnlInstrId>MBB-INSTR-0807-778899</OrgnlInstrId>\n      <OrgnlEndToEndId>E2E-20260807-778899</OrgnlEndToEndId>\n      <OrgnlTxId>MBB-TX-0807-778899</OrgnlTxId>\n      <OrgnlUETR>4e1a7c90-2b3d-4f56-8a12-9c7d5e6f0a1b</OrgnlUETR>\n      <TxSts>ACCC</TxSts>\n      <FctvIntrBkSttlmDt>\n        <Dt>2026-08-07</Dt>\n      </FctvIntrBkSttlmDt>\n      <ClrSysRef>OCBC-FAST-20260807-0001</ClrSysRef>\n      <InstgAgt>\n        <FinInstnId>\n          <ClrSysMmbId>\n            <ClrSysId>\n              <Cd>SGIBG</Cd>\n            </ClrSysId>\n            <MmbId>7339</MmbId>\n          </ClrSysMmbId>\n        </FinInstnId>\n      </InstgAgt>\n      <InstdAgt>\n        <FinInstnId>\n          <BICFI>NXSGCHZ1XXX</BICFI>\n        </FinInstnId>\n      </InstdAgt>\n    </TxInfAndSts>\n  </FIToFIPmtStsRpt>\n</Document>"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Message accepted with a technical acknowledgement (HTTP 202) and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002)."
                    },
                    "400": {
                        "description": "Invalid request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_XML": {
                                        "description": "INVALID_XML",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE002",
                                            "name": "INVALID_XML",
                                            "description": "The submitted message could not be parsed as valid XML. The caller must correct the XML structure and resubmit."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "AUTH_TOKEN_MISSING",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "AUTH_TOKEN_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "MESSAGE_SIGNATURE_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "ACCESS_DENIED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not include `payment.process`, or the caller is not authorized for the target corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "INTERNAL_ERROR",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict. This request was already accepted and is still being processed. Do not retry - use a pacs.028 status request to check the outcome."
                    },
                    "413": {
                        "description": "Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration."
                    },
                    "415": {
                        "description": "Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml)."
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "payment.process"
                        ]
                    }
                ]
            }
        },
        "/v1/iso20022/camt029": {
            "post": {
                "tags": [
                    "ISO 20022 Messages"
                ],
                "summary": "Submit an ISO 20022 camt.029 Resolution of Investigation",
                "description": "Submit an ISO 20022 camt.029 resolution of investigation response. Nexus validates and correlates the resolution against the outstanding camt.056 cancellation in its payment records by OrgnlUETR. Validation or correlation failures are surfaced via the Nexus Operations Service Desk.",
                "operationId": "submitCamt029",
                "parameters": [
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "application/xml",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/xml"
                        },
                        "example": "application/xml"
                    },
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputWithBody"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "$ref": "#/components/parameters/ContentDigest"
                    }
                ],
                "requestBody": {
                    "description": "Raw ISO 20022 camt.029.001.13 XML payload. Validated against the camt.029.001.13 XSD.\n",
                    "content": {
                        "application/xml": {
                            "schema": {
                                "$ref": "#/components/schemas/Camt029Document"
                            },
                            "examples": {
                                "happyPath": {
                                    "summary": "IPSO responding on previously received payment cancellation request",
                                    "description": "Example camt.029 XML for resolution of investigation",
                                    "value": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Payment Cancellation happy flow, Leg C2: Destination IPSO -> Nexus. -->\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:camt.029.001.13\">\n  <RsltnOfInvstgtn>\n    <Assgnmt>\n      <Id>20260810NXCA291CX290001BCSSSGS1XXXX</Id>\n      <Assgnr>\n        <Agt>\n          <FinInstnId>\n            <BICFI>BCSSSGS1XXX</BICFI>\n          </FinInstnId>\n        </Agt>\n      </Assgnr>\n      <Assgne>\n        <Agt>\n          <FinInstnId>\n            <BICFI>NXSGCHZ1XXX</BICFI>\n          </FinInstnId>\n        </Agt>\n      </Assgne>\n      <CreDtTm>2026-08-10T05:40:12</CreDtTm>\n    </Assgnmt>\n    <Sts>\n      <Conf>CNCL</Conf>\n    </Sts>\n    <CxlDtls>\n      <TxInfAndSts>\n        <OrgnlEndToEndId>E2E-20260810-556677</OrgnlEndToEndId>\n        <OrgnlTxId>MBB-TX-0810-556677</OrgnlTxId>\n        <OrgnlUETR>a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d</OrgnlUETR>\n      </TxInfAndSts>\n    </CxlDtls>\n  </RsltnOfInvstgtn>\n</Document>"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Message accepted with a technical acknowledgement (HTTP 202) and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002)."
                    },
                    "400": {
                        "description": "Invalid request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_XML": {
                                        "description": "INVALID_XML",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE002",
                                            "name": "INVALID_XML",
                                            "description": "The submitted message could not be parsed as valid XML. The caller must correct the XML structure and resubmit."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "AUTH_TOKEN_MISSING",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "AUTH_TOKEN_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "MESSAGE_SIGNATURE_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "ACCESS_DENIED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not include `payment.process`, or the caller is not authorized for the target corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "INTERNAL_ERROR",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict. This request was already accepted and is still being processed. Do not retry - use a pacs.028 status request to check the outcome."
                    },
                    "413": {
                        "description": "Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration."
                    },
                    "415": {
                        "description": "Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml)."
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "payment.process"
                        ]
                    }
                ]
            }
        },
        "/v1/iso20022/acmt024": {
            "post": {
                "tags": [
                    "ISO 20022 Messages"
                ],
                "summary": "Submit an ISO 20022 acmt.024 Identification Verification Report",
                "description": "Submit an ISO 20022 acmt.024 identification verification report response. Nexus correlates the response to the outstanding acmt.023 from its records and routes the outcome to the Source IPS. Post-202 failures are communicated asynchronously via admi.002 to the Destination IPS.",
                "operationId": "submitAcmt024",
                "parameters": [
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "application/xml",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/xml"
                        },
                        "example": "application/xml"
                    },
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputWithBody"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "$ref": "#/components/parameters/ContentDigest"
                    }
                ],
                "requestBody": {
                    "description": "Raw ISO 20022 acmt.024.001.04 XML payload. Validated against the acmt.024.001.04 XSD.\n",
                    "content": {
                        "application/xml": {
                            "schema": {
                                "$ref": "#/components/schemas/Acmt024Document"
                            },
                            "examples": {
                                "happyPath": {
                                    "summary": "IPSO responding on previous account verification request",
                                    "description": "Example acmt.024 XML for identification verification report",
                                    "value": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Proxy Resolution happy flow, Leg P3: Destination IPSO / PDO -> Nexus. -->\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:acmt.024.001.04\">\n  <IdVrfctnRpt>\n    <Assgnmt>\n      <MsgId>20260807NXAC241PN240001BCSSSGS1XXXX</MsgId>\n      <CreDtTm>2026-08-07T05:15:32</CreDtTm>\n      <Assgnr>\n        <Agt>\n          <FinInstnId>\n            <BICFI>BCSSSGS1XXX</BICFI>\n          </FinInstnId>\n        </Agt>\n      </Assgnr>\n      <Assgne>\n        <Agt>\n          <FinInstnId>\n            <BICFI>NXSGCHZ1XXX</BICFI>\n          </FinInstnId>\n        </Agt>\n      </Assgne>\n    </Assgnmt>\n    <Rpt>\n      <OrgnlId>20260807MBBEMYKLXXXMBBEMYKLXXX00001</OrgnlId>\n      <Vrfctn>true</Vrfctn>\n      <UpdtdPtyAndAcctId>\n        <Pty>\n          <Nm>Tan Wei Ming</Nm>\n          <PstlAdr>\n            <TwnNm>Singapore</TwnNm>\n            <Ctry>SG</Ctry>\n          </PstlAdr>\n        </Pty>\n        <Acct>\n          <Id>\n            <Othr>\n              <Id>5501234567</Id>\n            </Othr>\n          </Id>\n          <Nm>Wei Ming T.</Nm>\n        </Acct>\n        <Agt>\n          <FinInstnId>\n            <ClrSysMmbId>\n              <ClrSysId>\n                <Cd>SGIBG</Cd>\n              </ClrSysId>\n              <MmbId>7339</MmbId>\n            </ClrSysMmbId>\n          </FinInstnId>\n        </Agt>\n      </UpdtdPtyAndAcctId>\n    </Rpt>\n  </IdVrfctnRpt>\n</Document>"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Message accepted with a technical acknowledgement (HTTP 202) and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002)."
                    },
                    "400": {
                        "description": "Invalid request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_XML": {
                                        "description": "INVALID_XML",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE002",
                                            "name": "INVALID_XML",
                                            "description": "The submitted message could not be parsed as valid XML. The caller must correct the XML structure and resubmit."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "AUTH_TOKEN_MISSING",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "AUTH_TOKEN_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "MESSAGE_SIGNATURE_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "ACCESS_DENIED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "INTERNAL_ERROR",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict. This request was already accepted and is still being processed. Do not retry - the outcome is delivered separately as an acmt.024."
                    },
                    "413": {
                        "description": "Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration."
                    },
                    "415": {
                        "description": "Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml)."
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "payment.process"
                        ]
                    }
                ]
            }
        },
        "/v1/iso20022/acmt023": {
            "post": {
                "tags": [
                    "ISO 20022 Messages"
                ],
                "summary": "Submit an ISO 20022 acmt.023 Identification Verification Request",
                "description": "Submit an ISO 20022 acmt.023 identification verification request. Nexus validates, transforms, and routes the message to the Destination IPS. The asynchronous acmt.024 outcome is delivered to the Source IPS.",
                "operationId": "submitAcmt023",
                "parameters": [
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "application/xml",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/xml"
                        },
                        "example": "application/xml"
                    },
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputWithBody"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "$ref": "#/components/parameters/ContentDigest"
                    }
                ],
                "requestBody": {
                    "description": "Raw ISO 20022 acmt.023.001.04 XML payload. Validated against the acmt.023.001.04 XSD.\n",
                    "content": {
                        "application/xml": {
                            "schema": {
                                "$ref": "#/components/schemas/Acmt023Document"
                            },
                            "examples": {
                                "happyPath": {
                                    "summary": "SG to MY Account verification request",
                                    "description": "acmt.023 Account Verification request XML",
                                    "value": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Proxy Resolution happy flow, Leg P1: Source IPSO -> Nexus. -->\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:acmt.023.001.04\">\n  <IdVrfctnReq>\n    <Assgnmt>\n      <MsgId>20260807NXAC231DN230001MBBEMYKLXXXX</MsgId>\n      <CreDtTm>2026-08-07T05:15:30</CreDtTm>\n      <Cretr>\n        <Pty>\n          <Nm>Ahmad bin Abdullah</Nm>\n          <PstlAdr>\n            <StrtNm>Jalan Ampang</StrtNm>\n            <BldgNb>8</BldgNb>\n            <UnitNb>12-03</UnitNb>\n            <PstCd>50450</PstCd>\n            <TwnNm>Kuala Lumpur</TwnNm>\n            <Ctry>MY</Ctry>\n          </PstlAdr>\n          <Id>\n            <PrvtId>\n              <Othr>\n                <Id>MY-CUST-0099887766</Id>\n                <SchmeNm>\n                  <Cd>CUST</Cd>\n                </SchmeNm>\n              </Othr>\n            </PrvtId>\n          </Id>\n          <CtryOfRes>MY</CtryOfRes>\n        </Pty>\n      </Cretr>\n      <Assgnr>\n        <Agt>\n          <FinInstnId>\n            <BICFI>MBBEMYKLXXX</BICFI>\n          </FinInstnId>\n        </Agt>\n      </Assgnr>\n      <Assgne>\n        <Agt>\n          <FinInstnId>\n            <BICFI>NXSGCHZ1XXX</BICFI>\n          </FinInstnId>\n        </Agt>\n      </Assgne>\n    </Assgnmt>\n    <Vrfctn>\n      <Id>20260807MBBEMYKLXXXMBBEMYKLXXX00001</Id>\n      <PtyAndAcctId>\n        <Pty>\n          <Nm>Tan Wei Ming</Nm>\n        </Pty>\n        <Acct>\n          <Prxy>\n            <Tp>\n              <Cd>MBNO</Cd>\n            </Tp>\n            <Id>+6591234567</Id>\n          </Prxy>\n        </Acct>\n        <Agt>\n          <FinInstnId>\n            <BICFI>DBSSSGSGXXX</BICFI>\n            <PstlAdr>\n              <Ctry>SG</Ctry>\n            </PstlAdr>\n          </FinInstnId>\n        </Agt>\n      </PtyAndAcctId>\n    </Vrfctn>\n  </IdVrfctnReq>\n</Document>"
                                },
                                "technicalRejection": {
                                    "summary": "Source IPSO acmt.023 that fails Nexus validation",
                                    "description": "Example acmt.023 XML that is technically rejected (failure reported asynchronously via admi.002)",
                                    "value": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Proxy Resolution happy flow, Leg P1: Source IPSO -> Nexus. -->\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:acmt.023.001.04\">\n  <IdVrfctnReq>\n    <Assgnmt>\n      <MsgId>20260807NXAC231DN230002MBBEMYKLXXXX</MsgId>\n      <CreDtTm>2026-08-07T05:16:30</CreDtTm>\n      <Cretr>\n        <Pty>\n          <Nm>Ahmad bin Abdullah</Nm>\n          <PstlAdr>\n            <StrtNm>Jalan Ampang</StrtNm>\n            <BldgNb>8</BldgNb>\n            <UnitNb>12-03</UnitNb>\n            <PstCd>50450</PstCd>\n            <TwnNm>Kuala Lumpur</TwnNm>\n            <Ctry>MY</Ctry>\n          </PstlAdr>\n          <Id>\n            <PrvtId>\n              <Othr>\n                <Id>MY-CUST-0099887766</Id>\n                <SchmeNm>\n                  <Cd>CUST</Cd>\n                </SchmeNm>\n              </Othr>\n            </PrvtId>\n          </Id>\n          <CtryOfRes>MY</CtryOfRes>\n        </Pty>\n      </Cretr>\n      <Assgnr>\n        <Agt>\n          <FinInstnId>\n            <BICFI>MBBEMYKLXXX</BICFI>\n          </FinInstnId>\n        </Agt>\n      </Assgnr>\n      <Assgne>\n        <Agt>\n          <FinInstnId>\n            <BICFI>NXSGCHZ1XXX</BICFI>\n          </FinInstnId>\n        </Agt>\n      </Assgne>\n    </Assgnmt>\n    <Vrfctn>\n      <Id>20260807MBBEMYKLXXXMBBEMYKLXXX00001</Id>\n      <PtyAndAcctId>\n        <Pty>\n          <Nm>Tan Wei Ming</Nm>\n        </Pty>\n        <Acct>\n          <Prxy>\n            <Tp>\n              <Prtry>Phone</Prtry>\n            </Tp>\n            <Id>+6591234567</Id>\n          </Prxy>\n        </Acct>\n        <Agt>\n          <FinInstnId>\n            <BICFI>DBSSSGSGXXX</BICFI>\n            <PstlAdr>\n              <Ctry>SG</Ctry>\n            </PstlAdr>\n          </FinInstnId>\n        </Agt>\n      </PtyAndAcctId>\n    </Vrfctn>\n  </IdVrfctnReq>\n</Document>"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Message accepted with a technical acknowledgement (HTTP 202) and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002, negative acmt.024)."
                    },
                    "400": {
                        "description": "Invalid request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_XML": {
                                        "description": "INVALID_XML",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE002",
                                            "name": "INVALID_XML",
                                            "description": "The submitted message could not be parsed as valid XML. The caller must correct the XML structure and resubmit."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "AUTH_TOKEN_MISSING",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "AUTH_TOKEN_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "MESSAGE_SIGNATURE_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "ACCESS_DENIED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not grant access to this endpoint or corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "INTERNAL_ERROR",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict. This request was already accepted and is still being processed. Do not retry - the outcome is delivered separately as an acmt.024."
                    },
                    "413": {
                        "description": "Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration."
                    },
                    "415": {
                        "description": "Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml)."
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "payment.process"
                        ]
                    }
                ]
            }
        },
        "/v1/iso20022/pacs028": {
            "post": {
                "tags": [
                    "ISO 20022 Messages"
                ],
                "summary": "Submit an ISO 20022 pacs.028 FI to FI Payment Status Request",
                "description": "Submit an ISO 20022 pacs.028 FI to FI payment status request. Nexus validates the request and resolves the referenced UETR against its payment records. The asynchronous outcome is delivered to the Source IPS as a pacs.002 or an admi.002 message reject for technical rejections.",
                "operationId": "submitPacs028",
                "parameters": [
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "application/xml",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/xml"
                        },
                        "example": "application/xml"
                    },
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputWithBody"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "$ref": "#/components/parameters/ContentDigest"
                    }
                ],
                "requestBody": {
                    "description": "Raw ISO 20022 pacs.028.001.06 XML payload. Validated against the pacs.028.001.06 XSD.\n",
                    "content": {
                        "application/xml": {
                            "schema": {
                                "$ref": "#/components/schemas/Pacs028Document"
                            },
                            "examples": {
                                "happyPath": {
                                    "summary": "IPSO initiated payment status on a previously submitted pacs.008",
                                    "description": "Example pacs.028 XML for payment status requested",
                                    "value": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Payment Status Request happy flow, Leg Q1: Source IPSO -> Nexus. -->\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:pacs.028.001.06\">\n  <FIToFIPmtStsReq>\n    <GrpHdr>\n      <MsgId>20260807NXPS281DN280001MBBEMYKLXXXX</MsgId>\n      <CreDtTm>2026-08-07T05:21:00</CreDtTm>\n    </GrpHdr>\n    <TxInf>\n      <StsReqId>MBB-STSREQ-0807-0001</StsReqId>\n      <OrgnlInstrId>MBB-INSTR-0807-778899</OrgnlInstrId>\n      <OrgnlEndToEndId>E2E-20260807-778899</OrgnlEndToEndId>\n      <OrgnlTxId>MBB-TX-0807-778899</OrgnlTxId>\n      <OrgnlUETR>4e1a7c90-2b3d-4f56-8a12-9c7d5e6f0a1b</OrgnlUETR>\n      <InstgAgt>\n        <FinInstnId>\n          <BICFI>MBBEMYKLXXX</BICFI>\n        </FinInstnId>\n      </InstgAgt>\n    </TxInf>\n  </FIToFIPmtStsReq>\n</Document>"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Message accepted with a technical acknowledgement (HTTP 202) and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002, negative pacs.002)."
                    },
                    "400": {
                        "description": "Invalid request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_XML": {
                                        "description": "INVALID_XML",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE002",
                                            "name": "INVALID_XML",
                                            "description": "The submitted message could not be parsed as valid XML. The caller must correct the XML structure and resubmit."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "AUTH_TOKEN_MISSING",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "AUTH_TOKEN_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "MESSAGE_SIGNATURE_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "ACCESS_DENIED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not include `payment.process`, or the caller is not authorized for the target corridor."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "INTERNAL_ERROR",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict. This request was already accepted and is still being processed. Do not retry - use a pacs.028 status request to check the outcome."
                    },
                    "413": {
                        "description": "Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration."
                    },
                    "415": {
                        "description": "Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml)."
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "payment.process"
                        ]
                    }
                ]
            }
        },
        "/v1/iso20022/admi004": {
            "post": {
                "tags": [
                    "ISO 20022 Messages"
                ],
                "summary": "Submit an ISO 20022 admi.004 System Event (downtime) Notification",
                "description": "Submit an ISO 20022 admi.004 System Event Notification announcing a Direct Participant IPS's own downtime (EvtCd one of PIDN, SIDN, UIDN, EIDN). Nexus validates the message schema synchronously and returns 202 Accepted, then processes the body asynchronously. Any post-202 rejection is delivered out-of-band as an admi.002 to the IPS's admi.002 endpoint registered with Nexus. Transport security requires mutual TLS: Nexus validates the caller's client certificate against the IPS certificate registered with Nexus; the IPS identity is taken from that certificate, so no response endpoint is supplied on the request.",
                "operationId": "submitAdmi004",
                "parameters": [
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "application/xml",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/xml"
                        },
                        "example": "application/xml"
                    },
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputWithBody"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "$ref": "#/components/parameters/ContentDigest"
                    }
                ],
                "requestBody": {
                    "description": "Raw ISO 20022 admi.004.001.02 XML payload. Validated against the admi.004.001.02 XSD.\n",
                    "content": {
                        "application/xml": {
                            "schema": {
                                "$ref": "#/components/schemas/Admi004Document"
                            },
                            "examples": {
                                "happyPath": {
                                    "summary": "Direct Participant IPS scheduled-downtime pre-notification (PIDN)",
                                    "description": "Example admi.004 XML for a planned IPS downtime notification",
                                    "value": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- Planned downtime notification (admi.004), Leg I1: Destination IPSO -> Nexus. -->\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:admi.004.001.02\">\n  <SysEvtNtfctn>\n    <EvtInf>\n      <EvtCd>PIDN</EvtCd>\n      <EvtParam>EXPECTED_DURATION=PT2H</EvtParam>\n      <EvtDesc>Planned scheduled maintenance of PayNow/FAST clearing</EvtDesc>\n      <EvtTm>2026-08-15T18:00:00</EvtTm>\n    </EvtInf>\n  </SysEvtNtfctn>\n</Document>"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Message accepted with a technical acknowledgement (HTTP 202) and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002)."
                    },
                    "400": {
                        "description": "Invalid request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_REQUEST": {
                                        "description": "INVALID_REQUEST",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE001",
                                            "name": "INVALID_REQUEST",
                                            "description": "The admi.004 message does not conform to the ISO 20022 admi.004.001.02 XSD. The caller must correct the message and resubmit; no admi.002 is generated for schema failures."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "AUTH_TOKEN_MISSING",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "AUTH_TOKEN_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the IPS certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "MESSAGE_SIGNATURE_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "ACCESS_DENIED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scope does not include admin.downtime.notify, or the caller is not a Direct Participant IPS."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "INTERNAL_ERROR",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred during synchronous validation. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "413": {
                        "description": "Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration."
                    },
                    "415": {
                        "description": "Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml)."
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "admin.downtime.notify"
                        ]
                    }
                ]
            }
        },
        "/v1/iso20022/admi002": {
            "post": {
                "tags": [
                    "ISO 20022 Messages"
                ],
                "summary": "Submit an ISO 20022 admi.002 Message Reject",
                "description": "Submit an ISO 20022 admi.002 Message Reject to technically reject a message Nexus previously delivered to the IPSO (post-202) that failed the IPSO's Nexus Usage Guideline, correlation, or internal-processing validations. Correlation back to the rejected message is via RltdRef/Ref. Nexus validates the message schema synchronously and returns 202 Accepted, then processes the body asynchronously. Transport security requires mutual TLS and a certificate-bound OAuth 2.0 bearer token; the message additionally carries an RFC 9421 message signature in the Signature-Input, Signature and Content-Digest headers.",
                "operationId": "submitAdmi002",
                "parameters": [
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "application/xml",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/xml"
                        },
                        "example": "application/xml"
                    },
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputWithBody"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "$ref": "#/components/parameters/ContentDigest"
                    }
                ],
                "requestBody": {
                    "description": "Raw ISO 20022 admi.002.001.01 XML payload. Validated against the admi.002.001.01 XSD.\n",
                    "content": {
                        "application/xml": {
                            "schema": {
                                "$ref": "#/components/schemas/Admi002Document"
                            },
                            "examples": {
                                "happyPath": {
                                    "summary": "pacs.008 technical rejection (FF02), IPSO -> Nexus",
                                    "description": "Example admi.002.001.01 XML submitted by the IPSO to reject a message Nexus delivered.",
                                    "value": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- pacs.008 technical rejection (admi.002): IPSO -> Nexus. -->\n<Document xmlns=\"urn:iso:std:iso:20022:tech:xsd:admi.002.001.01\">\n  <admi.002.001.01>\n    <RltdRef>\n      <Ref>20260807NXPS081DN080002DBSSSGSGXXXX</Ref>\n    </RltdRef>\n    <Rsn>\n      <RjctgPtyRsn>FF02</RjctgPtyRsn>\n      <RjctnDtTm>2026-08-07T05:16:31</RjctnDtTm>\n      <RsnDesc>Mandatory element missing: /Document/FIToFICstmrCdtTrf/CdtTrfTxInf/PmtId/UETR — UETR is required per Nexus Usage Guidelines</RsnDesc>\n    </Rsn>\n  </admi.002.001.01>\n</Document>"
                                }
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "202": {
                        "description": "Message accepted with a technical acknowledgement (HTTP 202) and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002)."
                    },
                    "400": {
                        "description": "Invalid request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_XML": {
                                        "description": "INVALID_XML",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE002",
                                            "name": "INVALID_XML",
                                            "description": "The submitted message could not be parsed as valid XML. The caller must correct the XML structure and resubmit."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "AUTH_TOKEN_MISSING",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "AUTH_TOKEN_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the participant certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "MESSAGE_SIGNATURE_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "ACCESS_DENIED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scopes do not include `payment.process`."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "INTERNAL_ERROR",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred. The caller may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "409": {
                        "description": "Conflict. This request was already accepted and is still being processed. Do not retry - the original submission is treated as accepted."
                    },
                    "413": {
                        "description": "Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration."
                    },
                    "415": {
                        "description": "Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml)."
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate."
                    },
                    "503": {
                        "description": "Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff."
                    },
                    "504": {
                        "description": "Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "payment.process"
                        ]
                    }
                ]
            }
        },
        "/v1/connectivity/heartbeat": {
            "get": {
                "tags": [
                    "Connectivity"
                ],
                "summary": "Heartbeat - confirm that Nexus is reachable",
                "description": "Lightweight liveness check that the IPSO calls to confirm that Nexus is reachable over the established VPN tunnel and able to answer HTTP requests. A successful call proves the full connection path to Nexus: private DNS resolution of the hostname, the BGP-learned route through the IPsec tunnel, TLS 1.3 with mutual TLS, validation of the certificate-bound access token, and that the Nexus service is up. The request has no body; it is signed per RFC 9421 over its method, authority, path and query, and the 200 response is signed by the responder, so a successful call also proves that both parties' signing keys and clocks are aligned. The mirror endpoint is hosted by the IPSO, so either party can verify connectivity to the other. Suitable for continuous monitoring.\n\n---\n\n#### Response validation rules\n\n**200 OK** — the body MUST conform to the response schema below. Response objects are open: additional properties may be introduced in later minor versions, and clients MUST ignore properties they do not recognise.\n\n| Field | Type | Presence | Nullable | Constraints |\n|---|---|---|---|---|\n| `status` | string | Required | N | one of `UP` |\n| `timestamp` | string | Required | N | format `date-time` |\n\n**Cross-field rules**\n\n- `status` is always `UP` on HTTP 200; an unavailable service is reported by a non-2xx status or no response.\n- `timestamp` is the responder's current time in UTC (`Z` suffix, no offset).\n\n**Response signature** — every 200 response carries `Signature-Input` and `Signature` and `Content-Digest` per the Nexus HTTP Message Signature Profile v1, signed by the responding server. The client MUST verify the response signature before using the response and MUST discard a response that fails verification.\n\n**Error responses (4xx/5xx with a body)** — the body MUST conform to `ErrorApiResponse`: `statusCode` = `RJCT`; `reasonCode` matches `^[A-Z]{2}[0-9]{3}$`; `name` is UPPER_SNAKE_CASE (≤ 50); `description` ≤ 500 characters and MUST NOT contain PII. `reasonCode` values for this operation: `AE001`, `AE002`, `AE003`, `AE005`, `AE006`, `AE004`, `TE099`. Gateway errors (405, 429, 502, 503, 504) carry no body.",
                "operationId": "getHeartbeat",
                "parameters": [
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputBodyless"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Nexus is reachable and the service is up.",
                        "headers": {
                            "Cache-Control": {
                                "description": "Connectivity responses must not be cached.",
                                "schema": {
                                    "type": "string"
                                },
                                "example": "no-store"
                            },
                            "Signature-Input": {
                                "$ref": "#/components/headers/ResponseSignatureInput"
                            },
                            "Signature": {
                                "$ref": "#/components/headers/ResponseSignature"
                            },
                            "Content-Digest": {
                                "$ref": "#/components/headers/ResponseContentDigest"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HeartbeatResponse"
                                },
                                "examples": {
                                    "up": {
                                        "summary": "Service up",
                                        "value": {
                                            "status": "UP",
                                            "timestamp": "2026-08-10T05:20:01Z"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "AUTH_TOKEN_MISSING",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "AUTH_TOKEN_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the IPS certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "MESSAGE_SIGNATURE_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "ACCESS_DENIED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scope does not include connectivity.check."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "INTERNAL_ERROR",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred at Nexus. The connectivity check has failed; the IPSO may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The Nexus gateway received an invalid response from its upstream service. The connectivity check has failed."
                    },
                    "503": {
                        "description": "Service Unavailable. The Nexus service is not available to process requests. The connectivity check has failed; this is how an unavailable service is reported (no DOWN status is returned with HTTP 200)."
                    },
                    "504": {
                        "description": "Gateway Timeout. The Nexus upstream service did not respond within the gateway's timeout window. The connectivity check has failed."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "connectivity.check"
                        ]
                    }
                ]
            }
        },
        "/v1/connectivity/health": {
            "post": {
                "tags": [
                    "Connectivity"
                ],
                "summary": "Health check - confirm end-to-end request processing by Nexus",
                "description": "End-to-end connectivity check that the IPSO calls to confirm that Nexus can receive, authenticate, verify, validate and process a request. Unlike the heartbeat, the health check carries a request body and is subject to every control that applies to the ISO 20022 message exchange: mutual TLS, the certificate-bound OAuth 2.0 access token, and the RFC 9421 message signature (Signature-Input, Signature, Content-Digest), which Nexus verifies before processing against the IPSO's registered signing public key. These controls are mandatory, not optional, so a successful health check proves that the production security configuration is working. Nexus validates the message, echoes it in the response, and returns its current UTC time so that the IPSO can confirm clock alignment within the signature tolerance window. The health check is synchronous (HTTP 200), has no business effect and is not persisted as a payment message. The mirror endpoint is hosted by the IPSO.",
                "operationId": "checkHealth",
                "parameters": [
                    {
                        "name": "Content-Type",
                        "in": "header",
                        "description": "application/json",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "example": "application/json"
                        },
                        "example": "application/json"
                    },
                    {
                        "name": "Accept",
                        "in": "header",
                        "description": "*/*",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "*/*"
                        },
                        "example": "*/*"
                    },
                    {
                        "$ref": "#/components/parameters/SignatureInputWithBody"
                    },
                    {
                        "$ref": "#/components/parameters/Signature"
                    },
                    {
                        "$ref": "#/components/parameters/ContentDigest"
                    }
                ],
                "requestBody": {
                    "description": "Caller-supplied message used to confirm that the request can be received, validated and processed.",
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/HealthCheckRequest"
                            },
                            "examples": {
                                "healthCheck": {
                                    "summary": "Health check",
                                    "value": {
                                        "message": "This is a health check"
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "The request was received, authenticated, signature-verified, validated and processed by Nexus.",
                        "headers": {
                            "Cache-Control": {
                                "description": "Connectivity responses must not be cached.",
                                "schema": {
                                    "type": "string"
                                },
                                "example": "no-store"
                            }
                        },
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/HealthCheckResponse"
                                },
                                "examples": {
                                    "success": {
                                        "summary": "Health check succeeded",
                                        "value": {
                                            "status": "SUCCESS",
                                            "message": "This is a health check",
                                            "timestamp": "2026-08-10T05:20:01Z"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INVALID_REQUEST": {
                                        "description": "INVALID_REQUEST",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE001",
                                            "name": "INVALID_REQUEST",
                                            "description": "The request body is missing, is not valid JSON, or the message does not match the required pattern (1-30 alphanumeric characters and spaces)."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Authentication failure",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "AUTH_TOKEN_MISSING": {
                                        "description": "AUTH_TOKEN_MISSING",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE001",
                                            "name": "AUTH_TOKEN_MISSING",
                                            "description": "The Authorization header is absent or does not contain a Bearer token."
                                        }
                                    },
                                    "AUTH_TOKEN_INVALID": {
                                        "description": "AUTH_TOKEN_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE002",
                                            "name": "AUTH_TOKEN_INVALID",
                                            "description": "A Bearer token was provided but could not be verified (malformed, expired, or signature-invalid)."
                                        }
                                    },
                                    "MTLS_AUTH_FAILED": {
                                        "description": "MTLS_AUTH_FAILED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE003",
                                            "name": "MTLS_AUTH_FAILED",
                                            "description": "The client certificate failed mTLS validation, did not match the IPS certificate registered with Nexus, or was revoked."
                                        }
                                    },
                                    "MESSAGE_SIGNATURE_INVALID": {
                                        "description": "MESSAGE_SIGNATURE_INVALID",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE005",
                                            "name": "MESSAGE_SIGNATURE_INVALID",
                                            "description": "The RFC 9421 message signature (Signature-Input, Signature) was missing or malformed, did not cover the components required by the Nexus profile, or did not verify (rsa-pss-sha512) against the sender's registered signing public key; the keyid was missing, unknown, expired or revoked; created/expires fell outside the tolerance window; or the Content-Digest did not match the request body."
                                        }
                                    },
                                    "TOKEN_BINDING_MISMATCH": {
                                        "description": "TOKEN_BINDING_MISMATCH",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE006",
                                            "name": "TOKEN_BINDING_MISMATCH",
                                            "description": "The client certificate presented on the connection does not match the token's cnf.x5t#S256 confirmation claim (RFC 8705 certificate-bound token). The mismatch is treated as a security event and alerted."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "Access denied",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "ACCESS_DENIED": {
                                        "description": "ACCESS_DENIED",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "AE004",
                                            "name": "ACCESS_DENIED",
                                            "description": "The token is valid but its OAuth2 scope does not include connectivity.check."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ErrorApiResponse"
                                },
                                "examples": {
                                    "INTERNAL_ERROR": {
                                        "description": "INTERNAL_ERROR",
                                        "value": {
                                            "statusCode": "RJCT",
                                            "reasonCode": "TE099",
                                            "name": "INTERNAL_ERROR",
                                            "description": "An unhandled exception or infrastructure failure occurred at Nexus. The connectivity check has failed; the IPSO may retry with exponential backoff."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "405": {
                        "description": "Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.",
                        "headers": {
                            "Allow": {
                                "description": "Permitted HTTP methods for this endpoint",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "413": {
                        "description": "Payload Too Large. The request body exceeds the Nexus gateway's maximum allowed size."
                    },
                    "415": {
                        "description": "Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/json)."
                    },
                    "429": {
                        "description": "Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.",
                        "headers": {
                            "Retry-After": {
                                "description": "Duration after which the caller may retry",
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Bad Gateway. The Nexus gateway received an invalid response from its upstream service. The connectivity check has failed."
                    },
                    "503": {
                        "description": "Service Unavailable. The Nexus service is not available to process requests. The connectivity check has failed; this is how an unavailable service is reported (no DOWN status is returned with HTTP 200)."
                    },
                    "504": {
                        "description": "Gateway Timeout. The Nexus upstream service did not respond within the gateway's timeout window. The connectivity check has failed."
                    }
                },
                "security": [
                    {
                        "mutualTLS": [],
                        "nexusOAuth": [
                            "connectivity.check"
                        ]
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "AmountDto": {
                "type": "object",
                "description": "Monetary amount with currency code.",
                "properties": {
                    "amount": {
                        "type": "number",
                        "description": "Monetary amount. When copied into an ISO 20022 XML amount the value must have at most 5 fractional digits and at most 18 total digits; serialise as a plain decimal, never in exponent form.",
                        "example": 100.0,
                        "minimum": 0
                    },
                    "currency": {
                        "type": "string",
                        "description": "ISO-4217 currency code.",
                        "example": "SGD",
                        "maxLength": 3,
                        "minLength": 3,
                        "pattern": "^[A-Z]{3}$"
                    }
                },
                "required": [
                    "amount",
                    "currency"
                ]
            },
            "ClearingSystemMemberId": {
                "type": "object",
                "description": "Clearing system member identifier.",
                "properties": {
                    "clearingSystemId": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Clearing system identifier. `null` if not applicable.",
                        "example": null
                    },
                    "memberId": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Member identifier within the clearing system. `null` if not applicable.",
                        "example": null,
                        "maxLength": 35
                    }
                }
            },
            "CreditorAgent": {
                "type": "object",
                "description": "Creditor agent amounts for a quote.",
                "properties": {
                    "interbankSettlementAmount": {
                        "$ref": "#/components/schemas/InterbankAmount",
                        "description": "Interbank settlement amount."
                    },
                    "chargesAmount": {
                        "$ref": "#/components/schemas/AmountDto",
                        "description": "Destination PSP Deducted Fee."
                    },
                    "creditorAccountAmount": {
                        "type": "number",
                        "description": "Net amount credited to the creditor account. When copied into an ISO 20022 XML amount the value must have at most 5 fractional digits and at most 18 total digits; serialise as a plain decimal, never in exponent form.",
                        "example": 24900,
                        "minimum": 0
                    }
                },
                "required": [
                    "chargesAmount",
                    "creditorAccountAmount",
                    "interbankSettlementAmount"
                ]
            },
            "DebtorAgent": {
                "type": "object",
                "description": "Debtor agent amounts for a quote.",
                "properties": {
                    "interbankSettlementAmount": {
                        "$ref": "#/components/schemas/InterbankAmount",
                        "description": "Interbank settlement amount."
                    }
                },
                "required": [
                    "interbankSettlementAmount"
                ]
            },
            "InterbankAmount": {
                "type": "object",
                "description": "Interbank settlement amount with cap indicator.",
                "properties": {
                    "currency": {
                        "type": "string",
                        "description": "The ISO 4217 alpha-3 currency code",
                        "example": "SGD",
                        "maxLength": 3,
                        "minLength": 3,
                        "pattern": "^[A-Z]{3}$"
                    },
                    "amount": {
                        "type": "number",
                        "description": "Amount value. When copied into an ISO 20022 XML amount the value must have at most 5 fractional digits and at most 18 total digits; serialise as a plain decimal, never in exponent form.",
                        "example": 1000,
                        "minimum": 0
                    },
                    "cappedToMaxAmount": {
                        "type": "boolean",
                        "description": "Whether the amount was capped by IPS limits.",
                        "example": false
                    }
                },
                "required": [
                    "amount",
                    "cappedToMaxAmount",
                    "currency"
                ]
            },
            "IntermediaryAgent": {
                "type": "object",
                "description": "Intermediary agent details.",
                "properties": {
                    "finInstId": {
                        "$ref": "#/components/schemas/IntermediaryFinInstId",
                        "description": "Financial institution identifier."
                    }
                },
                "required": [
                    "finInstId"
                ]
            },
            "IntermediaryAgentAccount": {
                "type": "object",
                "description": "Intermediary agent account identifier.",
                "properties": {
                    "id": {
                        "type": "string",
                        "description": "Account identifier.",
                        "example": "2345678901",
                        "minLength": 1,
                        "maxLength": 34
                    }
                },
                "required": [
                    "id"
                ]
            },
            "IntermediaryFinInstId": {
                "type": "object",
                "description": "Financial institution identifiers for an intermediary agent.",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Financial institution name.",
                        "example": "DBS Bank Ltd",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "BICFI": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "BICFI identifier.",
                        "example": "DBSSSGSG",
                        "maxLength": 11,
                        "pattern": "^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$"
                    },
                    "LEI": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "LEI identifier.",
                        "example": "ATUEL7OJR5057F2PV266",
                        "maxLength": 20,
                        "pattern": "^[0-9A-Z]{18}[0-9]{2}$"
                    },
                    "clearingSystemMemberId": {
                        "$ref": "#/components/schemas/ClearingSystemMemberId",
                        "description": "Clearing system member identifier."
                    },
                    "other": {
                        "$ref": "#/components/schemas/OtherId",
                        "description": "Other identifier."
                    }
                },
                "required": [
                    "name"
                ]
            },
            "OtherId": {
                "type": "object",
                "description": "Generic identifier wrapper.",
                "properties": {
                    "id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Alternative proprietary identifier. `null` if not applicable.",
                        "example": null,
                        "maxLength": 35
                    }
                }
            },
            "QuoteDetail": {
                "type": "object",
                "description": "Individual quote detail.",
                "properties": {
                    "quoteId": {
                        "type": "string",
                        "description": "Quote identifier. Lowercase UUID v4 only; must be copied unchanged into the XML QtId.",
                        "example": "855cd802-8c7b-4fd2-8ce7-a456c1e12509",
                        "format": "uuid",
                        "minLength": 36,
                        "maxLength": 36,
                        "pattern": "^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}$"
                    },
                    "issuedDateTime": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Quote issue timestamp (ISO-8601).",
                        "example": "2024-10-22T12:00:00Z",
                        "maxLength": 24,
                        "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                    },
                    "expiryDateTime": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Quote expiry timestamp (ISO-8601).",
                        "example": "2024-10-22T12:10:00Z",
                        "maxLength": 24,
                        "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$"
                    },
                    "fxpFinInstIdType": {
                        "type": "string",
                        "description": "FXP financial institution id type.",
                        "example": "BICFI",
                        "enum": [
                            "BICFI",
                            "LEI",
                            "otherId"
                        ],
                        "maxLength": 10
                    },
                    "fxpFinInstId": {
                        "type": "string",
                        "description": "FXP financial institution id.",
                        "example": "FXSGAAAA",
                        "maxLength": 35,
                        "minLength": 1
                    },
                    "exchangeRate": {
                        "type": "number",
                        "description": "FX rate applied to the quote. Effective rate after all improvements (Source Currency to Destination Currency); greater than zero, 8 decimal places. When copied into an ISO 20022 XML exchange rate it must be serialised with exactly 8 fractional digits and at most 11 total digits (for example 25 becomes 25.00000000).",
                        "example": 25,
                        "exclusiveMinimum": 0
                    },
                    "debtorAgent": {
                        "$ref": "#/components/schemas/DebtorAgent",
                        "description": "Debtor agent amounts."
                    },
                    "intermediaryAgent1": {
                        "$ref": "#/components/schemas/IntermediaryAgent",
                        "description": "First intermediary agent."
                    },
                    "intermediaryAgent1Account": {
                        "$ref": "#/components/schemas/IntermediaryAgentAccount",
                        "description": "First intermediary agent account."
                    },
                    "intermediaryAgent2": {
                        "$ref": "#/components/schemas/IntermediaryAgent",
                        "description": "Second intermediary agent."
                    },
                    "intermediaryAgent2Account": {
                        "$ref": "#/components/schemas/IntermediaryAgentAccount",
                        "description": "Second intermediary agent account."
                    },
                    "creditorAgent": {
                        "$ref": "#/components/schemas/CreditorAgent",
                        "description": "Creditor agent amounts."
                    }
                },
                "required": [
                    "creditorAgent",
                    "debtorAgent",
                    "exchangeRate",
                    "expiryDateTime",
                    "fxpFinInstId",
                    "fxpFinInstIdType",
                    "intermediaryAgent1",
                    "intermediaryAgent1Account",
                    "intermediaryAgent2",
                    "intermediaryAgent2Account",
                    "issuedDateTime",
                    "quoteId"
                ]
            },
            "QuoteResponse": {
                "type": "object",
                "description": "FX quote response with quote details.",
                "example": {
                    "quoteRequestId": "d302cc08-323b-4ac6-897e-579a9abe0c88",
                    "sourceCountry": "SG",
                    "sourceCurrency": "SGD",
                    "destinationCountry": "TH",
                    "destinationCurrency": "THB",
                    "amountCurrency": "SGD",
                    "amount": 1000,
                    "quotes": [
                        {
                            "quoteId": "855cd802-8c7b-4fd2-8ce7-a456c1e12509",
                            "issuedDateTime": "2024-10-22T12:00:00Z",
                            "expiryDateTime": "2024-10-22T12:10:00Z",
                            "fxpFinInstIdType": "BICFI",
                            "fxpFinInstId": "FXSGAAAA",
                            "exchangeRate": 25,
                            "debtorAgent": {
                                "interbankSettlementAmount": {
                                    "currency": "SGD",
                                    "amount": 1000,
                                    "cappedToMaxAmount": false
                                }
                            },
                            "intermediaryAgent1": {
                                "finInstId": {
                                    "name": "DBS Bank Ltd",
                                    "BICFI": "DBSSSGSG",
                                    "LEI": "ATUEL7OJR5057F2PV266",
                                    "clearingSystemMemberId": {
                                        "clearingSystemId": null,
                                        "memberId": null
                                    },
                                    "other": {
                                        "id": null
                                    }
                                }
                            },
                            "intermediaryAgent1Account": {
                                "id": "2345678901"
                            },
                            "intermediaryAgent2": {
                                "finInstId": {
                                    "name": "Kasikornbank Public Company Limited",
                                    "BICFI": "KASITHBK",
                                    "LEI": null,
                                    "clearingSystemMemberId": {
                                        "clearingSystemId": null,
                                        "memberId": null
                                    },
                                    "other": {
                                        "id": null
                                    }
                                }
                            },
                            "intermediaryAgent2Account": {
                                "id": "8881234569"
                            },
                            "creditorAgent": {
                                "interbankSettlementAmount": {
                                    "amount": 25000,
                                    "currency": "THB",
                                    "cappedToMaxAmount": false
                                },
                                "chargesAmount": {
                                    "amount": 100,
                                    "currency": "THB"
                                },
                                "creditorAccountAmount": 24900
                            }
                        }
                    ]
                },
                "properties": {
                    "quoteRequestId": {
                        "type": "string",
                        "description": "Quote request identifier.",
                        "example": "d302cc08-323b-4ac6-897e-579a9abe0c88",
                        "format": "uuid",
                        "minLength": 36,
                        "maxLength": 36,
                        "pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$"
                    },
                    "sourceCountry": {
                        "type": "string",
                        "description": "The ISO 3166 alpha-2 country code",
                        "example": "SG",
                        "maxLength": 2,
                        "minLength": 2,
                        "pattern": "^[A-Z]{2}$"
                    },
                    "sourceCurrency": {
                        "type": "string",
                        "description": "The ISO 4217 alpha-3 currency code",
                        "example": "SGD",
                        "maxLength": 3,
                        "minLength": 3,
                        "pattern": "^[A-Z]{3}$"
                    },
                    "destinationCountry": {
                        "type": "string",
                        "description": "ISO 3166-1 alpha-2 destination country code.",
                        "example": "TH",
                        "maxLength": 2,
                        "minLength": 2,
                        "pattern": "^[A-Z]{2}$"
                    },
                    "destinationCurrency": {
                        "type": "string",
                        "description": "ISO 4217 destination currency code.",
                        "example": "THB",
                        "maxLength": 3,
                        "minLength": 3,
                        "pattern": "^[A-Z]{3}$"
                    },
                    "amountCurrency": {
                        "type": "string",
                        "description": "Currency for the amount.",
                        "example": "SGD",
                        "maxLength": 3,
                        "minLength": 3,
                        "pattern": "^[A-Z]{3}$"
                    },
                    "amount": {
                        "type": "number",
                        "description": "Amount value. When copied into an ISO 20022 XML amount the value must have at most 5 fractional digits and at most 18 total digits; serialise as a plain decimal, never in exponent form.",
                        "example": 1000,
                        "exclusiveMinimum": 0
                    },
                    "quotes": {
                        "type": "array",
                        "description": "Quote detail list.",
                        "items": {
                            "$ref": "#/components/schemas/QuoteDetail"
                        }
                    }
                },
                "required": [
                    "amount",
                    "amountCurrency",
                    "destinationCountry",
                    "destinationCurrency",
                    "quoteRequestId",
                    "quotes",
                    "sourceCountry",
                    "sourceCurrency"
                ]
            },
            "ErrorApiResponse": {
                "type": "object",
                "description": "Standard structured rejection body. Returned for all non-2xx responses produced by the Nexus authentication layer or the application. Gateway level errors (405, 409, 413, 429, 502, 503, 504) do NOT carry this body.\n\n#### Validation rules\n\n- All four fields are required and never `null`.\n- `statusCode`: always `RJCT`.\n- `reasonCode`: 5 characters matching `^[A-Z]{2}[0-9]{3}$`; family prefix `TE` (technical), `AE` (authentication/authorisation, enforced at authentication) or `BE` (business); one of the values enumerated in the `reasonCode` schema.\n- `name`: UPPER_SNAKE_CASE, 1–50 characters; the name paired with `reasonCode` (e.g. `TE001` ↔ `INVALID_REQUEST`).\n- `description`: 1–500 characters; MUST NOT contain PII.\n- Gateway-level errors (405, 409, 413, 429, 502, 503, 504) do not carry this body.",
                "properties": {
                    "statusCode": {
                        "type": "string",
                        "description": "Business-level status code. Always RJCT (Rejected) — the structured error body is only returned for rejection cases. Successful responses use HTTP status alone (200 OK for sync, 202 Accepted for async ingress) with no structured statusCode body.",
                        "enum": [
                            "RJCT"
                        ],
                        "example": "RJCT",
                        "maxLength": 4,
                        "minLength": 4
                    },
                    "reasonCode": {
                        "type": "string",
                        "description": "Categorised reason code. Three families: TE (Technical Error, e.g. TE001/TE002/TE099), AE (Authentication / Authorization Error, AE001–AE006, enforced at authentication), BE (Business Error, BE001–BE031).",
                        "enum": [
                            "TE001",
                            "TE002",
                            "TE099",
                            "AE001",
                            "AE002",
                            "AE003",
                            "AE004",
                            "AE005",
                            "AE006",
                            "BE001",
                            "BE002",
                            "BE007",
                            "BE008",
                            "BE009",
                            "BE010",
                            "BE011",
                            "BE012",
                            "BE013",
                            "BE014",
                            "BE015",
                            "BE016",
                            "BE017",
                            "BE018",
                            "BE019",
                            "BE020",
                            "BE021",
                            "BE030",
                            "BE031"
                        ],
                        "example": "TE001",
                        "maxLength": 5,
                        "pattern": "^[A-Z]{2}[0-9]{3}$",
                        "minLength": 5
                    },
                    "name": {
                        "type": "string",
                        "description": "Machine-readable error name paired with the reason code.",
                        "example": "INVALID_REQUEST",
                        "maxLength": 50,
                        "pattern": "^[A-Z][A-Z0-9]*(?:_[A-Z0-9]+)*$",
                        "minLength": 1
                    },
                    "description": {
                        "type": "string",
                        "description": "Human-readable error description. MUST NOT contain PII.",
                        "example": "One or more request parameters are missing, malformed, or do not conform to the expected schema.",
                        "maxLength": 500,
                        "minLength": 1
                    }
                },
                "required": [
                    "description",
                    "name",
                    "reasonCode",
                    "statusCode"
                ]
            },
            "FinancialInstitutionIdResponse": {
                "type": "object",
                "description": "Financial institution identifiers.",
                "properties": {
                    "bicfi": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "items": {
                            "type": "string",
                            "description": "BICFI identifier.",
                            "example": "DBSSSGSG",
                            "maxLength": 11,
                            "pattern": "^[A-Z]{6}[0-9A-Z]{2}([0-9A-Z]{3})?$"
                        }
                    },
                    "lei": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "LEI identifier.",
                        "example": "ATUEL7OJR5057F2PV266",
                        "maxLength": 20,
                        "pattern": "^[0-9A-Z]{18}[0-9]{2}$"
                    },
                    "otherId": {
                        "type": [
                            "array",
                            "null"
                        ],
                        "description": "Other identifier values.",
                        "items": {
                            "type": "string",
                            "example": "SAP-123"
                        }
                    }
                }
            },
            "FinancialInstitutionResponse": {
                "type": "object",
                "description": "Financial institution details.",
                "example": {
                    "name": "DBS Bank Ltd",
                    "finInstId": {
                        "BICFI": [
                            "DBSSSGSG"
                        ],
                        "LEI": "ATUEL7OJR5057F2PV266",
                        "otherId": []
                    },
                    "countryCode": "SG",
                    "roles": [
                        "psp",
                        "sap"
                    ]
                },
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Financial institution name.",
                        "example": "DBS Bank Ltd",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "finInstId": {
                        "$ref": "#/components/schemas/FinancialInstitutionIdResponse",
                        "description": "Financial institution identifiers."
                    },
                    "countryCode": {
                        "type": "string",
                        "description": "The ISO 3166 alpha-2 country code",
                        "example": "SG",
                        "maxLength": 2,
                        "minLength": 2,
                        "pattern": "^[A-Z]{2}$"
                    },
                    "roles": {
                        "type": "array",
                        "description": "Financial institution roles.",
                        "example": [
                            "psp",
                            "sap"
                        ],
                        "items": {
                            "type": "string",
                            "enum": [
                                "psp",
                                "fxp",
                                "sap"
                            ]
                        }
                    }
                },
                "required": [
                    "countryCode",
                    "finInstId",
                    "name",
                    "roles"
                ]
            },
            "FinancialInstitutionsPageResponse": {
                "type": "object",
                "description": "Cursor-paged response of financial institutions.",
                "example": {
                    "finInsts": [
                        {
                            "name": "Bank Central Asia",
                            "finInstId": {
                                "bicfi": [
                                    "BBBUIDJA"
                                ],
                                "lei": null,
                                "otherId": []
                            },
                            "countryCode": "ID",
                            "roles": [
                                "psp",
                                "sap"
                            ]
                        },
                        {
                            "name": "Bank of the Philippine Islands",
                            "finInstId": {
                                "bicfi": [
                                    "BOPIPHMM"
                                ],
                                "lei": null,
                                "otherId": []
                            },
                            "countryCode": "PH",
                            "roles": [
                                "psp"
                            ]
                        },
                        {
                            "name": "DBS Bank Ltd",
                            "finInstId": {
                                "bicfi": [
                                    "DBSSSGSG"
                                ],
                                "lei": "ATUEL7OJR5057F2PV266",
                                "otherId": []
                            },
                            "countryCode": "SG",
                            "roles": [
                                "psp",
                                "fxp"
                            ]
                        },
                        {
                            "name": "United Overseas Bank Limited",
                            "finInstId": {
                                "bicfi": [
                                    "UOVBSGSG"
                                ],
                                "lei": "AR3L4Z0XCMCQS27SE236",
                                "otherId": []
                            },
                            "countryCode": "SG",
                            "roles": [
                                "psp"
                            ]
                        },
                        {
                            "name": "FXP-A",
                            "finInstId": {
                                "bicfi": [
                                    "STNXGBAA"
                                ],
                                "lei": null,
                                "otherId": []
                            },
                            "countryCode": "TH",
                            "roles": [
                                "fxp"
                            ]
                        },
                        {
                            "name": "Kasikornbank Public Company Limited",
                            "finInstId": {
                                "bicfi": [
                                    "KASITHBK"
                                ],
                                "lei": null,
                                "otherId": []
                            },
                            "countryCode": "TH",
                            "roles": [
                                "psp",
                                "fxp",
                                "sap"
                            ]
                        }
                    ],
                    "nextCursor": null
                },
                "properties": {
                    "finInsts": {
                        "type": "array",
                        "description": "Financial institution items.",
                        "items": {
                            "$ref": "#/components/schemas/FinancialInstitutionResponse"
                        }
                    },
                    "nextCursor": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Cursor for the next page."
                    }
                },
                "required": [
                    "finInsts"
                ]
            },
            "CreditorAgentAmounts": {
                "type": "object",
                "description": "Creditor-side amounts.",
                "properties": {
                    "interbankSettlementAmount": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/AmountDto"
                            },
                            {
                                "properties": {
                                    "amount": {
                                        "exclusiveMinimum": 0
                                    }
                                }
                            }
                        ],
                        "description": "Interbank Settlement Amount in Destination Currency. Amount is strictly greater than zero."
                    },
                    "chargesAmount": {
                        "$ref": "#/components/schemas/AmountDto",
                        "description": "Destination Agent Fee."
                    },
                    "creditorAccountAmount": {
                        "type": "number",
                        "description": "Net amount credited to the creditor account. When copied into an ISO 20022 XML amount the value must have at most 5 fractional digits and at most 18 total digits; serialise as a plain decimal, never in exponent form.",
                        "example": 347.76,
                        "minimum": 0
                    }
                },
                "required": [
                    "chargesAmount",
                    "creditorAccountAmount",
                    "interbankSettlementAmount"
                ]
            },
            "DebtorAgentAmounts": {
                "type": "object",
                "description": "Debtor-side amounts.",
                "properties": {
                    "interbankSettlementAmount": {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/AmountDto"
                            },
                            {
                                "properties": {
                                    "amount": {
                                        "exclusiveMinimum": 0
                                    }
                                }
                            }
                        ],
                        "description": "Interbank Settlement Amount in Source Currency. Amount is strictly greater than zero."
                    }
                },
                "required": [
                    "interbankSettlementAmount"
                ]
            },
            "FeesAndAmountsResponse": {
                "type": "object",
                "description": "Computed debtor and creditor amounts with fees.",
                "example": {
                    "debtorAgent": {
                        "interbankSettlementAmount": {
                            "amount": 100,
                            "currency": "SGD"
                        }
                    },
                    "creditorAgent": {
                        "interbankSettlementAmount": {
                            "amount": 350,
                            "currency": "MYR"
                        },
                        "chargesAmount": {
                            "amount": 2.24,
                            "currency": "MYR"
                        },
                        "creditorAccountAmount": 347.76
                    }
                },
                "properties": {
                    "debtorAgent": {
                        "$ref": "#/components/schemas/DebtorAgentAmounts",
                        "description": "Debtor-side amounts and fees."
                    },
                    "creditorAgent": {
                        "$ref": "#/components/schemas/CreditorAgentAmounts",
                        "description": "Creditor-side amounts and fees."
                    }
                },
                "required": [
                    "creditorAgent",
                    "debtorAgent"
                ]
            },
            "DestinationAgentFeeResponse": {
                "type": "object",
                "description": "Destination agent fee configuration.",
                "example": {
                    "countryCode": "MY",
                    "nominalFee": {
                        "amount": 2.22,
                        "currency": "MYR"
                    },
                    "percentageFee": 0.1,
                    "validTo": "2026-07-17T23:59:59+08:00"
                },
                "properties": {
                    "countryCode": {
                        "type": "string",
                        "description": "ISO-3166 alpha-2 country code of the Destination Country.",
                        "example": "MY",
                        "maxLength": 2,
                        "minLength": 2,
                        "pattern": "^[A-Z]{2}$"
                    },
                    "nominalFee": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/AmountDto"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "description": "Fixed nominal fee amount and currency in the Destination Currency. Omitted when the formula has no fixed component."
                    },
                    "percentageFee": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "description": "Percentage fee expressed as a decimal ratio (e.g., 0.1 = 10%). Omitted when the formula has no percentage component.",
                        "example": 0.1,
                        "minimum": 0,
                        "maximum": 1
                    },
                    "validTo": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Timestamp at which the returned fee formula is scheduled to expire. Always set to the next 23:59:59 Singapore-time boundary (+08:00). PSPs/IPSs MUST refresh the formula on or before this time.",
                        "example": "2026-07-17T23:59:59+08:00",
                        "maxLength": 32
                    }
                },
                "required": [
                    "countryCode",
                    "validTo"
                ]
            },
            "CountriesResponse": {
                "type": "object",
                "description": "Response containing a list of supported countries.",
                "example": {
                    "countries": [
                        {
                            "countryId": 344,
                            "countryCode": "HK",
                            "name": "Hong Kong",
                            "currencies": [
                                {
                                    "currencyCode": "HKD",
                                    "currencyName": "Hong Kong Dollar",
                                    "symbol": "HK$",
                                    "decimalPlaces": 2,
                                    "minAmount": "100.00",
                                    "maxAmount": "10000.00"
                                },
                                {
                                    "currencyCode": "CNY",
                                    "currencyName": "Yuan Renminbi",
                                    "symbol": "¥",
                                    "decimalPlaces": 2,
                                    "minAmount": "100.00",
                                    "maxAmount": "20000.00"
                                }
                            ],
                            "requiredMessageElements": {
                                "getQuotes": [
                                    "destinationPsp"
                                ],
                                "pacs008": [
                                    "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/Purp/Cd"
                                ]
                            },
                            "supportedInstructionPriorities": [
                                "NORM",
                                "HIGH"
                            ],
                            "sla": {
                                "normalPaymentMaxExecutionTimeout": 60,
                                "highPaymentMaxExecutionTimeout": 60
                            }
                        },
                        {
                            "countryId": 360,
                            "countryCode": "ID",
                            "name": "Indonesia",
                            "currencies": [
                                {
                                    "currencyCode": "IDR",
                                    "currencyName": "Rupiah",
                                    "symbol": "Rp",
                                    "decimalPlaces": 0,
                                    "minAmount": "100",
                                    "maxAmount": "15000000"
                                }
                            ],
                            "requiredMessageElements": {
                                "pacs008": [
                                    "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/PmtTpInf/CtgyPurp/Cd"
                                ]
                            },
                            "supportedInstructionPriorities": [
                                "NORM"
                            ],
                            "sla": {
                                "normalPaymentMaxExecutionTimeout": 60
                            }
                        },
                        {
                            "countryId": 458,
                            "countryCode": "MY",
                            "name": "Malaysia",
                            "currencies": [
                                {
                                    "currencyCode": "MYR",
                                    "currencyName": "Ringgit",
                                    "symbol": "RM",
                                    "decimalPlaces": 2,
                                    "minAmount": "100.00",
                                    "maxAmount": "10000000.00"
                                }
                            ],
                            "requiredMessageElements": {
                                "pacs008": [
                                    "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/Purp/Cd"
                                ]
                            },
                            "supportedInstructionPriorities": [
                                "NORM",
                                "HIGH"
                            ],
                            "sla": {
                                "normalPaymentMaxExecutionTimeout": 60,
                                "highPaymentMaxExecutionTimeout": 60
                            }
                        },
                        {
                            "countryId": 702,
                            "countryCode": "SG",
                            "name": "Singapore",
                            "currencies": [
                                {
                                    "currencyCode": "SGD",
                                    "currencyName": "Dollar",
                                    "symbol": "$",
                                    "decimalPlaces": 2,
                                    "minAmount": "100.00",
                                    "maxAmount": "200000.00"
                                }
                            ],
                            "requiredMessageElements": {
                                "pacs008": [
                                    "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/Purp/Cd"
                                ]
                            },
                            "supportedInstructionPriorities": [
                                "NORM",
                                "HIGH"
                            ],
                            "sla": {
                                "normalPaymentMaxExecutionTimeout": 60,
                                "highPaymentMaxExecutionTimeout": 60
                            }
                        },
                        {
                            "countryId": 608,
                            "countryCode": "PH",
                            "name": "Philippines",
                            "currencies": [
                                {
                                    "currencyCode": "PHP",
                                    "currencyName": "Peso",
                                    "symbol": "₱",
                                    "decimalPlaces": 2,
                                    "maxAmount": "50000.00"
                                }
                            ],
                            "requiredMessageElements": {
                                "pacs008": [
                                    "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/PmtTpInf/CtgyPurp/Cd"
                                ]
                            },
                            "supportedInstructionPriorities": [
                                "NORM"
                            ],
                            "sla": {
                                "normalPaymentMaxExecutionTimeout": 60
                            }
                        },
                        {
                            "countryId": 764,
                            "countryCode": "TH",
                            "name": "Thailand",
                            "currencies": [
                                {
                                    "currencyCode": "THB",
                                    "currencyName": "Baht",
                                    "symbol": "฿",
                                    "decimalPlaces": 2,
                                    "minAmount": "100.00",
                                    "maxAmount": "2000000.00"
                                }
                            ],
                            "requiredMessageElements": {
                                "pacs008": [
                                    "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/PmtTpInf/CtgyPurp/Cd"
                                ]
                            },
                            "supportedInstructionPriorities": [
                                "NORM"
                            ],
                            "sla": {
                                "normalPaymentMaxExecutionTimeout": 60
                            }
                        }
                    ]
                },
                "properties": {
                    "countries": {
                        "type": "array",
                        "description": "List of supported countries.",
                        "items": {
                            "$ref": "#/components/schemas/CountryResponse"
                        }
                    }
                },
                "required": [
                    "countries"
                ]
            },
            "CountryCurrencyResponse": {
                "type": "object",
                "description": "Currency configuration for a country.",
                "properties": {
                    "currencyCode": {
                        "type": "string",
                        "description": "The ISO 4217 alpha-3 currency code",
                        "example": "IDR",
                        "maxLength": 3,
                        "minLength": 3,
                        "pattern": "^[A-Z]{3}$"
                    },
                    "currencyName": {
                        "type": "string",
                        "description": "Currency name.",
                        "example": "Rupiah",
                        "minLength": 1,
                        "maxLength": 50
                    },
                    "symbol": {
                        "type": "string",
                        "description": "Currency symbol.",
                        "example": "Rp",
                        "minLength": 1,
                        "maxLength": 5
                    },
                    "decimalPlaces": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Currency decimal places.",
                        "example": 0,
                        "minimum": 0,
                        "maximum": 4
                    },
                    "minAmount": {
                        "type": "string",
                        "description": "IPS minimum transaction amount for this currency, when configured. Plain decimal string (≥ 0) whose fractional digits exactly equal `decimalPlaces`; no exponent or grouping separators.",
                        "maxLength": 18,
                        "pattern": "^[0-9]+(\\.[0-9]+)?$",
                        "example": "100"
                    },
                    "maxAmount": {
                        "type": "string",
                        "description": "IPS maximum transaction amount for this currency. Plain decimal string (≥ 0) whose fractional digits exactly equal `decimalPlaces`; no exponent or grouping separators. Represented as a string to preserve decimal precision.",
                        "maxLength": 18,
                        "pattern": "^[0-9]+(\\.[0-9]+)?$",
                        "example": "15000000"
                    }
                },
                "required": [
                    "currencyCode",
                    "currencyName",
                    "decimalPlaces",
                    "maxAmount",
                    "symbol"
                ]
            },
            "CountryResponse": {
                "type": "object",
                "description": "Country reference data with supported currencies, SLA configuration, and message requirements.",
                "example": {
                    "countryId": 360,
                    "countryCode": "ID",
                    "name": "Indonesia",
                    "currencies": [
                        {
                            "currencyCode": "IDR",
                            "currencyName": "Rupiah",
                            "symbol": "Rp",
                            "decimalPlaces": 0,
                            "minAmount": "1000",
                            "maxAmount": "15000000"
                        }
                    ],
                    "requiredMessageElements": {
                        "pacs008": [
                            "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/PmtTpInf/CtgyPurp/Cd"
                        ]
                    },
                    "supportedInstructionPriorities": [
                        "NORM"
                    ],
                    "sla": {
                        "normalPaymentMaxExecutionTimeout": 60
                    }
                },
                "properties": {
                    "countryId": {
                        "type": "integer",
                        "format": "int32",
                        "description": "ISO 3166-1 numeric country code.",
                        "example": 360,
                        "minimum": 1,
                        "maximum": 999
                    },
                    "countryCode": {
                        "type": "string",
                        "description": "The ISO 3166 alpha-2 country code",
                        "example": "ID",
                        "maxLength": 2,
                        "minLength": 2,
                        "pattern": "^[A-Z]{2}$"
                    },
                    "name": {
                        "type": "string",
                        "description": "Country display name.",
                        "example": "Indonesia",
                        "minLength": 1,
                        "maxLength": 100
                    },
                    "currencies": {
                        "type": "array",
                        "description": "Supported (active) currencies for this country. At least one element.",
                        "items": {
                            "$ref": "#/components/schemas/CountryCurrencyResponse"
                        },
                        "minItems": 1
                    },
                    "requiredMessageElements": {
                        "$ref": "#/components/schemas/RequiredMessageElementsResponse",
                        "description": "Required ISO 20022 message elements for routing."
                    },
                    "supportedInstructionPriorities": {
                        "type": "array",
                        "description": "Supported instruction priorities for payments to this country.",
                        "example": [
                            "NORM",
                            "HIGH"
                        ],
                        "items": {
                            "type": "string",
                            "enum": [
                                "NORM",
                                "HIGH"
                            ]
                        },
                        "uniqueItems": true
                    },
                    "sla": {
                        "$ref": "#/components/schemas/SlaResponse",
                        "description": "SLA timeout configuration for payment execution."
                    }
                },
                "required": [
                    "countryCode",
                    "countryId",
                    "currencies",
                    "name",
                    "requiredMessageElements",
                    "sla",
                    "supportedInstructionPriorities"
                ]
            },
            "RequiredMessageElementsResponse": {
                "type": "object",
                "description": "Required ISO 20022 message elements.",
                "properties": {
                    "pacs008": {
                        "type": "array",
                        "description": "Required pacs.008 message elements.",
                        "items": {
                            "type": "string",
                            "example": "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/PmtTpInf/CtgyPurp/Cd",
                            "pattern": "^/Document/.+"
                        }
                    },
                    "getQuotes": {
                        "type": "array",
                        "description": "Lists additional parameters the Source PSP must supply on GET /v1/quotes. Present only when the destination country operates multiple IPSes, where it lists destinationPsp to indicate that destFinInstId and destFinInstIdType are required; absent for single-IPS countries.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "destinationPsp"
                            ],
                            "example": "destinationPsp"
                        }
                    }
                },
                "required": [
                    "pacs008"
                ]
            },
            "SlaResponse": {
                "type": "object",
                "description": "SLA timeout configuration for payment execution.",
                "properties": {
                    "normalPaymentMaxExecutionTimeout": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Maximum execution timeout for normal priority payments, in seconds.",
                        "example": 60,
                        "minimum": 0
                    },
                    "highPaymentMaxExecutionTimeout": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Maximum execution timeout for high priority payments, in seconds. Omitted if HIGH priority not supported.",
                        "example": 60,
                        "minimum": 0
                    }
                },
                "required": [
                    "normalPaymentMaxExecutionTimeout"
                ]
            },
            "AddressInputAttributesResponse": {
                "type": "object",
                "description": "Attributes and validation metadata for an address input.",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Field name.",
                        "example": "accountOrProxyId",
                        "minLength": 1,
                        "maxLength": 50
                    },
                    "type": {
                        "type": "string",
                        "description": "Field type.",
                        "example": "number",
                        "enum": [
                            "text",
                            "number",
                            "hidden"
                        ],
                        "maxLength": 10
                    },
                    "pattern": {
                        "type": "string",
                        "description": "Regex pattern for validation.",
                        "example": "^\\d{9,11}$",
                        "maxLength": 200
                    },
                    "placeholder": {
                        "type": "string",
                        "description": "Placeholder text.",
                        "example": "123456789",
                        "maxLength": 50
                    },
                    "required": {
                        "type": "boolean",
                        "description": "Whether the input is required.",
                        "example": true
                    },
                    "value": {
                        "type": "string",
                        "description": "Default or fixed value.",
                        "example": "ACCT",
                        "maxLength": 50
                    }
                },
                "required": [
                    "name",
                    "required",
                    "type"
                ]
            },
            "AddressInputResponse": {
                "type": "object",
                "description": "Address input definition.",
                "properties": {
                    "addressInputId": {
                        "type": "string",
                        "description": "Address input identifier.",
                        "example": "IDINPT1",
                        "minLength": 1,
                        "maxLength": 20
                    },
                    "label": {
                        "oneOf": [
                            {
                                "$ref": "#/components/schemas/AddressLabelResponse"
                            },
                            {
                                "type": "null"
                            }
                        ],
                        "description": "Localized display label for the input."
                    },
                    "attributes": {
                        "$ref": "#/components/schemas/AddressInputAttributesResponse",
                        "description": "Input attributes and validation metadata."
                    },
                    "iso20022XPath": {
                        "$ref": "#/components/schemas/Iso20022XPathResponse",
                        "description": "ISO 20022 XPath mappings."
                    }
                },
                "required": [
                    "addressInputId",
                    "attributes",
                    "iso20022XPath"
                ]
            },
            "AddressLabelResponse": {
                "type": "object",
                "description": "Localized label for an address input.",
                "properties": {
                    "addressTypeCode": {
                        "type": "string",
                        "description": "Address type code.",
                        "example": "ACCT",
                        "minLength": 1,
                        "maxLength": 10
                    },
                    "title": {
                        "$ref": "#/components/schemas/LocalizedTitleResponse",
                        "description": "Localized title text."
                    }
                },
                "required": [
                    "addressTypeCode",
                    "title"
                ]
            },
            "AddressTypeWithInputsResponse": {
                "type": "object",
                "description": "Address type metadata including input definitions.",
                "properties": {
                    "addressTypeId": {
                        "type": "string",
                        "description": "Uppercase address type identifier.",
                        "example": "IDACCT",
                        "pattern": "^[A-Z]+$",
                        "minLength": 1,
                        "maxLength": 20
                    },
                    "countries": {
                        "type": "array",
                        "description": "ISO 3166-1 alpha-2 country codes where the address type is supported.",
                        "items": {
                            "type": "string",
                            "example": "ID",
                            "minLength": 2,
                            "maxLength": 2,
                            "pattern": "^[A-Z]{2}$"
                        }
                    },
                    "addressTypeCode": {
                        "type": "string",
                        "description": "Address type code.",
                        "example": "ACCT",
                        "minLength": 1,
                        "maxLength": 10
                    },
                    "clearingSystemId": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Clearing system identifier.",
                        "example": "IDRBFAST",
                        "maxLength": 12
                    },
                    "proxyDirectoryId": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Proxy directory identifier.",
                        "example": "IDPROXY",
                        "maxLength": 20
                    },
                    "displayOrder": {
                        "type": "integer",
                        "format": "int32",
                        "description": "Display order for UI presentation.",
                        "example": 3,
                        "minimum": 1
                    },
                    "inputs": {
                        "type": "array",
                        "description": "Input definitions for the address type.",
                        "items": {
                            "$ref": "#/components/schemas/AddressInputResponse"
                        },
                        "minItems": 1
                    }
                },
                "required": [
                    "addressTypeCode",
                    "addressTypeId",
                    "countries",
                    "displayOrder",
                    "inputs"
                ]
            },
            "Iso20022XPathResponse": {
                "type": "object",
                "description": "ISO 20022 XPath references for the input.",
                "properties": {
                    "acmt023": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "XPath in acmt.023 message.",
                        "example": "/Document/IdVrfctnReq/Vrfctn/PtyAndAcctId/Acct/Id/Othr/Id",
                        "maxLength": 200,
                        "pattern": "^/Document/.+"
                    },
                    "pacs008": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "XPath in pacs.008 message.",
                        "example": "/Document/FIToFICstmrCdtTrf/CdtTrfTxInf/CdtrAcct/Id/Othr/Id",
                        "maxLength": 200,
                        "pattern": "^/Document/.+"
                    }
                },
                "required": [
                    "acmt023",
                    "pacs008"
                ]
            },
            "LocalizedTitleResponse": {
                "type": "object",
                "description": "Localized title values.",
                "properties": {
                    "en": {
                        "type": "string",
                        "description": "English label.",
                        "example": "Account number, 9-16 digits",
                        "minLength": 1,
                        "maxLength": 200
                    },
                    "de": {
                        "type": "string",
                        "description": "German label.",
                        "example": "Kontonummer, 9-16 Ziffern"
                    }
                },
                "required": [
                    "en"
                ]
            },
            "Pacs028AccountIdentification4Choice": {
                "type": "object",
                "properties": {
                    "IBAN": {
                        "type": "string",
                        "pattern": "^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$"
                    },
                    "Othr": {
                        "$ref": "#/components/schemas/Pacs028GenericAccountIdentification1"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "IBAN"
                        ]
                    },
                    {
                        "required": [
                            "Othr"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Pacs028ActiveOrHistoricCurrencyAndAmount": {
                "type": "object",
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0.0
                    },
                    "Ccy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}",
                        "xml": {
                            "attribute": true
                        }
                    }
                },
                "required": [
                    "value",
                    "Ccy"
                ]
            },
            "Pacs028AddressType3Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "enum": [
                            "ADDR",
                            "PBOX",
                            "HOME",
                            "BIZZ",
                            "MLTO",
                            "DLVY"
                        ]
                    },
                    "Prtry": {
                        "$ref": "#/components/schemas/Pacs028GenericIdentification30"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "Cd"
                        ]
                    },
                    {
                        "required": [
                            "Prtry"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Pacs028AmountType4Choice": {
                "type": "object",
                "properties": {
                    "InstdAmt": {
                        "$ref": "#/components/schemas/Pacs028ActiveOrHistoricCurrencyAndAmount"
                    },
                    "EqvtAmt": {
                        "$ref": "#/components/schemas/Pacs028EquivalentAmount2"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "InstdAmt"
                        ]
                    },
                    {
                        "required": [
                            "EqvtAmt"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Pacs028BranchAndFinancialInstitutionIdentification8": {
                "type": "object",
                "properties": {
                    "FinInstnId": {
                        "$ref": "#/components/schemas/Pacs028FinancialInstitutionIdentification23"
                    },
                    "BrnchId": {
                        "$ref": "#/components/schemas/Pacs028BranchData5"
                    }
                },
                "required": [
                    "FinInstnId"
                ]
            },
            "Pacs028BranchData5": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Pacs028PostalAddress27"
                    }
                }
            },
            "Pacs028CashAccount40": {
                "type": "object",
                "properties": {
                    "Id": {
                        "$ref": "#/components/schemas/Pacs028AccountIdentification4Choice"
                    },
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs028CashAccountType2Choice"
                    },
                    "Ccy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "Prxy": {
                        "$ref": "#/components/schemas/Pacs028ProxyAccountIdentification1"
                    }
                }
            },
            "Pacs028CashAccountType2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028CategoryPurpose1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028ClearingSystemIdentification2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 5
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028ClearingSystemIdentification3Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 3
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028ClearingSystemMemberIdentification2": {
                "type": "object",
                "properties": {
                    "ClrSysId": {
                        "$ref": "#/components/schemas/Pacs028ClearingSystemIdentification2Choice"
                    },
                    "MmbId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "MmbId"
                ]
            },
            "Pacs028Contact13": {
                "type": "object",
                "properties": {
                    "NmPrfx": {
                        "type": "string",
                        "enum": [
                            "DOCT",
                            "MADM",
                            "MISS",
                            "MIST",
                            "MIKS"
                        ]
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PhneNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "MobNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "FaxNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "URLAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    },
                    "EmailAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                    },
                    "EmailPurp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "JobTitl": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Rspnsblty": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028OtherContact1"
                        }
                    },
                    "PrefrdMtd": {
                        "type": "string",
                        "enum": [
                            "MAIL",
                            "FAXX",
                            "LETT",
                            "CELL",
                            "ONLI",
                            "PHON"
                        ]
                    }
                }
            },
            "Pacs028CreditorReferenceInformation3": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs028CreditorReferenceType3"
                    },
                    "Ref": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                }
            },
            "Pacs028CreditorReferenceType2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028CreditorReferenceType3": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs028CreditorReferenceType2Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs028DateAndDateTime2Choice": {
                "type": "object",
                "properties": {
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    },
                    "DtTm": {
                        "type": "string",
                        "format": "date-time",
                        "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]{1,3})?Z?$"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "Dt"
                        ]
                    },
                    {
                        "required": [
                            "DtTm"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Pacs028DateAndType1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs028DateType2Choice"
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    }
                },
                "required": [
                    "Tp",
                    "Dt"
                ]
            },
            "Pacs028DatePeriod2": {
                "type": "object",
                "properties": {
                    "FrDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "ToDt": {
                        "type": "string",
                        "format": "date"
                    }
                },
                "required": [
                    "FrDt",
                    "ToDt"
                ]
            },
            "Pacs028DateType2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028Document": {
                "type": "object",
                "properties": {
                    "FIToFIPmtStsReq": {
                        "$ref": "#/components/schemas/Pacs028FIToFIPaymentStatusRequestV06"
                    }
                },
                "required": [
                    "FIToFIPmtStsReq"
                ],
                "xml": {
                    "name": "Document",
                    "namespace": "urn:iso:std:iso:20022:tech:xsd:pacs.028.001.06"
                }
            },
            "Pacs028DocumentAdjustment1": {
                "type": "object",
                "properties": {
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs028ActiveOrHistoricCurrencyAndAmount"
                    },
                    "CdtDbtInd": {
                        "type": "string",
                        "enum": [
                            "CRDT",
                            "DBIT"
                        ]
                    },
                    "Rsn": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "AddtlInf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                },
                "required": [
                    "Amt"
                ]
            },
            "Pacs028DocumentAmount1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs028DocumentAmountType1Choice"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs028ActiveOrHistoricCurrencyAndAmount"
                    }
                },
                "required": [
                    "Tp",
                    "Amt"
                ]
            },
            "Pacs028DocumentAmountType1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028DocumentLineIdentification1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs028DocumentLineType1"
                    },
                    "Nb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RltdDt": {
                        "type": "string",
                        "format": "date"
                    }
                }
            },
            "Pacs028DocumentLineInformation2": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028DocumentLineIdentification1"
                        }
                    },
                    "Desc": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs028RemittanceAmount4"
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Pacs028DocumentLineType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs028DocumentLineType1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs028DocumentLineType1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028DocumentType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs028DocumentType2Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs028DocumentType2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028FIToFIPaymentStatusRequestV06": {
                "type": "object",
                "properties": {
                    "GrpHdr": {
                        "$ref": "#/components/schemas/Pacs028GroupHeader109"
                    },
                    "TxInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028PaymentTransaction158"
                        }
                    }
                },
                "required": [
                    "GrpHdr"
                ]
            },
            "Pacs028FinancialIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028FinancialInstitutionIdentification23": {
                "type": "object",
                "properties": {
                    "BICFI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"
                    },
                    "ClrSysMmbId": {
                        "$ref": "#/components/schemas/Pacs028ClearingSystemMemberIdentification2"
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Pacs028PostalAddress27"
                    },
                    "Othr": {
                        "$ref": "#/components/schemas/Pacs028GenericFinancialIdentification1"
                    }
                }
            },
            "Pacs028Garnishment4": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs028GarnishmentType1"
                    },
                    "Grnshee": {
                        "$ref": "#/components/schemas/Pacs028PartyIdentification272"
                    },
                    "GrnshmtAdmstr": {
                        "$ref": "#/components/schemas/Pacs028PartyIdentification272"
                    },
                    "RefNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    },
                    "RmtdAmt": {
                        "$ref": "#/components/schemas/Pacs028ActiveOrHistoricCurrencyAndAmount"
                    },
                    "FmlyMdclInsrncInd": {
                        "type": "boolean"
                    },
                    "MplyeeTermntnInd": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "Tp"
                ]
            },
            "Pacs028GarnishmentType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs028GarnishmentType1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs028GarnishmentType1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028GenericFinancialIdentification1": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Pacs028FinancialIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Pacs028GroupHeader109": {
                "type": "object",
                "properties": {
                    "MsgId": {
                        "type": "string",
                        "minLength": 35,
                        "maxLength": 35,
                        "pattern": "[0-9]{8}NXPS281[A-Z0-9]{8}[A-Z0-9]{11}X",
                        "description": "Nexus message identifier, 35 characters: YYYYMMDD + NX + message-type code + sequence(8) + sender BIC-11 + literal X."
                    },
                    "CreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "MsgId",
                    "CreDtTm"
                ]
            },
            "Pacs028LocalInstrument2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028MandateRelatedData3Choice": {
                "type": "object"
            },
            "Pacs028OriginalGroupInformation27": {
                "type": "object",
                "properties": {
                    "OrgnlMsgId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlMsgNmId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlCreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "OrgnlNbOfTxs": {
                        "type": "string",
                        "pattern": "[0-9]{1,15}"
                    },
                    "OrgnlCtrlSum": {
                        "type": "number"
                    }
                },
                "required": [
                    "OrgnlMsgId",
                    "OrgnlMsgNmId"
                ]
            },
            "Pacs028OriginalGroupInformation29": {
                "type": "object",
                "properties": {
                    "OrgnlMsgId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlMsgNmId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlCreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "OrgnlMsgId",
                    "OrgnlMsgNmId"
                ]
            },
            "Pacs028OriginalTransactionReference42": {
                "type": "object",
                "properties": {
                    "IntrBkSttlmAmt": {
                        "$ref": "#/components/schemas/Pacs028ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs028AmountType4Choice"
                    },
                    "IntrBkSttlmDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "ReqdColltnDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "ReqdExctnDt": {
                        "$ref": "#/components/schemas/Pacs028DateAndDateTime2Choice"
                    },
                    "CdtrSchmeId": {
                        "$ref": "#/components/schemas/Pacs028PartyIdentification272"
                    },
                    "SttlmInf": {
                        "$ref": "#/components/schemas/Pacs028SettlementInstruction15"
                    },
                    "PmtTpInf": {
                        "$ref": "#/components/schemas/Pacs028PaymentTypeInformation27"
                    },
                    "PmtMtd": {
                        "type": "string",
                        "enum": [
                            "CHK",
                            "TRF",
                            "DD",
                            "TRA"
                        ]
                    },
                    "RmtInf": {
                        "$ref": "#/components/schemas/Pacs028RemittanceInformation22"
                    },
                    "UltmtDbtr": {
                        "$ref": "#/components/schemas/Pacs028Party50Choice"
                    },
                    "Dbtr": {
                        "$ref": "#/components/schemas/Pacs028Party50Choice"
                    },
                    "DbtrAcct": {
                        "$ref": "#/components/schemas/Pacs028CashAccount40"
                    },
                    "DbtrAgt": {
                        "$ref": "#/components/schemas/Pacs028BranchAndFinancialInstitutionIdentification8"
                    },
                    "CdtrAgt": {
                        "$ref": "#/components/schemas/Pacs028BranchAndFinancialInstitutionIdentification8"
                    },
                    "Cdtr": {
                        "$ref": "#/components/schemas/Pacs028Party50Choice"
                    },
                    "CdtrAcct": {
                        "$ref": "#/components/schemas/Pacs028CashAccount40"
                    },
                    "UltmtCdtr": {
                        "$ref": "#/components/schemas/Pacs028Party50Choice"
                    },
                    "Purp": {
                        "$ref": "#/components/schemas/Pacs028Purpose2Choice"
                    }
                }
            },
            "Pacs028OtherContact1": {
                "type": "object",
                "properties": {
                    "ChanlTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                    }
                },
                "required": [
                    "ChanlTp"
                ]
            },
            "Pacs028Party50Choice": {
                "type": "object",
                "properties": {
                    "Pty": {
                        "$ref": "#/components/schemas/Pacs028PartyIdentification272"
                    }
                },
                "required": [
                    "Pty"
                ],
                "additionalProperties": false
            },
            "Pacs028Party52Choice": {
                "type": "object",
                "properties": {
                    "OrgId": {
                        "$ref": "#/components/schemas/Pacs028OrganisationIdentification39"
                    },
                    "PrvtId": {
                        "$ref": "#/components/schemas/Pacs028PersonIdentification18"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "OrgId"
                        ]
                    },
                    {
                        "required": [
                            "PrvtId"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Pacs028PartyIdentification272": {
                "type": "object",
                "properties": {
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Pacs028PostalAddress27"
                    },
                    "Id": {
                        "$ref": "#/components/schemas/Pacs028Party52Choice"
                    },
                    "CtryOfRes": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "CtctDtls": {
                        "$ref": "#/components/schemas/Pacs028Contact13"
                    }
                }
            },
            "Pacs028PaymentTransaction158": {
                "type": "object",
                "properties": {
                    "StsReqId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlInstrId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlEndToEndId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlTxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlUETR": {
                        "type": "string",
                        "pattern": "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"
                    },
                    "AccptncDtTm": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "ClrSysRef": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "InstgAgt": {
                        "$ref": "#/components/schemas/Pacs028BranchAndFinancialInstitutionIdentification8"
                    },
                    "InstdAgt": {
                        "$ref": "#/components/schemas/Pacs028BranchAndFinancialInstitutionIdentification8"
                    },
                    "OrgnlTxRef": {
                        "$ref": "#/components/schemas/Pacs028OriginalTransactionReference42"
                    }
                }
            },
            "Pacs028PaymentTypeInformation27": {
                "type": "object",
                "properties": {
                    "InstrPrty": {
                        "type": "string",
                        "enum": [
                            "HIGH",
                            "NORM"
                        ]
                    },
                    "ClrChanl": {
                        "type": "string",
                        "enum": [
                            "RTGS",
                            "RTNS",
                            "MPNS",
                            "BOOK"
                        ]
                    },
                    "SvcLvl": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028ServiceLevel8Choice"
                        }
                    },
                    "LclInstrm": {
                        "$ref": "#/components/schemas/Pacs028LocalInstrument2Choice"
                    },
                    "SeqTp": {
                        "type": "string",
                        "enum": [
                            "FRST",
                            "RCUR",
                            "FNAL",
                            "OOFF",
                            "RPRE"
                        ]
                    },
                    "CtgyPurp": {
                        "$ref": "#/components/schemas/Pacs028CategoryPurpose1Choice"
                    }
                }
            },
            "Pacs028PostalAddress27": {
                "type": "object",
                "properties": {
                    "AdrTp": {
                        "$ref": "#/components/schemas/Pacs028AddressType3Choice"
                    },
                    "CareOf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "SubDept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "StrtNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "BldgNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "BldgNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Flr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "UnitNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "PstBx": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "Room": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "PstCd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "TwnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "TwnLctnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "DstrctNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "CtrySubDvsn": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Ctry": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "AdrLine": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                        }
                    }
                }
            },
            "Pacs028ProxyAccountIdentification1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs028ProxyAccountType1Choice"
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Pacs028ProxyAccountType1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028Purpose2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028ReferredDocumentInformation8": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs028DocumentType1"
                    },
                    "Nb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RltdDt": {
                        "$ref": "#/components/schemas/Pacs028DateAndType1"
                    },
                    "LineDtls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028DocumentLineInformation2"
                        }
                    }
                }
            },
            "Pacs028RemittanceAmount4": {
                "type": "object",
                "properties": {
                    "RmtAmtAndTp": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028DocumentAmount1"
                        }
                    },
                    "AdjstmntAmtAndRsn": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028DocumentAdjustment1"
                        }
                    }
                }
            },
            "Pacs028RemittanceInformation22": {
                "type": "object",
                "properties": {
                    "Ustrd": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                        }
                    },
                    "Strd": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028StructuredRemittanceInformation18"
                        }
                    }
                }
            },
            "Pacs028ServiceLevel8Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028SettlementInstruction15": {
                "type": "object",
                "properties": {
                    "SttlmMtd": {
                        "type": "string",
                        "enum": [
                            "INDA",
                            "INGA",
                            "COVE",
                            "CLRG"
                        ]
                    },
                    "SttlmAcct": {
                        "$ref": "#/components/schemas/Pacs028CashAccount40"
                    },
                    "ClrSys": {
                        "$ref": "#/components/schemas/Pacs028ClearingSystemIdentification3Choice"
                    }
                },
                "required": [
                    "SttlmMtd"
                ]
            },
            "Pacs028StructuredRemittanceInformation18": {
                "type": "object",
                "properties": {
                    "RfrdDocInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028ReferredDocumentInformation8"
                        }
                    },
                    "RfrdDocAmt": {
                        "$ref": "#/components/schemas/Pacs028RemittanceAmount4"
                    },
                    "CdtrRefInf": {
                        "$ref": "#/components/schemas/Pacs028CreditorReferenceInformation3"
                    },
                    "Invcr": {
                        "$ref": "#/components/schemas/Pacs028PartyIdentification272"
                    },
                    "Invcee": {
                        "$ref": "#/components/schemas/Pacs028PartyIdentification272"
                    },
                    "TaxRmt": {
                        "$ref": "#/components/schemas/Pacs028TaxData1"
                    },
                    "GrnshmtRmt": {
                        "$ref": "#/components/schemas/Pacs028Garnishment4"
                    },
                    "AddtlRmtInf": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                        }
                    }
                }
            },
            "Pacs028SupplementaryData1": {
                "type": "object",
                "properties": {
                    "PlcAndNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 350
                    },
                    "Envlp": {
                        "$ref": "#/components/schemas/Pacs028SupplementaryDataEnvelope1"
                    }
                },
                "required": [
                    "Envlp"
                ]
            },
            "Pacs028SupplementaryDataEnvelope1": {
                "type": "object"
            },
            "Pacs028TaxAmount3": {
                "type": "object",
                "properties": {
                    "Rate": {
                        "type": "number"
                    },
                    "TaxblBaseAmt": {
                        "$ref": "#/components/schemas/Pacs028ActiveOrHistoricCurrencyAndAmount"
                    },
                    "TtlAmt": {
                        "$ref": "#/components/schemas/Pacs028ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Dtls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028TaxRecordDetails3"
                        }
                    }
                }
            },
            "Pacs028TaxAuthorisation1": {
                "type": "object",
                "properties": {
                    "Titl": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                }
            },
            "Pacs028TaxData1": {
                "type": "object",
                "properties": {
                    "Cdtr": {
                        "$ref": "#/components/schemas/Pacs028TaxParty1"
                    },
                    "Dbtr": {
                        "$ref": "#/components/schemas/Pacs028TaxParty2"
                    },
                    "UltmtDbtr": {
                        "$ref": "#/components/schemas/Pacs028TaxParty2"
                    },
                    "AdmstnZone": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RefNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Mtd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TtlTaxblBaseAmt": {
                        "$ref": "#/components/schemas/Pacs028ActiveOrHistoricCurrencyAndAmount"
                    },
                    "TtlTaxAmt": {
                        "$ref": "#/components/schemas/Pacs028ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    },
                    "SeqNb": {
                        "type": "number"
                    },
                    "Rcrd": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028TaxRecord3"
                        }
                    }
                }
            },
            "Pacs028TaxParty1": {
                "type": "object",
                "properties": {
                    "TaxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RegnId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TaxTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                }
            },
            "Pacs028TaxParty2": {
                "type": "object",
                "properties": {
                    "TaxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RegnId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TaxTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Authstn": {
                        "$ref": "#/components/schemas/Pacs028TaxAuthorisation1"
                    }
                }
            },
            "Pacs028TaxPeriod3": {
                "type": "object",
                "properties": {
                    "Yr": {
                        "type": "string"
                    },
                    "Tp": {
                        "type": "string",
                        "enum": [
                            "MM01",
                            "MM02",
                            "MM03",
                            "MM04",
                            "MM05",
                            "MM06",
                            "MM07",
                            "MM08",
                            "MM09",
                            "MM10",
                            "MM11",
                            "MM12",
                            "QTR1",
                            "QTR2",
                            "QTR3",
                            "QTR4",
                            "HLF1",
                            "HLF2"
                        ]
                    },
                    "FrToDt": {
                        "$ref": "#/components/schemas/Pacs028DatePeriod2"
                    }
                }
            },
            "Pacs028TaxRecord3": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Ctgy": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "CtgyDtls": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "DbtrSts": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "CertId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "FrmsCd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Prd": {
                        "$ref": "#/components/schemas/Pacs028TaxPeriod3"
                    },
                    "TaxAmt": {
                        "$ref": "#/components/schemas/Pacs028TaxAmount3"
                    },
                    "AddtlInf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                }
            },
            "Pacs028TaxRecordDetails3": {
                "type": "object",
                "properties": {
                    "Prd": {
                        "$ref": "#/components/schemas/Pacs028TaxPeriod3"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs028ActiveOrHistoricCurrencyAndAmount"
                    }
                },
                "required": [
                    "Amt"
                ]
            },
            "Pacs008AccountIdentification4Choice": {
                "type": "object",
                "properties": {
                    "IBAN": {
                        "type": "string",
                        "pattern": "^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$"
                    },
                    "Othr": {
                        "$ref": "#/components/schemas/Pacs008GenericAccountIdentification1"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "IBAN"
                        ]
                    },
                    {
                        "required": [
                            "Othr"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Pacs008ActiveCurrencyAndAmount": {
                "type": "object",
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0.0
                    },
                    "Ccy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}",
                        "xml": {
                            "attribute": true
                        }
                    }
                },
                "required": [
                    "value",
                    "Ccy"
                ]
            },
            "Pacs008ActiveOrHistoricCurrencyAndAmount": {
                "type": "object",
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0.0
                    },
                    "Ccy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}",
                        "xml": {
                            "attribute": true
                        }
                    }
                },
                "required": [
                    "value",
                    "Ccy"
                ]
            },
            "Pacs008AdditionalDateTime1": {
                "type": "object",
                "properties": {
                    "AccptncDtTm": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "Pacs008AddressType3Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "enum": [
                            "ADDR",
                            "PBOX",
                            "HOME",
                            "BIZZ",
                            "MLTO",
                            "DLVY"
                        ]
                    },
                    "Prtry": {
                        "$ref": "#/components/schemas/Pacs008GenericIdentification30"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "Cd"
                        ]
                    },
                    {
                        "required": [
                            "Prtry"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Pacs008BranchAndFinancialInstitutionIdentification8": {
                "type": "object",
                "properties": {
                    "FinInstnId": {
                        "$ref": "#/components/schemas/Pacs008FinancialInstitutionIdentification23"
                    }
                },
                "required": [
                    "FinInstnId"
                ]
            },
            "Pacs008BranchData5": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Pacs008PostalAddress27"
                    }
                }
            },
            "Pacs008CashAccount40": {
                "type": "object",
                "properties": {
                    "Id": {
                        "$ref": "#/components/schemas/Pacs008AccountIdentification4Choice"
                    },
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs008CashAccountType2Choice"
                    },
                    "Ccy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "Prxy": {
                        "$ref": "#/components/schemas/Pacs008ProxyAccountIdentification1"
                    }
                }
            },
            "Pacs008CashAccountType2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008CategoryPurpose1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008ChargeType3Choice": {
                "type": "object"
            },
            "Pacs008Charges16": {
                "type": "object",
                "properties": {
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs008ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Agt": {
                        "$ref": "#/components/schemas/Pacs008BranchAndFinancialInstitutionIdentification8"
                    }
                },
                "required": [
                    "Amt",
                    "Agt"
                ]
            },
            "Pacs008ClearingSystemIdentification2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 5
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008ClearingSystemIdentification3Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 3
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008ClearingSystemMemberIdentification2": {
                "type": "object",
                "properties": {
                    "ClrSysId": {
                        "$ref": "#/components/schemas/Pacs008ClearingSystemIdentification2Choice"
                    },
                    "MmbId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "MmbId"
                ]
            },
            "Pacs008Contact13": {
                "type": "object",
                "properties": {
                    "NmPrfx": {
                        "type": "string",
                        "enum": [
                            "DOCT",
                            "MADM",
                            "MISS",
                            "MIST",
                            "MIKS"
                        ]
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PhneNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "MobNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "FaxNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "URLAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    },
                    "EmailAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                    },
                    "EmailPurp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "JobTitl": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Rspnsblty": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008OtherContact1"
                        }
                    },
                    "PrefrdMtd": {
                        "type": "string",
                        "enum": [
                            "MAIL",
                            "FAXX",
                            "LETT",
                            "CELL",
                            "ONLI",
                            "PHON"
                        ]
                    }
                }
            },
            "Pacs008CreditTransferMandateData1": {
                "type": "object",
                "properties": {
                    "MndtId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs008MandateTypeInformation2"
                    },
                    "DtOfSgntr": {
                        "type": "string",
                        "format": "date"
                    },
                    "DtOfVrfctn": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "ElctrncSgntr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 10240
                    },
                    "FrstPmtDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "FnlPmtDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "Frqcy": {
                        "$ref": "#/components/schemas/Pacs008Frequency36Choice"
                    },
                    "Rsn": {
                        "$ref": "#/components/schemas/Pacs008MandateSetupReason1Choice"
                    }
                }
            },
            "Pacs008CreditTransferTransaction70": {
                "type": "object",
                "properties": {
                    "PmtId": {
                        "$ref": "#/components/schemas/Pacs008PaymentIdentification13"
                    },
                    "PmtTpInf": {
                        "$ref": "#/components/schemas/Pacs008PaymentTypeInformation28"
                    },
                    "IntrBkSttlmAmt": {
                        "$ref": "#/components/schemas/Pacs008ActiveCurrencyAndAmount"
                    },
                    "IntrBkSttlmDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "AddtlDtTm": {
                        "$ref": "#/components/schemas/Pacs008AdditionalDateTime1"
                    },
                    "InstdAmt": {
                        "$ref": "#/components/schemas/Pacs008ActiveOrHistoricCurrencyAndAmount"
                    },
                    "XchgRate": {
                        "type": "number"
                    },
                    "AgrdRate": {
                        "$ref": "#/components/schemas/Pacs008CurrencyExchange26"
                    },
                    "ChrgBr": {
                        "type": "string",
                        "enum": [
                            "DEBT",
                            "CRED",
                            "SHAR",
                            "SLEV"
                        ]
                    },
                    "ChrgsInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008Charges16"
                        }
                    },
                    "InstgAgt": {
                        "$ref": "#/components/schemas/Pacs008BranchAndFinancialInstitutionIdentification8"
                    },
                    "InstdAgt": {
                        "$ref": "#/components/schemas/Pacs008BranchAndFinancialInstitutionIdentification8"
                    },
                    "IntrmyAgt1": {
                        "$ref": "#/components/schemas/Pacs008BranchAndFinancialInstitutionIdentification8"
                    },
                    "IntrmyAgt1Acct": {
                        "$ref": "#/components/schemas/Pacs008CashAccount40"
                    },
                    "IntrmyAgt2": {
                        "$ref": "#/components/schemas/Pacs008BranchAndFinancialInstitutionIdentification8"
                    },
                    "IntrmyAgt2Acct": {
                        "$ref": "#/components/schemas/Pacs008CashAccount40"
                    },
                    "UltmtDbtr": {
                        "$ref": "#/components/schemas/Pacs008PartyIdentification272"
                    },
                    "InitgPty": {
                        "$ref": "#/components/schemas/Pacs008PartyIdentification272"
                    },
                    "Dbtr": {
                        "$ref": "#/components/schemas/Pacs008PartyIdentification272"
                    },
                    "DbtrAcct": {
                        "$ref": "#/components/schemas/Pacs008CashAccount40"
                    },
                    "DbtrAgt": {
                        "$ref": "#/components/schemas/Pacs008BranchAndFinancialInstitutionIdentification8"
                    },
                    "CdtrAgt": {
                        "$ref": "#/components/schemas/Pacs008BranchAndFinancialInstitutionIdentification8"
                    },
                    "Cdtr": {
                        "$ref": "#/components/schemas/Pacs008PartyIdentification272"
                    },
                    "CdtrAcct": {
                        "$ref": "#/components/schemas/Pacs008CashAccount40"
                    },
                    "UltmtCdtr": {
                        "$ref": "#/components/schemas/Pacs008PartyIdentification272"
                    },
                    "Purp": {
                        "$ref": "#/components/schemas/Pacs008Purpose2Choice"
                    },
                    "RgltryRptg": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008RegulatoryReporting3"
                        }
                    },
                    "RltdRmtInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008RemittanceLocation8"
                        }
                    },
                    "RmtInf": {
                        "$ref": "#/components/schemas/Pacs008RemittanceInformation22"
                    }
                },
                "required": [
                    "PmtId",
                    "IntrBkSttlmAmt",
                    "ChrgBr",
                    "Dbtr",
                    "DbtrAgt",
                    "CdtrAgt",
                    "Cdtr"
                ]
            },
            "Pacs008CreditorReferenceInformation3": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs008CreditorReferenceType3"
                    },
                    "Ref": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                }
            },
            "Pacs008CreditorReferenceType2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008CreditorReferenceType3": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs008CreditorReferenceType2Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs008CryptographicKey1Choice": {
                "type": "object"
            },
            "Pacs008CurrencyExchange26": {
                "type": "object",
                "properties": {
                    "UnitCcy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}"
                    },
                    "QtdCcy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}"
                    },
                    "PreAgrdXchgRate": {
                        "type": "number"
                    },
                    "QtnDtTm": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "QtId": {
                        "type": "string",
                        "pattern": "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"
                    },
                    "FXAgt": {
                        "$ref": "#/components/schemas/Pacs008BranchAndFinancialInstitutionIdentification8"
                    }
                },
                "required": [
                    "PreAgrdXchgRate"
                ]
            },
            "Pacs008DateAndType1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs008DateType2Choice"
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    }
                },
                "required": [
                    "Tp",
                    "Dt"
                ]
            },
            "Pacs008DatePeriod2": {
                "type": "object",
                "properties": {
                    "FrDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "ToDt": {
                        "type": "string",
                        "format": "date"
                    }
                },
                "required": [
                    "FrDt",
                    "ToDt"
                ]
            },
            "Pacs008DateType2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008Document": {
                "type": "object",
                "properties": {
                    "FIToFICstmrCdtTrf": {
                        "$ref": "#/components/schemas/Pacs008FIToFICustomerCreditTransferV13"
                    }
                },
                "required": [
                    "FIToFICstmrCdtTrf"
                ],
                "xml": {
                    "name": "Document",
                    "namespace": "urn:iso:std:iso:20022:tech:xsd:pacs.008.001.13"
                }
            },
            "Pacs008DocumentAdjustment1": {
                "type": "object",
                "properties": {
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs008ActiveOrHistoricCurrencyAndAmount"
                    },
                    "CdtDbtInd": {
                        "type": "string",
                        "enum": [
                            "CRDT",
                            "DBIT"
                        ]
                    },
                    "Rsn": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "AddtlInf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                },
                "required": [
                    "Amt"
                ]
            },
            "Pacs008DocumentAmount1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs008DocumentAmountType1Choice"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs008ActiveOrHistoricCurrencyAndAmount"
                    }
                },
                "required": [
                    "Tp",
                    "Amt"
                ]
            },
            "Pacs008DocumentAmountType1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008DocumentLineIdentification1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs008DocumentLineType1"
                    },
                    "Nb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RltdDt": {
                        "type": "string",
                        "format": "date"
                    }
                }
            },
            "Pacs008DocumentLineInformation2": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008DocumentLineIdentification1"
                        }
                    },
                    "Desc": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs008RemittanceAmount4"
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Pacs008DocumentLineType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs008DocumentLineType1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs008DocumentLineType1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008DocumentType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs008DocumentType2Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs008DocumentType2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008FIToFICustomerCreditTransferV13": {
                "type": "object",
                "properties": {
                    "GrpHdr": {
                        "$ref": "#/components/schemas/Pacs008GroupHeader131"
                    },
                    "CdtTrfTxInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008CreditTransferTransaction70"
                        }
                    }
                },
                "required": [
                    "GrpHdr",
                    "CdtTrfTxInf"
                ]
            },
            "Pacs008FinancialIdentificationSchemeName1Choice": {
                "type": "object"
            },
            "Pacs008FinancialInstitutionIdentification23": {
                "type": "object",
                "properties": {
                    "BICFI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"
                    },
                    "ClrSysMmbId": {
                        "$ref": "#/components/schemas/Pacs008ClearingSystemMemberIdentification2"
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                }
            },
            "Pacs008Frequency36Choice": {
                "type": "object"
            },
            "Pacs008Garnishment4": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs008GarnishmentType1"
                    },
                    "Grnshee": {
                        "$ref": "#/components/schemas/Pacs008PartyIdentification272"
                    },
                    "GrnshmtAdmstr": {
                        "$ref": "#/components/schemas/Pacs008PartyIdentification272"
                    },
                    "RefNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    },
                    "RmtdAmt": {
                        "$ref": "#/components/schemas/Pacs008ActiveOrHistoricCurrencyAndAmount"
                    },
                    "FmlyMdclInsrncInd": {
                        "type": "boolean"
                    },
                    "MplyeeTermntnInd": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "Tp"
                ]
            },
            "Pacs008GarnishmentType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs008GarnishmentType1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs008GarnishmentType1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008GenericFinancialIdentification1": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Pacs008FinancialIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Pacs008GroupHeader131": {
                "type": "object",
                "properties": {
                    "MsgId": {
                        "type": "string",
                        "minLength": 35,
                        "maxLength": 35,
                        "pattern": "[0-9]{8}NXPS081[A-Z0-9]{8}[A-Z0-9]{11}X",
                        "description": "Nexus message identifier, 35 characters: YYYYMMDD + NX + message-type code + sequence(8) + sender BIC-11 + literal X."
                    },
                    "CreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "NbOfTxs": {
                        "type": "string",
                        "enum": [
                            "1"
                        ],
                        "description": "Fixed value 1: one transaction per pacs.008 in Nexus."
                    },
                    "CtrlSum": {
                        "type": "number"
                    },
                    "TtlIntrBkSttlmAmt": {
                        "$ref": "#/components/schemas/Pacs008ActiveCurrencyAndAmount"
                    },
                    "SttlmInf": {
                        "$ref": "#/components/schemas/Pacs008SettlementInstruction15"
                    }
                },
                "required": [
                    "MsgId",
                    "CreDtTm",
                    "NbOfTxs",
                    "SttlmInf"
                ]
            },
            "Pacs008InstructionForCreditorAgent3": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "InstrInf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                }
            },
            "Pacs008InstructionForNextAgent1": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "enum": [
                            "PHOA",
                            "TELA"
                        ]
                    },
                    "InstrInf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                }
            },
            "Pacs008LocalInstrument2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "enum": [
                            "INST",
                            "RTR",
                            "POS"
                        ],
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008MandateClassification1Choice": {
                "type": "object"
            },
            "Pacs008MandateSetupReason1Choice": {
                "type": "object"
            },
            "Pacs008MandateTypeInformation2": {
                "type": "object",
                "properties": {
                    "SvcLvl": {
                        "$ref": "#/components/schemas/Pacs008ServiceLevel8Choice"
                    },
                    "LclInstrm": {
                        "$ref": "#/components/schemas/Pacs008LocalInstrument2Choice"
                    },
                    "CtgyPurp": {
                        "$ref": "#/components/schemas/Pacs008CategoryPurpose1Choice"
                    },
                    "Clssfctn": {
                        "$ref": "#/components/schemas/Pacs008MandateClassification1Choice"
                    }
                }
            },
            "Pacs008NameAndAddress18": {
                "type": "object",
                "properties": {
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Adr": {
                        "$ref": "#/components/schemas/Pacs008PostalAddress27"
                    }
                },
                "required": [
                    "Nm",
                    "Adr"
                ]
            },
            "Pacs008OtherContact1": {
                "type": "object",
                "properties": {
                    "ChanlTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                    }
                },
                "required": [
                    "ChanlTp"
                ]
            },
            "Pacs008Party52Choice": {
                "type": "object",
                "properties": {
                    "OrgId": {
                        "$ref": "#/components/schemas/Pacs008OrganisationIdentification39"
                    },
                    "PrvtId": {
                        "$ref": "#/components/schemas/Pacs008PersonIdentification18"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "OrgId"
                        ]
                    },
                    {
                        "required": [
                            "PrvtId"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Pacs008PartyIdentification272": {
                "type": "object",
                "properties": {
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Pacs008PostalAddress27"
                    },
                    "Id": {
                        "$ref": "#/components/schemas/Pacs008Party52Choice"
                    },
                    "CtryOfRes": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "CtctDtls": {
                        "$ref": "#/components/schemas/Pacs008Contact13"
                    }
                }
            },
            "Pacs008PaymentIdentification13": {
                "type": "object",
                "properties": {
                    "InstrId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "EndToEndId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "UETR": {
                        "type": "string",
                        "pattern": "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"
                    },
                    "ClrSysRef": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "EndToEndId"
                ]
            },
            "Pacs008PaymentTypeInformation28": {
                "type": "object",
                "properties": {
                    "InstrPrty": {
                        "type": "string",
                        "enum": [
                            "HIGH",
                            "NORM"
                        ]
                    },
                    "SvcLvl": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008ServiceLevel8Choice"
                        }
                    },
                    "LclInstrm": {
                        "$ref": "#/components/schemas/Pacs008LocalInstrument2Choice"
                    },
                    "CtgyPurp": {
                        "$ref": "#/components/schemas/Pacs008CategoryPurpose1Choice"
                    }
                }
            },
            "Pacs008PostalAddress27": {
                "type": "object",
                "properties": {
                    "AdrTp": {
                        "$ref": "#/components/schemas/Pacs008AddressType3Choice"
                    },
                    "CareOf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "SubDept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "StrtNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "BldgNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "BldgNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Flr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "UnitNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "PstBx": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "Room": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "PstCd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "TwnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "TwnLctnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "DstrctNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "CtrySubDvsn": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Ctry": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "AdrLine": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                        }
                    }
                }
            },
            "Pacs008ProxyAccountIdentification1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs008ProxyAccountType1Choice"
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Pacs008ProxyAccountType1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008Purpose2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008ReferredDocumentInformation8": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs008DocumentType1"
                    },
                    "Nb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RltdDt": {
                        "$ref": "#/components/schemas/Pacs008DateAndType1"
                    },
                    "LineDtls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008DocumentLineInformation2"
                        }
                    }
                }
            },
            "Pacs008RegulatoryAuthority2": {
                "type": "object",
                "properties": {
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Ctry": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    }
                }
            },
            "Pacs008RegulatoryReporting3": {
                "type": "object",
                "properties": {
                    "DbtCdtRptgInd": {
                        "type": "string",
                        "enum": [
                            "CRED",
                            "DEBT",
                            "BOTH"
                        ]
                    },
                    "Authrty": {
                        "$ref": "#/components/schemas/Pacs008RegulatoryAuthority2"
                    },
                    "Dtls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008StructuredRegulatoryReporting3"
                        }
                    }
                }
            },
            "Pacs008RemittanceAmount4": {
                "type": "object",
                "properties": {
                    "RmtAmtAndTp": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008DocumentAmount1"
                        }
                    },
                    "AdjstmntAmtAndRsn": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008DocumentAdjustment1"
                        }
                    }
                }
            },
            "Pacs008RemittanceInformation22": {
                "type": "object",
                "properties": {
                    "Ustrd": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                        }
                    },
                    "Strd": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008StructuredRemittanceInformation18"
                        }
                    }
                }
            },
            "Pacs008RemittanceLocation8": {
                "type": "object",
                "properties": {
                    "RmtId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RmtLctnDtls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008RemittanceLocationData2"
                        }
                    }
                }
            },
            "Pacs008RemittanceLocationData2": {
                "type": "object",
                "properties": {
                    "Mtd": {
                        "type": "string",
                        "enum": [
                            "FAXI",
                            "EDIC",
                            "URID",
                            "EMAL",
                            "POST",
                            "SMSM"
                        ]
                    },
                    "ElctrncAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Pacs008NameAndAddress18"
                    }
                },
                "required": [
                    "Mtd"
                ]
            },
            "Pacs008ServiceLevel8Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008SettlementDateTimeIndication1": {
                "type": "object",
                "properties": {
                    "DbtDtTm": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "CdtDtTm": {
                        "type": "string",
                        "format": "date-time"
                    }
                }
            },
            "Pacs008SettlementInstruction15": {
                "type": "object",
                "properties": {
                    "SttlmMtd": {
                        "type": "string",
                        "enum": [
                            "INDA",
                            "INGA",
                            "COVE",
                            "CLRG"
                        ]
                    },
                    "ClrSys": {
                        "$ref": "#/components/schemas/Pacs008ClearingSystemIdentification3Choice"
                    }
                },
                "required": [
                    "SttlmMtd"
                ]
            },
            "Pacs008SettlementTimeRequest2": {
                "type": "object",
                "properties": {
                    "CLSTm": {
                        "type": "string"
                    },
                    "TillTm": {
                        "type": "string"
                    },
                    "FrTm": {
                        "type": "string"
                    },
                    "RjctTm": {
                        "type": "string"
                    }
                }
            },
            "Pacs008StructuredRegulatoryReporting3": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    },
                    "Ctry": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 10
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs008ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Inf": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                        }
                    }
                }
            },
            "Pacs008StructuredRemittanceInformation18": {
                "type": "object",
                "properties": {
                    "RfrdDocInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008ReferredDocumentInformation8"
                        }
                    },
                    "RfrdDocAmt": {
                        "$ref": "#/components/schemas/Pacs008RemittanceAmount4"
                    },
                    "CdtrRefInf": {
                        "$ref": "#/components/schemas/Pacs008CreditorReferenceInformation3"
                    },
                    "Invcr": {
                        "$ref": "#/components/schemas/Pacs008PartyIdentification272"
                    },
                    "Invcee": {
                        "$ref": "#/components/schemas/Pacs008PartyIdentification272"
                    },
                    "TaxRmt": {
                        "$ref": "#/components/schemas/Pacs008TaxData1"
                    },
                    "GrnshmtRmt": {
                        "$ref": "#/components/schemas/Pacs008Garnishment4"
                    },
                    "AddtlRmtInf": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                        }
                    }
                }
            },
            "Pacs008SupplementaryData1": {
                "type": "object",
                "properties": {
                    "PlcAndNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 350
                    },
                    "Envlp": {
                        "$ref": "#/components/schemas/Pacs008SupplementaryDataEnvelope1"
                    }
                },
                "required": [
                    "Envlp"
                ]
            },
            "Pacs008SupplementaryDataEnvelope1": {
                "type": "object"
            },
            "Pacs008TaxAmount3": {
                "type": "object",
                "properties": {
                    "Rate": {
                        "type": "number"
                    },
                    "TaxblBaseAmt": {
                        "$ref": "#/components/schemas/Pacs008ActiveOrHistoricCurrencyAndAmount"
                    },
                    "TtlAmt": {
                        "$ref": "#/components/schemas/Pacs008ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Dtls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008TaxRecordDetails3"
                        }
                    }
                }
            },
            "Pacs008TaxAuthorisation1": {
                "type": "object",
                "properties": {
                    "Titl": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                }
            },
            "Pacs008TaxData1": {
                "type": "object",
                "properties": {
                    "Cdtr": {
                        "$ref": "#/components/schemas/Pacs008TaxParty1"
                    },
                    "Dbtr": {
                        "$ref": "#/components/schemas/Pacs008TaxParty2"
                    },
                    "UltmtDbtr": {
                        "$ref": "#/components/schemas/Pacs008TaxParty2"
                    },
                    "AdmstnZone": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RefNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Mtd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TtlTaxblBaseAmt": {
                        "$ref": "#/components/schemas/Pacs008ActiveOrHistoricCurrencyAndAmount"
                    },
                    "TtlTaxAmt": {
                        "$ref": "#/components/schemas/Pacs008ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    },
                    "SeqNb": {
                        "type": "number"
                    },
                    "Rcrd": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008TaxRecord3"
                        }
                    }
                }
            },
            "Pacs008TaxParty1": {
                "type": "object",
                "properties": {
                    "TaxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RegnId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TaxTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                }
            },
            "Pacs008TaxParty2": {
                "type": "object",
                "properties": {
                    "TaxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RegnId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TaxTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Authstn": {
                        "$ref": "#/components/schemas/Pacs008TaxAuthorisation1"
                    }
                }
            },
            "Pacs008TaxPeriod3": {
                "type": "object",
                "properties": {
                    "Yr": {
                        "type": "string"
                    },
                    "Tp": {
                        "type": "string",
                        "enum": [
                            "MM01",
                            "MM02",
                            "MM03",
                            "MM04",
                            "MM05",
                            "MM06",
                            "MM07",
                            "MM08",
                            "MM09",
                            "MM10",
                            "MM11",
                            "MM12",
                            "QTR1",
                            "QTR2",
                            "QTR3",
                            "QTR4",
                            "HLF1",
                            "HLF2"
                        ]
                    },
                    "FrToDt": {
                        "$ref": "#/components/schemas/Pacs008DatePeriod2"
                    }
                }
            },
            "Pacs008TaxRecord3": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Ctgy": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "CtgyDtls": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "DbtrSts": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "CertId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "FrmsCd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Prd": {
                        "$ref": "#/components/schemas/Pacs008TaxPeriod3"
                    },
                    "TaxAmt": {
                        "$ref": "#/components/schemas/Pacs008TaxAmount3"
                    },
                    "AddtlInf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                }
            },
            "Pacs008TaxRecordDetails3": {
                "type": "object",
                "properties": {
                    "Prd": {
                        "$ref": "#/components/schemas/Pacs008TaxPeriod3"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs008ActiveOrHistoricCurrencyAndAmount"
                    }
                },
                "required": [
                    "Amt"
                ]
            },
            "Pacs002AccountIdentification4Choice": {
                "type": "object"
            },
            "Pacs002ActiveOrHistoricCurrencyAndAmount": {
                "type": "object",
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0.0
                    },
                    "Ccy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}",
                        "xml": {
                            "attribute": true
                        }
                    }
                },
                "required": [
                    "value",
                    "Ccy"
                ]
            },
            "Pacs002AddressType3Choice": {
                "type": "object"
            },
            "Pacs002AmountType4Choice": {
                "type": "object"
            },
            "Pacs002BranchAndFinancialInstitutionIdentification8": {
                "type": "object",
                "properties": {
                    "FinInstnId": {
                        "$ref": "#/components/schemas/Pacs002FinancialInstitutionIdentification23"
                    }
                },
                "required": [
                    "FinInstnId"
                ]
            },
            "Pacs002BranchData5": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Pacs002PostalAddress27"
                    }
                }
            },
            "Pacs002CashAccount40": {
                "type": "object",
                "properties": {
                    "Id": {
                        "$ref": "#/components/schemas/Pacs002AccountIdentification4Choice"
                    },
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs002CashAccountType2Choice"
                    },
                    "Ccy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "Prxy": {
                        "$ref": "#/components/schemas/Pacs002ProxyAccountIdentification1"
                    }
                }
            },
            "Pacs002CashAccountType2Choice": {
                "type": "object"
            },
            "Pacs002CategoryPurpose1Choice": {
                "type": "object"
            },
            "Pacs002ChargeType3Choice": {
                "type": "object"
            },
            "Pacs002Charges16": {
                "type": "object",
                "properties": {
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs002ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Agt": {
                        "$ref": "#/components/schemas/Pacs002BranchAndFinancialInstitutionIdentification8"
                    },
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs002ChargeType3Choice"
                    }
                },
                "required": [
                    "Amt",
                    "Agt"
                ]
            },
            "Pacs002ClearingSystemIdentification2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 5
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs002ClearingSystemIdentification3Choice": {
                "type": "object"
            },
            "Pacs002ClearingSystemMemberIdentification2": {
                "type": "object",
                "properties": {
                    "ClrSysId": {
                        "$ref": "#/components/schemas/Pacs002ClearingSystemIdentification2Choice"
                    },
                    "MmbId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "MmbId"
                ]
            },
            "Pacs002Contact13": {
                "type": "object",
                "properties": {
                    "NmPrfx": {
                        "type": "string",
                        "enum": [
                            "DOCT",
                            "MADM",
                            "MISS",
                            "MIST",
                            "MIKS"
                        ]
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PhneNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "MobNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "FaxNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "URLAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    },
                    "EmailAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                    },
                    "EmailPurp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "JobTitl": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Rspnsblty": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002OtherContact1"
                        }
                    },
                    "PrefrdMtd": {
                        "type": "string",
                        "enum": [
                            "MAIL",
                            "FAXX",
                            "LETT",
                            "CELL",
                            "ONLI",
                            "PHON"
                        ]
                    }
                }
            },
            "Pacs002CreditorReferenceInformation3": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs002CreditorReferenceType3"
                    },
                    "Ref": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                }
            },
            "Pacs002CreditorReferenceType2Choice": {
                "type": "object"
            },
            "Pacs002CreditorReferenceType3": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs002CreditorReferenceType2Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs002DateAndDateTime2Choice": {
                "type": "object",
                "properties": {
                    "Dt": {
                        "type": "string",
                        "format": "date",
                        "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}Z?$"
                    }
                },
                "required": [
                    "Dt"
                ],
                "additionalProperties": false
            },
            "Pacs002DateAndType1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs002DateType2Choice"
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    }
                },
                "required": [
                    "Tp",
                    "Dt"
                ]
            },
            "Pacs002DatePeriod2": {
                "type": "object",
                "properties": {
                    "FrDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "ToDt": {
                        "type": "string",
                        "format": "date"
                    }
                },
                "required": [
                    "FrDt",
                    "ToDt"
                ]
            },
            "Pacs002DateType2Choice": {
                "type": "object"
            },
            "Pacs002Document": {
                "type": "object",
                "properties": {
                    "FIToFIPmtStsRpt": {
                        "$ref": "#/components/schemas/Pacs002FIToFIPaymentStatusReportV15"
                    }
                },
                "required": [
                    "FIToFIPmtStsRpt"
                ],
                "xml": {
                    "name": "Document",
                    "namespace": "urn:iso:std:iso:20022:tech:xsd:pacs.002.001.15"
                }
            },
            "Pacs002DocumentAdjustment1": {
                "type": "object",
                "properties": {
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs002ActiveOrHistoricCurrencyAndAmount"
                    },
                    "CdtDbtInd": {
                        "type": "string",
                        "enum": [
                            "CRDT",
                            "DBIT"
                        ]
                    },
                    "Rsn": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "AddtlInf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                },
                "required": [
                    "Amt"
                ]
            },
            "Pacs002DocumentAmount1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs002DocumentAmountType1Choice"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs002ActiveOrHistoricCurrencyAndAmount"
                    }
                },
                "required": [
                    "Tp",
                    "Amt"
                ]
            },
            "Pacs002DocumentAmountType1Choice": {
                "type": "object"
            },
            "Pacs002DocumentLineIdentification1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs002DocumentLineType1"
                    },
                    "Nb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RltdDt": {
                        "type": "string",
                        "format": "date"
                    }
                }
            },
            "Pacs002DocumentLineInformation2": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002DocumentLineIdentification1"
                        }
                    },
                    "Desc": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs002RemittanceAmount4"
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Pacs002DocumentLineType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs002DocumentLineType1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs002DocumentLineType1Choice": {
                "type": "object"
            },
            "Pacs002DocumentType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs002DocumentType2Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs002DocumentType2Choice": {
                "type": "object"
            },
            "Pacs002FIToFIPaymentStatusReportV15": {
                "type": "object",
                "properties": {
                    "GrpHdr": {
                        "$ref": "#/components/schemas/Pacs002GroupHeader120"
                    },
                    "TxInfAndSts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002PaymentTransaction164"
                        }
                    }
                },
                "required": [
                    "GrpHdr"
                ]
            },
            "Pacs002FinancialIdentificationSchemeName1Choice": {
                "type": "object"
            },
            "Pacs002FinancialInstitutionIdentification23": {
                "type": "object",
                "properties": {
                    "BICFI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"
                    },
                    "ClrSysMmbId": {
                        "$ref": "#/components/schemas/Pacs002ClearingSystemMemberIdentification2"
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Pacs002PostalAddress27"
                    }
                }
            },
            "Pacs002Garnishment4": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs002GarnishmentType1"
                    },
                    "Grnshee": {
                        "$ref": "#/components/schemas/Pacs002PartyIdentification272"
                    },
                    "GrnshmtAdmstr": {
                        "$ref": "#/components/schemas/Pacs002PartyIdentification272"
                    },
                    "RefNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    },
                    "RmtdAmt": {
                        "$ref": "#/components/schemas/Pacs002ActiveOrHistoricCurrencyAndAmount"
                    },
                    "FmlyMdclInsrncInd": {
                        "type": "boolean"
                    },
                    "MplyeeTermntnInd": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "Tp"
                ]
            },
            "Pacs002GarnishmentType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Pacs002GarnishmentType1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Pacs002GarnishmentType1Choice": {
                "type": "object"
            },
            "Pacs002GenericFinancialIdentification1": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Pacs002FinancialIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Pacs002GroupHeader120": {
                "type": "object",
                "properties": {
                    "MsgId": {
                        "type": "string",
                        "minLength": 35,
                        "maxLength": 35,
                        "pattern": "[0-9]{8}NXPS021[A-Z0-9]{8}[A-Z0-9]{11}X",
                        "description": "Nexus message identifier, 35 characters: YYYYMMDD + NX + message-type code + sequence(8) + sender BIC-11 + literal X."
                    },
                    "CreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "MsgId",
                    "CreDtTm"
                ]
            },
            "Pacs002LocalInstrument2Choice": {
                "type": "object"
            },
            "Pacs002MandateRelatedData3Choice": {
                "type": "object"
            },
            "Pacs002NumberOfTransactionsPerStatus5": {
                "type": "object",
                "properties": {
                    "DtldNbOfTxs": {
                        "type": "string",
                        "pattern": "[0-9]{1,15}"
                    },
                    "DtldSts": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "DtldCtrlSum": {
                        "type": "number"
                    }
                },
                "required": [
                    "DtldNbOfTxs",
                    "DtldSts"
                ]
            },
            "Pacs002OriginalBusinessQuery1": {
                "type": "object",
                "properties": {
                    "MsgId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "MsgNmId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "CreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "MsgId"
                ]
            },
            "Pacs002OriginalGroupHeader22": {
                "type": "object",
                "properties": {
                    "OrgnlMsgId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlMsgNmId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlCreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "OrgnlNbOfTxs": {
                        "type": "string",
                        "pattern": "[0-9]{1,15}"
                    },
                    "OrgnlCtrlSum": {
                        "type": "number"
                    },
                    "GrpSts": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "StsRsnInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002StatusReasonInformation14"
                        }
                    },
                    "NbOfTxsPerSts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002NumberOfTransactionsPerStatus5"
                        }
                    }
                },
                "required": [
                    "OrgnlMsgId",
                    "OrgnlMsgNmId"
                ]
            },
            "Pacs002OriginalGroupInformation29": {
                "type": "object",
                "properties": {
                    "OrgnlMsgId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlMsgNmId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlCreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "OrgnlMsgId",
                    "OrgnlMsgNmId"
                ]
            },
            "Pacs002OriginalTransactionReference42": {
                "type": "object",
                "properties": {
                    "IntrBkSttlmAmt": {
                        "$ref": "#/components/schemas/Pacs002ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs002AmountType4Choice"
                    },
                    "IntrBkSttlmDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "ReqdColltnDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "ReqdExctnDt": {
                        "$ref": "#/components/schemas/Pacs002DateAndDateTime2Choice"
                    },
                    "CdtrSchmeId": {
                        "$ref": "#/components/schemas/Pacs002PartyIdentification272"
                    },
                    "SttlmInf": {
                        "$ref": "#/components/schemas/Pacs002SettlementInstruction15"
                    },
                    "PmtTpInf": {
                        "$ref": "#/components/schemas/Pacs002PaymentTypeInformation27"
                    },
                    "PmtMtd": {
                        "type": "string",
                        "enum": [
                            "CHK",
                            "TRF",
                            "DD",
                            "TRA"
                        ]
                    },
                    "MndtRltdInf": {
                        "$ref": "#/components/schemas/Pacs002MandateRelatedData3Choice"
                    },
                    "RmtInf": {
                        "$ref": "#/components/schemas/Pacs002RemittanceInformation22"
                    },
                    "UltmtDbtr": {
                        "$ref": "#/components/schemas/Pacs002Party50Choice"
                    },
                    "Dbtr": {
                        "$ref": "#/components/schemas/Pacs002Party50Choice"
                    },
                    "DbtrAcct": {
                        "$ref": "#/components/schemas/Pacs002CashAccount40"
                    },
                    "DbtrAgt": {
                        "$ref": "#/components/schemas/Pacs002BranchAndFinancialInstitutionIdentification8"
                    },
                    "DbtrAgtAcct": {
                        "$ref": "#/components/schemas/Pacs002CashAccount40"
                    },
                    "CdtrAgt": {
                        "$ref": "#/components/schemas/Pacs002BranchAndFinancialInstitutionIdentification8"
                    },
                    "CdtrAgtAcct": {
                        "$ref": "#/components/schemas/Pacs002CashAccount40"
                    },
                    "Cdtr": {
                        "$ref": "#/components/schemas/Pacs002Party50Choice"
                    },
                    "CdtrAcct": {
                        "$ref": "#/components/schemas/Pacs002CashAccount40"
                    },
                    "UltmtCdtr": {
                        "$ref": "#/components/schemas/Pacs002Party50Choice"
                    },
                    "Purp": {
                        "$ref": "#/components/schemas/Pacs002Purpose2Choice"
                    }
                }
            },
            "Pacs002OtherContact1": {
                "type": "object",
                "properties": {
                    "ChanlTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                    }
                },
                "required": [
                    "ChanlTp"
                ]
            },
            "Pacs002Party50Choice": {
                "type": "object"
            },
            "Pacs002Party52Choice": {
                "type": "object",
                "properties": {
                    "OrgId": {
                        "$ref": "#/components/schemas/Pacs002OrganisationIdentification39"
                    },
                    "PrvtId": {
                        "$ref": "#/components/schemas/Pacs002PersonIdentification18"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "OrgId"
                        ]
                    },
                    {
                        "required": [
                            "PrvtId"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Pacs002PartyIdentification272": {
                "type": "object",
                "properties": {
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Pacs002PostalAddress27"
                    },
                    "Id": {
                        "$ref": "#/components/schemas/Pacs002Party52Choice"
                    },
                    "CtryOfRes": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "CtctDtls": {
                        "$ref": "#/components/schemas/Pacs002Contact13"
                    }
                }
            },
            "Pacs002PaymentTransaction164": {
                "type": "object",
                "properties": {
                    "OrgnlGrpInf": {
                        "$ref": "#/components/schemas/Pacs002OriginalGroupInformation29"
                    },
                    "OrgnlInstrId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlEndToEndId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlTxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlUETR": {
                        "type": "string",
                        "pattern": "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"
                    },
                    "TxSts": {
                        "type": "string",
                        "enum": [
                            "ACCC",
                            "ACWP",
                            "BLCK",
                            "RJCT",
                            "PDNG"
                        ]
                    },
                    "StsRsnInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002StatusReasonInformation14"
                        }
                    },
                    "FctvIntrBkSttlmDt": {
                        "$ref": "#/components/schemas/Pacs002DateAndDateTime2Choice"
                    },
                    "ClrSysRef": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "InstgAgt": {
                        "$ref": "#/components/schemas/Pacs002BranchAndFinancialInstitutionIdentification8"
                    },
                    "InstdAgt": {
                        "$ref": "#/components/schemas/Pacs002BranchAndFinancialInstitutionIdentification8"
                    }
                }
            },
            "Pacs002PaymentTypeInformation27": {
                "type": "object",
                "properties": {
                    "InstrPrty": {
                        "type": "string",
                        "enum": [
                            "HIGH",
                            "NORM"
                        ]
                    },
                    "ClrChanl": {
                        "type": "string",
                        "enum": [
                            "RTGS",
                            "RTNS",
                            "MPNS",
                            "BOOK"
                        ]
                    },
                    "SvcLvl": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002ServiceLevel8Choice"
                        }
                    },
                    "LclInstrm": {
                        "$ref": "#/components/schemas/Pacs002LocalInstrument2Choice"
                    },
                    "SeqTp": {
                        "type": "string",
                        "enum": [
                            "FRST",
                            "RCUR",
                            "FNAL",
                            "OOFF",
                            "RPRE"
                        ]
                    },
                    "CtgyPurp": {
                        "$ref": "#/components/schemas/Pacs002CategoryPurpose1Choice"
                    }
                }
            },
            "Pacs002PostalAddress27": {
                "type": "object",
                "properties": {
                    "CareOf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "SubDept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "StrtNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "BldgNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "BldgNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Flr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "UnitNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "PstBx": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "Room": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "PstCd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "TwnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "TwnLctnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "DstrctNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "CtrySubDvsn": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Ctry": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "AdrLine": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                        }
                    }
                }
            },
            "Pacs002ProxyAccountIdentification1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs002ProxyAccountType1Choice"
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Pacs002ProxyAccountType1Choice": {
                "type": "object"
            },
            "Pacs002Purpose2Choice": {
                "type": "object"
            },
            "Pacs002ReferredDocumentInformation8": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Pacs002DocumentType1"
                    },
                    "Nb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RltdDt": {
                        "$ref": "#/components/schemas/Pacs002DateAndType1"
                    },
                    "LineDtls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002DocumentLineInformation2"
                        }
                    }
                }
            },
            "Pacs002RemittanceAmount4": {
                "type": "object",
                "properties": {
                    "RmtAmtAndTp": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002DocumentAmount1"
                        }
                    },
                    "AdjstmntAmtAndRsn": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002DocumentAdjustment1"
                        }
                    }
                }
            },
            "Pacs002RemittanceInformation22": {
                "type": "object",
                "properties": {
                    "Ustrd": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                        }
                    },
                    "Strd": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002StructuredRemittanceInformation18"
                        }
                    }
                }
            },
            "Pacs002ServiceLevel8Choice": {
                "type": "object"
            },
            "Pacs002SettlementInstruction15": {
                "type": "object",
                "properties": {
                    "SttlmMtd": {
                        "type": "string",
                        "enum": [
                            "INDA",
                            "INGA",
                            "COVE",
                            "CLRG"
                        ]
                    },
                    "SttlmAcct": {
                        "$ref": "#/components/schemas/Pacs002CashAccount40"
                    },
                    "ClrSys": {
                        "$ref": "#/components/schemas/Pacs002ClearingSystemIdentification3Choice"
                    },
                    "InstgRmbrsmntAgt": {
                        "$ref": "#/components/schemas/Pacs002BranchAndFinancialInstitutionIdentification8"
                    },
                    "InstgRmbrsmntAgtAcct": {
                        "$ref": "#/components/schemas/Pacs002CashAccount40"
                    },
                    "InstdRmbrsmntAgt": {
                        "$ref": "#/components/schemas/Pacs002BranchAndFinancialInstitutionIdentification8"
                    },
                    "InstdRmbrsmntAgtAcct": {
                        "$ref": "#/components/schemas/Pacs002CashAccount40"
                    },
                    "ThrdRmbrsmntAgt": {
                        "$ref": "#/components/schemas/Pacs002BranchAndFinancialInstitutionIdentification8"
                    },
                    "ThrdRmbrsmntAgtAcct": {
                        "$ref": "#/components/schemas/Pacs002CashAccount40"
                    }
                },
                "required": [
                    "SttlmMtd"
                ]
            },
            "Pacs002StatusReason6Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs002StatusReasonInformation14": {
                "type": "object",
                "properties": {
                    "Orgtr": {
                        "$ref": "#/components/schemas/Pacs002PartyIdentification272"
                    },
                    "Rsn": {
                        "$ref": "#/components/schemas/Pacs002StatusReason6Choice"
                    },
                    "AddtlInf": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 105
                        }
                    }
                }
            },
            "Pacs002StructuredRemittanceInformation18": {
                "type": "object",
                "properties": {
                    "RfrdDocInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002ReferredDocumentInformation8"
                        }
                    },
                    "RfrdDocAmt": {
                        "$ref": "#/components/schemas/Pacs002RemittanceAmount4"
                    },
                    "CdtrRefInf": {
                        "$ref": "#/components/schemas/Pacs002CreditorReferenceInformation3"
                    },
                    "Invcr": {
                        "$ref": "#/components/schemas/Pacs002PartyIdentification272"
                    },
                    "Invcee": {
                        "$ref": "#/components/schemas/Pacs002PartyIdentification272"
                    },
                    "TaxRmt": {
                        "$ref": "#/components/schemas/Pacs002TaxData1"
                    },
                    "GrnshmtRmt": {
                        "$ref": "#/components/schemas/Pacs002Garnishment4"
                    },
                    "AddtlRmtInf": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                        }
                    }
                }
            },
            "Pacs002SupplementaryData1": {
                "type": "object",
                "properties": {
                    "PlcAndNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 350
                    },
                    "Envlp": {
                        "$ref": "#/components/schemas/Pacs002SupplementaryDataEnvelope1"
                    }
                },
                "required": [
                    "Envlp"
                ]
            },
            "Pacs002SupplementaryDataEnvelope1": {
                "type": "object"
            },
            "Pacs002TaxAmount3": {
                "type": "object",
                "properties": {
                    "Rate": {
                        "type": "number"
                    },
                    "TaxblBaseAmt": {
                        "$ref": "#/components/schemas/Pacs002ActiveOrHistoricCurrencyAndAmount"
                    },
                    "TtlAmt": {
                        "$ref": "#/components/schemas/Pacs002ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Dtls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002TaxRecordDetails3"
                        }
                    }
                }
            },
            "Pacs002TaxAuthorisation1": {
                "type": "object",
                "properties": {
                    "Titl": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                }
            },
            "Pacs002TaxData1": {
                "type": "object",
                "properties": {
                    "Cdtr": {
                        "$ref": "#/components/schemas/Pacs002TaxParty1"
                    },
                    "Dbtr": {
                        "$ref": "#/components/schemas/Pacs002TaxParty2"
                    },
                    "UltmtDbtr": {
                        "$ref": "#/components/schemas/Pacs002TaxParty2"
                    },
                    "AdmstnZone": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RefNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Mtd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TtlTaxblBaseAmt": {
                        "$ref": "#/components/schemas/Pacs002ActiveOrHistoricCurrencyAndAmount"
                    },
                    "TtlTaxAmt": {
                        "$ref": "#/components/schemas/Pacs002ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    },
                    "SeqNb": {
                        "type": "number"
                    },
                    "Rcrd": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002TaxRecord3"
                        }
                    }
                }
            },
            "Pacs002TaxParty1": {
                "type": "object",
                "properties": {
                    "TaxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RegnId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TaxTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                }
            },
            "Pacs002TaxParty2": {
                "type": "object",
                "properties": {
                    "TaxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RegnId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TaxTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Authstn": {
                        "$ref": "#/components/schemas/Pacs002TaxAuthorisation1"
                    }
                }
            },
            "Pacs002TaxPeriod3": {
                "type": "object",
                "properties": {
                    "Yr": {
                        "type": "string"
                    },
                    "Tp": {
                        "type": "string",
                        "enum": [
                            "MM01",
                            "MM02",
                            "MM03",
                            "MM04",
                            "MM05",
                            "MM06",
                            "MM07",
                            "MM08",
                            "MM09",
                            "MM10",
                            "MM11",
                            "MM12",
                            "QTR1",
                            "QTR2",
                            "QTR3",
                            "QTR4",
                            "HLF1",
                            "HLF2"
                        ]
                    },
                    "FrToDt": {
                        "$ref": "#/components/schemas/Pacs002DatePeriod2"
                    }
                }
            },
            "Pacs002TaxRecord3": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Ctgy": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "CtgyDtls": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "DbtrSts": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "CertId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "FrmsCd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Prd": {
                        "$ref": "#/components/schemas/Pacs002TaxPeriod3"
                    },
                    "TaxAmt": {
                        "$ref": "#/components/schemas/Pacs002TaxAmount3"
                    },
                    "AddtlInf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                }
            },
            "Pacs002TaxRecordDetails3": {
                "type": "object",
                "properties": {
                    "Prd": {
                        "$ref": "#/components/schemas/Pacs002TaxPeriod3"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs002ActiveOrHistoricCurrencyAndAmount"
                    }
                },
                "required": [
                    "Amt"
                ]
            },
            "Camt029AccountIdentification4Choice": {
                "type": "object"
            },
            "Camt029ActiveCurrencyAndAmount": {
                "type": "object",
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0.0
                    },
                    "Ccy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}",
                        "xml": {
                            "attribute": true
                        }
                    }
                },
                "required": [
                    "value",
                    "Ccy"
                ]
            },
            "Camt029ActiveOrHistoricCurrencyAndAmount": {
                "type": "object",
                "properties": {
                    "value": {
                        "type": "number",
                        "minimum": 0.0
                    },
                    "Ccy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}",
                        "xml": {
                            "attribute": true
                        }
                    }
                },
                "required": [
                    "value",
                    "Ccy"
                ]
            },
            "Camt029AddressType3Choice": {
                "type": "object"
            },
            "Camt029AmountType4Choice": {
                "type": "object"
            },
            "Camt029BranchAndFinancialInstitutionIdentification8": {
                "type": "object",
                "properties": {
                    "FinInstnId": {
                        "$ref": "#/components/schemas/Camt029FinancialInstitutionIdentification23"
                    }
                },
                "required": [
                    "FinInstnId"
                ]
            },
            "Camt029BranchData5": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Camt029PostalAddress27"
                    }
                }
            },
            "Camt029CancellationStatusReason3Choice": {
                "type": "object"
            },
            "Camt029CancellationStatusReason5": {
                "type": "object",
                "properties": {
                    "Orgtr": {
                        "$ref": "#/components/schemas/Camt029PartyIdentification272"
                    },
                    "Rsn": {
                        "$ref": "#/components/schemas/Camt029CancellationStatusReason3Choice"
                    },
                    "AddtlInf": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 105
                        }
                    }
                }
            },
            "Camt029Case6": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Cretr": {
                        "$ref": "#/components/schemas/Camt029Party50Choice"
                    },
                    "ReopCaseIndctn": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "Id",
                    "Cretr"
                ]
            },
            "Camt029CaseAssignment6": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 35,
                        "maxLength": 35,
                        "pattern": "[0-9]{8}NXCA291[A-Z0-9]{8}[A-Z0-9]{11}X",
                        "description": "Nexus message identifier, 35 characters: YYYYMMDD + NX + message-type code + sequence(8) + sender BIC-11 + literal X."
                    },
                    "Assgnr": {
                        "$ref": "#/components/schemas/Camt029Party50Choice"
                    },
                    "Assgne": {
                        "$ref": "#/components/schemas/Camt029Party50Choice"
                    },
                    "CreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "Id",
                    "Assgnr",
                    "Assgne",
                    "CreDtTm"
                ]
            },
            "Camt029CashAccount40": {
                "type": "object",
                "properties": {
                    "Id": {
                        "$ref": "#/components/schemas/Camt029AccountIdentification4Choice"
                    },
                    "Tp": {
                        "$ref": "#/components/schemas/Camt029CashAccountType2Choice"
                    },
                    "Ccy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "Prxy": {
                        "$ref": "#/components/schemas/Camt029ProxyAccountIdentification1"
                    }
                }
            },
            "Camt029CashAccountType2Choice": {
                "type": "object"
            },
            "Camt029CategoryPurpose1Choice": {
                "type": "object"
            },
            "Camt029ChargeType3Choice": {
                "type": "object"
            },
            "Camt029Charges14": {
                "type": "object",
                "properties": {
                    "Amt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Agt": {
                        "$ref": "#/components/schemas/Camt029BranchAndFinancialInstitutionIdentification8"
                    },
                    "AgtAcct": {
                        "$ref": "#/components/schemas/Camt029CashAccount40"
                    },
                    "Tp": {
                        "$ref": "#/components/schemas/Camt029ChargeType3Choice"
                    }
                },
                "required": [
                    "Amt",
                    "Agt"
                ]
            },
            "Camt029Charges15": {
                "type": "object",
                "properties": {
                    "TtlChrgsAndTaxAmt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Rcrd": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029ChargesRecord8"
                        }
                    }
                }
            },
            "Camt029ChargesRecord8": {
                "type": "object",
                "properties": {
                    "Amt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "CdtDbtInd": {
                        "type": "string",
                        "enum": [
                            "CRDT",
                            "DBIT"
                        ]
                    },
                    "ChrgInclInd": {
                        "type": "boolean"
                    },
                    "Tp": {
                        "$ref": "#/components/schemas/Camt029ChargeType3Choice"
                    },
                    "Rate": {
                        "type": "number"
                    },
                    "Br": {
                        "type": "string",
                        "enum": [
                            "DEBT",
                            "CRED",
                            "SHAR",
                            "SLEV"
                        ]
                    },
                    "Agt": {
                        "$ref": "#/components/schemas/Camt029BranchAndFinancialInstitutionIdentification8"
                    },
                    "Tax": {
                        "$ref": "#/components/schemas/Camt029TaxCharges2"
                    }
                },
                "required": [
                    "Amt"
                ]
            },
            "Camt029ClaimNonReceipt3Choice": {
                "type": "object"
            },
            "Camt029ClearingSystemIdentification2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 5
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Camt029ClearingSystemIdentification3Choice": {
                "type": "object"
            },
            "Camt029ClearingSystemMemberIdentification2": {
                "type": "object",
                "properties": {
                    "ClrSysId": {
                        "$ref": "#/components/schemas/Camt029ClearingSystemIdentification2Choice"
                    },
                    "MmbId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "MmbId"
                ]
            },
            "Camt029Compensation5": {
                "type": "object",
                "properties": {
                    "Amt": {
                        "$ref": "#/components/schemas/Camt029ActiveCurrencyAndAmount"
                    },
                    "DbtrAgt": {
                        "$ref": "#/components/schemas/Camt029BranchAndFinancialInstitutionIdentification8"
                    },
                    "DbtrAgtAcct": {
                        "$ref": "#/components/schemas/Camt029CashAccount40"
                    },
                    "CdtrAgt": {
                        "$ref": "#/components/schemas/Camt029BranchAndFinancialInstitutionIdentification8"
                    },
                    "CdtrAgtAcct": {
                        "$ref": "#/components/schemas/Camt029CashAccount40"
                    },
                    "Rsn": {
                        "$ref": "#/components/schemas/Camt029CompensationReason1Choice"
                    }
                },
                "required": [
                    "Amt",
                    "DbtrAgt",
                    "CdtrAgt",
                    "Rsn"
                ]
            },
            "Camt029CompensationReason1Choice": {
                "type": "object"
            },
            "Camt029Contact13": {
                "type": "object",
                "properties": {
                    "NmPrfx": {
                        "type": "string",
                        "enum": [
                            "DOCT",
                            "MADM",
                            "MISS",
                            "MIST",
                            "MIKS"
                        ]
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PhneNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "MobNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "FaxNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "URLAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    },
                    "EmailAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                    },
                    "EmailPurp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "JobTitl": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Rspnsblty": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029OtherContact1"
                        }
                    },
                    "PrefrdMtd": {
                        "type": "string",
                        "enum": [
                            "MAIL",
                            "FAXX",
                            "LETT",
                            "CELL",
                            "ONLI",
                            "PHON"
                        ]
                    }
                }
            },
            "Camt029CorrectiveTransaction5Choice": {
                "type": "object"
            },
            "Camt029CreditorReferenceInformation3": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Camt029CreditorReferenceType3"
                    },
                    "Ref": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                }
            },
            "Camt029CreditorReferenceType2Choice": {
                "type": "object"
            },
            "Camt029CreditorReferenceType3": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Camt029CreditorReferenceType2Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Camt029DateAndDateTime2Choice": {
                "type": "object"
            },
            "Camt029DateAndType1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Camt029DateType2Choice"
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    }
                },
                "required": [
                    "Tp",
                    "Dt"
                ]
            },
            "Camt029DatePeriod2": {
                "type": "object",
                "properties": {
                    "FrDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "ToDt": {
                        "type": "string",
                        "format": "date"
                    }
                },
                "required": [
                    "FrDt",
                    "ToDt"
                ]
            },
            "Camt029DateType2Choice": {
                "type": "object"
            },
            "Camt029Document": {
                "type": "object",
                "properties": {
                    "RsltnOfInvstgtn": {
                        "$ref": "#/components/schemas/Camt029ResolutionOfInvestigationV13"
                    }
                },
                "required": [
                    "RsltnOfInvstgtn"
                ],
                "xml": {
                    "name": "Document",
                    "namespace": "urn:iso:std:iso:20022:tech:xsd:camt.029.001.13"
                }
            },
            "Camt029DocumentAdjustment1": {
                "type": "object",
                "properties": {
                    "Amt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "CdtDbtInd": {
                        "type": "string",
                        "enum": [
                            "CRDT",
                            "DBIT"
                        ]
                    },
                    "Rsn": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "AddtlInf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                },
                "required": [
                    "Amt"
                ]
            },
            "Camt029DocumentAmount1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Camt029DocumentAmountType1Choice"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    }
                },
                "required": [
                    "Tp",
                    "Amt"
                ]
            },
            "Camt029DocumentAmountType1Choice": {
                "type": "object"
            },
            "Camt029DocumentLineIdentification1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Camt029DocumentLineType1"
                    },
                    "Nb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RltdDt": {
                        "type": "string",
                        "format": "date"
                    }
                }
            },
            "Camt029DocumentLineInformation2": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029DocumentLineIdentification1"
                        }
                    },
                    "Desc": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Camt029RemittanceAmount4"
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Camt029DocumentLineType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Camt029DocumentLineType1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Camt029DocumentLineType1Choice": {
                "type": "object"
            },
            "Camt029DocumentType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Camt029DocumentType2Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Camt029DocumentType2Choice": {
                "type": "object"
            },
            "Camt029FinancialIdentificationSchemeName1Choice": {
                "type": "object"
            },
            "Camt029FinancialInstitutionIdentification23": {
                "type": "object",
                "properties": {
                    "BICFI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"
                    },
                    "ClrSysMmbId": {
                        "$ref": "#/components/schemas/Camt029ClearingSystemMemberIdentification2"
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    }
                }
            },
            "Camt029Garnishment4": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Camt029GarnishmentType1"
                    },
                    "Grnshee": {
                        "$ref": "#/components/schemas/Camt029PartyIdentification272"
                    },
                    "GrnshmtAdmstr": {
                        "$ref": "#/components/schemas/Camt029PartyIdentification272"
                    },
                    "RefNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    },
                    "RmtdAmt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "FmlyMdclInsrncInd": {
                        "type": "boolean"
                    },
                    "MplyeeTermntnInd": {
                        "type": "boolean"
                    }
                },
                "required": [
                    "Tp"
                ]
            },
            "Camt029GarnishmentType1": {
                "type": "object",
                "properties": {
                    "CdOrPrtry": {
                        "$ref": "#/components/schemas/Camt029GarnishmentType1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "CdOrPrtry"
                ]
            },
            "Camt029GarnishmentType1Choice": {
                "type": "object"
            },
            "Camt029GenericFinancialIdentification1": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Camt029FinancialIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Camt029InvestigationStatus6Choice": {
                "type": "object",
                "properties": {
                    "Conf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Conf"
                ],
                "additionalProperties": false
            },
            "Camt029LocalInstrument2Choice": {
                "type": "object"
            },
            "Camt029MandateRelatedData3Choice": {
                "type": "object"
            },
            "Camt029ModificationStatusReason1Choice": {
                "type": "object"
            },
            "Camt029ModificationStatusReason3": {
                "type": "object",
                "properties": {
                    "Orgtr": {
                        "$ref": "#/components/schemas/Camt029PartyIdentification272"
                    },
                    "Rsn": {
                        "$ref": "#/components/schemas/Camt029ModificationStatusReason1Choice"
                    },
                    "AddtlInf": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 105
                        }
                    }
                }
            },
            "Camt029NumberOfCancellationsPerStatus1": {
                "type": "object",
                "properties": {
                    "DtldNbOfTxs": {
                        "type": "string",
                        "pattern": "[0-9]{1,15}"
                    },
                    "DtldSts": {
                        "type": "string",
                        "enum": [
                            "RJCR",
                            "ACCR",
                            "PDCR"
                        ]
                    },
                    "DtldCtrlSum": {
                        "type": "number"
                    }
                },
                "required": [
                    "DtldNbOfTxs",
                    "DtldSts"
                ]
            },
            "Camt029NumberOfTransactionsPerStatus1": {
                "type": "object",
                "properties": {
                    "DtldNbOfTxs": {
                        "type": "string",
                        "pattern": "[0-9]{1,15}"
                    },
                    "DtldSts": {
                        "type": "string",
                        "enum": [
                            "ACTC",
                            "RJCT",
                            "PDNG",
                            "ACCP",
                            "ACSP",
                            "ACSC",
                            "ACCR",
                            "ACWC"
                        ]
                    },
                    "DtldCtrlSum": {
                        "type": "number"
                    }
                },
                "required": [
                    "DtldNbOfTxs",
                    "DtldSts"
                ]
            },
            "Camt029OriginalGroupHeader23": {
                "type": "object",
                "properties": {
                    "OrgnlGrpCxlId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RslvdCase": {
                        "$ref": "#/components/schemas/Camt029Case6"
                    },
                    "OrgnlMsgId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlMsgNmId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlCreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "OrgnlNbOfTxs": {
                        "type": "string",
                        "pattern": "[0-9]{1,15}"
                    },
                    "OrgnlCtrlSum": {
                        "type": "number"
                    },
                    "GrpCxlSts": {
                        "type": "string",
                        "enum": [
                            "PACR",
                            "RJCR",
                            "ACCR",
                            "PDCR"
                        ]
                    },
                    "CxlStsRsnInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029CancellationStatusReason5"
                        }
                    },
                    "NbOfTxsPerCxlSts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029NumberOfTransactionsPerStatus1"
                        }
                    }
                },
                "required": [
                    "OrgnlMsgId",
                    "OrgnlMsgNmId"
                ]
            },
            "Camt029OriginalGroupInformation29": {
                "type": "object",
                "properties": {
                    "OrgnlMsgId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlMsgNmId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlCreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "OrgnlMsgId",
                    "OrgnlMsgNmId"
                ]
            },
            "Camt029OriginalPaymentInstruction48": {
                "type": "object",
                "properties": {
                    "OrgnlPmtInfCxlId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RslvdCase": {
                        "$ref": "#/components/schemas/Camt029Case6"
                    },
                    "OrgnlPmtInfId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlGrpInf": {
                        "$ref": "#/components/schemas/Camt029OriginalGroupInformation29"
                    },
                    "OrgnlNbOfTxs": {
                        "type": "string",
                        "pattern": "[0-9]{1,15}"
                    },
                    "OrgnlCtrlSum": {
                        "type": "number"
                    },
                    "PmtInfCxlSts": {
                        "type": "string",
                        "enum": [
                            "PACR",
                            "RJCR",
                            "ACCR",
                            "PDCR"
                        ]
                    },
                    "CxlStsRsnInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029CancellationStatusReason5"
                        }
                    },
                    "NbOfTxsPerCxlSts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029NumberOfCancellationsPerStatus1"
                        }
                    },
                    "TxInfAndSts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029PaymentTransaction153"
                        }
                    }
                },
                "required": [
                    "OrgnlPmtInfId"
                ]
            },
            "Camt029OriginalTransactionReference42": {
                "type": "object",
                "properties": {
                    "IntrBkSttlmAmt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Camt029AmountType4Choice"
                    },
                    "IntrBkSttlmDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "ReqdColltnDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "ReqdExctnDt": {
                        "$ref": "#/components/schemas/Camt029DateAndDateTime2Choice"
                    },
                    "CdtrSchmeId": {
                        "$ref": "#/components/schemas/Camt029PartyIdentification272"
                    },
                    "SttlmInf": {
                        "$ref": "#/components/schemas/Camt029SettlementInstruction15"
                    },
                    "PmtTpInf": {
                        "$ref": "#/components/schemas/Camt029PaymentTypeInformation27"
                    },
                    "PmtMtd": {
                        "type": "string",
                        "enum": [
                            "CHK",
                            "TRF",
                            "DD",
                            "TRA"
                        ]
                    },
                    "MndtRltdInf": {
                        "$ref": "#/components/schemas/Camt029MandateRelatedData3Choice"
                    },
                    "RmtInf": {
                        "$ref": "#/components/schemas/Camt029RemittanceInformation22"
                    },
                    "UltmtDbtr": {
                        "$ref": "#/components/schemas/Camt029Party50Choice"
                    },
                    "Dbtr": {
                        "$ref": "#/components/schemas/Camt029Party50Choice"
                    },
                    "DbtrAcct": {
                        "$ref": "#/components/schemas/Camt029CashAccount40"
                    },
                    "DbtrAgt": {
                        "$ref": "#/components/schemas/Camt029BranchAndFinancialInstitutionIdentification8"
                    },
                    "DbtrAgtAcct": {
                        "$ref": "#/components/schemas/Camt029CashAccount40"
                    },
                    "CdtrAgt": {
                        "$ref": "#/components/schemas/Camt029BranchAndFinancialInstitutionIdentification8"
                    },
                    "CdtrAgtAcct": {
                        "$ref": "#/components/schemas/Camt029CashAccount40"
                    },
                    "Cdtr": {
                        "$ref": "#/components/schemas/Camt029Party50Choice"
                    },
                    "CdtrAcct": {
                        "$ref": "#/components/schemas/Camt029CashAccount40"
                    },
                    "UltmtCdtr": {
                        "$ref": "#/components/schemas/Camt029Party50Choice"
                    },
                    "Purp": {
                        "$ref": "#/components/schemas/Camt029Purpose2Choice"
                    }
                }
            },
            "Camt029OtherContact1": {
                "type": "object",
                "properties": {
                    "ChanlTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                    }
                },
                "required": [
                    "ChanlTp"
                ]
            },
            "Camt029Party50Choice": {
                "type": "object",
                "properties": {
                    "Agt": {
                        "$ref": "#/components/schemas/Camt029BranchAndFinancialInstitutionIdentification8"
                    }
                },
                "required": [
                    "Agt"
                ],
                "additionalProperties": false
            },
            "Camt029Party52Choice": {
                "type": "object"
            },
            "Camt029PartyIdentification272": {
                "type": "object",
                "properties": {
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Camt029PostalAddress27"
                    },
                    "Id": {
                        "$ref": "#/components/schemas/Camt029Party52Choice"
                    },
                    "CtryOfRes": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "CtctDtls": {
                        "$ref": "#/components/schemas/Camt029Contact13"
                    }
                }
            },
            "Camt029PaymentTransaction152": {
                "type": "object",
                "properties": {
                    "OrgnlGrpInf": {
                        "$ref": "#/components/schemas/Camt029OriginalGroupInformation29"
                    },
                    "OrgnlInstrId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlEndToEndId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlTxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlClrSysRef": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlUETR": {
                        "type": "string",
                        "pattern": "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"
                    }
                }
            },
            "Camt029PaymentTransaction153": {
                "type": "object",
                "properties": {
                    "CxlStsId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RslvdCase": {
                        "$ref": "#/components/schemas/Camt029Case6"
                    },
                    "OrgnlInstrId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlEndToEndId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "UETR": {
                        "type": "string",
                        "pattern": "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"
                    },
                    "TxCxlSts": {
                        "type": "string",
                        "enum": [
                            "RJCR",
                            "ACCR",
                            "PDCR"
                        ]
                    },
                    "CxlStsRsnInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029CancellationStatusReason5"
                        }
                    },
                    "OrgnlInstdAmt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "OrgnlReqdExctnDt": {
                        "$ref": "#/components/schemas/Camt029DateAndDateTime2Choice"
                    },
                    "OrgnlReqdColltnDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "OrgnlTxRef": {
                        "$ref": "#/components/schemas/Camt029OriginalTransactionReference42"
                    }
                }
            },
            "Camt029PaymentTransaction157": {
                "type": "object",
                "properties": {
                    "ModStsId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RslvdCase": {
                        "$ref": "#/components/schemas/Camt029Case6"
                    },
                    "OrgnlGrpInf": {
                        "$ref": "#/components/schemas/Camt029OriginalGroupInformation29"
                    },
                    "OrgnlPmtInfId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlInstrId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlEndToEndId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlTxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlClrSysRef": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "OrgnlUETR": {
                        "type": "string",
                        "pattern": "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"
                    },
                    "ModStsRsnInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029ModificationStatusReason3"
                        }
                    },
                    "RsltnRltdInf": {
                        "$ref": "#/components/schemas/Camt029ResolutionData5"
                    },
                    "OrgnlIntrBkSttlmAmt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "OrgnlIntrBkSttlmDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "Assgnr": {
                        "$ref": "#/components/schemas/Camt029Party50Choice"
                    },
                    "Assgne": {
                        "$ref": "#/components/schemas/Camt029Party50Choice"
                    },
                    "OrgnlTxRef": {
                        "$ref": "#/components/schemas/Camt029OriginalTransactionReference42"
                    }
                },
                "required": [
                    "OrgnlGrpInf"
                ]
            },
            "Camt029PaymentTypeInformation27": {
                "type": "object",
                "properties": {
                    "InstrPrty": {
                        "type": "string",
                        "enum": [
                            "HIGH",
                            "NORM"
                        ]
                    },
                    "ClrChanl": {
                        "type": "string",
                        "enum": [
                            "RTGS",
                            "RTNS",
                            "MPNS",
                            "BOOK"
                        ]
                    },
                    "SvcLvl": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029ServiceLevel8Choice"
                        }
                    },
                    "LclInstrm": {
                        "$ref": "#/components/schemas/Camt029LocalInstrument2Choice"
                    },
                    "SeqTp": {
                        "type": "string",
                        "enum": [
                            "FRST",
                            "RCUR",
                            "FNAL",
                            "OOFF",
                            "RPRE"
                        ]
                    },
                    "CtgyPurp": {
                        "$ref": "#/components/schemas/Camt029CategoryPurpose1Choice"
                    }
                }
            },
            "Camt029PostalAddress27": {
                "type": "object",
                "properties": {
                    "AdrTp": {
                        "$ref": "#/components/schemas/Camt029AddressType3Choice"
                    },
                    "CareOf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "SubDept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "StrtNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "BldgNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "BldgNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Flr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "UnitNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "PstBx": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "Room": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "PstCd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "TwnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "TwnLctnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "DstrctNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "CtrySubDvsn": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Ctry": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "AdrLine": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                        }
                    }
                }
            },
            "Camt029ProxyAccountIdentification1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Camt029ProxyAccountType1Choice"
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Camt029ProxyAccountType1Choice": {
                "type": "object"
            },
            "Camt029Purpose2Choice": {
                "type": "object"
            },
            "Camt029ReferredDocumentInformation8": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Camt029DocumentType1"
                    },
                    "Nb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RltdDt": {
                        "$ref": "#/components/schemas/Camt029DateAndType1"
                    },
                    "LineDtls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029DocumentLineInformation2"
                        }
                    }
                }
            },
            "Camt029RemittanceAmount4": {
                "type": "object",
                "properties": {
                    "RmtAmtAndTp": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029DocumentAmount1"
                        }
                    },
                    "AdjstmntAmtAndRsn": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029DocumentAdjustment1"
                        }
                    }
                }
            },
            "Camt029RemittanceInformation22": {
                "type": "object",
                "properties": {
                    "Ustrd": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                        }
                    },
                    "Strd": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029StructuredRemittanceInformation18"
                        }
                    }
                }
            },
            "Camt029ResolutionData5": {
                "type": "object",
                "properties": {
                    "EndToEndId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "UETR": {
                        "type": "string",
                        "pattern": "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"
                    },
                    "IntrBkSttlmAmt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "IntrBkSttlmDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "ClrChanl": {
                        "type": "string",
                        "enum": [
                            "RTGS",
                            "RTNS",
                            "MPNS",
                            "BOOK"
                        ]
                    },
                    "Compstn": {
                        "$ref": "#/components/schemas/Camt029Compensation5"
                    },
                    "ChrgsInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029Charges14"
                        }
                    }
                }
            },
            "Camt029ResolutionOfInvestigationV13": {
                "type": "object",
                "properties": {
                    "Assgnmt": {
                        "$ref": "#/components/schemas/Camt029CaseAssignment6"
                    },
                    "Sts": {
                        "$ref": "#/components/schemas/Camt029InvestigationStatus6Choice"
                    },
                    "CxlDtls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029UnderlyingTransaction32"
                        }
                    }
                },
                "required": [
                    "Assgnmt",
                    "Sts"
                ]
            },
            "Camt029ServiceLevel8Choice": {
                "type": "object"
            },
            "Camt029SettlementInstruction15": {
                "type": "object",
                "properties": {
                    "SttlmMtd": {
                        "type": "string",
                        "enum": [
                            "INDA",
                            "INGA",
                            "COVE",
                            "CLRG"
                        ]
                    },
                    "SttlmAcct": {
                        "$ref": "#/components/schemas/Camt029CashAccount40"
                    },
                    "ClrSys": {
                        "$ref": "#/components/schemas/Camt029ClearingSystemIdentification3Choice"
                    },
                    "InstgRmbrsmntAgt": {
                        "$ref": "#/components/schemas/Camt029BranchAndFinancialInstitutionIdentification8"
                    },
                    "InstgRmbrsmntAgtAcct": {
                        "$ref": "#/components/schemas/Camt029CashAccount40"
                    },
                    "InstdRmbrsmntAgt": {
                        "$ref": "#/components/schemas/Camt029BranchAndFinancialInstitutionIdentification8"
                    },
                    "InstdRmbrsmntAgtAcct": {
                        "$ref": "#/components/schemas/Camt029CashAccount40"
                    },
                    "ThrdRmbrsmntAgt": {
                        "$ref": "#/components/schemas/Camt029BranchAndFinancialInstitutionIdentification8"
                    },
                    "ThrdRmbrsmntAgtAcct": {
                        "$ref": "#/components/schemas/Camt029CashAccount40"
                    }
                },
                "required": [
                    "SttlmMtd"
                ]
            },
            "Camt029StatementResolutionEntry5": {
                "type": "object",
                "properties": {
                    "OrgnlGrpInf": {
                        "$ref": "#/components/schemas/Camt029OriginalGroupInformation29"
                    },
                    "OrgnlStmtId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "UETR": {
                        "type": "string",
                        "pattern": "[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89ab][a-f0-9]{3}-[a-f0-9]{12}"
                    },
                    "AcctSvcrRef": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "CrrctdAmt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Chrgs": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029Charges15"
                        }
                    },
                    "Purp": {
                        "$ref": "#/components/schemas/Camt029Purpose2Choice"
                    }
                }
            },
            "Camt029StructuredRemittanceInformation18": {
                "type": "object",
                "properties": {
                    "RfrdDocInf": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029ReferredDocumentInformation8"
                        }
                    },
                    "RfrdDocAmt": {
                        "$ref": "#/components/schemas/Camt029RemittanceAmount4"
                    },
                    "CdtrRefInf": {
                        "$ref": "#/components/schemas/Camt029CreditorReferenceInformation3"
                    },
                    "Invcr": {
                        "$ref": "#/components/schemas/Camt029PartyIdentification272"
                    },
                    "Invcee": {
                        "$ref": "#/components/schemas/Camt029PartyIdentification272"
                    },
                    "TaxRmt": {
                        "$ref": "#/components/schemas/Camt029TaxData1"
                    },
                    "GrnshmtRmt": {
                        "$ref": "#/components/schemas/Camt029Garnishment4"
                    },
                    "AddtlRmtInf": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 140
                        }
                    }
                }
            },
            "Camt029SupplementaryData1": {
                "type": "object",
                "properties": {
                    "PlcAndNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 350
                    },
                    "Envlp": {
                        "$ref": "#/components/schemas/Camt029SupplementaryDataEnvelope1"
                    }
                },
                "required": [
                    "Envlp"
                ]
            },
            "Camt029SupplementaryDataEnvelope1": {
                "type": "object"
            },
            "Camt029TaxAmount3": {
                "type": "object",
                "properties": {
                    "Rate": {
                        "type": "number"
                    },
                    "TaxblBaseAmt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "TtlAmt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Dtls": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029TaxRecordDetails3"
                        }
                    }
                }
            },
            "Camt029TaxAuthorisation1": {
                "type": "object",
                "properties": {
                    "Titl": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                }
            },
            "Camt029TaxCharges2": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Rate": {
                        "type": "number"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    }
                }
            },
            "Camt029TaxData1": {
                "type": "object",
                "properties": {
                    "Cdtr": {
                        "$ref": "#/components/schemas/Camt029TaxParty1"
                    },
                    "Dbtr": {
                        "$ref": "#/components/schemas/Camt029TaxParty2"
                    },
                    "UltmtDbtr": {
                        "$ref": "#/components/schemas/Camt029TaxParty2"
                    },
                    "AdmstnZone": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RefNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Mtd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TtlTaxblBaseAmt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "TtlTaxAmt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    },
                    "Dt": {
                        "type": "string",
                        "format": "date"
                    },
                    "SeqNb": {
                        "type": "number"
                    },
                    "Rcrd": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029TaxRecord3"
                        }
                    }
                }
            },
            "Camt029TaxParty1": {
                "type": "object",
                "properties": {
                    "TaxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RegnId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TaxTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                }
            },
            "Camt029TaxParty2": {
                "type": "object",
                "properties": {
                    "TaxId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "RegnId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "TaxTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Authstn": {
                        "$ref": "#/components/schemas/Camt029TaxAuthorisation1"
                    }
                }
            },
            "Camt029TaxPeriod3": {
                "type": "object",
                "properties": {
                    "Yr": {
                        "type": "string"
                    },
                    "Tp": {
                        "type": "string",
                        "enum": [
                            "MM01",
                            "MM02",
                            "MM03",
                            "MM04",
                            "MM05",
                            "MM06",
                            "MM07",
                            "MM08",
                            "MM09",
                            "MM10",
                            "MM11",
                            "MM12",
                            "QTR1",
                            "QTR2",
                            "QTR3",
                            "QTR4",
                            "HLF1",
                            "HLF2"
                        ]
                    },
                    "FrToDt": {
                        "$ref": "#/components/schemas/Camt029DatePeriod2"
                    }
                }
            },
            "Camt029TaxRecord3": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Ctgy": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "CtgyDtls": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "DbtrSts": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "CertId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "FrmsCd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Prd": {
                        "$ref": "#/components/schemas/Camt029TaxPeriod3"
                    },
                    "TaxAmt": {
                        "$ref": "#/components/schemas/Camt029TaxAmount3"
                    },
                    "AddtlInf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    }
                }
            },
            "Camt029TaxRecordDetails3": {
                "type": "object",
                "properties": {
                    "Prd": {
                        "$ref": "#/components/schemas/Camt029TaxPeriod3"
                    },
                    "Amt": {
                        "$ref": "#/components/schemas/Camt029ActiveOrHistoricCurrencyAndAmount"
                    }
                },
                "required": [
                    "Amt"
                ]
            },
            "Camt029UnderlyingTransaction32": {
                "type": "object",
                "properties": {
                    "TxInfAndSts": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Camt029PaymentTransaction152"
                        }
                    }
                }
            },
            "Acmt024AccountIdentification4Choice": {
                "type": "object",
                "properties": {
                    "IBAN": {
                        "type": "string",
                        "pattern": "^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$"
                    },
                    "Othr": {
                        "$ref": "#/components/schemas/Acmt024GenericAccountIdentification1"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "IBAN"
                        ]
                    },
                    {
                        "required": [
                            "Othr"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Acmt024AddressType3Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "enum": [
                            "ADDR",
                            "PBOX",
                            "HOME",
                            "BIZZ",
                            "MLTO",
                            "DLVY"
                        ]
                    },
                    "Prtry": {
                        "$ref": "#/components/schemas/Acmt024GenericIdentification30"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "Cd"
                        ]
                    },
                    {
                        "required": [
                            "Prtry"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Acmt024BranchAndFinancialInstitutionIdentification8": {
                "type": "object",
                "properties": {
                    "FinInstnId": {
                        "$ref": "#/components/schemas/Acmt024FinancialInstitutionIdentification23"
                    },
                    "BrnchId": {
                        "$ref": "#/components/schemas/Acmt024BranchData5"
                    }
                },
                "required": [
                    "FinInstnId"
                ]
            },
            "Acmt024BranchData5": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Acmt024PostalAddress27"
                    }
                }
            },
            "Acmt024CashAccount40": {
                "type": "object",
                "properties": {
                    "Id": {
                        "$ref": "#/components/schemas/Acmt024AccountIdentification4Choice"
                    },
                    "Tp": {
                        "$ref": "#/components/schemas/Acmt024CashAccountType2Choice"
                    },
                    "Ccy": {
                        "type": "string",
                        "pattern": "[A-Z]{3,3}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    }
                }
            },
            "Acmt024CashAccountType2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt024ClearingSystemIdentification2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 5
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt024ClearingSystemMemberIdentification2": {
                "type": "object",
                "properties": {
                    "ClrSysId": {
                        "$ref": "#/components/schemas/Acmt024ClearingSystemIdentification2Choice"
                    },
                    "MmbId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "MmbId"
                ]
            },
            "Acmt024Contact13": {
                "type": "object",
                "properties": {
                    "NmPrfx": {
                        "type": "string",
                        "enum": [
                            "DOCT",
                            "MADM",
                            "MISS",
                            "MIST",
                            "MIKS"
                        ]
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PhneNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "MobNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "FaxNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "URLAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    },
                    "EmailAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                    },
                    "EmailPurp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "JobTitl": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Rspnsblty": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Acmt024OtherContact1"
                        }
                    },
                    "PrefrdMtd": {
                        "type": "string",
                        "enum": [
                            "MAIL",
                            "FAXX",
                            "LETT",
                            "CELL",
                            "ONLI",
                            "PHON"
                        ]
                    }
                }
            },
            "Acmt024Document": {
                "type": "object",
                "properties": {
                    "IdVrfctnRpt": {
                        "$ref": "#/components/schemas/Acmt024IdentificationVerificationReportV04"
                    }
                },
                "required": [
                    "IdVrfctnRpt"
                ],
                "xml": {
                    "name": "Document",
                    "namespace": "urn:iso:std:iso:20022:tech:xsd:acmt.024.001.04"
                }
            },
            "Acmt024FinancialIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt024FinancialInstitutionIdentification23": {
                "type": "object",
                "properties": {
                    "BICFI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"
                    },
                    "ClrSysMmbId": {
                        "$ref": "#/components/schemas/Acmt024ClearingSystemMemberIdentification2"
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Acmt024PostalAddress27"
                    },
                    "Othr": {
                        "$ref": "#/components/schemas/Acmt024GenericFinancialIdentification1"
                    }
                }
            },
            "Acmt024GenericFinancialIdentification1": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Acmt024FinancialIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Acmt024IdentificationAssignment4": {
                "type": "object",
                "properties": {
                    "MsgId": {
                        "type": "string",
                        "minLength": 35,
                        "maxLength": 35,
                        "pattern": "[0-9]{8}NXAC24[12][A-Z0-9]{8}[A-Z0-9]{11}X",
                        "description": "Nexus message identifier, 35 characters: YYYYMMDD + NX + message-type code + sequence(8) + sender BIC-11 + literal X."
                    },
                    "CreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "Assgnr": {
                        "$ref": "#/components/schemas/Acmt024Party50Choice"
                    },
                    "Assgne": {
                        "$ref": "#/components/schemas/Acmt024Party50Choice"
                    }
                },
                "required": [
                    "MsgId",
                    "CreDtTm",
                    "Assgnr",
                    "Assgne"
                ]
            },
            "Acmt024IdentificationInformation5": {
                "type": "object",
                "properties": {
                    "Pty": {
                        "$ref": "#/components/schemas/Acmt024PartyIdentification272"
                    },
                    "Acct": {
                        "$ref": "#/components/schemas/Acmt024CashAccount40"
                    },
                    "Agt": {
                        "$ref": "#/components/schemas/Acmt024BranchAndFinancialInstitutionIdentification8"
                    }
                }
            },
            "Acmt024IdentificationVerificationReportV04": {
                "type": "object",
                "properties": {
                    "Assgnmt": {
                        "$ref": "#/components/schemas/Acmt024IdentificationAssignment4"
                    },
                    "Rpt": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Acmt024VerificationReport5"
                        }
                    }
                },
                "required": [
                    "Assgnmt",
                    "Rpt"
                ]
            },
            "Acmt024MessageIdentification8": {
                "type": "object",
                "properties": {
                    "MsgId": {
                        "type": "string",
                        "minLength": 35,
                        "maxLength": 35,
                        "pattern": "[0-9]{8}NXAC24[12][A-Z0-9]{8}[A-Z0-9]{11}X",
                        "description": "Nexus message identifier, 35 characters: YYYYMMDD + NX + message-type code + sequence(8) + sender BIC-11 + literal X."
                    },
                    "CreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "FrstAgt": {
                        "$ref": "#/components/schemas/Acmt024BranchAndFinancialInstitutionIdentification8"
                    }
                }
            },
            "Acmt024OtherContact1": {
                "type": "object",
                "properties": {
                    "ChanlTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                    }
                },
                "required": [
                    "ChanlTp"
                ]
            },
            "Acmt024Party50Choice": {
                "type": "object",
                "properties": {
                    "Agt": {
                        "$ref": "#/components/schemas/Acmt024BranchAndFinancialInstitutionIdentification8"
                    }
                },
                "required": [
                    "Agt"
                ],
                "additionalProperties": false
            },
            "Acmt024Party52Choice": {
                "type": "object",
                "properties": {
                    "OrgId": {
                        "$ref": "#/components/schemas/Acmt024OrganisationIdentification39"
                    },
                    "PrvtId": {
                        "$ref": "#/components/schemas/Acmt024PersonIdentification18"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "OrgId"
                        ]
                    },
                    {
                        "required": [
                            "PrvtId"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Acmt024PartyIdentification272": {
                "type": "object",
                "properties": {
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Acmt024PostalAddress27"
                    },
                    "Id": {
                        "$ref": "#/components/schemas/Acmt024Party52Choice"
                    },
                    "CtryOfRes": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "CtctDtls": {
                        "$ref": "#/components/schemas/Acmt024Contact13"
                    }
                }
            },
            "Acmt024PostalAddress27": {
                "type": "object",
                "properties": {
                    "AdrTp": {
                        "$ref": "#/components/schemas/Acmt024AddressType3Choice"
                    },
                    "CareOf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "SubDept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "StrtNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "BldgNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "BldgNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Flr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "UnitNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "PstBx": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "Room": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "PstCd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "TwnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "TwnLctnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "DstrctNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "CtrySubDvsn": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Ctry": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "AdrLine": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                        }
                    }
                }
            },
            "Acmt024ProxyAccountIdentification1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Acmt024ProxyAccountType1Choice"
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Acmt024ProxyAccountType1Choice": {
                "type": "object"
            },
            "Acmt024SupplementaryData1": {
                "type": "object",
                "properties": {
                    "PlcAndNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 350
                    },
                    "Envlp": {
                        "$ref": "#/components/schemas/Acmt024SupplementaryDataEnvelope1"
                    }
                },
                "required": [
                    "Envlp"
                ]
            },
            "Acmt024SupplementaryDataEnvelope1": {
                "type": "object"
            },
            "Acmt024VerificationReason1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt024VerificationReport5": {
                "type": "object",
                "properties": {
                    "OrgnlId": {
                        "type": "string",
                        "minLength": 35,
                        "maxLength": 35,
                        "pattern": "[0-9]{8}[A-Z0-9]{11}[A-Z0-9]{11}[A-Z0-9]{5}",
                        "description": "Nexus Verification ID, 35 characters: YYYYMMDD + sending IPSO id(11) + sending PSP id(11) + sequence(5)."
                    },
                    "Vrfctn": {
                        "type": "boolean"
                    },
                    "Rsn": {
                        "$ref": "#/components/schemas/Acmt024VerificationReason1Choice"
                    },
                    "UpdtdPtyAndAcctId": {
                        "$ref": "#/components/schemas/Acmt024IdentificationInformation5"
                    }
                },
                "required": [
                    "OrgnlId",
                    "Vrfctn"
                ]
            },
            "Acmt023AccountIdentification4Choice": {
                "type": "object",
                "properties": {
                    "IBAN": {
                        "type": "string",
                        "pattern": "^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$"
                    },
                    "Othr": {
                        "$ref": "#/components/schemas/Acmt023GenericAccountIdentification1"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "IBAN"
                        ]
                    },
                    {
                        "required": [
                            "Othr"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Acmt023AddressType3Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "enum": [
                            "ADDR",
                            "PBOX",
                            "HOME",
                            "BIZZ",
                            "MLTO",
                            "DLVY"
                        ]
                    },
                    "Prtry": {
                        "$ref": "#/components/schemas/Acmt023GenericIdentification30"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "Cd"
                        ]
                    },
                    {
                        "required": [
                            "Prtry"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Acmt023BranchAndFinancialInstitutionIdentification8": {
                "type": "object",
                "properties": {
                    "FinInstnId": {
                        "$ref": "#/components/schemas/Acmt023FinancialInstitutionIdentification23"
                    },
                    "BrnchId": {
                        "$ref": "#/components/schemas/Acmt023BranchData5"
                    }
                },
                "required": [
                    "FinInstnId"
                ]
            },
            "Acmt023BranchData5": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Acmt023PostalAddress27"
                    }
                }
            },
            "Acmt023CashAccount40": {
                "type": "object",
                "properties": {
                    "Id": {
                        "$ref": "#/components/schemas/Acmt023AccountIdentification4Choice"
                    },
                    "Prxy": {
                        "$ref": "#/components/schemas/Acmt023ProxyAccountIdentification1"
                    }
                }
            },
            "Acmt023CashAccountType2Choice": {
                "type": "object"
            },
            "Acmt023ClearingSystemIdentification2Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 5
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt023ClearingSystemMemberIdentification2": {
                "type": "object",
                "properties": {
                    "ClrSysId": {
                        "$ref": "#/components/schemas/Acmt023ClearingSystemIdentification2Choice"
                    },
                    "MmbId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "MmbId"
                ]
            },
            "Acmt023Contact13": {
                "type": "object",
                "properties": {
                    "NmPrfx": {
                        "type": "string",
                        "enum": [
                            "DOCT",
                            "MADM",
                            "MISS",
                            "MIST",
                            "MIKS"
                        ]
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PhneNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "MobNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "FaxNb": {
                        "type": "string",
                        "pattern": "\\+[0-9]{1,3}-[0-9()+\\-]{1,30}"
                    },
                    "URLAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    },
                    "EmailAdr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256
                    },
                    "EmailPurp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "JobTitl": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Rspnsblty": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Acmt023OtherContact1"
                        }
                    },
                    "PrefrdMtd": {
                        "type": "string",
                        "enum": [
                            "MAIL",
                            "FAXX",
                            "LETT",
                            "CELL",
                            "ONLI",
                            "PHON"
                        ]
                    }
                }
            },
            "Acmt023Document": {
                "type": "object",
                "properties": {
                    "IdVrfctnReq": {
                        "$ref": "#/components/schemas/Acmt023IdentificationVerificationRequestV04"
                    }
                },
                "required": [
                    "IdVrfctnReq"
                ],
                "xml": {
                    "name": "Document",
                    "namespace": "urn:iso:std:iso:20022:tech:xsd:acmt.023.001.04"
                }
            },
            "Acmt023FinancialIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt023FinancialInstitutionIdentification23": {
                "type": "object",
                "properties": {
                    "BICFI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}"
                    },
                    "ClrSysMmbId": {
                        "$ref": "#/components/schemas/Acmt023ClearingSystemMemberIdentification2"
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "[A-Z0-9]{18,18}[0-9]{2,2}"
                    },
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Acmt023PostalAddress27"
                    },
                    "Othr": {
                        "$ref": "#/components/schemas/Acmt023GenericFinancialIdentification1"
                    }
                }
            },
            "Acmt023GenericFinancialIdentification1": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Acmt023FinancialIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Acmt023IdentificationAssignment4": {
                "type": "object",
                "properties": {
                    "MsgId": {
                        "type": "string",
                        "minLength": 35,
                        "maxLength": 35,
                        "pattern": "[0-9]{8}NX[A-Z0-9]{4}[123][A-Z0-9]{8}[A-Z0-9]{11}X",
                        "description": "Nexus message identifier, 35 characters: YYYYMMDD + NX + message-type code + sequence(8) + sender BIC-11 + literal X."
                    },
                    "CreDtTm": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "Cretr": {
                        "$ref": "#/components/schemas/Acmt023Party50Choice"
                    },
                    "Assgnr": {
                        "$ref": "#/components/schemas/Acmt023Party50Choice"
                    },
                    "Assgne": {
                        "$ref": "#/components/schemas/Acmt023Party50Choice"
                    }
                },
                "required": [
                    "MsgId",
                    "CreDtTm",
                    "Assgnr",
                    "Assgne"
                ]
            },
            "Acmt023IdentificationInformation5": {
                "type": "object",
                "properties": {
                    "Pty": {
                        "$ref": "#/components/schemas/Acmt023PartyIdentification272"
                    },
                    "Acct": {
                        "$ref": "#/components/schemas/Acmt023CashAccount40"
                    },
                    "Agt": {
                        "$ref": "#/components/schemas/Acmt023BranchAndFinancialInstitutionIdentification8"
                    }
                }
            },
            "Acmt023IdentificationVerification5": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 35,
                        "maxLength": 35,
                        "pattern": "[0-9]{8}[A-Z0-9]{11}[A-Z0-9]{11}[A-Z0-9]{5}",
                        "description": "Nexus Verification ID, 35 characters: YYYYMMDD + sending IPSO id(11) + sending PSP id(11) + sequence(5)."
                    },
                    "PtyAndAcctId": {
                        "$ref": "#/components/schemas/Acmt023IdentificationInformation5"
                    }
                },
                "required": [
                    "Id",
                    "PtyAndAcctId"
                ]
            },
            "Acmt023IdentificationVerificationRequestV04": {
                "type": "object",
                "properties": {
                    "Assgnmt": {
                        "$ref": "#/components/schemas/Acmt023IdentificationAssignment4"
                    },
                    "Vrfctn": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Acmt023IdentificationVerification5"
                        }
                    }
                },
                "required": [
                    "Assgnmt",
                    "Vrfctn"
                ]
            },
            "Acmt023OtherContact1": {
                "type": "object",
                "properties": {
                    "ChanlTp": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 128
                    }
                },
                "required": [
                    "ChanlTp"
                ]
            },
            "Acmt023Party50Choice": {
                "type": "object",
                "description": "Shared by message paths whose Nexus inbound XSD restrictions differ (Party50Choice__3, Party50Choice__5, Party50Choice__6); modelled as the looser union: exactly one of the alternatives is allowed.",
                "properties": {
                    "Agt": {
                        "$ref": "#/components/schemas/Acmt023BranchAndFinancialInstitutionIdentification8"
                    },
                    "Pty": {
                        "$ref": "#/components/schemas/Acmt023PartyIdentification272"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "Agt"
                        ]
                    },
                    {
                        "required": [
                            "Pty"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Acmt023Party52Choice": {
                "type": "object",
                "properties": {
                    "OrgId": {
                        "$ref": "#/components/schemas/Acmt023OrganisationIdentification39"
                    },
                    "PrvtId": {
                        "$ref": "#/components/schemas/Acmt023PersonIdentification18"
                    }
                },
                "oneOf": [
                    {
                        "required": [
                            "OrgId"
                        ]
                    },
                    {
                        "required": [
                            "PrvtId"
                        ]
                    }
                ],
                "minProperties": 1,
                "maxProperties": 1,
                "additionalProperties": false
            },
            "Acmt023PartyIdentification272": {
                "type": "object",
                "properties": {
                    "Nm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "PstlAdr": {
                        "$ref": "#/components/schemas/Acmt023PostalAddress27"
                    },
                    "Id": {
                        "$ref": "#/components/schemas/Acmt023Party52Choice"
                    },
                    "CtryOfRes": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "CtctDtls": {
                        "$ref": "#/components/schemas/Acmt023Contact13"
                    }
                }
            },
            "Acmt023PostalAddress27": {
                "type": "object",
                "properties": {
                    "AdrTp": {
                        "$ref": "#/components/schemas/Acmt023AddressType3Choice"
                    },
                    "CareOf": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Dept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "SubDept": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "StrtNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "BldgNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "BldgNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "Flr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "UnitNb": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "PstBx": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "Room": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 70
                    },
                    "PstCd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 16
                    },
                    "TwnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "TwnLctnNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "DstrctNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 140
                    },
                    "CtrySubDvsn": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35
                    },
                    "Ctry": {
                        "type": "string",
                        "pattern": "[A-Z]{2,2}"
                    },
                    "AdrLine": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 70
                        }
                    }
                }
            },
            "Acmt023ProxyAccountIdentification1": {
                "type": "object",
                "properties": {
                    "Tp": {
                        "$ref": "#/components/schemas/Acmt023ProxyAccountType1Choice"
                    },
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 2048
                    }
                },
                "required": [
                    "Id"
                ]
            },
            "Acmt023ProxyAccountType1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt023SupplementaryData1": {
                "type": "object",
                "properties": {
                    "PlcAndNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 350
                    },
                    "Envlp": {
                        "$ref": "#/components/schemas/Acmt023SupplementaryDataEnvelope1"
                    }
                },
                "required": [
                    "Envlp"
                ]
            },
            "Acmt023SupplementaryDataEnvelope1": {
                "type": "object"
            },
            "Admi004Document": {
                "type": "object",
                "properties": {
                    "SysEvtNtfctn": {
                        "$ref": "#/components/schemas/Admi004SystemEventNotificationV02"
                    }
                },
                "required": [
                    "SysEvtNtfctn"
                ],
                "xml": {
                    "name": "Document",
                    "namespace": "urn:iso:std:iso:20022:tech:xsd:admi.004.001.02"
                }
            },
            "Admi004Event2": {
                "type": "object",
                "properties": {
                    "EvtCd": {
                        "type": "string",
                        "pattern": "[a-zA-Z0-9]{1,4}",
                        "minLength": 1,
                        "maxLength": 4
                    },
                    "EvtParam": {
                        "type": "array",
                        "items": {
                            "type": "string",
                            "minLength": 1,
                            "maxLength": 35
                        }
                    },
                    "EvtDesc": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 1000
                    },
                    "EvtTm": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "required": [
                    "EvtCd",
                    "EvtTm"
                ]
            },
            "Admi004SystemEventNotificationV02": {
                "type": "object",
                "properties": {
                    "EvtInf": {
                        "$ref": "#/components/schemas/Admi004Event2"
                    }
                },
                "required": [
                    "EvtInf"
                ]
            },
            "Admi002MessageReject": {
                "type": "object",
                "properties": {
                    "RltdRef": {
                        "type": "object",
                        "description": "Reference of the rejected message, used to correlate back to the original message.",
                        "properties": {
                            "Ref": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 35,
                                "example": "20260807NXPS081DN080002DBSSSGSGXXXX"
                            }
                        },
                        "required": [
                            "Ref"
                        ]
                    },
                    "Rsn": {
                        "type": "object",
                        "properties": {
                            "RjctgPtyRsn": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 35,
                                "example": "FF02"
                            },
                            "RjctnDtTm": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2026-08-07T05:16:31"
                            },
                            "RsnDesc": {
                                "type": "string",
                                "minLength": 1,
                                "maxLength": 350,
                                "example": "Mandatory element missing per Nexus Usage Guidelines"
                            }
                        },
                        "required": [
                            "RjctgPtyRsn"
                        ]
                    }
                },
                "required": [
                    "RltdRef",
                    "Rsn"
                ]
            },
            "Admi002Document": {
                "type": "object",
                "description": "ISO 20022 admi.002.001.01 Message Reject document.",
                "properties": {
                    "admi.002.001.01": {
                        "$ref": "#/components/schemas/Admi002MessageReject"
                    }
                },
                "required": [
                    "admi.002.001.01"
                ],
                "xml": {
                    "name": "Document",
                    "namespace": "urn:iso:std:iso:20022:tech:xsd:admi.002.001.01"
                }
            },
            "HeartbeatResponse": {
                "type": "object",
                "description": "Heartbeat result. Returned only with HTTP 200; an unavailable service is reported by a non-2xx status or no response.",
                "properties": {
                    "status": {
                        "type": "string",
                        "enum": [
                            "UP"
                        ],
                        "description": "Service state. Always UP on HTTP 200.",
                        "example": "UP"
                    },
                    "timestamp": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Responder's current time, ISO 8601 UTC (no offset).",
                        "example": "2026-08-10T05:20:01Z"
                    }
                },
                "required": [
                    "status",
                    "timestamp"
                ]
            },
            "HealthCheckRequest": {
                "type": "object",
                "description": "Health check request.",
                "properties": {
                    "message": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 30,
                        "pattern": "^[a-zA-Z0-9 ]{1,30}$",
                        "description": "Caller-supplied message used to confirm that the request can be received, validated and processed. 1-30 characters; letters, digits and spaces only.",
                        "example": "This is a health check"
                    }
                },
                "required": [
                    "message"
                ],
                "additionalProperties": false
            },
            "HealthCheckResponse": {
                "type": "object",
                "description": "Health check result. Returned only with HTTP 200; failures are reported by the corresponding non-2xx status.",
                "properties": {
                    "status": {
                        "type": "string",
                        "enum": [
                            "SUCCESS"
                        ],
                        "description": "Always SUCCESS on HTTP 200.",
                        "example": "SUCCESS"
                    },
                    "message": {
                        "type": "string",
                        "maxLength": 30,
                        "description": "The message received in the request, echoed unchanged.",
                        "example": "This is a health check"
                    },
                    "timestamp": {
                        "type": "string",
                        "format": "date-time",
                        "description": "Responder's current time, ISO 8601 UTC (no offset), for clock-alignment checks against the signature tolerance window.",
                        "example": "2026-08-10T05:20:01Z"
                    }
                },
                "required": [
                    "status",
                    "message",
                    "timestamp"
                ]
            },
            "Pacs028EquivalentAmount2": {
                "type": "object",
                "properties": {
                    "Amt": {
                        "$ref": "#/components/schemas/Pacs028ActiveOrHistoricCurrencyAndAmount"
                    },
                    "CcyOfTrf": {
                        "type": "string",
                        "pattern": "^[A-Z]{3,3}$"
                    }
                },
                "required": [
                    "Amt",
                    "CcyOfTrf"
                ],
                "additionalProperties": false
            },
            "Pacs008GenericAccountIdentification1": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 34,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Pacs008AccountSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Pacs008OrganisationIdentification39": {
                "type": "object",
                "description": "Shared by message paths whose Nexus inbound XSD restrictions differ (OrganisationIdentification39__1, OrganisationIdentification39__2); modelled as the looser union: a property is required only where every variant requires it, cardinalities and facets take the loosest bound.",
                "properties": {
                    "AnyBIC": {
                        "type": "string",
                        "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "^[A-Z0-9]{18,18}[0-9]{2,2}$"
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008GenericOrganisationIdentification3"
                        },
                        "minItems": 0
                    }
                },
                "additionalProperties": false
            },
            "Pacs008PersonIdentification18": {
                "type": "object",
                "description": "Shared by message paths whose Nexus inbound XSD restrictions differ (PersonIdentification18__1, PersonIdentification18__2); modelled as the looser union: a property is required only where every variant requires it, cardinalities and facets take the loosest bound.",
                "properties": {
                    "DtAndPlcOfBirth": {
                        "$ref": "#/components/schemas/Pacs008DateAndPlaceOfBirth1"
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs008GenericPersonIdentification2"
                        },
                        "minItems": 0
                    }
                },
                "additionalProperties": false
            },
            "Pacs028OrganisationIdentification39": {
                "type": "object",
                "properties": {
                    "AnyBIC": {
                        "type": "string",
                        "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "^[A-Z0-9]{18,18}[0-9]{2,2}$"
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028GenericOrganisationIdentification3"
                        },
                        "minItems": 0
                    }
                },
                "additionalProperties": false
            },
            "Pacs028PersonIdentification18": {
                "type": "object",
                "properties": {
                    "DtAndPlcOfBirth": {
                        "$ref": "#/components/schemas/Pacs028DateAndPlaceOfBirth1"
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs028GenericPersonIdentification2"
                        },
                        "minItems": 0
                    }
                },
                "additionalProperties": false
            },
            "Pacs028GenericAccountIdentification1": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 34,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Pacs028AccountSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Pacs008AccountSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008GenericOrganisationIdentification3": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Pacs008OrganisationIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Pacs008DateAndPlaceOfBirth1": {
                "type": "object",
                "properties": {
                    "BirthDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "PrvcOfBirth": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "CityOfBirth": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "CtryOfBirth": {
                        "type": "string",
                        "pattern": "^[A-Z]{2,2}$"
                    }
                },
                "required": [
                    "BirthDt",
                    "CityOfBirth",
                    "CtryOfBirth"
                ],
                "additionalProperties": false
            },
            "Pacs008GenericPersonIdentification2": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Pacs008PersonIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Pacs002OrganisationIdentification39": {
                "type": "object",
                "properties": {
                    "AnyBIC": {
                        "type": "string",
                        "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "^[A-Z0-9]{18,18}[0-9]{2,2}$"
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002GenericOrganisationIdentification3"
                        },
                        "minItems": 0,
                        "maxItems": 2
                    }
                },
                "additionalProperties": false
            },
            "Pacs002PersonIdentification18": {
                "type": "object",
                "properties": {
                    "DtAndPlcOfBirth": {
                        "$ref": "#/components/schemas/Pacs002DateAndPlaceOfBirth1"
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Pacs002GenericPersonIdentification2"
                        },
                        "minItems": 0,
                        "maxItems": 2
                    }
                },
                "additionalProperties": false
            },
            "Acmt024OrganisationIdentification39": {
                "type": "object",
                "properties": {
                    "AnyBIC": {
                        "type": "string",
                        "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "^[A-Z0-9]{18,18}[0-9]{2,2}$"
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Acmt024GenericOrganisationIdentification3"
                        },
                        "minItems": 0
                    }
                },
                "additionalProperties": false
            },
            "Acmt024PersonIdentification18": {
                "type": "object",
                "properties": {
                    "DtAndPlcOfBirth": {
                        "$ref": "#/components/schemas/Acmt024DateAndPlaceOfBirth1"
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Acmt024GenericPersonIdentification2"
                        },
                        "minItems": 0
                    }
                },
                "additionalProperties": false
            },
            "Acmt024GenericAccountIdentification1": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 34,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Acmt024AccountSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Acmt023OrganisationIdentification39": {
                "type": "object",
                "description": "Shared by message paths whose Nexus inbound XSD restrictions differ (OrganisationIdentification39__3, OrganisationIdentification39__4); modelled as the looser union: a property is required only where every variant requires it, cardinalities and facets take the loosest bound.",
                "properties": {
                    "AnyBIC": {
                        "type": "string",
                        "pattern": "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
                    },
                    "LEI": {
                        "type": "string",
                        "pattern": "^[A-Z0-9]{18,18}[0-9]{2,2}$"
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Acmt023GenericOrganisationIdentification3"
                        },
                        "minItems": 0
                    }
                },
                "additionalProperties": false
            },
            "Acmt023PersonIdentification18": {
                "type": "object",
                "description": "Shared by message paths whose Nexus inbound XSD restrictions differ (PersonIdentification18__3, PersonIdentification18__4); modelled as the looser union: a property is required only where every variant requires it, cardinalities and facets take the loosest bound.",
                "properties": {
                    "DtAndPlcOfBirth": {
                        "$ref": "#/components/schemas/Acmt023DateAndPlaceOfBirth1"
                    },
                    "Othr": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Acmt023GenericPersonIdentification2"
                        },
                        "minItems": 0
                    }
                },
                "additionalProperties": false
            },
            "Acmt023GenericAccountIdentification1": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 34,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Acmt023AccountSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Pacs028GenericIdentification30": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "pattern": "^[a-zA-Z0-9]{4}$"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "SchmeNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id",
                    "Issr"
                ],
                "additionalProperties": false
            },
            "Pacs028GenericOrganisationIdentification3": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Pacs028OrganisationIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Pacs028DateAndPlaceOfBirth1": {
                "type": "object",
                "properties": {
                    "BirthDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "PrvcOfBirth": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "CityOfBirth": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "CtryOfBirth": {
                        "type": "string",
                        "pattern": "^[A-Z]{2,2}$"
                    }
                },
                "required": [
                    "BirthDt",
                    "CityOfBirth",
                    "CtryOfBirth"
                ],
                "additionalProperties": false
            },
            "Pacs028GenericPersonIdentification2": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Pacs028PersonIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Pacs028AccountSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008OrganisationIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008PersonIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs002GenericOrganisationIdentification3": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Pacs002OrganisationIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Pacs002DateAndPlaceOfBirth1": {
                "type": "object",
                "properties": {
                    "BirthDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "PrvcOfBirth": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "CityOfBirth": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "CtryOfBirth": {
                        "type": "string",
                        "pattern": "^[A-Z]{2,2}$"
                    }
                },
                "required": [
                    "BirthDt",
                    "CityOfBirth",
                    "CtryOfBirth"
                ],
                "additionalProperties": false
            },
            "Pacs002GenericPersonIdentification2": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Pacs002PersonIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Acmt024GenericIdentification30": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "pattern": "^[a-zA-Z0-9]{4}$"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "SchmeNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id",
                    "Issr"
                ],
                "additionalProperties": false
            },
            "Acmt024GenericOrganisationIdentification3": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Acmt024OrganisationIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Acmt024DateAndPlaceOfBirth1": {
                "type": "object",
                "properties": {
                    "BirthDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "PrvcOfBirth": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "CityOfBirth": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "CtryOfBirth": {
                        "type": "string",
                        "pattern": "^[A-Z]{2,2}$"
                    }
                },
                "required": [
                    "BirthDt",
                    "CityOfBirth",
                    "CtryOfBirth"
                ],
                "additionalProperties": false
            },
            "Acmt024GenericPersonIdentification2": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Acmt024PersonIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Acmt024AccountSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt023GenericOrganisationIdentification3": {
                "type": "object",
                "description": "Shared by message paths whose Nexus inbound XSD restrictions differ (GenericOrganisationIdentification3__2, GenericOrganisationIdentification3__3); modelled as the looser union: a property is required only where every variant requires it, cardinalities and facets take the loosest bound.",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Acmt023OrganisationIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Acmt023DateAndPlaceOfBirth1": {
                "type": "object",
                "properties": {
                    "BirthDt": {
                        "type": "string",
                        "format": "date"
                    },
                    "PrvcOfBirth": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "CityOfBirth": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "CtryOfBirth": {
                        "type": "string",
                        "pattern": "^[A-Z]{2,2}$"
                    }
                },
                "required": [
                    "BirthDt",
                    "CityOfBirth",
                    "CtryOfBirth"
                ],
                "additionalProperties": false
            },
            "Acmt023GenericPersonIdentification2": {
                "type": "object",
                "description": "Shared by message paths whose Nexus inbound XSD restrictions differ (GenericPersonIdentification2__2, GenericPersonIdentification2__3); modelled as the looser union: a property is required only where every variant requires it, cardinalities and facets take the loosest bound.",
                "properties": {
                    "Id": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 256,
                        "pattern": "^(?:[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+(/[A-Za-z0-9 ?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)*)$"
                    },
                    "SchmeNm": {
                        "$ref": "#/components/schemas/Acmt023PersonIdentificationSchemeName1Choice"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id"
                ],
                "additionalProperties": false
            },
            "Acmt023GenericIdentification30": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "pattern": "^[a-zA-Z0-9]{4}$"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "SchmeNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id",
                    "Issr"
                ],
                "additionalProperties": false
            },
            "Acmt023AccountSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028OrganisationIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs028PersonIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs008GenericIdentification30": {
                "type": "object",
                "properties": {
                    "Id": {
                        "type": "string",
                        "pattern": "^[a-zA-Z0-9]{4}$"
                    },
                    "Issr": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    },
                    "SchmeNm": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 35,
                        "pattern": "^(?:[A-Za-z0-9 /?:().,'+!#&%*=^_`{|}~\";@$<>\\[\\]\\\\-]+)$"
                    }
                },
                "required": [
                    "Id",
                    "Issr"
                ],
                "additionalProperties": false
            },
            "Pacs002OrganisationIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Pacs002PersonIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt024OrganisationIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt024PersonIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt023OrganisationIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            },
            "Acmt023PersonIdentificationSchemeName1Choice": {
                "type": "object",
                "properties": {
                    "Cd": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 4
                    }
                },
                "required": [
                    "Cd"
                ],
                "additionalProperties": false
            }
        },
        "parameters": {
            "SignatureInputBodyless": {
                "name": "Signature-Input",
                "in": "header",
                "required": true,
                "description": "RFC 9421 signature metadata for a request without a body, per the Nexus HTTP Message Signature Profile v1 (RFC 9421, RFC 9530). One dictionary member labelled `nexus` whose covered components are exactly `\"@method\" \"@authority\" \"@path\" \"@query\"`, followed by `\"if-none-match\"` when that header is sent. `@query` is always covered; an empty query serialises as `?`, so query parameters cannot be added or removed undetected. Signature parameters, emitted in this order: `created` and `expires` (Unix seconds; `expires` = `created` + 300; the receiver rejects `created` more than ±5 minutes from its clock or a signature past `expires`), `keyid` (base64url SHA-256 thumbprint of the signer's signing public key, registered at onboarding; a missing, unknown, expired or revoked key id is rejected - never resolved to a default key), `alg` (always `rsa-pss-sha512`) and `tag` (always `nexus-v1`). The signature parameters are signed through the `@signature-params` line of the signature base. A missing, malformed or non-conforming value is rejected with AE005.",
                "schema": {
                    "type": "string",
                    "maxLength": 512,
                    "pattern": "^nexus=\\(\"@method\" \"@authority\" \"@path\" \"@query\"( \"if-none-match\")?\\);created=[0-9]{1,15};expires=[0-9]{1,15};keyid=\"[A-Za-z0-9_-]{43}\";alg=\"rsa-pss-sha512\";tag=\"nexus-v1\"$"
                },
                "example": "nexus=(\"@method\" \"@authority\" \"@path\" \"@query\");created=1786339201;expires=1786339501;keyid=\"NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs\";alg=\"rsa-pss-sha512\";tag=\"nexus-v1\""
            },
            "SignatureInputWithBody": {
                "name": "Signature-Input",
                "in": "header",
                "required": true,
                "description": "RFC 9421 signature metadata for a request with a body, per the Nexus HTTP Message Signature Profile v1 (RFC 9421, RFC 9530). One dictionary member labelled `nexus` whose covered components are exactly `\"@method\" \"@authority\" \"@path\" \"@query\" \"content-type\" \"content-digest\"`, so the body is bound to the signature through its `Content-Digest`. Signature parameters, emitted in this order: `created` and `expires` (Unix seconds; `expires` = `created` + 300; the receiver rejects `created` more than ±5 minutes from its clock or a signature past `expires`), `keyid` (base64url SHA-256 thumbprint of the signer's signing public key, registered at onboarding; a missing, unknown, expired or revoked key id is rejected - never resolved to a default key), `alg` (always `rsa-pss-sha512`) and `tag` (always `nexus-v1`). The signature parameters are signed through the `@signature-params` line of the signature base. A missing, malformed or non-conforming value is rejected with AE005.",
                "schema": {
                    "type": "string",
                    "maxLength": 512,
                    "pattern": "^nexus=\\(\"@method\" \"@authority\" \"@path\" \"@query\" \"content-type\" \"content-digest\"\\);created=[0-9]{1,15};expires=[0-9]{1,15};keyid=\"[A-Za-z0-9_-]{43}\";alg=\"rsa-pss-sha512\";tag=\"nexus-v1\"$"
                },
                "example": "nexus=(\"@method\" \"@authority\" \"@path\" \"@query\" \"content-type\" \"content-digest\");created=1786339201;expires=1786339501;keyid=\"NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs\";alg=\"rsa-pss-sha512\";tag=\"nexus-v1\""
            },
            "Signature": {
                "name": "Signature",
                "in": "header",
                "required": true,
                "description": "RFC 9421 signature value: one dictionary member labelled `nexus` holding an RFC 8941 byte sequence - the **standard base64** (not base64url) RSASSA-PSS signature using SHA-512 (`rsa-pss-sha512`), computed over the RFC 9421 signature base built from the components and parameters declared in `Signature-Input`. Produced with the sender's own signing private key; the receiver verifies it against the sender's registered signing public key resolved from `keyid`. With the minimum RSA-3072 key the signature is 384 bytes, i.e. 512 base64 characters. A missing, malformed or non-verifying signature is rejected with AE005.",
                "schema": {
                    "type": "string",
                    "minLength": 520,
                    "maxLength": 1400,
                    "pattern": "^nexus=:[A-Za-z0-9+/]+={0,2}:$"
                },
                "example": "nexus=:LawWG0POl/CUi7FibnReb4xwyjSBDCyBydn6cSvUUvNCGTOhMK4ZvXp3EaIZFIgBx0rY5gxaLJ6BsbMjaZatNSDJMjT0MjZnkZbSi7KX1tDgYX7nQ8bwwV5fo4n22oVkZkmkSAI5HyhWAjUs8o6gI/RcwoCHh7Y+XzOq/3YohNzYSg71/Z/A020bbRQsKIKvim1pFKIxnTjz7f7V2sRXjpBPu6zjzd0j4BLte5QkVfqBsd36NJtTpNPaMM5cYib0oMqBxlbjkhGIs+PA3nWurx3bdxsPeJLeTQHTBfUamOMTTtgPTn3wEuSv4OGAMa7rs62o6bpOQM9eKsvC4n4j92ek+AQnhb/zuryE9i7GqMTmD3gNnzgFDZM/uzEFPyVK3hC7/NpMzdetg8kP/xRQkppXyJV6JvnW06a1uVTvfj+foMKyaiBj7KZUUAD1ibiU3ualzSxyJZCT70l5mEZofiAWZqxYy+OTjCBmxqd2djmT2CNo115iC3GOPf4iJNDH:"
            },
            "ContentDigest": {
                "name": "Content-Digest",
                "in": "header",
                "required": true,
                "description": "RFC 9530 digest of the exact request body bytes as sent: `sha-512=:<standard base64 SHA-512>:`. Covered by the signature. The receiver recomputes the digest over the received bytes and rejects a mismatch with AE005 before verifying the signature. Only `sha-512` is accepted.",
                "schema": {
                    "type": "string",
                    "pattern": "^sha-512=:[A-Za-z0-9+/]{86}==:$"
                },
                "example": "sha-512=:3Sd3sG3WdBHVvvBdDh960Fgte6DbbpV+0NCVwRGakd3zwCpydFQv5xs80UQg3u7JtC+mLXzHybSsjJUvN0Cf8g==:"
            }
        },
        "headers": {
            "ResponseSignatureInput": {
                "description": "RFC 9421 signature metadata for a GET response, per the Nexus HTTP Message Signature Profile v1 (RFC 9421, RFC 9530). Signed by the responding server with its own signing private key. Covered components: `\"@status\" \"content-type\" \"content-digest\"` on 200, or `\"@status\" \"etag\"` on 304, followed in both cases by the request-bound components `\"@method\";req \"@path\";req \"@query\";req`, which tie the response to the resource that was requested. Same `created`, `expires`, `keyid`, `alg` and `tag` rules as requests. The client MUST verify the response signature before using the response and MUST discard a response that fails verification.",
                "required": true,
                "schema": {
                    "type": "string",
                    "maxLength": 512,
                    "pattern": "^nexus=\\(\"@status\" (\"content-type\" \"content-digest\"|\"etag\") \"@method\";req \"@path\";req \"@query\";req\\);created=[0-9]{1,15};expires=[0-9]{1,15};keyid=\"[A-Za-z0-9_-]{43}\";alg=\"rsa-pss-sha512\";tag=\"nexus-v1\"$"
                },
                "example": "nexus=(\"@status\" \"content-type\" \"content-digest\" \"@method\";req \"@path\";req \"@query\";req);created=1786339201;expires=1786339501;keyid=\"NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs\";alg=\"rsa-pss-sha512\";tag=\"nexus-v1\""
            },
            "ResponseSignature": {
                "description": "RFC 9421 response signature: one dictionary member labelled `nexus` holding the standard base64 `rsa-pss-sha512` signature produced by the responding server over the signature base declared in the response `Signature-Input`. Verified by the client against the server's registered signing public key.",
                "required": true,
                "schema": {
                    "type": "string",
                    "minLength": 520,
                    "maxLength": 1400,
                    "pattern": "^nexus=:[A-Za-z0-9+/]+={0,2}:$"
                },
                "example": "nexus=:LawWG0POl/CUi7FibnReb4xwyjSBDCyBydn6cSvUUvNCGTOhMK4ZvXp3EaIZFIgBx0rY5gxaLJ6BsbMjaZatNSDJMjT0MjZnkZbSi7KX1tDgYX7nQ8bwwV5fo4n22oVkZkmkSAI5HyhWAjUs8o6gI/RcwoCHh7Y+XzOq/3YohNzYSg71/Z/A020bbRQsKIKvim1pFKIxnTjz7f7V2sRXjpBPu6zjzd0j4BLte5QkVfqBsd36NJtTpNPaMM5cYib0oMqBxlbjkhGIs+PA3nWurx3bdxsPeJLeTQHTBfUamOMTTtgPTn3wEuSv4OGAMa7rs62o6bpOQM9eKsvC4n4j92ek+AQnhb/zuryE9i7GqMTmD3gNnzgFDZM/uzEFPyVK3hC7/NpMzdetg8kP/xRQkppXyJV6JvnW06a1uVTvfj+foMKyaiBj7KZUUAD1ibiU3ualzSxyJZCT70l5mEZofiAWZqxYy+OTjCBmxqd2djmT2CNo115iC3GOPf4iJNDH:"
            },
            "ResponseContentDigest": {
                "description": "RFC 9530 SHA-512 digest of the exact response body bytes, covered by the response signature.",
                "required": true,
                "schema": {
                    "type": "string",
                    "pattern": "^sha-512=:[A-Za-z0-9+/]{86}==:$"
                },
                "example": "sha-512=:lrQ9ipCrih8s4ITWLSvUXfJZ3l2z1suXuKukjNLHm/y+e/T7V3MDDjk1EXlx5yG7fusd5hRoTfwN1+c+4GptSA==:"
            }
        },
        "securitySchemes": {
            "nexusOAuth": {
                "type": "oauth2",
                "description": "OAuth2 client-credentials access token issued per participant, presented as `Authorization: Bearer <token>`. Tokens are certificate-bound per RFC 8705: the token carries a `cnf.\"x5t#S256\"` confirmation claim recording the SHA-256 thumbprint of the IPSO's mTLS client certificate, and the request is rejected (AE006) when the certificate presented on the connection does not match that thumbprint.",
                "flows": {
                    "clientCredentials": {
                        "tokenUrl": "https://auth.nexus.net/realms/nexus/protocol/openid-connect/token",
                        "scopes": {
                            "countries.read": "Read country and currency reference data",
                            "address.read": "Read address types and input definitions",
                            "institutions.read": "Read the financial institution directory",
                            "quotes.read": "Retrieve FX quotes for a corridor and amount",
                            "quote.read": "Compute fees and settlement amounts from a PSP supplied rate",
                            "fees.read": "Retrieve the Destination Agent fee formula",
                            "payment.process": "Submit and receive ISO 20022 payment messages",
                            "admin.downtime.notify": "Submit admi.004 downtime notifications for a Direct Participant IPS",
                            "connectivity.check": "Call the connectivity heartbeat and health check endpoints"
                        }
                    }
                }
            },
            "mutualTLS": {
                "type": "mutualTLS",
                "description": "Mutual TLS: the IPSO presents its X.509 client certificate on every connection, validated during the TLS handshake (fail-closed). The same certificate is the RFC 8705 binding anchor for the OAuth access token (see nexusOAuth)."
            }
        }
    }
}
