RTGS.global Participant Gateway API (1.0.0)

Download OpenAPI specification:

Overview

The RTGS.global Participant Gateway API allows JSON messages to be sent and received.

HTTP requests are sent to the API endpoints and responses will either be synchronously returned as a HTTP response or asynchronously via Azure Event Grid.

Synchronous responses

The messages will be in the Body of the HTTP response with the appropriate HTTP status code.

Asynchronous responses

The messages will be delivered using the CloudEvent v1.0 schema. The payload is provided in the data_base64 property of the CloudEvent. This value must be base64-decoded before the payload can be used or verified.

Azure Event Grid supports multiple subscription types however all asynchronous responses are marked as a webhook in this documentation. The same message types will be used, regardless of the subscription choice.

FI to FI Customer Credit Transfer

Instruct participants to make payments to beneficiaries in other jurisdictions.

Transaction status update Webhook

ISO-20022 pacs.002 message. Information about a transaction status update.

Event type: global.rtgs.TransactionStatusNotificationV1

Request Body schema: application/json
object or null

The FIToFIPaymentStatusReport message is exchanged between agents to provide status information about instructions previously sent. Its usage will always be governed by a bilateral agreement between the agents.

Responses

Request samples

Content type
application/json
Example
{
  • "FIToFIPmtStsRpt": {
    }
}

New transaction Webhook

ISO-20022 camt.054 message. Information about a debit or credit transaction against an account.

Event type: global.rtgs.TransactionNotificationV1

Request Body schema: application/json
object or null

BankToCustomerDebitCreditNotification : to inform the account owner of single or multiple debit and/or credit entries reported to the account

object or null

Extra proprietary metadata associated with the notification.

Responses

Request samples

Content type
application/json
Example
{
  • "BkToCstmrDbtCdtNtfctn": {
    }
}

New payaway funds request Webhook

ISO-20022 pacs.008 message. Forwarded Financial Institution To Financial Institution Customer Credit Transfer message from the initiating participant to the counterparty participant.

Event type: global.rtgs.PayawayFundsV1

Request Body schema: application/json
FromRtgsGlobalId
string or null
object or null

Responses

Request samples

Content type
application/json
{
  • "FIToFICstmrCdtTrf": {
    }
}

Initiate FI to FI Customer Credit Transfer

ISO-20022 pacs.008 message. Instruct funds controller to initiate onward payment to beneficiaries in other countries.

On success, the pacs.008 message will be sent to the funds controller to inform them of the onward payment requests.

On failure, the initiating party's webhook will receive a notification with the reason.

The InstgAgt.FinInstnId.Othr.Id and InstdAgt.FinInstnId.Othr.Id properties must be populated with the RTGS.global Ids of the debtor participant and debtor's funds controller respectively.

If the debtor's funds controller requires debtor party management, the ultimate debtor's account alias id must be provided. If the ultimate debtor is an individual, use FIToFICstmrCdtTrf.CdtTrfTxInf[0].Dbtr.Id.PrvtId.Othr[0].Id, otherwise FIToFICstmrCdtTrf.CdtTrfTxInf[0].Dbtr.Id.OrgId.Othr[0].Id.

If the debtor's funds controller requires creditor party management, the ultimate creditors's account alias id must be provided. If the ultimate creditor is an individual, use FIToFICstmrCdtTrf.CdtTrfTxInf[0].Cdtr.Id.PrvtId.Othr[0].Id, otherwise FIToFICstmrCdtTrf.CdtTrfTxInf[0].Cdtr.Id.OrgId.Othr[0].Id.

Request Body schema: application/json
object or null

pacs.008.001.10 - the Financial Institution To Financial Institution Customer Credit Transfer message

Responses

Request samples

Content type
application/json
{
  • "FIToFICstmrCdtTrf": {
    }
}

Response samples

Content type
application/json
{
  • "FIToFICstmrCdtTrf.CdtTrfTxInf[0].Dbtr.PstlAdr.Ctry": [
    ],
  • "FIToFICstmrCdtTrf.GrpHdr": [
    ],
  • "FIToFICstmrCdtTrf.GrpHdr.MsgId": [
    ]
}

Validate a FI to FI Customer Credit Transfer request

ISO-20022 pacs.008 message. Synchronously validate FI to FI Customer Credit Transfer request. The validation logic applied by this endpoint is identical to the logic applied by the /v1/Payaway endpoint.

On success, a 204 response will be returned immediately.

On failure, a 400 response will be returned immediately with details of the validation failures.

The InstgAgt.FinInstnId.Othr.Id and InstdAgt.FinInstnId.Othr.Id properties must be populated with the RTGS.global Ids of the debtor participant and debtor's funds controller respectively.

If the debtor's funds controller requires debtor party management, the ultimate debtor's account alias id must be provided. If the ultimate debtor is an individual, use FIToFICstmrCdtTrf.CdtTrfTxInf[0].Dbtr.Id.PrvtId.Othr[0].Id, otherwise FIToFICstmrCdtTrf.CdtTrfTxInf[0].Dbtr.Id.OrgId.Othr[0].Id.

If the debtor's funds controller requires creditor party management, the ultimate creditors's account alias id must be provided. If the ultimate creditor is an individual, use FIToFICstmrCdtTrf.CdtTrfTxInf[0].Cdtr.Id.PrvtId.Othr[0].Id, otherwise FIToFICstmrCdtTrf.CdtTrfTxInf[0].Cdtr.Id.OrgId.Othr[0].Id.

Request Body schema: application/json
object or null

pacs.008.001.10 - the Financial Institution To Financial Institution Customer Credit Transfer message

Responses

Request samples

Content type
application/json
{
  • "FIToFICstmrCdtTrf": {
    }
}

Response samples

Content type
application/json
{
  • "FIToFICstmrCdtTrf.CdtTrfTxInf[0].Dbtr.PstlAdr.Ctry": [
    ],
  • "FIToFICstmrCdtTrf.GrpHdr": [
    ],
  • "FIToFICstmrCdtTrf.GrpHdr.MsgId": [
    ]
}

Payment Status Report

Payments statuses.

Transaction status update Webhook

