Moniepoint Verification API

Identity, BVN, NIN, and account verification.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

moniepoint-verification-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Moniepoint POS Push Payment Authentication Verification 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: Verification
  description: Identity, BVN, NIN, and account verification.
paths:
  /api/v1/disbursements/account/validate:
    get:
      summary: Monnify Validate Bank Account
      description: Returns the registered account name for a bank account number and bank code.
      operationId: validateAccount
      tags:
      - Verification
      parameters:
      - name: accountNumber
        in: query
        required: true
        schema:
          type: string
      - name: bankCode
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Account holder name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountValidationEnvelope'
  /api/v1/vas/bvn-account-match:
    post:
      summary: Monnify Match BVN To Bank Account
      description: Verify that a BVN belongs to the owner of a given bank account.
      operationId: matchBvnToAccount
      tags:
      - Verification
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - bvn
              - bankCode
              - accountNumber
              properties:
                bvn:
                  type: string
                bankCode:
                  type: string
                accountNumber:
                  type: string
      responses:
        '200':
          description: BVN match result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BvnMatchEnvelope'
  /api/v1/vas/bvn-details/{bvn}:
    get:
      summary: Monnify Get BVN Details
      description: Returns demographic details associated with a BVN.
      operationId: getBvnDetails
      tags:
      - Verification
      parameters:
      - name: bvn
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: BVN details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BvnDetailsEnvelope'
  /api/v1/vas/verify-nin:
    post:
      summary: Monnify Verify NIN
      description: Validate a National Identification Number (NIN) against demographic details.
      operationId: verifyNin
      tags:
      - Verification
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - nin
              properties:
                nin:
                  type: string
                dateOfBirth:
                  type: string
                  format: date
                phoneNumber:
                  type: string
      responses:
        '200':
          description: NIN verification result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NinEnvelope'
components:
  schemas:
    BvnDetailsEnvelope:
      type: object
      properties:
        requestSuccessful:
          type: boolean
        responseMessage:
          type: string
        responseCode:
          type: string
        responseBody:
          type: object
          properties:
            bvn:
              type: string
            firstName:
              type: string
            middleName:
              type: string
            lastName:
              type: string
            dateOfBirth:
              type: string
              format: date
            phoneNumber:
              type: string
            gender:
              type: string
            registrationDate:
              type: string
              format: date
    BvnMatchEnvelope:
      type: object
      properties:
        requestSuccessful:
          type: boolean
        responseMessage:
          type: string
        responseCode:
          type: string
        responseBody:
          type: object
          properties:
            bvn:
              type: string
            accountNumber:
              type: string
            bankCode:
              type: string
            matchStatus:
              type: string
              enum:
              - MATCHED
              - PARTIAL_MATCH
              - NO_MATCH
    NinEnvelope:
      type: object
      properties:
        requestSuccessful:
          type: boolean
        responseMessage:
          type: string
        responseCode:
          type: string
        responseBody:
          type: object
          properties:
            nin:
              type: string
            firstName:
              type: string
            lastName:
              type: string
            dateOfBirth:
              type: string
              format: date
            phoneNumber:
              type: string
            matched:
              type: boolean
    AccountValidationEnvelope:
      type: object
      properties:
        requestSuccessful:
          type: boolean
        responseMessage:
          type: string
        responseCode:
          type: string
        responseBody:
          type: object
          properties:
            accountNumber:
              type: string
            accountName:
              type: string
            bankCode:
              type: string
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: Basic auth using API client id and client secret from the Moniepoint Business dashboard.