ISO 20022 Messages
Accepts an ISO 20022 message in XML format, prepared according to the Nexus Message Usage Guidelines. The messagePath path parameter selects the message type.
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.
- : Submit and receive ISO 20022 payment messages
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).
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.
application/xml
application/xml/
*/*Example: */*Base64url-encoded PS256 signature (RSASSA-PSS, SHA-256, MGF1-SHA256, 32-byte salt) over the canonical input: HTTP method, LF, request path and query, LF, Nexus-Timestamp, LF, raw body bytes. Produced with the IPSO's signing private key; Nexus verifies it against the IPSO's registered signing public key resolved from Nexus-Key-Id. With the minimum RSA-3072 signing key the signature is 384 bytes, i.e. 512 base64url characters. Required on ISO 20022 ingress messages.
Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.
2026-08-10T05:20:01ZIdentifies the signing public key the receiver must verify with: the base64url-encoded SHA-256 thumbprint of the signer's signing public key, exchanged and registered at onboarding. Enables key rotation without ambiguity - during a rotation overlap window the receiver accepts both the current and the previous key id. A missing, unknown, expired or revoked key id is rejected with AE005.
NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$Message accepted at the Ack0 boundary 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).
No content
Invalid request
Authentication failure
Access denied
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Conflict. This request was already accepted and is still being processed. Do not retry - use a pacs.028 status request to check the outcome.
Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration.
Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml).
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
POST /iso20022/pacs008 HTTP/1.1
Host: prod.payments.nexus.net
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Nexus-Signature: text
Nexus-Timestamp: 2026-01-01T00:00:00.000Z
Nexus-Key-Id: text
Content-Type: application/xml
Content-Length: 4803
"<?xml version="1.0" encoding="UTF-8"?>
<!-- Payment Execution NORM happy flow, 4-step settlement process. Leg 1: Source IPSO -> Nexus. -->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.13">
<FIToFICstmrCdtTrf>
<GrpHdr>
<MsgId>20260807NXPS081DN080001MBBEMYKLXXX</MsgId>
<CreDtTm>2026-08-07T05:20:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<SttlmInf>
<SttlmMtd>CLRG</SttlmMtd>
<ClrSys>
<Cd>RPP</Cd>
</ClrSys>
</SttlmInf>
</GrpHdr>
<CdtTrfTxInf>
<PmtId>
<InstrId>MBB-INSTR-0807-778899</InstrId>
<EndToEndId>E2E-20260807-778899</EndToEndId>
<TxId>MBB-TX-0807-778899</TxId>
<UETR>4e1a7c90-2b3d-4f56-8a12-9c7d5e6f0a1b</UETR>
</PmtId>
<PmtTpInf>
<InstrPrty>NORM</InstrPrty>
<SvcLvl>
<Cd>XBIN</Cd>
</SvcLvl>
<LclInstrm>
<Cd>INST</Cd>
</LclInstrm>
</PmtTpInf>
<IntrBkSttlmAmt Ccy="MYR">1000.00</IntrBkSttlmAmt>
<IntrBkSttlmDt>2026-08-07</IntrBkSttlmDt>
<AddtlDtTm>
<AccptncDtTm>2026-08-07T05:19:57</AccptncDtTm>
</AddtlDtTm>
<InstdAmt Ccy="MYR">1000.00</InstdAmt>
<AgrdRate>
<UnitCcy>MYR</UnitCcy>
<QtdCcy>SGD</QtdCcy>
<PreAgrdXchgRate>0.30300000</PreAgrdXchgRate>
<QtnDtTm>2026-08-07T05:19:50</QtnDtTm>
<QtId>7c2e4b81-9d6a-4c3f-8b21-5a0f9e8d7c6b</QtId>
<FXAgt>
<FinInstnId>
<BICFI>CIBBMYKLXXX</BICFI>
</FinInstnId>
</FXAgt>
</AgrdRate>
<ChrgBr>DEBT</ChrgBr>
<ChrgsInf>
<Amt Ccy="MYR">2.00</Amt>
<Agt>
<FinInstnId>
<BICFI>MBBEMYKLXXX</BICFI>
</FinInstnId>
</Agt>
</ChrgsInf>
<ChrgsInf>
<Amt Ccy="SGD">2.02</Amt>
<Agt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>SGIBG</Cd>
</ClrSysId>
<MmbId>7339</MmbId>
</ClrSysMmbId>
</FinInstnId>
</Agt>
</ChrgsInf>
<InstgAgt>
<FinInstnId>
<BICFI>MBBEMYKLXXX</BICFI>
</FinInstnId>
</InstgAgt>
<InstdAgt>
<FinInstnId>
<BICFI>BNMAMYKLXXX</BICFI>
</FinInstnId>
</InstdAgt>
<IntrmyAgt1>
<FinInstnId>
<BICFI>BNMAMYKLXXX</BICFI>
</FinInstnId>
</IntrmyAgt1>
<IntrmyAgt1Acct>
<Id>
<Othr>
<Id>MYR0000700123</Id>
</Othr>
</Id>
</IntrmyAgt1Acct>
<IntrmyAgt2>
<FinInstnId>
<BICFI>MASGSGSGXXX</BICFI>
</FinInstnId>
</IntrmyAgt2>
<IntrmyAgt2Acct>
<Id>
<Othr>
<Id>SGD0000800987</Id>
</Othr>
</Id>
</IntrmyAgt2Acct>
<Dbtr>
<Nm>Ahmad bin Abdullah</Nm>
<PstlAdr>
<StrtNm>Jalan Ampang</StrtNm>
<BldgNb>8</BldgNb>
<PstCd>50450</PstCd>
<TwnNm>Kuala Lumpur</TwnNm>
<Ctry>MY</Ctry>
</PstlAdr>
<Id>
<PrvtId>
<Othr>
<Id>MY-CUST-0099887766</Id>
<SchmeNm>
<Cd>CUST</Cd>
</SchmeNm>
</Othr>
</PrvtId>
</Id>
<CtryOfRes>MY</CtryOfRes>
</Dbtr>
<DbtrAcct>
<Id>
<Othr>
<Id>1234567890123</Id>
</Othr>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BICFI>MBBEMYKLXXX</BICFI>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>SGIBG</Cd>
</ClrSysId>
<MmbId>7339</MmbId>
</ClrSysMmbId>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>Tan Wei Ming</Nm>
<PstlAdr>
<PstCd>049513</PstCd>
<TwnNm>Singapore</TwnNm>
<Ctry>SG</Ctry>
</PstlAdr>
<Id>
<PrvtId>
<Othr>
<Id>SG-CUST-5501234567</Id>
<SchmeNm>
<Cd>CUST</Cd>
</SchmeNm>
</Othr>
</PrvtId>
</Id>
<CtryOfRes>SG</CtryOfRes>
</Cdtr>
<CdtrAcct>
<Id>
<Othr>
<Id>5501234567</Id>
</Othr>
</Id>
</CdtrAcct>
<Purp>
<Cd>GDDS</Cd>
</Purp>
<RmtInf>
<Ustrd>Invoice 20260807 goods</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document>"No content
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.
- : Submit and receive ISO 20022 payment messages
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).
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.
application/xml
application/xml/
*/*Example: */*Base64url-encoded PS256 signature (RSASSA-PSS, SHA-256, MGF1-SHA256, 32-byte salt) over the canonical input: HTTP method, LF, request path and query, LF, Nexus-Timestamp, LF, raw body bytes. Produced with the IPSO's signing private key; Nexus verifies it against the IPSO's registered signing public key resolved from Nexus-Key-Id. With the minimum RSA-3072 signing key the signature is 384 bytes, i.e. 512 base64url characters. Required on ISO 20022 ingress messages.
Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.
2026-08-10T05:20:01ZIdentifies the signing public key the receiver must verify with: the base64url-encoded SHA-256 thumbprint of the signer's signing public key, exchanged and registered at onboarding. Enables key rotation without ambiguity - during a rotation overlap window the receiver accepts both the current and the previous key id. A missing, unknown, expired or revoked key id is rejected with AE005.
NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$Message accepted at the Ack0 boundary and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002).
No content
Invalid request
Authentication failure
Access denied
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Conflict. This request was already accepted and is still being processed. Do not retry - use a pacs.028 status request to check the outcome.
Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration.
Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml).
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
POST /iso20022/pacs002 HTTP/1.1
Host: prod.payments.nexus.net
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Nexus-Signature: text
Nexus-Timestamp: 2026-01-01T00:00:00.000Z
Nexus-Key-Id: text
Content-Type: application/xml
Content-Length: 1436
"<?xml version="1.0" encoding="UTF-8"?>
<!-- Payment Execution NORM happy flow, 4-step settlement process. Leg 3: Destination IPSO -> Nexus. -->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.15">
<FIToFIPmtStsRpt>
<GrpHdr>
<MsgId>20260807NXPS021SG020001OCBCSGSGXXX</MsgId>
<CreDtTm>2026-08-07T05:20:03</CreDtTm>
</GrpHdr>
<TxInfAndSts>
<OrgnlGrpInf>
<OrgnlMsgId>20260807NXPS081NX080001NXSGCHZ1XXX</OrgnlMsgId>
<OrgnlMsgNmId>pacs.008.001.13</OrgnlMsgNmId>
<OrgnlCreDtTm>2026-08-07T05:20:01</OrgnlCreDtTm>
</OrgnlGrpInf>
<OrgnlInstrId>MBB-INSTR-0807-778899</OrgnlInstrId>
<OrgnlEndToEndId>E2E-20260807-778899</OrgnlEndToEndId>
<OrgnlTxId>MBB-TX-0807-778899</OrgnlTxId>
<OrgnlUETR>4e1a7c90-2b3d-4f56-8a12-9c7d5e6f0a1b</OrgnlUETR>
<TxSts>ACCC</TxSts>
<FctvIntrBkSttlmDt>
<Dt>2026-08-07</Dt>
</FctvIntrBkSttlmDt>
<ClrSysRef>OCBC-FAST-20260807-0001</ClrSysRef>
<InstgAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>SGIBG</Cd>
</ClrSysId>
<MmbId>7339</MmbId>
</ClrSysMmbId>
</FinInstnId>
</InstgAgt>
<InstdAgt>
<FinInstnId>
<BICFI>NXSGCHZ1XXX</BICFI>
</FinInstnId>
</InstdAgt>
</TxInfAndSts>
</FIToFIPmtStsRpt>
</Document>"No content
Submit an ISO 20022 camt.029 resolution of investigation response. Nexus validates and correlates the resolution against the outstanding camt.056 cancellation in its journal by OrgnlUETR. Validation or correlation failures are surfaced via the Nexus Operations Service Desk.
- : Submit and receive ISO 20022 payment messages
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).
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.
application/xml
application/xml/
*/*Example: */*Base64url-encoded PS256 signature (RSASSA-PSS, SHA-256, MGF1-SHA256, 32-byte salt) over the canonical input: HTTP method, LF, request path and query, LF, Nexus-Timestamp, LF, raw body bytes. Produced with the IPSO's signing private key; Nexus verifies it against the IPSO's registered signing public key resolved from Nexus-Key-Id. With the minimum RSA-3072 signing key the signature is 384 bytes, i.e. 512 base64url characters. Required on ISO 20022 ingress messages.
Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.
2026-08-10T05:20:01ZIdentifies the signing public key the receiver must verify with: the base64url-encoded SHA-256 thumbprint of the signer's signing public key, exchanged and registered at onboarding. Enables key rotation without ambiguity - during a rotation overlap window the receiver accepts both the current and the previous key id. A missing, unknown, expired or revoked key id is rejected with AE005.
NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$Message accepted at the Ack0 boundary and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002).
No content
Invalid request
Authentication failure
Access denied
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Conflict. This request was already accepted and is still being processed. Do not retry - use a pacs.028 status request to check the outcome.
Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration.
Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml).
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
POST /iso20022/camt029 HTTP/1.1
Host: prod.payments.nexus.net
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Nexus-Signature: text
Nexus-Timestamp: 2026-01-01T00:00:00.000Z
Nexus-Key-Id: text
Content-Type: application/xml
Content-Length: 987
"<?xml version="1.0" encoding="UTF-8"?>
<!-- Payment Cancellation happy flow, Leg C2: Destination IPSO -> Nexus. -->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.029.001.13">
<RsltnOfInvstgtn>
<Assgnmt>
<Id>20260810NXCA291CX290001BCSSSGS1XXX</Id>
<Assgnr>
<Agt>
<FinInstnId>
<BICFI>BCSSSGS1XXX</BICFI>
</FinInstnId>
</Agt>
</Assgnr>
<Assgne>
<Agt>
<FinInstnId>
<BICFI>NXSGCHZ1XXX</BICFI>
</FinInstnId>
</Agt>
</Assgne>
<CreDtTm>2026-08-10T05:40:12</CreDtTm>
</Assgnmt>
<Sts>
<Conf>CNCL</Conf>
</Sts>
<CxlDtls>
<TxInfAndSts>
<OrgnlEndToEndId>E2E-20260810-556677</OrgnlEndToEndId>
<OrgnlTxId>MBB-TX-0810-556677</OrgnlTxId>
<OrgnlUETR>a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d</OrgnlUETR>
</TxInfAndSts>
</CxlDtls>
</RsltnOfInvstgtn>
</Document>"No content
Submit an ISO 20022 acmt.024 identification verification report response. Nexus correlates the response to the outstanding acmt.023 from its journal and routes the outcome to the Source IPS. Post-202 failures are communicated asynchronously via admi.002 to the Destination IPS.
- : Submit and receive ISO 20022 payment messages
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).
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.
application/xml
application/xml/
*/*Example: */*Base64url-encoded PS256 signature (RSASSA-PSS, SHA-256, MGF1-SHA256, 32-byte salt) over the canonical input: HTTP method, LF, request path and query, LF, Nexus-Timestamp, LF, raw body bytes. Produced with the IPSO's signing private key; Nexus verifies it against the IPSO's registered signing public key resolved from Nexus-Key-Id. With the minimum RSA-3072 signing key the signature is 384 bytes, i.e. 512 base64url characters. Required on ISO 20022 ingress messages.
Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.
2026-08-10T05:20:01ZIdentifies the signing public key the receiver must verify with: the base64url-encoded SHA-256 thumbprint of the signer's signing public key, exchanged and registered at onboarding. Enables key rotation without ambiguity - during a rotation overlap window the receiver accepts both the current and the previous key id. A missing, unknown, expired or revoked key id is rejected with AE005.
NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$Message accepted at the Ack0 boundary and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002).
No content
Invalid request
Authentication failure
Access denied
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Conflict. This request was already accepted and is still being processed. Do not retry - the outcome is delivered separately as an acmt.024.
Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration.
Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml).
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
POST /iso20022/acmt024 HTTP/1.1
Host: prod.payments.nexus.net
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Nexus-Signature: text
Nexus-Timestamp: 2026-01-01T00:00:00.000Z
Nexus-Key-Id: text
Content-Type: application/xml
Content-Length: 1440
"<?xml version="1.0" encoding="UTF-8"?>
<!-- Proxy Resolution happy flow, Leg P3: Destination IPSO / PDO -> Nexus. -->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:acmt.024.001.04">
<IdVrfctnRpt>
<Assgnmt>
<MsgId>20260807NXAC241PN240001BCSSSGS1XXX</MsgId>
<CreDtTm>2026-08-07T05:15:32</CreDtTm>
<Assgnr>
<Agt>
<FinInstnId>
<BICFI>BCSSSGS1XXX</BICFI>
</FinInstnId>
</Agt>
</Assgnr>
<Assgne>
<Agt>
<FinInstnId>
<BICFI>NXSGCHZ1XXX</BICFI>
</FinInstnId>
</Agt>
</Assgne>
</Assgnmt>
<Rpt>
<OrgnlId>20260807051530PROX0001</OrgnlId>
<Vrfctn>true</Vrfctn>
<UpdtdPtyAndAcctId>
<Pty>
<Nm>Tan Wei Ming</Nm>
<PstlAdr>
<TwnNm>Singapore</TwnNm>
<Ctry>SG</Ctry>
</PstlAdr>
</Pty>
<Acct>
<Id>
<Othr>
<Id>5501234567</Id>
</Othr>
</Id>
<Nm>Wei Ming T.</Nm>
</Acct>
<Agt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>SGIBG</Cd>
</ClrSysId>
<MmbId>7339</MmbId>
</ClrSysMmbId>
</FinInstnId>
</Agt>
</UpdtdPtyAndAcctId>
</Rpt>
</IdVrfctnRpt>
</Document>"No content
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.
- : Submit and receive ISO 20022 payment messages
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).
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.
application/xml
application/xml/
*/*Example: */*Base64url-encoded PS256 signature (RSASSA-PSS, SHA-256, MGF1-SHA256, 32-byte salt) over the canonical input: HTTP method, LF, request path and query, LF, Nexus-Timestamp, LF, raw body bytes. Produced with the IPSO's signing private key; Nexus verifies it against the IPSO's registered signing public key resolved from Nexus-Key-Id. With the minimum RSA-3072 signing key the signature is 384 bytes, i.e. 512 base64url characters. Required on ISO 20022 ingress messages.
Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.
2026-08-10T05:20:01ZIdentifies the signing public key the receiver must verify with: the base64url-encoded SHA-256 thumbprint of the signer's signing public key, exchanged and registered at onboarding. Enables key rotation without ambiguity - during a rotation overlap window the receiver accepts both the current and the previous key id. A missing, unknown, expired or revoked key id is rejected with AE005.
NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$Message accepted at the Ack0 boundary 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).
No content
Invalid request
Authentication failure
Access denied
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Conflict. This request was already accepted and is still being processed. Do not retry - the outcome is delivered separately as an acmt.024.
Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration.
Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml).
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
POST /iso20022/acmt023 HTTP/1.1
Host: prod.payments.nexus.net
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Nexus-Signature: text
Nexus-Timestamp: 2026-01-01T00:00:00.000Z
Nexus-Key-Id: text
Content-Type: application/xml
Content-Length: 1827
"<?xml version="1.0" encoding="UTF-8"?>
<!-- Proxy Resolution happy flow, Leg P1: Source IPSO -> Nexus. -->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:acmt.023.001.04">
<IdVrfctnReq>
<Assgnmt>
<MsgId>20260807NXAC231DN230001MBBEMYKLXXX</MsgId>
<CreDtTm>2026-08-07T05:15:30</CreDtTm>
<Cretr>
<Pty>
<Nm>Ahmad bin Abdullah</Nm>
<PstlAdr>
<StrtNm>Jalan Ampang</StrtNm>
<BldgNb>8</BldgNb>
<UnitNb>12-03</UnitNb>
<PstCd>50450</PstCd>
<TwnNm>Kuala Lumpur</TwnNm>
<Ctry>MY</Ctry>
</PstlAdr>
<Id>
<PrvtId>
<Othr>
<Id>MY-CUST-0099887766</Id>
<SchmeNm>
<Cd>CUST</Cd>
</SchmeNm>
</Othr>
</PrvtId>
</Id>
<CtryOfRes>MY</CtryOfRes>
</Pty>
</Cretr>
<Assgnr>
<Agt>
<FinInstnId>
<BICFI>MBBEMYKLXXX</BICFI>
</FinInstnId>
</Agt>
</Assgnr>
<Assgne>
<Agt>
<FinInstnId>
<BICFI>NXSGCHZ1XXX</BICFI>
</FinInstnId>
</Agt>
</Assgne>
</Assgnmt>
<Vrfctn>
<Id>20260807051530PROX0001</Id>
<PtyAndAcctId>
<Pty>
<Nm>Tan Wei Ming</Nm>
</Pty>
<Acct>
<Prxy>
<Tp>
<Cd>MBNO</Cd>
</Tp>
<Id>+6591234567</Id>
</Prxy>
</Acct>
<Agt>
<FinInstnId>
<PstlAdr>
<Ctry>SG</Ctry>
</PstlAdr>
</FinInstnId>
</Agt>
</PtyAndAcctId>
</Vrfctn>
</IdVrfctnReq>
</Document>"No content
Submit an ISO 20022 pacs.028 FI to FI payment status request. Nexus validates the request and resolves the referenced UETR against its payment journal. The asynchronous outcome is delivered to the Source IPS as a pacs.002 or an admi.002 message reject for technical rejections.
- : Submit and receive ISO 20022 payment messages
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).
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.
application/xml
application/xml/
*/*Example: */*Base64url-encoded PS256 signature (RSASSA-PSS, SHA-256, MGF1-SHA256, 32-byte salt) over the canonical input: HTTP method, LF, request path and query, LF, Nexus-Timestamp, LF, raw body bytes. Produced with the IPSO's signing private key; Nexus verifies it against the IPSO's registered signing public key resolved from Nexus-Key-Id. With the minimum RSA-3072 signing key the signature is 384 bytes, i.e. 512 base64url characters. Required on ISO 20022 ingress messages.
Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.
2026-08-10T05:20:01ZIdentifies the signing public key the receiver must verify with: the base64url-encoded SHA-256 thumbprint of the signer's signing public key, exchanged and registered at onboarding. Enables key rotation without ambiguity - during a rotation overlap window the receiver accepts both the current and the previous key id. A missing, unknown, expired or revoked key id is rejected with AE005.
NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$Message accepted at the Ack0 boundary 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).
No content
Invalid request
Authentication failure
Access denied
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Conflict. This request was already accepted and is still being processed. Do not retry - use a pacs.028 status request to check the outcome.
Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration.
Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml).
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
POST /iso20022/pacs028 HTTP/1.1
Host: prod.payments.nexus.net
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Nexus-Signature: text
Nexus-Timestamp: 2026-01-01T00:00:00.000Z
Nexus-Key-Id: text
Content-Type: application/xml
Content-Length: 808
"<?xml version="1.0" encoding="UTF-8"?>
<!-- Payment Status Request happy flow, Leg Q1: Source IPSO -> Nexus. -->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.028.001.06">
<FIToFIPmtStsReq>
<GrpHdr>
<MsgId>20260807NXPS281DN280001MBBEMYKLXXX</MsgId>
<CreDtTm>2026-08-07T05:21:00</CreDtTm>
</GrpHdr>
<TxInf>
<StsReqId>MBB-STSREQ-0807-0001</StsReqId>
<OrgnlInstrId>MBB-INSTR-0807-778899</OrgnlInstrId>
<OrgnlEndToEndId>E2E-20260807-778899</OrgnlEndToEndId>
<OrgnlTxId>MBB-TX-0807-778899</OrgnlTxId>
<OrgnlUETR>4e1a7c90-2b3d-4f56-8a12-9c7d5e6f0a1b</OrgnlUETR>
<InstgAgt>
<FinInstnId>
<BICFI>MBBEMYKLXXX</BICFI>
</FinInstnId>
</InstgAgt>
</TxInf>
</FIToFIPmtStsReq>
</Document>"No content
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 resolved from CAP reference data. Transport security requires mutual TLS: Nexus validates the caller's client certificate against the IPS certificate registered in CAP; the IPS identity is taken from that certificate, so no response endpoint is supplied on the request.
- : Submit admi.004 downtime notifications for a Direct Participant IPS
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).
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.
application/xml
application/xml/
*/*Example: */*Base64url-encoded PS256 signature (RSASSA-PSS, SHA-256, MGF1-SHA256, 32-byte salt) over the canonical input: HTTP method, LF, request path and query, LF, Nexus-Timestamp, LF, raw body bytes. Produced with the IPSO's signing private key; Nexus verifies it against the IPSO's registered signing public key resolved from Nexus-Key-Id. With the minimum RSA-3072 signing key the signature is 384 bytes, i.e. 512 base64url characters. Required on ISO 20022 ingress messages.
Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.
2026-08-10T05:20:01ZIdentifies the signing public key the receiver must verify with: the base64url-encoded SHA-256 thumbprint of the signer's signing public key, exchanged and registered at onboarding. Enables key rotation without ambiguity - during a rotation overlap window the receiver accepts both the current and the previous key id. A missing, unknown, expired or revoked key id is rejected with AE005.
NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$Message accepted at the Ack0 boundary and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002).
No content
Invalid request
Authentication failure
Access denied
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration.
Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml).
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
POST /iso20022/admi004 HTTP/1.1
Host: prod.payments.nexus.net
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Nexus-Signature: text
Nexus-Timestamp: 2026-01-01T00:00:00.000Z
Nexus-Key-Id: text
Content-Type: application/xml
Content-Length: 479
"<?xml version="1.0" encoding="UTF-8"?>
<!-- Planned downtime notification (admi.004), Leg I1: Destination IPSO -> Nexus. -->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:admi.004.001.02">
<SysEvtNtfctn>
<EvtInf>
<EvtCd>PIDN</EvtCd>
<EvtParam>EXPECTED_DURATION/PT2H</EvtParam>
<EvtDesc>Planned scheduled maintenance of PayNow/FAST clearing</EvtDesc>
<EvtTm>2026-08-15T18:00:00</EvtTm>
</EvtInf>
</SysEvtNtfctn>
</Document>"No content
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 a PS256 signature in the Nexus-Signature, Nexus-Timestamp and Nexus-Key-Id headers.
- : Submit and receive ISO 20022 payment messages
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).
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.
application/xml
application/xml/
*/*Example: */*Base64url-encoded PS256 signature (RSASSA-PSS, SHA-256, MGF1-SHA256, 32-byte salt) over the canonical input: HTTP method, LF, request path and query, LF, Nexus-Timestamp, LF, raw body bytes. Produced with the IPSO's signing private key; Nexus verifies it against the IPSO's registered signing public key resolved from Nexus-Key-Id. With the minimum RSA-3072 signing key the signature is 384 bytes, i.e. 512 base64url characters. Required on ISO 20022 ingress messages.
Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.
2026-08-10T05:20:01ZIdentifies the signing public key the receiver must verify with: the base64url-encoded SHA-256 thumbprint of the signer's signing public key, exchanged and registered at onboarding. Enables key rotation without ambiguity - during a rotation overlap window the receiver accepts both the current and the previous key id. A missing, unknown, expired or revoked key id is rejected with AE005.
NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$ISO 20022 admi.002.001.01 Message Reject document.
Message accepted at the Ack0 boundary and stored for async processing. Not final business acceptance - failures are sent later via an ISO 20022 message (e.g. admi.002).
No content
Invalid request
Authentication failure
Access denied
Method Not Allowed. The HTTP method is not supported for this endpoint. Use the correct HTTP method.
Conflict. This request was already accepted and is still being processed. Do not retry - the original submission is treated as accepted.
Payload Too Large. The request body exceeds the gateway's maximum allowed size. Reduce payload size or check gateway configuration.
Unsupported Media Type. The Content-Type header does not match the media type this endpoint accepts (application/xml).
Too Many Requests. Rate limit exceeded. The Retry-After header indicates when to retry. Back off and retry after the indicated duration.
Internal error
Bad Gateway. The gateway received an invalid response from the upstream service. Retry with exponential backoff. If persistent, escalate.
Service Unavailable. The upstream service is temporarily unavailable, for example during rolling deployment. Retry with exponential backoff.
Gateway Timeout. The upstream service did not respond within the gateway's timeout window. Retry with exponential backoff.
POST /iso20022/admi002 HTTP/1.1
Host: prod.payments.nexus.net
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
Nexus-Signature: text
Nexus-Timestamp: 2026-01-01T00:00:00.000Z
Nexus-Key-Id: text
Content-Type: application/xml
Content-Length: 583
"<?xml version="1.0" encoding="UTF-8"?>
<!-- pacs.008 technical rejection (admi.002): IPSO -> Nexus. -->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:admi.002.001.01">
<admi.002.001.01>
<RltdRef>
<Ref>20260807NXPS081DN080002DBSSSGSGXXX</Ref>
</RltdRef>
<Rsn>
<RjctgPtyRsn>FF02</RjctgPtyRsn>
<RjctnDtTm>2026-08-07T05:16:31</RjctnDtTm>
<RsnDesc>Mandatory element missing: /Document/FIToFICstmrCdtTrf/CdtTrfTxInf/PmtId/UETR — UETR is required per Nexus Usage Guidelines</RsnDesc>
</Rsn>
</admi.002.001.01>
</Document>"No content
Last updated