ISO-20022 pacs.002 message. Information about a transaction status update.

Event type: global.rtgs.TransactionStatusNotificationV1

Request Body schema: application/json
object or null

The FIToFIPaymentStatusReport message is exchanged between agents to provide status information about instructions previously sent. Its usage will always be governed by a bilateral agreement between the agents.

Responses

Request samples

Content type
application/json
Example
{
  • "FIToFIPmtStsRpt": {
    }
}

Send a payment status report

ISO-20022 pacs.002 message. Send a payment status report to a counterparty via a webhook. Used to notify the counterparty of a status update on a transaction they initiated. The status code provided drives specific actions within the RTGS.global system. For example:

  • RJCT: Cancels the pending transaction associated with the given UETR.

  • ACWP: Indicates successful vetting and signature verification meaning the participant accepts the onward payment request. This triggers transaction settlement. Upon settlement, both participants receive a camt.054 and pacs.002 messages confirming the movement of funds.

  • ACCC: Signals that the onward payment has been successfully committed and credited to the recipient — marking the final step in the onward payment flow.

Note: due to this request being a notification for another participant, the gateway has to be instructed separately about who to sign this request for. This is done via HTTP header 'rtgs-global-signed-for', that should be set to the RTGS.global Id of the counterparty participant.

header Parameters
rtgs-global-signed-for
required
string
Example: RTGS:B:GB43400282
Request Body schema: application/json
object or null

The FIToFIPaymentStatusReport message is exchanged between agents to provide status information about instructions previously sent. Its usage will always be governed by a bilateral agreement between the agents.

Responses

Request samples

Content type
application/json
{
  • "FIToFIPmtStsRpt": {
    }
}

Balances

Real time information of network accounts.

Get balances v2

Returns ISO-20022 camt.052 models. Get the available balances of network accounts in all jurisdictions.

The response will be in PascalCase and any enum types returned as strings.

Responses

Response samples

Content type
application/json
{
  • "GrpHdr": {
    },
  • "Rpt": [
    ]
}

Accounts

Information about participant's accounts

Network account created event V1 Webhook

ISO-20022 compatible proprietary message. Event emitted upon creating a network account

Event type: participants.networkaccount.created.v1

Request Body schema: application/json
CorrelationId
string or null <uuid>
object (RtgsGlobal.ParticipantGateway.Messages.Admin.Events.NetworkAccount1)

Request samples

Content type
application/json
{
  • "CorrelationId": "6c70ab43-9882-4a7e-a322-8d2d7f7a5a17",
  • "Data": {
    }
}

Account Approval Failed Event V1 Webhook

ISO-20022 compatible proprietary message. Event emitted when an account approval fails.

Event type: global.rtgs.participants.account.approval.requestfailed.v1

Request Body schema: application/json
required
object (RtgsGlobal.Participants.Contracts.Commands.v1.ApproveAccountRequestV1Command)

Request which triggered the failure

ErrorMessage
string

Reason for the failure

Request samples

Content type
application/json
{
  • "Request": {
    },
  • "ErrorMessage": "Account validation failed due to missing KYC information."
}

Account Approved Event V1 Webhook

ISO-20022 compatible proprietary message. Event emitted when an account gets approved.

Event type: global.rtgs.participants.account.approved.v1

Request Body schema: application/json
required
object (RtgsGlobal.Participants.Contracts.Queries.Responses.v1.MinimalFundsControllerV1)

Funds controller of the account.

required
object (RtgsGlobal.ISO20022.Messages.CashAccount40)

Identifier of the account.

required
object (RtgsGlobal.ISO20022.Messages.OrganisationIdentification29)

Servicer (host) of the account.

CorrelationId
string <uuid>

Request correlation id

Request samples

Content type
application/json
{
  • "FundsController": {
    },
  • "AccountIdentifier": {
    },
  • "CurrencyCode": "USD",
  • "ServicerParticipant": {
    },
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef"
}

Account Requested Event V1 Webhook

ISO-20022 compatible proprietary message. Event emitted when hosted account is requested by a participant.

Event type: global.rtgs.participants.account.requested.v1

Request Body schema: application/json
required
object (RtgsGlobal.Participants.Contracts.Events.FundsControllerV1)
CurrencyCode
required
string

Three-letter uppercase currency code of the account. See ISO-4217.

OwnerRtgsGlobalId
required
string

RtgsGlobalId of participant who requested the account.

CorrelationId
string <uuid>

Request correlation id

Request samples

Content type
application/json
Example
{
  • "FundsController": {
    },
  • "CurrencyCode": "USD",
  • "OwnerRtgsGlobalId": "RTGS:B:US13221932",
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef"
}

Account Request Failed Event V1 Webhook

ISO-20022 compatible proprietary message. Event emitted when requesting an account fails.

Event type: global.rtgs.participants.account.requestfailed.v1

Request Body schema: application/json
object (RtgsGlobal.Participants.Contracts.Commands.v1.CreateAccountRequestV1Command)

Request which triggered the failure

ErrorMessage
string

Reason for the failure

Request samples

Content type
application/json
{
  • "Request": {
    },
  • "ErrorMessage": "Insufficient permissions to create account"
}

Get accounts

Returns ISO-20022 compatible proprietary models. Get the collection of accounts owned by the participant in all active jurisdictions

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get accounts v2

Returns ISO-20022 compatible proprietary models. Get accounts owned by the participant in all active jurisdictions. Returns 200 with an array of AccountV2 objects if found; returns 204 if none found.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Approve Account V1

Approves a hosted account request.

Request Body schema: application/json
OwnerRtgsGlobalId
required
string

RtgsGlobalId of participant who requested the account.

FundsControllerCode
required
string

Funds controller code indicating where account should reside.

required
object (RtgsGlobal.ISO20022.Messages.CashAccount40)

Identifier for the account.

Responses

Request samples

Content type
application/json
{
  • "OwnerRtgsGlobalId": "RTGS:B:US13221932",
  • "FundsControllerCode": "BOE1",
  • "AccountIdentifier": {
    }
}

Get accounts requests V1

