Montran Screening API

Transaction and entity screening operations

OpenAPI Specification

montran-screening-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Montran Corporate Payments Portal Account Information Screening API
  description: The Montran Corporate Payments Portal enables corporates to exercise complete control over accounts at their various bank relationships, with the ability to make secure payments over the Internet. It supports SWIFT payments and local clearing delivery through API integration and H2H (Host-to-Host) protocols. Corporates can connect their ERP systems and manually or automatically upload invoices for payments and collections management. The portal provides multi-bank visibility and supports secure payment initiation across multiple currencies and payment types.
  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
servers:
- url: https://api.montran.com/corporate/v1
  description: Montran Corporate Payments Portal API Server
security:
- bearerAuth: []
- apiKey: []
tags:
- name: Screening
  description: Transaction and entity screening operations
paths:
  /screen:
    post:
      operationId: screenTransaction
      summary: Montran Screen a transaction
      description: Submits a payment transaction for real-time sanctions screening. The transaction is screened against all configured compliance lists (OFAC, EU, OFSI, etc.) for the specified channel. Supports ISO 20022 pacs and pain messages, SWIFT FIN MT messages, ISO 8583, NACHA, and local CSM formats. Returns screening results synchronously for instant payment use cases with sub-second response times.
      tags:
      - Screening
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScreeningRequest'
      responses:
        '200':
          description: Screening completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ScreeningResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /screen/batch:
    post:
      operationId: screenBatch
      summary: Montran Screen a batch of transactions
      description: Submits a batch of payment transactions for sanctions screening. Each transaction is individually screened against the configured compliance lists. Returns results for all transactions in the batch.
      tags:
      - Screening
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BatchScreeningRequest'
      responses:
        '200':
          description: Batch screening completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchScreeningResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /screen/entity:
    post:
      operationId: screenEntity
      summary: Montran Screen an entity
      description: Screens an individual or organization entity against configured sanctions and compliance lists. Used for customer onboarding, periodic review, and ad-hoc screening independent of a specific payment transaction.
      tags:
      - Screening
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EntityScreeningRequest'
      responses:
        '200':
          description: Entity screening completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityScreeningResult'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    ScreeningResult:
      type: object
      description: Transaction screening result
      properties:
        screeningId:
          type: string
          description: Unique screening identifier
        result:
          type: string
          description: Overall screening result
          enum:
          - PASS
          - HIT
          - POSSIBLE_HIT
        matchCount:
          type: integer
          description: Number of matches found
        matches:
          type: array
          items:
            $ref: '#/components/schemas/ScreeningMatch'
        screenedAt:
          type: string
          format: date-time
        latencyMs:
          type: integer
          description: Screening processing time in milliseconds
    TransactionData:
      type: object
      description: Structured transaction data for screening
      properties:
        transactionId:
          type: string
          description: Transaction reference
        debtorName:
          type: string
          description: Name of the debtor/originator
        debtorAddress:
          type: string
          description: Address of the debtor
        debtorCountry:
          type: string
          description: Country of the debtor (ISO 3166-1 alpha-2)
        debtorAccountIban:
          type: string
          description: Debtor IBAN
        debtorAgentBic:
          type: string
          description: Debtor agent BIC
        creditorName:
          type: string
          description: Name of the creditor/beneficiary
        creditorAddress:
          type: string
          description: Address of the creditor
        creditorCountry:
          type: string
          description: Country of the creditor (ISO 3166-1 alpha-2)
        creditorAccountIban:
          type: string
          description: Creditor IBAN
        creditorAgentBic:
          type: string
          description: Creditor agent BIC
        amount:
          type: number
          format: double
          description: Transaction amount
        currency:
          type: string
          description: Currency code (ISO 4217)
        remittanceInformation:
          type: string
          description: Remittance information / purpose
    BatchScreeningResult:
      type: object
      description: Batch screening results
      properties:
        batchId:
          type: string
        totalScreened:
          type: integer
        passCount:
          type: integer
        hitCount:
          type: integer
        results:
          type: array
          items:
            $ref: '#/components/schemas/ScreeningResult'
        screenedAt:
          type: string
          format: date-time
    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
    BatchScreeningRequest:
      type: object
      description: Batch screening request
      required:
      - channelId
      - transactions
      properties:
        channelId:
          type: string
        transactions:
          type: array
          items:
            $ref: '#/components/schemas/TransactionData'
          minItems: 1
    EntityScreeningRequest:
      type: object
      description: Entity screening request
      required:
      - entityType
      - name
      properties:
        entityType:
          type: string
          enum:
          - INDIVIDUAL
          - ORGANIZATION
        name:
          type: string
          description: Full name of the entity
        aliases:
          type: array
          description: Known aliases
          items:
            type: string
        dateOfBirth:
          type: string
          format: date
          description: Date of birth (individuals only)
        nationality:
          type: string
          description: Nationality (ISO 3166-1 alpha-2)
        country:
          type: string
          description: Country of residence/registration
        address:
          type: string
          description: Full address
        identificationNumber:
          type: string
          description: National ID, passport, or registration number
    EntityScreeningResult:
      type: object
      description: Entity screening result
      properties:
        screeningId:
          type: string
        result:
          type: string
          enum:
          - CLEAR
          - HIT
          - POSSIBLE_HIT
        matchCount:
          type: integer
        matches:
          type: array
          items:
            $ref: '#/components/schemas/ScreeningMatch'
        screenedAt:
          type: string
          format: date-time
    ScreeningMatch:
      type: object
      description: Individual screening match details
      properties:
        matchId:
          type: string
        matchedField:
          type: string
          description: Transaction field that triggered the match
          enum:
          - debtorName
          - creditorName
          - debtorAddress
          - creditorAddress
          - debtorCountry
          - creditorCountry
          - remittanceInformation
        matchedValue:
          type: string
          description: Value from the transaction that matched
        listName:
          type: string
          description: Name of the compliance list
        listEntryId:
          type: string
          description: Entry identifier in the compliance list
        listedName:
          type: string
          description: Name on the sanctions list
        matchScore:
          type: number
          format: double
          description: Match confidence score (0-100)
          minimum: 0
          maximum: 100
        matchType:
          type: string
          description: Type of match
          enum:
          - EXACT
          - FUZZY
          - PHONETIC
          - PARTIAL
        severity:
          type: string
          enum:
          - high
          - medium
          - low
    ScreeningRequest:
      type: object
      description: Transaction screening request
      required:
      - channelId
      - transaction
      properties:
        channelId:
          type: string
          description: Screening channel identifier
        messageFormat:
          type: string
          description: Format of the transaction message
          enum:
          - ISO20022
          - SWIFT_FIN
          - ISO8583
          - NACHA
          - PROPRIETARY
        messageType:
          type: string
          description: Specific message type (e.g., pacs.008, MT103)
        transaction:
          $ref: '#/components/schemas/TransactionData'
        rawMessage:
          type: string
          description: Raw message content for format-native screening
  responses:
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Bad request
      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'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
externalDocs:
  description: Montran Corporate Payments Portal Documentation
  url: https://www.montran.com/solutions/corporate-payments-portal/