openapi: 3.1.0 info: title: Montran Corporate Payments Portal Account Information Accounts 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: Accounts description: Multi-bank account visibility and management paths: /accounts: get: operationId: listBankAccounts summary: Montran List bank accounts description: Retrieves a consolidated view of accounts across all connected bank relationships. Provides multi-bank visibility including account balances, currencies, and bank details. tags: - Accounts parameters: - name: bankId in: query description: Filter by bank relationship schema: type: string - name: currency in: query schema: type: string pattern: ^[A-Z]{3}$ responses: '200': description: Successfully retrieved accounts content: application/json: schema: $ref: '#/components/schemas/BankAccountList' '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalServerError' /accounts/{accountId}: get: operationId: getBankAccount summary: Montran Get bank account details description: Retrieves detailed information about a specific bank account including current balance, available balance, and recent transaction summary. tags: - Accounts parameters: - name: accountId in: path required: true description: Unique account identifier schema: type: string responses: '200': description: Successfully retrieved account details content: application/json: schema: $ref: '#/components/schemas/BankAccount' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /accounts/{accountId}/transactions: get: operationId: listAccountTransactions summary: Montran List account transactions description: Retrieves the transaction history for a bank account. Supports date range filtering and pagination. tags: - Accounts parameters: - name: accountId in: path required: true schema: type: string - 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 transactions content: application/json: schema: $ref: '#/components/schemas/TransactionList' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' '500': $ref: '#/components/responses/InternalServerError' /accounts/{accountId}/balance: get: operationId: getAccountBalance summary: Montran Get account balance description: Retrieves the current balance of an account including available balance, booked balance, and pending transactions. Aligned with ISO 20022 camt.052 BankToCustomerAccountReport format. tags: - Accounts parameters: - name: accountId in: path required: true description: Unique identifier of the account schema: type: string responses: '200': description: Successfully retrieved account balance content: application/json: schema: $ref: '#/components/schemas/AccountBalance' '401': $ref: '#/components/responses/Unauthorized_2' '404': $ref: '#/components/responses/NotFound_2' '500': $ref: '#/components/responses/InternalServerError' components: schemas: AccountBalance: type: object description: Account balance information aligned with ISO 20022 camt.052 BankToCustomerAccountReport properties: accountId: type: string description: Account identifier account: $ref: '#/components/schemas/AccountIdentification' balances: type: array items: type: object properties: type: type: string description: Balance type enum: - CLBD - ITBD - OPBD - PRCD - XPCD - ITAV amount: type: number format: double description: Balance amount currency: type: string description: Currency code creditDebitIndicator: type: string enum: - CRDT - DBIT dateTime: type: string format: date-time description: Balance date and time TransactionList: type: object properties: transactions: type: array items: type: object properties: transactionId: type: string amount: type: number format: double currency: type: string creditDebit: type: string enum: - CRDT - DBIT bookingDate: type: string format: date valueDate: type: string format: date counterpartyName: type: string reference: type: string remittanceInformation: type: string pagination: $ref: '#/components/schemas/Pagination' 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 AccountIdentification: type: object description: Account identification using IBAN or proprietary account number properties: iban: type: string description: International Bank Account Number pattern: ^[A-Z]{2}[0-9]{2}[A-Z0-9]{4,30}$ accountNumber: type: string description: Proprietary account number currency: type: string description: Account currency (ISO 4217) pattern: ^[A-Z]{3}$ BankAccount: type: object description: Bank account details properties: accountId: type: string iban: type: string accountNumber: type: string currency: type: string bankId: type: string bankName: type: string bankBic: type: string accountName: type: string availableBalance: type: number format: double bookedBalance: type: number format: double lastUpdated: type: string format: date-time Error_2: type: object description: Standard error response required: - code - message properties: code: type: string description: Error code message: type: string description: Human-readable error message details: type: array description: Detailed error information items: type: object properties: field: type: string description: Field that caused the error message: type: string description: Error detail message BankAccountList: type: object properties: accounts: type: array items: $ref: '#/components/schemas/BankAccount' Pagination: type: object properties: page: type: integer pageSize: type: integer totalItems: type: integer totalPages: type: integer responses: NotFound_2: description: Requested resource not found content: application/json: schema: $ref: '#/components/schemas/Error_2' Unauthorized_2: description: Authentication required or credentials invalid content: application/json: schema: $ref: '#/components/schemas/Error_2' 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' 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/