Returns ISO-20022 compatible proprietary models. Get list of account requests related to a given participant. Returns 200 with an array of AccountRequestV1 objects if found; returns 204 if none found.

Responses

Response samples

Content type
application/json
{
  • "Owner": {
    },
  • "Svcr": {
    },
  • "Ccy": "USD",
  • "AccountFundsController": {
    },
  • "Sts": "Active",
  • "CreDtTm": "2024-10-21T11:44:32+00:00",
  • "UpdateDateTime": "2025-01-01T09:40:00+00:00"
}

Create Account Request V1

Endpoint to request the creation of a new account.

Request Body schema: application/json
CorrelationId
string <uuid>

Request correlation id

ServicerRtgsGlobalId
required
string

RtgsGlobalId of the desired account servicer.

FundsControllerCode
required
string

Funds controller code indicating where account should reside.

CurrencyCode
required
string

Currency of the account. Must be a three-letter uppercase currency code defined by ISO-4217.

Responses

Request samples

Content type
application/json
{
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  • "ServicerRtgsGlobalId": "RTGS:B:US98765432",
  • "FundsControllerCode": "FED1",
  • "CurrencyCode": "USD"
}

Response samples

Content type
application/json
{ }

Get Accounts V3

Returns ISO-20022 compatible proprietary models. Get accounts owned by a given participant with all funds controllers.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Participants

Participant related information and actions

Details of the current participant

Returns ISO-20022 compatible proprietary model. Get the information about the participant registered with the current gateway installation

Responses

Response samples

Content type
application/json
{
  • "Nm": "Bank of Sam",
  • "Id": {
    },
  • "SIC": "12345",
  • "CtryOfRes": "US",
  • "Ccy": "USD",
  • "Sts": "Online",
  • "Jurisdiction": {
    }
}

Status of the current participant

Returns ISO-20022 compatible proprietary model. Get the information about the participant's status for the participant registered with the current gateway installation.

Responses

Response samples

Content type
application/json
{
  • "Sts": "Online"
}

List existing participants

Returns ISO-20022 compatible proprietary models. Get a list of participants residing in the given jurisdiction

query Parameters
cd
required
string
Example: cd=gbpboe1

Jurisdiction Code

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Activate participant gateway

Proprietary model. Activate fresh participant gateway installation

Responses

Get Participant Me V2

Get details of current participant.

Responses

Response samples

Content type
application/json
{
  • "Nm": "Acme Corp",
  • "Id": {
    },
  • "CtryOfRes": "US",
  • "SIC": "7372",
  • "Sts": "Active",
  • "FundsController": {
    }
}

Get Participants V2

Get a list of participants residing in any active jurisdiction

Request Body schema: application/json
Cd
string

The code of the funds controller to query.

Responses

Request samples

Content type
application/json
Example
{
  • "Cd": "FED1"
}

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Relationships

Participant relationships, related information and actions

Relationship update failed event Webhook

Proprietary message. Event emitted upon failing to update a relationship

Event type: global.rtgs.participants.relationship.updatefailed.v1

Request Body schema: application/json
CorrelationId
string or null <uuid>
object (RtgsGlobal.ParticipantGateway.Messages.Admin.Events.RelationshipEvent1)

Request samples

Content type
application/json
{
  • "CorrelationId": "6c70ab43-9882-4a7e-a322-8d2d7f7a5a17",
  • "Data": {
    }
}

Relationship Creation Failed Event V3 Webhook

ISO-20022 compatible proprietary message. Event emitted for participant when a new relationship creation fails.

Event type: global.rtgs.participants.relationship.creationfailed.v3

Request Body schema: application/json
CorrelationId
string

Request correlation id

object (RtgsGlobal.Participants.Contracts.Events.v3.RelationshipV3)

Relationship event info

Request samples

Content type
application/json
{
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  • "Data": {
    }
}

Relationship Request Created Event V3 Webhook

ISO-20022 compatible proprietary message. Event emitted for participant when new relationship request arrives.

Event type: global.rtgs.participants.relationship.requestcreated.v3

Request Body schema: application/json
CorrelationId
string

Request correlation id

object (RtgsGlobal.Participants.Contracts.Events.v3.RelationshipV3)

Request samples

Content type
application/json
{
  • "CorrelationId": "64e9c2f3-1b4a-4e7c-b8d5-9a3f2e1d4c6b",
  • "Data": {
    }
}

Relationship Updated Event V3 Webhook

ISO-20022 compatible proprietary message. Event emitted for participant when an existing relationship gets updated.

Event type: global.rtgs.participants.relationship.updated.v3

Request Body schema: application/json
CorrelationId
string

Request correlation id

object (RtgsGlobal.Participants.Contracts.Events.v3.RelationshipV3)

Request samples

Content type
application/json
{
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  • "Data": {
    }
}

Relationship Update Failed Event V3 Webhook

ISO-20022 compatible proprietary message. Event emitted for participant when an existing relationship update fails.

Event type: global.rtgs.participants.relationship.updatefailed.v3

Request Body schema: application/json
required
CorrelationId
string <uuid>

Request correlation id

object (RtgsGlobal.Participants.Contracts.Events.v3.RelationshipV3)
ErrorMessage
string

Reason for the failure

Request samples

Content type
application/json
{
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  • "ErrorMessage": "Duplicate AccountIdentifier",
  • "Data": {
    }
}

Approve Relationship V3

Approves an existing relationship between two participants.

Request Body schema: application/json
RequestingParticipantRtgsGlobalId
string

RTGS.global ID of the requesting participant.

CorrelationId
string

Request correlation id

Responses

Request samples

Content type
application/json
{
  • "RequestingParticipantRtgsGlobalId": "RTGS:B:US12345678",
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef"
}

Response samples

Content type
application/json
[
  • {
    }
]

Create Relationship V3

Create (request) a new relationship. This will create a Pending relationship request

Request Body schema: application/json
ApprovingParticipantRtgsGlobalId
string

RTGS.global ID of the approving participant.

CorrelationId
string <uuid>

Request correlation id

Responses

Request samples

Content type
application/json
{
  • "ApprovingParticipantRtgsGlobalId": "RTGS:B:US13221932",
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef"
}

