openapi: 3.1.0 info: title: Moniepoint POS Push Payment Authentication Sub-Accounts API description: 'Push payment-request flow for Moniepoint POS terminals. ISV partners push an authenticated payment request to a registered terminal serial number; the merchant taps to accept and the terminal completes a card or bank-transfer collection routed through Moniepoint''s acquiring rails. API client credentials (client id and client secret) are issued from the Moniepoint Business dashboard. ' version: '1.0' contact: name: Moniepoint POS Developer Support url: https://teamapt.atlassian.net/wiki/spaces/EI servers: - url: https://pos.moniepoint.com description: Production security: - BasicAuth: [] tags: - name: Sub-Accounts description: Manage settlement sub-accounts. paths: /api/v1/sub-accounts: post: summary: Monnify Create Sub-Accounts description: Create one or more sub-accounts in a single call. operationId: createSubAccounts tags: - Sub-Accounts requestBody: required: true content: application/json: schema: type: array items: $ref: '#/components/schemas/SubAccount' responses: '200': description: Sub-accounts created. content: application/json: schema: $ref: '#/components/schemas/SubAccountListEnvelope' put: summary: Monnify Update Sub-Account operationId: updateSubAccount tags: - Sub-Accounts requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/SubAccount' responses: '200': description: Sub-account updated. content: application/json: schema: $ref: '#/components/schemas/SubAccountEnvelope' get: summary: Monnify List Sub-Accounts operationId: listSubAccounts tags: - Sub-Accounts responses: '200': description: Sub-account list. content: application/json: schema: $ref: '#/components/schemas/SubAccountListEnvelope' /api/v1/sub-accounts/{subAccountCode}: delete: summary: Monnify Delete Sub-Account operationId: deleteSubAccount tags: - Sub-Accounts parameters: - name: subAccountCode in: path required: true schema: type: string responses: '200': description: Sub-account deleted. content: application/json: schema: type: object properties: requestSuccessful: type: boolean responseMessage: type: string responseCode: type: string responseBody: type: object components: schemas: SubAccount: type: object required: - currencyCode - bankCode - accountNumber - email properties: subAccountCode: type: string currencyCode: type: string example: NGN bankCode: type: string accountNumber: type: string email: type: string format: email defaultSplitPercentage: type: number description: Default share of every collection routed to this sub-account. feeBearer: type: boolean description: When true the sub-account absorbs Monnify's fee. defaultBearer: type: boolean SubAccountEnvelope: type: object properties: requestSuccessful: type: boolean responseMessage: type: string responseCode: type: string responseBody: $ref: '#/components/schemas/SubAccount' SubAccountListEnvelope: type: object properties: requestSuccessful: type: boolean responseMessage: type: string responseCode: type: string responseBody: type: array items: $ref: '#/components/schemas/SubAccount' securitySchemes: BasicAuth: type: http scheme: basic description: Basic auth using API client id and client secret from the Moniepoint Business dashboard.