openapi: 3.0.1 info: title: Okra Accounts Income API description: 'Specification of the Okra open-finance API. Okra connected applications to Nigerian bank accounts to retrieve authentication details, balances, transactions, identity, and income, and to initiate bank-to-bank payments. All product and query endpoints are POST requests authenticated with a Bearer secret key. NOTE: Okra wound down operations in May 2025; endpoints are documented as they were publicly published and may no longer be live.' termsOfService: https://okra.ng/terms contact: name: Okra Support email: support@okra.ng version: '2.0' servers: - url: https://api.okra.ng/v2 description: Production - url: https://api.okra.ng/v2/sandbox description: Sandbox security: - bearerAuth: [] tags: - name: Income description: Income verification. paths: /products/income: post: operationId: getIncome tags: - Income summary: Retrieve income records description: Returns income verification data derived from a record's connected accounts, optionally as a PDF. requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/PdfFlagRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '401': $ref: '#/components/responses/Unauthorized' /income/getByCustomer: post: operationId: getIncomeByCustomer tags: - Income summary: Retrieve income by customer requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CustomerRequest' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/GenericResponse' '401': $ref: '#/components/responses/Unauthorized' components: schemas: PdfFlagRequest: type: object properties: pdf: type: boolean default: false description: When true, return the records rendered as a PDF. Error: type: object properties: status: type: string example: error message: type: string CustomerRequest: type: object required: - customer properties: customer: type: string description: The Okra customer id. page: type: integer default: 1 limit: type: integer default: 20 GenericResponse: type: object properties: status: type: string message: type: string data: type: object additionalProperties: true responses: Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: bearerAuth: type: http scheme: bearer description: Okra secret API key supplied as a Bearer token.