Response samples

Content type
application/json
[
  • {
    }
]

Get Relationships V3

Returns ISO-20022 compatible proprietary models. Retrieves a list of relationships between participants.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Reject Relationship V3

Rejects an existing relationship between two participants.

Request Body schema: application/json
RequestingParticipantRtgsGlobalId
string

RTGS.global ID of the requesting participant.

CorrelationId
string

Request correlation id

Responses

Request samples

Content type
application/json
{
  • "RequestingParticipantRtgsGlobalId": "RTGS:B:US12345678",
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef"
}

Response samples

Content type
application/json
[
  • {
    }
]

Jurisdictions

Jurisdiction related information

Get jurisdictions

Returns ISO-20022 compatible proprietary models. Get the collection of supported jurisdictions

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Transactions

Transaction information of network accounts.

Get transactions v2

Returns ISO-20022 camt.006 models. Get the available transactions of the network account requested.

The response will be in PascalCase and any enum types returned as strings.

query Parameters
AccountIdentificationIban
string
Examples:
  • AccountIdentificationIban=GB33BUKB20201555555555 - a sample IBAN account identifier

IBAN of the account to query. Only to be specified if not using AccountIdentificationOther.

AccountIdentificationOther
string
Examples:
  • AccountIdentificationOther=USBKUS44XXX - a sample other account identifier

An alternative id of the account to query. Only to be specified if not using AccountIdentificationIban.

EntryDateToDateTime
string
Examples:
  • EntryDateToDateTime=2020-01-01T14:13:12.000Z - a sample entry date to datetime

An ISO 8061 UTC date and time filter, applied to Entry Date. Transactions with an Entry Date later than this value will be excluded. If not supplied, this will default to the current date and time.

EntryDateFromDateTime
string
Examples:
  • EntryDateFromDateTime=2020-01-01T14:13:12.000Z - a sample entry date from datetime

An ISO 8061 UTC date and time filter, applied to Entry Date. Transactions with an Entry Date earlier than this value will be excluded. If not supplied, this will default to 31 days prior to the current date and time.

Responses

Response samples

Content type
application/json
{
  • "MsgHdr": {
    },
  • "RptOrErr": {
    }
}

Funds Controllers

Funds Controllers, related information and actions.

Get Funds Controllers V1

Returns ISO-20022 compatible proprietary models. Retrieves a list of funds controllers.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Party Management

Funds Controller Beneficiary Party management.

Creditor Created Event V1 Webhook

Event emitted for Participant when Creditor creation succeeds.

Event type: global.rtgs.creditorCreatedV1

Request Body schema: application/json
required
AccountAliasId
string

The Account alias identifier. The identifier is the ClientId.

CorrelationId
string <uuid>

Request correlation id.

CreditorName
string

The Creditor name.

AccountNumber
string

The Account number.

ClientId
string

The Client identification.

Request samples

Content type
application/json
{
  • "AccountAliasId": "CL0001",
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  • "CreditorName": "IRE Creditor name",
  • "AccountNumber": "IE29AIBK93115212345678",
  • "ClientId": "CL0001"
}

Create Creditor Failed Event V1 Webhook

Event emitted for participant when Creditor creation fails.

Event type: global.rtgs.createCreditorFailedV1

Request Body schema: application/json
required
any (RtgsGlobal.PartyManagement.Contracts.Events.v1.CreateCreditorFailedEventV1)

Request samples

Content type
application/json
{
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  • "DebtorName": "IRE Creditor name",
  • "AccountNumber": "IE29AIBK93115212345678",
  • "ClientId": "CL0001",
  • "SchemaFailures": {
    },
  • "GenericFailures": {
    }
}

Debtor Created Event V1 Webhook

Event emitted for Participant when Debtor creation succeeds.

Event type: global.rtgs.debtorCreatedV1

Request Body schema: application/json
required
AccountAliasId
string

The Account alias identifier. The identifier is the ReconciliationId.

CorrelationId
string <uuid>

Request correlation id.

DebtorName
string

The Debtor name.

AccountNumber
string

The Account number.

ReconciliationId
string <uuid>

The Reconciliation identification.

Request samples

Content type
application/json
{
  • "AccountAliasId": "123",
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  • "DebtorName": "IRE Debtor name",
  • "AccountNumber": "IE31IRCE99990100014450",
  • "ReconciliationId": "57f21a8b14c84548bdb7f2bc3b0f9053"
}

Debtor Failed Event V1 Webhook

Event emitted for participant when Debtor creation fails.

Event type: global.rtgs.createDebtorFailedV1

Request Body schema: application/json
required
any (RtgsGlobal.PartyManagement.Contracts.Events.v1.DebtorFailedEventV1)

Request samples

Content type
application/json
{
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  • "DebtorName": "IRE Debtor name",
  • "AccountNumber": "IE31IRCE99990100014450",
  • "ReconciliationId": "57f21a8b14c84548bdb7f2bc3b0f9053",
  • "SchemaFailures": {
    },
  • "GenericFailures": {
    }
}

Creditor Created Event V2 Webhook

Event emitted for Participant when Creditor creation succeeds. Event type: global.rtgs.creditorCreatedV2

Request Body schema: application/json
required
CorrelationId
string <uuid>

Request correlation id.

CreditorId
string <uuid>

The Creditor identification

AccountAliasId
string

The Account alias.

FundsControllerCode
string

The Funds Controller code.

RtgsGlobal.PartyManagement.Contracts.Queries.v2.CreditorV2.Creditor.Verto (any)

Request samples

Content type
application/json
{
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  • "CreditorId": "61d675a0165a418e9fdcb7d1ebf2eb1f",
  • "AccountAliasId": "CL0001",
  • "FundsControllerCode": "E6C0B3B4",
  • "Creditor": {
    }
}

Create Creditor Failed Event V2 Webhook

Event emitted for Participant when Creditor creation fails. Event type: global.rtgs.createCreditorFailedV2

Request Body schema: application/json
required
CorrelationId
string <uuid>

Request correlation id.

CreditorId
string <uuid>

The Creditor identification

