openapi: 3.0.1 info: title: Mono Account Information DirectPay 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: DirectPay description: One-time bank-to-bank payments. paths: /v2/payments/initiate: post: operationId: initiatePayment tags: - DirectPay summary: Initiate DirectPay payment description: Initiates a one-time bank-to-bank DirectPay payment and returns a hosted payment link and reference for the customer to authorize. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/InitiatePaymentRequest' responses: '200': description: Payment initiated. content: application/json: schema: $ref: '#/components/schemas/InitiatePaymentResponse' '401': $ref: '#/components/responses/Unauthorized' /v2/payments/verify/{reference}: get: operationId: verifyPayment tags: - DirectPay summary: Verify DirectPay payment description: Verifies the status of a DirectPay payment by its transaction reference. parameters: - name: reference in: path required: true description: The payment transaction reference. schema: type: string responses: '200': description: Payment status. content: application/json: schema: $ref: '#/components/schemas/PaymentStatus' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: Error: type: object properties: status: type: string message: type: string PaymentStatus: type: object properties: status: type: string message: type: string data: type: object properties: id: type: string reference: type: string amount: type: integer status: type: string enum: - successful - failed - pending - abandoned currency: type: string created_at: type: string format: date-time InitiatePaymentRequest: type: object required: - amount - type - reference properties: amount: type: integer description: Amount in the lowest denomination (e.g. kobo). type: type: string example: onetime-debit method: type: string example: account description: type: string reference: type: string redirect_url: type: string customer: type: object properties: email: type: string phone: type: string address: type: string identity: type: object properties: type: type: string number: type: string meta: type: object InitiatePaymentResponse: type: object properties: status: type: string message: type: string data: type: object properties: id: type: string mono_url: type: string type: type: string reference: type: string customer: 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.