openapi: 3.0.1 info: title: Mono Account Information API description: Specification of the Mono open-banking API. Mono lets businesses link customer bank accounts (Connect) to read transactions, statements, identity, income, and balance, and to collect payments via DirectPay one-time transfers and Direct Debit mandates. All requests are authenticated with the secret application key supplied in the mono-sec-key header. Monetary amounts are expressed in the lowest denomination of the currency (e.g. kobo for NGN). termsOfService: https://mono.co/legal contact: name: Mono Support url: https://docs.mono.co email: hi@mono.co version: '2.0' servers: - url: https://api.withmono.com description: Mono production API security: - monoSecKey: [] tags: - name: Account Information description: Account details and balance for a linked account. paths: /v2/accounts/{id}: get: operationId: getAccountDetails tags: - Account Information summary: Get account details description: Retrieves account holder, institution, and balance details for a linked account. parameters: - $ref: '#/components/parameters/AccountId' responses: '200': description: Account details. content: application/json: schema: $ref: '#/components/schemas/AccountDetails' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /v2/accounts/{id}/balance: get: operationId: getAccountBalance tags: - Account Information summary: Get account balance description: Returns the near-real-time balance for a linked account. parameters: - $ref: '#/components/parameters/AccountId' responses: '200': description: Account balance. content: application/json: schema: $ref: '#/components/schemas/Balance' '401': $ref: '#/components/responses/Unauthorized' /v2/accounts/{id}/unlink: post: operationId: unlinkAccount tags: - Account Information summary: Unlink account description: Unlinks a previously linked account, revoking further data access. parameters: - $ref: '#/components/parameters/AccountId' responses: '200': description: Account unlinked. content: application/json: schema: $ref: '#/components/schemas/StatusMessage' '401': $ref: '#/components/responses/Unauthorized' components: schemas: Error: type: object properties: status: type: string message: type: string StatusMessage: type: object properties: status: type: string message: type: string AccountDetails: type: object properties: meta: type: object properties: data_status: type: string auth_method: type: string account: type: object properties: id: type: string name: type: string currency: type: string type: type: string account_number: type: string balance: type: integer bvn: type: string institution: type: object properties: name: type: string bank_code: type: string type: type: string Balance: type: object properties: status: type: string message: type: string data: type: object properties: id: type: string name: type: string account_number: type: string balance: type: integer currency: type: string parameters: AccountId: name: id in: path required: true description: The linked account id returned by the exchange-token endpoint. schema: type: string responses: Unauthorized: description: Missing or invalid mono-sec-key. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: Resource not found. content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: monoSecKey: type: apiKey in: header name: mono-sec-key description: Secret application key issued in the Mono dashboard.