FundsControllerCode
string

The Funds Controller code.

Request samples

Content type
application/json
{
  • "CorrelationId": "a1b2c3d4-e5f6-7890-1234-567890abcdef",
  • "CreditorId": "61d675a0165a418e9fdcb7d1ebf2eb1f",
  • "FundsControllerCode": "E6C0B3B4"
}

Get Creditors V1

Get all Creditors of a Funds Controller

query Parameters
FundsControllerCode
required
string
Examples:
  • FundsControllerCode=E6C0B3B4 - a sample Funds Controller identification code

The Funds Controller identification code.

Responses

Response samples

Content type
application/json
{
  • "AccountAliasId": "CL0001",
  • "PayeeName": "Alice Johnson",
  • "ClientId": "CL0001",
  • "Country": "US",
  • "CurrencyCode": "USD",
  • "IsIndividual": true,
  • "ObfuscatedAccountDetails": "Chase Bank, 123456789, CHASUS33, US12CHAS12345678901234",
  • "Address": "101 First Ave, New York, NY 10009",
  • "Status": "Active",
  • "BankBranchAddress": "123 Bank St, New York, NY 10010",
  • "DefaultPaymentReference": "Payment for services",
  • "DefaultTransferReason": "Service Fees",
  • "Email": "alice.johnson@example.com",
  • "EmailAlertFlag": true
}

Create Creditor V1

Sends Creditor create request to specified Funds Controller

Request Body schema: application/json
FundsControllerCode
string

A unique code used to identifer the Funds Controller.

CorrelationId
string

The request correlation identifier.

PayeeName
string or null

A unique payee name used to identify the Beneficiary account.

CountryCode
string

Two-letter uppercase country code of the Payee. See ISO 3166.

StateCode
string

Mandatory for Australia, New Zealand, the USA, and Canada. Otherwise, empty string.

CurrencyCode
string

A three-letter uppercase currency code defined by ISO-4217.

IsIndividual
bool

Indicate if the Beneficiary is an individual or not.

IsIban
string

Indicate if the account number is supplied in IBAN format or not.

AccountNumber
string

The IBAN code or otherwise the bank account number of the Beneficiary.

"AbaRoutingNumber" (string) or "BankCode" (string) or "Bsb" (string) or "Ifsc" (string) or "OtherNumber" (string) or "SortCode" (string) or "TransitNumberAndInstitutionNumber" (string)

The transit code type.

TransitCode
string

A valid code of the TransitCodeType.

SwiftCode
string or null

A SWIFT code.

PayeeCity
string

The city name where the Payee resides.

PayeeBuildingName
string

The building number or name where the Payee resides.

PayeeStreetName
string

The street name where the Payee resides.

PayeeTownName
string

The town name where the Payee resides.

PayeePostalCode
string or null

The postal code where the Payee resides. Mandatory for Australia, Canada, Mexico, Malaysia, New Zealand, Serbia, Sweden, Philippines, UAE, USA.

PayeeCountryCode
string

The Two-letter uppercase country code of the Payee. See ISO 3166.

PayeeStateCode
string

The state where the Payee resides. Mandatory for Australia, New Zealand, the USA, and Canada. Otherwise, empty string.

PayeePhoneNumberInternationalDialingCode
string

The international dialing code of the country where the Payee resides.

PayeePhoneNumberMobilePhone
string

The contact phone number for the Payee.

PayeeDateOfBirth
string or null

The date of birth of the Payee.

BankBranchAddress
string or null

The full address of the Payee bank.

"Standard" (string) or "Wps" (string)

The Beneficiary bank account type.

"Resident" (string) or "NonResident" (string)

The account type.

ForFurtherCreditTo
string or null

The name of the final Beneficiary.

DefaultPaymentReference
string or null

The default payment reference.

"BillPayment" (string) or "BusinessVenture" (string) or "CharitableDonation" (string) or "EstateSettlementOrInheritance" (string) or "ExpenseReimbursement" (string) or "GovernmentRelatedPayment" (string) or "IntercompanyPayment" (string) or "InvestmentRelatedPayment" (string) or "MedicalFeeRefund" (string) or "PayingConsultancyFees" (string) or "LoanOrDepositPayment" (string) or "PayrollOrPersonnelPayment" (string) or "ProfessionalFeesPayment" (string) or "PromotionalRebate" (string) or "PurchaseOfGoods" (string) or "PurchaseOfPropertyOrRealEstate" (string) or "PurchaseOfServices" (string) or "RepatriationOfFunds" (string) or "ResearchAndDevelopment" (string) or "StudentLoanReturns" (string) or "StudentRefunds" (string) or "TaxPayment" (string) or "TransferToOwnAccounts" (string)

The default transfer reason.

DefaultTransferReason
string or null

The default transfer reason description.

Email
string or null

Email address of the Beneficiary. Mandatory when payment is from California or the Beneficiary is in California.

EmailAlertFlag
boolean

Indicates whether email alerts are sent to the Beneficiary.

PayeeTaxId
string or null

The Beneficiary tax registration number.

PassportNumber
string or null

The Passport number of the Beneficiary.

AdditionalRoutingNumber
string or null

The additional routing number.

BeneficiaryCompanyRegisterNum
string or null

The Beneficiary company registration number.

BeneficiaryNationality
string or null

The Beneficiary National country ISO code.

EmployeeId
int or null

The employee identifier.

"Checking" (string) or "Saving" (string)

The Beneficiary category

Responses

Request samples

Content type
application/json
{
  • "CreateCreditorCommandV1": {
    }
}

Get Debtors V1

Get all Debtors of a Funds Controller

query Parameters
FundsControllerCode
required
string
Examples:
  • FundsControllerCode=E6C0B3B4 - a sample Funds Controller identification code

The Funds Controller identification code.

Responses

Response samples

Content type
application/json
{
  • "AccountAliasId": "3245",
  • "DebtorName": "Lena Marwood",
  • "DebtorType": "Individual",
  • "City": "Dublin",
  • "Country": "Ireland",
  • "ReconciliationId": "REC7X92A",
  • "Status": "Active"
}

Create Debtor V1

