Okra Reports API

Scheduled financial reports.

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-reports-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Okra API (Historical) Accounts Reports 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: Reports
  description: Scheduled financial reports.
paths:
  /reports/schedule:
    post:
      operationId: scheduleReport
      tags:
      - Reports
      summary: Schedule a financial report
      requestBody:
        $ref: '#/components/requestBodies/CustomerFilter'
      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'
  requestBodies:
    CustomerFilter:
      description: Modeled customer-scoped filter body.
      required: true
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CustomerFilter'
  schemas:
    OkraEnvelope:
      type: object
      description: Modeled Okra response envelope.
      properties:
        status:
          type: string
          example: success
        message:
          type: string
        data:
          type: object
          additionalProperties: true
      additionalProperties: true
    CustomerFilter:
      type: object
      description: Modeled. Customer-scoped filter, optionally with a date range.
      properties:
        customer:
          type: string
        from:
          type: string
          format: date
        to:
          type: string
          format: date
        page:
          type: integer
        limit:
          type: integer
      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.'