Moniepoint Bulk Transfers API

Initiate and query bulk transfer batches.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

moniepoint-bulk-transfers-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Moniepoint POS Push Payment Authentication Bulk Transfers API
  description: 'Push payment-request flow for Moniepoint POS terminals. ISV partners push an authenticated payment request to a registered terminal serial number; the merchant taps to accept and the terminal completes a card or bank-transfer collection routed through Moniepoint''s acquiring rails. API client credentials (client id and client secret) are issued from the Moniepoint Business dashboard.

    '
  version: '1.0'
  contact:
    name: Moniepoint POS Developer Support
    url: https://teamapt.atlassian.net/wiki/spaces/EI
servers:
- url: https://pos.moniepoint.com
  description: Production
security:
- BasicAuth: []
tags:
- name: Bulk Transfers
  description: Initiate and query bulk transfer batches.
paths:
  /api/v2/disbursements/bulk:
    post:
      summary: Monnify Initiate Bulk Transfer
      description: Initiate a batch of transfers in one call.
      operationId: initiateBulkTransfer
      tags:
      - Bulk Transfers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkTransferRequest'
      responses:
        '200':
          description: Bulk transfer accepted.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkTransferEnvelope'
  /api/v2/disbursements/bulk/summary:
    get:
      summary: Monnify Get Bulk Transfer Summary
      operationId: getBulkTransferSummary
      tags:
      - Bulk Transfers
      parameters:
      - name: batchReference
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Bulk transfer summary.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkTransferEnvelope'
  /api/v2/disbursements/bulk/{batchReference}/transactions:
    get:
      summary: Monnify List Bulk Transfer Items
      operationId: listBulkTransferItems
      tags:
      - Bulk Transfers
      parameters:
      - name: batchReference
        in: path
        required: true
        schema:
          type: string
      - name: pageNo
        in: query
        schema:
          type: integer
          default: 0
      - name: pageSize
        in: query
        schema:
          type: integer
          default: 10
      responses:
        '200':
          description: Bulk transfer items page.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransferPageEnvelope'
components:
  schemas:
    Transfer:
      type: object
      properties:
        reference:
          type: string
        amount:
          type: number
        destinationAccountName:
          type: string
        destinationAccountNumber:
          type: string
        destinationBankCode:
          type: string
        currency:
          type: string
        status:
          type: string
          enum:
          - SUCCESS
          - FAILED
          - REVERSED
          - PENDING
          - OTP_EMAIL_DISPATCH
          - PENDING_AUTHORIZATION
        narration:
          type: string
        fee:
          type: number
        dateCreated:
          type: string
          format: date-time
    BulkTransferRequest:
      type: object
      required:
      - title
      - batchReference
      - narration
      - sourceAccountNumber
      - transactionList
      properties:
        title:
          type: string
        batchReference:
          type: string
        narration:
          type: string
        sourceAccountNumber:
          type: string
        onValidationFailure:
          type: string
          enum:
          - BREAK
          - CONTINUE
        notificationInterval:
          type: integer
          description: Webhook batch notification interval as a percentage (10, 20, 50, 100).
        transactionList:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
              reference:
                type: string
              narration:
                type: string
              destinationBankCode:
                type: string
              destinationAccountNumber:
                type: string
              destinationAccountName:
                type: string
              currency:
                type: string
                example: NGN
    BulkTransferEnvelope:
      type: object
      properties:
        requestSuccessful:
          type: boolean
        responseMessage:
          type: string
        responseCode:
          type: string
        responseBody:
          $ref: '#/components/schemas/BulkTransferSummary'
    TransferPageEnvelope:
      type: object
      properties:
        requestSuccessful:
          type: boolean
        responseMessage:
          type: string
        responseCode:
          type: string
        responseBody:
          type: object
          properties:
            content:
              type: array
              items:
                $ref: '#/components/schemas/Transfer'
            number:
              type: integer
            size:
              type: integer
            totalElements:
              type: integer
            totalPages:
              type: integer
    BulkTransferSummary:
      type: object
      properties:
        batchReference:
          type: string
        batchStatus:
          type: string
        totalAmount:
          type: number
        totalFee:
          type: number
        totalReceivedAmount:
          type: number
        totalCount:
          type: integer
        successfulCount:
          type: integer
        failedCount:
          type: integer
        pendingCount:
          type: integer
        dateCreated:
          type: string
          format: date-time
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: Basic auth using API client id and client secret from the Moniepoint Business dashboard.