Sends Debtor create request to specified Funds Controller

Request Body schema: application/json
FundsControllerCode
string

A unique code used to identifer the Funds Controller.

CorrelationId
string

The request correlation identifier.

"Corporate" (string) or "Individual" (string)

The request correlation identifier.

DebtorName
string

The name of the Debtor.

AccountNumber
string

The Debtor account number.

ReconciliationId
string

The reconciliation id.

CountryCode
string

Two-letter uppercase country code of the Debtor. See ISO 3166.

Address
string

The address that the Debtor resides.

City
string

The city where the Debtor resides.

State
string or null

The state where the Debtor resides.

PostalCode
string

The post code where the Debtor resides.

Email
string

The email address of the Debtor.

Responses

Request samples

Content type
application/json
{
  • "CreateDebtorCommandV1": {
    }
}

Get Creditors V2

Get all Creditors of a Funds Controller

query Parameters
FundsControllerCode
string
Examples:
  • FundsControllerCode=E6C0B3B4 - a sample Funds Controller identification code

The Funds Controller identification code.

Responses

Response samples

Content type
application/json
{
  • "CreditorId": "61d675a0165a418e9fdcb7d1ebf2eb1f",
  • "AccountAliasId": "CL0001",
  • "FundsControllerCode": "E6C0B3B4",
  • "Creditor": {
    }
}

Create Creditor V2

Sends Creditor create request to specified Funds Controller

Request Body schema: application/json
CorrelationId
string

The request correlation identifier.

FundsControllerCode
string

The funds controller code.

RtgsGlobal.PartyManagement.Contracts.Commands.v2.CreateCreditorCommandV2.Creditor.Verto (any)

The request correlation identifier.

Responses

Request samples

Content type
application/json
{
  • "CreateCreditorCommandV2": {
    }
}

Response samples

Content type
{
  • "CreditorId": "ea7f5f1f-6635-4c54-bde8-f17a81aedfab"
}

Get Creditor Create Schema V2

Get Creditor Create schema for a Funds Controller

query Parameters
FundsControllerCode
required
string
Examples:
  • FundsControllerCode=E6C0B3B4 - a sample Funds Controller identification code

The Funds Controller identification code.

Responses

Response samples

Content type
application/json
{
  • "type": "object",
  • "title": "RtgsGlobal.FundsAdapter.Verto.Infrastructure.Clients.Verto.ExternalModels.CreateBeneficiaryRequestV1 Schema",
  • "properties": {
    },
  • "required": [
    ],
  • "allOf": [
    ]
}

Get Creditor Schema V2

Get Creditor schema for a Funds Controller

query Parameters
FundsControllerCode
required
string
Examples:
  • FundsControllerCode=E6C0B3B4 - a sample Funds Controller identification code

The Funds Controller identification code.

Responses

Response samples

Content type
application/json
{
  • "type": "object",
  • "title": "RtgsGlobal.FundsAdapter.Verto.Infrastructure.Clients.Verto.InternalBeneficiaryDetailsSchema",
  • "properties": {
    },
  • "required": [
    ],
  • "allOf": [
    ]
}

FX Quotes

Requesting and receiving FX quotes.

Terminology used:

  • The initiating participant is the participant who initiates the FX Quote process by issuing a quote request.
  • The counterparty participant is the participant who is identified by the initiating participant in their quote request and is expected to respond with their quote.

Expected message flow and sequence:

  1. The initiating participant issues a quote request identifying desired counterparty participants.

    Note: The symbol specified in the quote request must match one of the currency pairs returned by the '/v1/quote/currency-pairs' endpoint, otherwise a validation error will be returned.

  2. Some or all counterparty participants respond to the quote request with their quote.

  3. The initiating participant examines the set of received quotes and calls the New Order (single) endpoint with the details of the quote that suits them best.

  4. The counterparty participant who received the New Order (single) event responds with the Execution report to signify whether the order is confirmed and can be settled, or cancelled and will not go ahead.

For end to end processing, please use the same identifier across your quote, order and settlement messages. Where you are the quote requester, QuoteReqId > ClOrdId > LinkId, and where you are the responder, QuoteId > OrderId > LinkId

Quote request event V2 Webhook

FIX 4.2 compatible proprietary message. The counterparty receives this event when the initiating participant requests a quote.

Event type: global.rtgs.quoteRequestV2

Request Body schema: application/json
object or object

FIX 4.2 <R> Quote request message

FromRtgsGlobalId
string

Request samples

Content type
application/json
{
  • "FromRtgsGlobalId": "RTGS:B:US20781688",
  • "QuoteRequest": {
    }
}

Quote event V2 Webhook

FIX 4.2 compatible proprietary message. The initiating participant receives this event when the counterparty responds to a quote request.

Event type: global.rtgs.quoteOfferV2

Request Body schema: application/json
object

FIX 4.2 <S> Quote request message

FromRtgsGlobalId
string

Request samples

Content type
application/json
{
  • "FromRtgsGlobalId": "RTGS:B:US20781688",
  • "Quote": {
    }
}

New order (single) notification V2 Webhook

FIX 4.2 <D> message. The counterparty participant receives this event when the initiating participant accepts the provided quote.

Event type: global.rtgs.newOrderSingleV2

Request Body schema: application/json
QuoteId
required
string

Unique ID of the quote.

ClOrdId
required
string

Unique ID of the order. For end to end processing, this should match your QuoteReqId, and should be passed to the settlement service as a Link Identifier

FromRtgsGlobalId
required
string

RTGS.global ID of the participant sending the new order single.

HandlInst
required
string

Valid values: 1 = Automated execution order, private, no Broker intervention 3 = Manual order, best execution

OrdType
required
string

Should always be 1 = Market.

Price
required
string

Price of the instrument.

OrderQty
required
string or null

Base order quantity.

OrderQty2
required
string or null

Quote order quantity.

Side
required
string

Action on the base currency. Possible values include: 1: Buy 2: Sell

Symbol
required
string

Exchange-provided product symbol for the tradable product.

ExpireTime
required
string <fix-utc-timestamp yyyyMMdd-HH:mm:ss.fff>

