For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

post

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.

Required scopes
This endpoint requires the following scopes:
  • : Submit and receive ISO 20022 payment messages
Authorizations
mutualTLS

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).

OAuth2clientCredentialsRequired

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.

Token URL:
Header parameters
Content-TypestringRequired

application/xml

Example: application/xml
AcceptstringRequired

/

Default: */*Example: */*
Nexus-SignaturestringRequired

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.

Example: Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$
Nexus-Timestampstring · date-timeRequired

ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.

Example: 2026-08-10T05:20:01Z
Nexus-Key-IdstringRequired

Identifies 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.

Example: NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$
Body
Responses
202

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

post/iso20022/pacs008
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

post

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.

Required scopes
This endpoint requires the following scopes:
  • : Submit and receive ISO 20022 payment messages
Authorizations
mutualTLS

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).

OAuth2clientCredentialsRequired

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.

Token URL:
Header parameters
Content-TypestringRequired

application/xml

Example: application/xml
AcceptstringRequired

/

Default: */*Example: */*
Nexus-SignaturestringRequired

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.

Example: Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$
Nexus-Timestampstring · date-timeRequired

ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.

Example: 2026-08-10T05:20:01Z
Nexus-Key-IdstringRequired

Identifies 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.

Example: NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$
Body
Responses
202

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

post/iso20022/pacs002
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

post

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.

Required scopes
This endpoint requires the following scopes:
  • : Submit and receive ISO 20022 payment messages
Authorizations
mutualTLS

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).

OAuth2clientCredentialsRequired

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.

Token URL:
Header parameters
Content-TypestringRequired

application/xml

Example: application/xml
AcceptstringRequired

/

Default: */*Example: */*
Nexus-SignaturestringRequired

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.

Example: Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$
Nexus-Timestampstring · date-timeRequired

ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.

Example: 2026-08-10T05:20:01Z
Nexus-Key-IdstringRequired

Identifies 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.

Example: NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$
Body
Responses
202

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

post/iso20022/camt029
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

post

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.

Required scopes
This endpoint requires the following scopes:
  • : Submit and receive ISO 20022 payment messages
Authorizations
mutualTLS

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).

OAuth2clientCredentialsRequired

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.

Token URL:
Header parameters
Content-TypestringRequired

application/xml

Example: application/xml
AcceptstringRequired

/

Default: */*Example: */*
Nexus-SignaturestringRequired

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.

Example: Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$
Nexus-Timestampstring · date-timeRequired

ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.

Example: 2026-08-10T05:20:01Z
Nexus-Key-IdstringRequired

Identifies 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.

Example: NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$
Body
Responses
202

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

post/iso20022/acmt024
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

post

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.

Required scopes
This endpoint requires the following scopes:
  • : Submit and receive ISO 20022 payment messages
Authorizations
mutualTLS

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).

OAuth2clientCredentialsRequired

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.

Token URL:
Header parameters
Content-TypestringRequired

application/xml

Example: application/xml
AcceptstringRequired

/

Default: */*Example: */*
Nexus-SignaturestringRequired

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.

Example: Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$
Nexus-Timestampstring · date-timeRequired

ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.

Example: 2026-08-10T05:20:01Z
Nexus-Key-IdstringRequired

Identifies 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.

Example: NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$
Body
Responses
202

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

post/iso20022/acmt023
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

post

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.

Required scopes
This endpoint requires the following scopes:
  • : Submit and receive ISO 20022 payment messages
Authorizations
mutualTLS

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).

OAuth2clientCredentialsRequired

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.

Token URL:
Header parameters
Content-TypestringRequired

application/xml

Example: application/xml
AcceptstringRequired

/

Default: */*Example: */*
Nexus-SignaturestringRequired

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.

Example: Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$
Nexus-Timestampstring · date-timeRequired

ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.

Example: 2026-08-10T05:20:01Z
Nexus-Key-IdstringRequired

Identifies 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.

Example: NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$
Body
Responses
202

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

post/iso20022/pacs028
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 (downtime) Notification

post

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.

Required scopes
This endpoint requires the following scopes:
  • : Submit admi.004 downtime notifications for a Direct Participant IPS
Authorizations
mutualTLS

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).

OAuth2clientCredentialsRequired

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.

Token URL:
Header parameters
Content-TypestringRequired

application/xml

Example: application/xml
AcceptstringRequired

/

Default: */*Example: */*
Nexus-SignaturestringRequired

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.

Example: Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$
Nexus-Timestampstring · date-timeRequired

ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.

Example: 2026-08-10T05:20:01Z
Nexus-Key-IdstringRequired

Identifies 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.

Example: NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$
Body
Responses
202

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

post/iso20022/admi004
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

post

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.

Required scopes
This endpoint requires the following scopes:
  • : Submit and receive ISO 20022 payment messages
Authorizations
mutualTLS

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).

OAuth2clientCredentialsRequired

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.

Token URL:
Header parameters
Content-TypestringRequired

application/xml

Example: application/xml
AcceptstringRequired

/

Default: */*Example: */*
Nexus-SignaturestringRequired

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.

Example: Pq3kR9mXv1sT7nZ4bL0cH8dG2jY6wQ5aE...512-base64url-characters...rN1uK7xB3fM9pV2zC4Pattern: ^[A-Za-z0-9_-]+$
Nexus-Timestampstring · date-timeRequired

ISO 8601 UTC timestamp (no offset) used in the signature canonicalisation. Receivers reject skew beyond ±5 minutes.

Example: 2026-08-10T05:20:01Z
Nexus-Key-IdstringRequired

Identifies 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.

Example: NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9XsPattern: ^[A-Za-z0-9_-]{43}$
Body

ISO 20022 admi.002.001.01 Message Reject document.

Responses
202

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

post/iso20022/admi002
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