openapi: 3.1.0
info:
title: Montran Payments Connectivity API
description: >-
The Montran Payments Connectivity solution allows commercial banks to
connect to multiple clearing and settlement systems and messaging systems
such as SWIFT. It provides a single point of integration between
back-office applications and the external world. The platform supports
APIs (REST, SOAP), queue-based protocols (IBM MQ, Apache Kafka),
file-based protocols (shared directories, SFTP), and messaging standards
including SWIFT FIN, ISO 20022 (pain, pacs, camt messages), and local
proprietary formats. Montran has certified interfaces to clearing and
settlement systems worldwide with gpi features, open APIs, web services,
and ISO 20022 support.
version: 1.0.0
contact:
name: Montran Corporation
url: https://www.montran.com/contact-us/
license:
name: Proprietary
url: https://www.montran.com/terms-conditions/
x-logo:
url: https://www.montran.com/logo.png
externalDocs:
description: Montran Payments Connectivity Documentation
url: https://www.montran.com/solutions/payments-connectivity/
servers:
- url: https://api.montran.com/connectivity/v1
description: Montran Payments Connectivity API Server
tags:
- name: Channels
description: Communication channel management and monitoring
- name: Clearing Systems
description: Clearing and settlement system connectivity
- name: Message Formats
description: Message format conversion and validation
- name: Message Routing
description: Message routing and transformation between systems
- name: SWIFT
description: SWIFT network connectivity and message management
paths:
/messages:
get:
operationId: listMessages
summary: Montran List processed messages
description: >-
Retrieves a list of messages processed through the connectivity
platform. Supports filtering by source system, destination system,
message format (SWIFT FIN, ISO 20022, proprietary), direction, and
processing status.
tags:
- Message Routing
parameters:
- name: sourceSystem
in: query
description: Filter by source system identifier
schema:
type: string
- name: destinationSystem
in: query
description: Filter by destination system identifier
schema:
type: string
- name: format
in: query
description: Filter by message format
schema:
type: string
enum:
- SWIFT_FIN
- ISO20022
- PROPRIETARY
- name: messageType
in: query
description: >-
Filter by specific message type (e.g., MT103, pacs.008,
pain.001, camt.053)
schema:
type: string
- name: direction
in: query
description: Filter by message direction
schema:
type: string
enum:
- inbound
- outbound
- name: status
in: query
description: Filter by processing status
schema:
type: string
enum:
- received
- validated
- transformed
- routed
- delivered
- failed
- name: fromDate
in: query
description: Start date filter (ISO 8601)
schema:
type: string
format: date-time
- name: toDate
in: query
description: End date filter (ISO 8601)
schema:
type: string
format: date-time
- name: page
in: query
schema:
type: integer
minimum: 1
default: 1
- name: pageSize
in: query
schema:
type: integer
minimum: 1
maximum: 100
default: 20
responses:
'200':
description: Successfully retrieved message list
content:
application/json:
schema:
$ref: '#/components/schemas/MessageList'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
post:
operationId: submitMessage
summary: Montran Submit a message for routing
description: >-
Submits a payment or financial message for routing through the
connectivity platform. The message is validated, transformed to the
required format, and routed to the appropriate destination system.
Supports SWIFT FIN (MT series), ISO 20022 (pain, pacs, camt), and
proprietary formats. The system automatically determines the
appropriate channel and format transformation.
tags:
- Message Routing
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/MessageSubmission'
responses:
'201':
description: Message accepted for routing
content:
application/json:
schema:
$ref: '#/components/schemas/MessageResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
/messages/{messageId}:
get:
operationId: getMessage
summary: Montran Get message details
description: >-
Retrieves the full details of a specific message including its
routing path, format transformations applied, delivery status, and
any acknowledgements received from destination systems.
tags:
- Message Routing
parameters:
- name: messageId
in: path
required: true
description: Unique identifier of the message
schema:
type: string
responses:
'200':
description: Successfully retrieved message details
content:
application/json:
schema:
$ref: '#/components/schemas/MessageDetail'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/messages/transform:
post:
operationId: transformMessage
summary: Montran Transform a message between formats
description: >-
Transforms a financial message between supported formats without
routing it. Supports conversion between SWIFT FIN MT and ISO 20022
MX formats, as well as local proprietary formats. Useful for
validating format transformations before submission.
tags:
- Message Formats
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TransformRequest'
responses:
'200':
description: Message successfully transformed
content:
application/json:
schema:
$ref: '#/components/schemas/TransformResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'500':
$ref: '#/components/responses/InternalServerError'
/messages/validate:
post:
operationId: validateMessage
summary: Montran Validate a message
description: >-
Validates a financial message against the rules for its message type
and format. Checks structural validity, field content, and business
rules without submitting the message for routing. Supports SWIFT FIN,
ISO 20022, and proprietary format validation.
tags:
- Message Formats
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateRequest'
responses:
'200':
description: Validation result
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationResult'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
/channels:
get:
operationId: listChannels
summary: Montran List communication channels
description: >-
Retrieves a list of configured communication channels including
SWIFT connections, clearing system interfaces, API endpoints,
queue-based channels (IBM MQ, Kafka), and file-based channels
(SFTP). Shows channel status and connectivity health.
tags:
- Channels
parameters:
- name: type
in: query
description: Filter by channel type
schema:
type: string
enum:
- SWIFT
- API_REST
- API_SOAP
- QUEUE_MQ
- QUEUE_KAFKA
- FILE_SFTP
- FILE_SHARED
- name: status
in: query
description: Filter by channel status
schema:
type: string
enum:
- active
- inactive
- degraded
- error
responses:
'200':
description: Successfully retrieved channel list
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelList'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
/channels/{channelId}:
get:
operationId: getChannel
summary: Montran Get channel details
description: >-
Retrieves the configuration and current status of a specific
communication channel including connection parameters, supported
message formats, throughput statistics, and health metrics.
tags:
- Channels
parameters:
- name: channelId
in: path
required: true
description: Unique identifier of the channel
schema:
type: string
responses:
'200':
description: Successfully retrieved channel details
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelDetail'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/channels/{channelId}/health:
get:
operationId: getChannelHealth
summary: Montran Get channel health status
description: >-
Retrieves the real-time health and connectivity status of a
communication channel including latency metrics, error rates,
and throughput statistics.
tags:
- Channels
parameters:
- name: channelId
in: path
required: true
description: Unique identifier of the channel
schema:
type: string
responses:
'200':
description: Successfully retrieved channel health
content:
application/json:
schema:
$ref: '#/components/schemas/ChannelHealth'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
/swift/messages:
get:
operationId: listSwiftMessages
summary: Montran List SWIFT messages
description: >-
Retrieves SWIFT FIN messages processed through the connectivity
platform. Supports filtering by message type (MT103, MT202, etc.),
direction, and date range. Includes SWIFT gpi tracking information
where available.
tags:
- SWIFT
parameters:
- name: messageType
in: query
description: SWIFT MT message type filter
schema:
type: string
- name: direction
in: query
schema:
type: string
enum:
- sent
- received
- name: fromDate
in: query
schema:
type: string
format: date
- name: toDate
in: query
schema:
type: string
format: date
- name: page
in: query
schema:
type: integer
minimum: 1
default: 1
- name: pageSize
in: query
schema:
type: integer
minimum: 1
maximum: 100
default: 20
responses:
'200':
description: Successfully retrieved SWIFT messages
content:
application/json:
schema:
$ref: '#/components/schemas/SwiftMessageList'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
/clearing-systems:
get:
operationId: listClearingSystems
summary: Montran List connected clearing systems
description: >-
Retrieves a list of clearing and settlement systems connected
through the platform including SEPA (Step1, Step2), Target2, TIPS,
RT1, Fedwire, CHIPS, CHAPS, Faster Payments, and local RTGS and
ACH systems. Shows connection status and supported message formats.
tags:
- Clearing Systems
responses:
'200':
description: Successfully retrieved clearing systems
content:
application/json:
schema:
$ref: '#/components/schemas/ClearingSystemList'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
/clearing-systems/{systemId}:
get:
operationId: getClearingSystem
summary: Montran Get clearing system details
description: >-
Retrieves the details of a specific clearing and settlement system
connection including supported message types, operating hours,
settlement windows, and current connectivity status.
tags:
- Clearing Systems
parameters:
- name: systemId
in: path
required: true
description: Unique identifier of the clearing system
schema:
type: string
responses:
'200':
description: Successfully retrieved clearing system details
content:
application/json:
schema:
$ref: '#/components/schemas/ClearingSystemDetail'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
components:
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
apiKey:
type: apiKey
in: header
name: X-API-Key
schemas:
MessageSubmission:
type: object
description: Message submission for routing through the connectivity platform
required:
- format
- messageType
- content
properties:
format:
type: string
description: Message format
enum:
- SWIFT_FIN
- ISO20022
- PROPRIETARY
messageType:
type: string
description: >-
Specific message type (e.g., MT103, MT202, pacs.008, pain.001,
camt.053)
destinationSystem:
type: string
description: Target clearing or settlement system
destinationChannel:
type: string
description: Target communication channel identifier
priority:
type: string
description: Message priority
enum:
- NORMAL
- URGENT
- SYSTEM
content:
type: string
description: Message content in the specified format
metadata:
type: object
description: Additional routing metadata
additionalProperties:
type: string
MessageResponse:
type: object
description: Response after message submission
properties:
messageId:
type: string
description: Unique message identifier assigned by the system
status:
type: string
enum:
- RECEIVED
- VALIDATED
- QUEUED
channel:
type: string
description: Assigned routing channel
destinationSystem:
type: string
description: Resolved destination system
createdAt:
type: string
format: date-time
MessageDetail:
type: object
description: Full message details including routing information
properties:
messageId:
type: string
format:
type: string
messageType:
type: string
direction:
type: string
enum:
- inbound
- outbound
sourceSystem:
type: string
destinationSystem:
type: string
channel:
type: string
status:
type: string
enum:
- received
- validated
- transformed
- routed
- delivered
- acknowledged
- failed
transformations:
type: array
description: Format transformations applied
items:
type: object
properties:
fromFormat:
type: string
toFormat:
type: string
timestamp:
type: string
format: date-time
acknowledgement:
type: object
description: Acknowledgement from destination system
properties:
status:
type: string
receivedAt:
type: string
format: date-time
reference:
type: string
errorDetails:
type: string
description: Error details if message processing failed
createdAt:
type: string
format: date-time
updatedAt:
type: string
format: date-time
MessageList:
type: object
properties:
messages:
type: array
items:
$ref: '#/components/schemas/MessageDetail'
pagination:
$ref: '#/components/schemas/Pagination'
TransformRequest:
type: object
description: Request to transform a message between formats
required:
- sourceFormat
- targetFormat
- content
properties:
sourceFormat:
type: string
description: Source message format
enum:
- SWIFT_FIN
- ISO20022
- PROPRIETARY
sourceMessageType:
type: string
description: Source message type (e.g., MT103, pacs.008)
targetFormat:
type: string
description: Target message format
enum:
- SWIFT_FIN
- ISO20022
- PROPRIETARY
targetMessageType:
type: string
description: Target message type
content:
type: string
description: Source message content
TransformResponse:
type: object
description: Result of message format transformation
properties:
sourceFormat:
type: string
targetFormat:
type: string
sourceMessageType:
type: string
targetMessageType:
type: string
transformedContent:
type: string
description: Transformed message content
warnings:
type: array
description: Transformation warnings (e.g., data truncation)
items:
type: object
properties:
field:
type: string
message:
type: string
ValidateRequest:
type: object
description: Request to validate a message
required:
- format
- messageType
- content
properties:
format:
type: string
enum:
- SWIFT_FIN
- ISO20022
- PROPRIETARY
messageType:
type: string
content:
type: string
ValidationResult:
type: object
description: Message validation result
properties:
valid:
type: boolean
description: Whether the message is valid
errors:
type: array
items:
type: object
properties:
severity:
type: string
enum:
- ERROR
- WARNING
field:
type: string
rule:
type: string
message:
type: string
ChannelList:
type: object
properties:
channels:
type: array
items:
$ref: '#/components/schemas/ChannelDetail'
ChannelDetail:
type: object
description: Communication channel configuration and status
properties:
channelId:
type: string
name:
type: string
type:
type: string
enum:
- SWIFT
- API_REST
- API_SOAP
- QUEUE_MQ
- QUEUE_KAFKA
- FILE_SFTP
- FILE_SHARED
status:
type: string
enum:
- active
- inactive
- degraded
- error
supportedFormats:
type: array
items:
type: string
connectedSystems:
type: array
items:
type: string
configuration:
type: object
description: Channel-specific configuration
additionalProperties:
type: string
ChannelHealth:
type: object
description: Real-time channel health metrics
properties:
channelId:
type: string
status:
type: string
enum:
- healthy
- degraded
- down
latencyMs:
type: integer
description: Current latency in milliseconds
errorRate:
type: number
format: double
description: Error rate percentage over the last hour
throughput:
type: integer
description: Messages processed in the last hour
lastActivityAt:
type: string
format: date-time
checkedAt:
type: string
format: date-time
SwiftMessageList:
type: object
properties:
messages:
type: array
items:
type: object
properties:
messageId:
type: string
swiftMessageType:
type: string
description: SWIFT MT message type (e.g., MT103, MT202)
direction:
type: string
enum:
- sent
- received
senderBic:
type: string
receiverBic:
type: string
reference:
type: string
gpiUetr:
type: string
description: SWIFT gpi Unique End-to-end Transaction Reference
status:
type: string
processedAt:
type: string
format: date-time
pagination:
$ref: '#/components/schemas/Pagination'
ClearingSystemList:
type: object
properties:
clearingSystems:
type: array
items:
$ref: '#/components/schemas/ClearingSystemDetail'
ClearingSystemDetail:
type: object
description: Clearing and settlement system details
properties:
systemId:
type: string
name:
type: string
description: Clearing system name
type:
type: string
description: System type
enum:
- RTGS
- ACH
- INSTANT
- HYBRID
country:
type: string
description: Country of the clearing system
status:
type: string
enum:
- connected
- disconnected
- maintenance
supportedFormats:
type: array
items:
type: string
supportedMessageTypes:
type: array
items:
type: string
operatingHours:
type: object
properties:
is24x7:
type: boolean
openTime:
type: string
closeTime:
type: string
timezone:
type: string
Pagination:
type: object
properties:
page:
type: integer
pageSize:
type: integer
totalItems:
type: integer
totalPages:
type: integer
Error:
type: object
required:
- code
- message
properties:
code:
type: string
message:
type: string
details:
type: array
items:
type: object
properties:
field:
type: string
message:
type: string
responses:
BadRequest:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
UnprocessableEntity:
description: Validation failed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
InternalServerError:
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
security:
- bearerAuth: []
- apiKey: []