Okra Banks API

Reference list of connectable banks.

Documentation

📖
Documentation
https://web.archive.org/web/20240225005139/https://docs.okra.ng/reference/api/Auth
📖
APIReference
https://docs.okra.ng/reference/api/Auth
📖
Documentation
https://web.archive.org/web/20240225025307/https://docs.okra.ng/reference/api/Account
📖
APIReference
https://docs.okra.ng/reference/api/Account
📖
Documentation
https://web.archive.org/web/20240225023518/https://docs.okra.ng/reference/api/Balance
📖
APIReference
https://docs.okra.ng/reference/api/Balance
📖
Documentation
https://web.archive.org/web/20240225015711/https://docs.okra.ng/reference/api/Transactions
📖
APIReference
https://docs.okra.ng/reference/api/Transactions
📖
Documentation
https://web.archive.org/web/20240225022834/https://docs.okra.ng/reference/api/Identity
📖
APIReference
https://docs.okra.ng/reference/api/Identity
📖
Documentation
https://web.archive.org/web/20240418181836/https://docs.okra.ng/reference/api
📖
APIReference
https://docs.okra.ng/reference/api
📖
Documentation
https://web.archive.org/web/20240225023335/https://docs.okra.ng/reference/api/Payments
📖
APIReference
https://docs.okra.ng/reference/api/Payments
📖
Documentation
https://web.archive.org/web/20241209034308/https://docs.okra.ng/reference/api/Banks
📖
APIReference
https://docs.okra.ng/reference/api/Banks
📖
Documentation
https://web.archive.org/web/20240225005456/https://docs.okra.ng/reference/api/Customer
📖
APIReference
https://docs.okra.ng/reference/api/Customer
📖
Documentation
https://web.archive.org/web/20241209040907/https://docs.okra.ng/reference/api/Wallets
📖
APIReference
https://docs.okra.ng/reference/api/Wallets

Specifications

Other Resources

OpenAPI Specification

okra-africa-banks-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Okra API (Historical) Accounts Banks API
  description: RETIRED. Okra was an open finance / open banking infrastructure API for Africa (Nigeria). This OpenAPI documents the historical, now-discontinued REST surface. Okra ceased operations in May 2025 and the host api.okra.ng no longer resolves; the paths and Bearer-secret auth below are CONFIRMED from Okra's official okraHQ/okra-node SDK, but request/response body schemas are MODELED (reconstructed from SDK parameter models and archived documentation) and are illustrative rather than authoritative. Reads and writes alike used POST with a JSON filter body. Account linking happened client-side through the Okra Widget, producing the `record`/`customer` identifiers that data endpoints operate against.
  version: '2.0'
  contact:
    name: Okra (defunct)
    url: https://okra.ng
  x-status: retired
  x-ceased-operations: 2025-05
  x-grounding: Endpoint paths, base URL, and Bearer-secret auth confirmed from github.com/okraHQ/okra-node (archived 2024-02-09). Body schemas modeled.
servers:
- url: https://api.okra.ng/v2
  description: Production (retired - no longer resolves)
- url: https://api.okra.ng/v2/sandbox
  description: Sandbox (retired - no longer resolves)
security:
- okraSecret: []
tags:
- name: Banks
  description: Reference list of connectable banks.
paths:
  /banks/list:
    post:
      operationId: listBanks
      tags:
      - Banks
      summary: List connectable banks
      requestBody:
        $ref: '#/components/requestBodies/EmptyFilter'
      responses:
        '200':
          $ref: '#/components/responses/OkraData'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /banks/getById:
    post:
      operationId: getBankById
      tags:
      - Banks
      summary: Get a bank by id
      requestBody:
        $ref: '#/components/requestBodies/IdFilter'
      responses:
        '200':
          $ref: '#/components/responses/OkraData'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  responses:
    Unauthorized:
      description: Missing or invalid Okra Secret.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OkraEnvelope'
    OkraData:
      description: MODELED. Okra responses were JSON envelopes of the form {status, message, data}. The exact `data` shape varied per product and is not reproduced authoritatively here.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/OkraEnvelope'
  schemas:
    IdFilter:
      type: object
      description: Modeled. Single-resource lookup by id.
      properties:
        id:
          type: string
      required:
      - id
      additionalProperties: true
    OkraEnvelope:
      type: object
      description: Modeled Okra response envelope.
      properties:
        status:
          type: string
          example: success
        message:
          type: string
        data:
          type: object
          additionalProperties: true
      additionalProperties: true
  requestBodies:
    IdFilter:
      description: Modeled id-lookup body.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/IdFilter'
    EmptyFilter:
      description: Modeled empty/optional filter body.
      required: false
      content:
        application/json:
          schema:
            type: object
            additionalProperties: true
  securitySchemes:
    okraSecret:
      type: http
      scheme: bearer
      description: 'Okra Secret key issued in the Okra dashboard, sent as `Authorization: Bearer <secret>`. Confirmed from okraHQ/okra-node.'