Skip to content

Messages Rail

Financial messaging, ISO 20022, SWIFT, and message transformation.

The Messages Rail provides endpoints for creating, transforming, and processing financial messages in various formats including ISO 20022, SWIFT MT, and local formats.

/api/v1/messages
POST /api/v1/messages

Create a new financial message.

Request Body:

{
"type": "pacs.008",
"format": "ISO20022",
"payload": {
"creditTransferTransactionInformation": {
"paymentIdentification": {
"instructionIdentification": "INST001",
"endToEndIdentification": "E2E001"
},
"amount": {
"instructedAmount": {
"currency": "SAR",
"value": "50000.00"
}
},
"creditor": {
"name": "Beneficiary Name",
"postalAddress": {
"country": "SA"
}
}
}
}
}

Response:

{
"data": {
"messageId": "msg_abc123",
"type": "pacs.008",
"format": "ISO20022",
"status": "CREATED",
"createdAt": "2025-01-15T10:00:00Z"
}
}
POST /api/v1/messages/:messageId/transform

Transform message between formats.

Request Body:

{
"targetFormat": "SWIFT_MT",
"targetType": "MT103"
}

Response:

{
"data": {
"originalFormat": "ISO20022",
"targetFormat": "SWIFT_MT",
"transformedPayload": "{1:F01...}{2:O103...}...",
"warnings": []
}
}
POST /api/v1/messages/:messageId/validate

Validate message against schema.

Response:

{
"data": {
"valid": true,
"errors": [],
"warnings": [
{
"field": "creditor.postalAddress",
"message": "Street name recommended"
}
]
}
}
GET /api/v1/messages/:messageId

Retrieve message details.

GET /api/v1/messages

Query Parameters:

ParameterTypeDescription
typestringMessage type
formatstringMessage format
statusstringMessage status
dateFromstringDate range start
dateTostringDate range end
POST /api/v1/messages/:messageId/send

Send message to destination.

Request Body:

{
"destination": "SWIFT",
"priority": "NORMAL",
"deliveryNotification": true
}
POST /api/v1/messages/parse

Parse an incoming message.

Request Body:

{
"format": "SWIFT_MT",
"rawMessage": "{1:F01BANKUS33AXXX...}"
}
FormatDescription
ISO20022ISO 20022 XML messages
SWIFT_MTSWIFT MT messages
SWIFT_MXSWIFT MX messages
LOCALLocal clearing format
JSONJSON representation
TypeDescription
pacs.008Customer Credit Transfer
pacs.002Payment Status Report
pacs.004Payment Return
camt.053Bank to Customer Statement
camt.054Bank to Customer Debit/Credit Notification
TypeDescription
MT103Single Customer Credit Transfer
MT202General Financial Institution Transfer
MT940Customer Statement
MT950Statement Message
StatusDescription
CREATEDMessage created
VALIDATEDValidation passed
TRANSFORMEDFormat transformed
SENTSent to network
DELIVEREDDelivered to recipient
FAILEDProcessing failed
EventDescription
message.createdMessage created
message.validatedValidation completed
message.sentMessage sent
message.deliveredDelivery confirmed
message.failedProcessing failed