Time at which the order will expire.

TransactTime
required
string <fix-utc-timestamp yyyyMMdd-HH:mm:ss.fff>

Time of execution/order creation.

Request samples

Content type
application/json
{
  • "ClOrdId": "098FGS",
  • "HandlInst": "1",
  • "Symbol": "GBP/USD",
  • "Side": "1",
  • "TransactTime": "20240718-12:30:00.000",
  • "OrderQty": "10000",
  • "OrderQty2": "13000",
  • "OrdType": "1",
  • "Price": "1.3",
  • "QuoteId": "2E6BE282DE4E",
  • "ExpireTime": "20240718-12:42:41.419",
  • "FromRtgsGlobalId": "RTGS:B:US20781688"
}

Execution report event V2 Webhook

FIX 4.2 <8> message. The initiating participant receives this event when the counterparty participant confirm the receipt of an order

Event type: global.rtgs.executionReportV2

Request Body schema: application/json
OrderId
required
string

Unique identifier for order. For end to end processing, this should match your QuoteId, and should be passed to the settlement service as a Link Identifier

ClOrdId
required
string

Unique ID of the order. For end to end processing, this should match your QuoteReqId, and should be passed to the settlement service as a Link Identifier

ExecId
required
string

Unique ID of the execution report.

ExecType
required
string

Valid values: 0 = New 1 = Partial fill 2 = Fill 3 = Done for day 4 = Canceled 5 = Replaced 6 = Pending Cancel (e.g. result of Order Cancel Request ) 7 = Stopped 8 = Rejected 9 = Suspended A = Pending New B = Calculated C = Expired

FromRtgsGlobalId
required
string

RTGS.global ID of the participant sending the execution report.

OrdStatus
required
string

Valid values: 0 = New 1 = Partial fill 2 = Fill 3 = Done for day 4 = Canceled 5 = Replaced 6 = Pending Cancel (e.g. result of Order Cancel Request ) 7 = Stopped 8 = Rejected 9 = Suspended A = Pending New B = Calculated C = Expired

Price
required
string

Price of the instrument.

OrderQty
required
string or null

Base order quantity.

OrderQty2
required
string or null

Quote order quantity.

Side
required
string

Action on the base currency. Possible values include: 1: Buy 2: Sell

Symbol
required
string

Exchange-provided product symbol for the tradable product.

CumQty
required
string

Total quantity filled.

LeavesQty
required
string

Amount open for further execution (should be 0).

AvgPx
required
string

Calculated average price of all fills on this order.

Request samples

Content type
application/json
{
  • "OrderId": "567GHL",
  • "ClOrdId": "098FGS",
  • "ExecId": "545GFDG",
  • "ExecType": "Filled",
  • "OrdStatus": "Filled",
  • "Symbol": "GBP/USD",
  • "Side": "1",
  • "OrderQty": "10000",
  • "OrderQty2": "13000",
  • "Price": "1.3",
  • "LeavesQty": "",
  • "CumQty": "",
  • "AvgPx": "1.3",
  • "FromRtgsGlobalId": "RTGS:B:US20781688"
}

Get a list of supported FX currency pairs.

Returns proprietary models. Get a list of currency pairs supported by the platform

Responses

Response samples

Content type
application/json
[
  • "AUD/USD",
  • "EUR/USD",
  • "GBP/USD",
  • "GBP/AUD",
  • "USD/CAD",
  • "USD/CHF",
  • "USD/JPY"
]

Issue a quote request V2.

FIX 4.2 compatible proprietary message. Initiate the process to gather quotes. Request indicates the participants from whom quotes are desired

Request Body schema: application/json
object or object

FIX 4.2 <R> Quote request message

Counterparties
Array of strings

List of participants desired to provide their quotes

Responses

Request samples

Content type
application/json
Example
{
  • "Counterparties": [
    ],
  • "QuoteRequest": {
    }
}

Response samples

Content type
application/json
{
  • "QuoteRequest.QuoteReqId": [
    ],
  • "QuoteRequest.Side": [
    ],
  • "QuoteRequest.Symbol": [
    ],
  • "QuoteRequest.OrderQty": [
    ],
  • "QuoteRequest.OrderQty2": [
    ],
  • "QuoteRequest.ValidUntilTime": [
    ],
  • "QuoteRequest.ExpireTime": [
    ]
}

Send a quote V2.

FIX 4.2 compatible proprietary message. Respond with an quote to a quote request. This would be called by the counterparty in response to the incoming quote request.

As a quote is sent to a specific participant, the gateway has to be instructed separately about who to sign this request for. This is done via HTTP header 'rtgs-global-signed-for', that should be set to the RTGS.global Id of the counterparty participant.

header Parameters
rtgs-global-signed-for
required
string
Example: RTGS:B:JP15887136
Request Body schema: application/json
object

FIX 4.2 <S> Quote request message

FromRtgsGlobalId
string

Responses

Request samples

Content type
application/json
{
  • "FromRtgsGlobalId": "RTGS:B:US20781688",
  • "Quote": {
    }
}

Response samples

Content type
application/json
{
  • "FromRtgsGlobalId": [
    ],
  • "Quote.QuoteReqId": [
    ],
  • "Quote.QuoteId": [
    ],
  • "Quote.Side": [
    ],
  • "Quote.Symbol": [
    ],
  • "Quote.OrderQty": [
    ],
  • "Quote.OrderQty2": [
    ],
  • "Quote.ExpireTime": [
    ]
}

Send new order - single V2.

FIX 4.2 <D> message. The new order message type is used by institutions wishing to electronically submit forex orders to a broker for execution.

As a new order message is sent to a specific participant, the gateway has to be instructed separately about who to sign this request for. This is done via HTTP header 'rtgs-global-signed-for', that should be set to the RTGS.global Id of the counterparty participant.

header Parameters
rtgs-global-signed-for
required
string
Example: RTGS:B:JP15887136
Request Body schema: application/json
QuoteId
required
string

Unique ID of the quote.

ClOrdId
required
string

Unique ID of the order. For end to end processing, this should match your QuoteReqId, and should be passed to the settlement service as a Link Identifier

