Montran Payments Connectivity

Allows commercial banks to connect to multiple clearing and settlement systems and messaging systems such as SWIFT. Provides a single point of integration between back-office applications and the external world, supporting APIs (REST, SOAP), queue-based, and file-based protocols.

OpenAPI Specification

montran-payments-connectivity-openapi.yml Raw ↑
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: []