Monnify Authentication API

Exchange Monnify API key and secret credentials (Basic auth) for a short-lived Bearer access token via POST /api/v1/auth/login. The returned accessToken plus expiresIn drives every other Monnify API call. Tokens expire after one hour and must be re-issued; client code typically caches and refreshes on demand.

Monnify Authentication API is one of 14 APIs that Moniepoint publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Authentication, OAuth, and Tokens. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

monnify-authentication-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Monnify Authentication API
  description: >
    Exchange Monnify API key and secret credentials for a short-lived Bearer
    access token. Every other Monnify endpoint requires the access token
    returned by POST /api/v1/auth/login as Authorization: Bearer
    {accessToken}. Tokens expire after one hour and must be re-issued.
  version: '1.0'
  contact:
    name: Monnify Developer Support
    url: https://developers.monnify.com
  license:
    name: Moniepoint Terms of Service
    url: https://moniepoint.com/ng/terms-of-service
servers:
  - url: https://api.monnify.com
    description: Production
  - url: https://sandbox.monnify.com
    description: Sandbox
security:
  - BasicAuth: []
tags:
  - name: Authentication
    description: Obtain a Bearer access token for the Monnify API.
paths:
  /api/v1/auth/login:
    post:
      summary: Monnify Log In And Issue Access Token
      description: >
        Authenticate with Basic auth using your API key as the username and
        your secret key as the password. Returns an OAuth-style accessToken
        and expiresIn (seconds). Cache the token until expiry to avoid
        re-authenticating on every call.
      operationId: monnifyLogin
      tags:
        - Authentication
      security:
        - BasicAuth: []
      responses:
        '200':
          description: Access token issued successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LoginResponse'
              examples:
                Default:
                  $ref: '#/components/examples/LoginResponseExample'
        '4XX':
          $ref: '#/components/responses/ErrorResponse'
components:
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: Basic auth using API key as username and secret key as password.
  schemas:
    LoginResponseBody:
      type: object
      properties:
        accessToken:
          type: string
          description: Bearer access token; place in the Authorization header on every subsequent Monnify call.
        expiresIn:
          type: integer
          description: Token lifetime in seconds (typically 3600).
    LoginResponse:
      type: object
      properties:
        requestSuccessful:
          type: boolean
        responseMessage:
          type: string
        responseCode:
          type: string
        responseBody:
          $ref: '#/components/schemas/LoginResponseBody'
    Error:
      type: object
      properties:
        requestSuccessful:
          type: boolean
          example: false
        responseMessage:
          type: string
        responseCode:
          type: string
        responseBody:
          type: object
  responses:
    ErrorResponse:
      description: Authentication failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  examples:
    LoginResponseExample:
      summary: Successful login
      value:
        requestSuccessful: true
        responseMessage: success
        responseCode: '0'
        responseBody:
          accessToken: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJNS19QUk9EXzAxIn0.x
          expiresIn: 3600