FromRtgsGlobalId
required
string

RTGS.global ID of the participant sending the new order single.

HandlInst
required
string

Valid values: 1 = Automated execution order, private, no Broker intervention 3 = Manual order, best execution

OrdType
required
string

Should always be 1 = Market.

Price
required
string

Price of the instrument.

OrderQty
required
string or null

Base order quantity.

OrderQty2
required
string or null

Quote order quantity.

Side
required
string

Action on the base currency. Possible values include: 1: Buy 2: Sell

Symbol
required
string

Exchange-provided product symbol for the tradable product.

ExpireTime
required
string <fix-utc-timestamp yyyyMMdd-HH:mm:ss.fff>

Time at which the order will expire.

TransactTime
required
string <fix-utc-timestamp yyyyMMdd-HH:mm:ss.fff>

Time of execution/order creation.

Responses

Request samples

Content type
application/json
{
  • "ClOrdId": "098FGS",
  • "HandlInst": "1",
  • "Symbol": "GBP/USD",
  • "Side": "1",
  • "TransactTime": "20240718-12:30:00.000",
  • "OrderQty": "10000",
  • "OrderQty2": "13000",
  • "OrdType": "1",
  • "Price": "1.3",
  • "QuoteId": "2E6BE282DE4E",
  • "ExpireTime": "20240718-12:42:41.419",
  • "FromRtgsGlobalId": "RTGS:B:US20781688"
}

Response samples

Content type
application/json
{
  • "QuoteId": [
    ],
  • "FromRtgsGlobalId": [
    ]
}

Send an execution report V2.

FIX 4.2 <8> message. Confirm the receipt of an order using an execution report.

As an execution report is sent to a specific participant, the gateway has to be instructed separately about who to sign this request for. This is done via HTTP header 'rtgs-global-signed-for', that should be set to the RTGS.global Id of the counterparty participant.

header Parameters
rtgs-global-signed-for
required
string
Example: RTGS:B:JP15887136
Request Body schema: application/json
OrderId
required
string

Unique identifier for order. For end to end processing, this should match your QuoteId, and should be passed to the settlement service as a Link Identifier

ClOrdId
required
string

Unique ID of the order. For end to end processing, this should match your QuoteReqId, and should be passed to the settlement service as a Link Identifier

ExecId
required
string

Unique ID of the execution report.

ExecType
required
string

Valid values: 0 = New 1 = Partial fill 2 = Fill 3 = Done for day 4 = Canceled 5 = Replaced 6 = Pending Cancel (e.g. result of Order Cancel Request ) 7 = Stopped 8 = Rejected 9 = Suspended A = Pending New B = Calculated C = Expired

FromRtgsGlobalId
required
string

RTGS.global ID of the participant sending the execution report.

OrdStatus
required
string

Valid values: 0 = New 1 = Partial fill 2 = Fill 3 = Done for day 4 = Canceled 5 = Replaced 6 = Pending Cancel (e.g. result of Order Cancel Request ) 7 = Stopped 8 = Rejected 9 = Suspended A = Pending New B = Calculated C = Expired

Price
required
string

Price of the instrument.

OrderQty
required
string or null

Base order quantity.

OrderQty2
required
string or null

Quote order quantity.

Side
required
string

Action on the base currency. Possible values include: 1: Buy 2: Sell

Symbol
required
string

Exchange-provided product symbol for the tradable product.

CumQty
required
string

Total quantity filled.

LeavesQty
required
string

Amount open for further execution (should be 0).

AvgPx
required
string

Calculated average price of all fills on this order.

Responses

Request samples

Content type
application/json
{
  • "OrderId": "567GHL",
  • "ClOrdId": "098FGS",
  • "ExecId": "545GFDG",
  • "ExecType": "Filled",
  • "OrdStatus": "Filled",
  • "Symbol": "GBP/USD",
  • "Side": "1",
  • "OrderQty": "10000",
  • "OrderQty2": "13000",
  • "Price": "1.3",
  • "LeavesQty": "",
  • "CumQty": "",
  • "AvgPx": "1.3",
  • "FromRtgsGlobalId": "RTGS:B:US20781688"
}

Response samples

Content type
application/json
{
  • "ClOrdId": [
    ],
  • "OrderId": [
    ],
  • "FromRtgsGlobalId": [
    ]
}

Funds

Withdrawing funds from an Rtgs.global network account

Transaction status update Webhook

ISO-20022 pacs.002 message. Information about a transaction status update.

Event type: global.rtgs.TransactionStatusNotificationV1

Request Body schema: application/json
object or null

The FIToFIPaymentStatusReport message is exchanged between agents to provide status information about instructions previously sent. Its usage will always be governed by a bilateral agreement between the agents.

Responses

Request samples

Content type
application/json
Example
{
  • "FIToFIPmtStsRpt": {
    }
}

New transaction Webhook

ISO-20022 camt.054 message. Information about a debit or credit transaction against an account.

Event type: global.rtgs.TransactionNotificationV1

Request Body schema: application/json
object or null

BankToCustomerDebitCreditNotification : to inform the account owner of single or multiple debit and/or credit entries reported to the account

object or null

Extra proprietary metadata associated with the notification.

Responses

Request samples

Content type
application/json
Example
{
  • "BkToCstmrDbtCdtNtfctn": {
    }
}

Initiate a request to withdraw from your network accounts

ISO-20022 pacs.009 message. Withdraw from an account on the Rtgs.global network.

When withdrawing funds from your network account, the debtor fields of the request (FICdtTrf.CdtTrfTxInf[0].Dbtr and FICdtTrf.CdtTrfTxInf[0].DbtrAcct) pertain to your network account, and the creditor fields pertain to your off-network account.

If the instructed agent requires debtor party management, the FICdtTrf.CdtTrfTxInf[0].Dbtr.Othr.Id property must be populated with the AccountAliasId of the ultimate debtor.

Request Body schema: application/json
required
object

pacs.009.001.10 - the Financial Institution Credit Transfer message

Responses

Request samples

Content type
application/json
{
  • "FICdtTrf": {
    }
}

Response samples

Content type
application/problem+json
{}