Moniepoint · Arazzo Workflow

Moniepoint Bulk Disbursement

Version 1.0.0

Initiate a batch of transfers, poll the batch summary to completion, then list per-item results.

1 workflow 1 source API 1 provider
View Spec View on GitHub AfricaNigeriaPaymentsBankingFintechAcquiringPoint-of-SaleCollectionDisbursementsVirtual AccountsDirect DebitBills PaymentSMBWorking CapitalUnicornArazzoWorkflows

Provider

moniepoint

Workflows

bulk-disbursement
Initiate a bulk transfer, poll the batch summary, then list its items.
Submit a batch of transfers, poll the batch summary until no pending items remain, and list the per-item results for reconciliation.
3 steps inputs: batchReference, narration, onValidationFailure, sourceAccountNumber, title, transactionList outputs: batchReference, failedCount, items, successfulCount
1
initiateBatch
Initiate the bulk transfer batch with the supplied transaction list.
2
pollBatchSummary
Poll the batch summary until no transfers remain in a pending state.
3
listItems
List the individual transfer items in the batch for reconciliation.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Moniepoint Bulk Disbursement
  summary: Initiate a batch of transfers, poll the batch summary to completion, then list per-item results.
  description: >-
    Pay many beneficiaries in one call. This workflow initiates a bulk transfer
    batch, polls the batch summary until every item has settled (no pending
    items remain), and then lists the individual transfer items in the batch so
    successful and failed payouts can be reconciled. Every step spells out its
    request inline so the flow can be read and executed without opening the
    underlying OpenAPI description.
  version: 1.0.0
  x-realizes-capability-ids:
  - BC-1340.10
  x-capability-derivation:
    method: 'deterministic join: sourceDescriptions -> per-tag OpenAPI -> tag/capability edge. No classification at this step.'
    min_confidence: 0.7
    sources:
    - capability_id: BC-1340.10
      capability_name: Payment Initiation Management
      spec: moniepoint-bulk-transfers-api-openapi.yml
      confidence: 0.7
    model: Turbo EA Capabilities by Vincent Verdet — Turbo EA, https://github.com/vincentmakes/turbo-ea-capabilities, CC BY 4.0
sourceDescriptions:
- name: bulkTransfersApi
  url: ../openapi/moniepoint-bulk-transfers-api-openapi.yml
  type: openapi
workflows:
- workflowId: bulk-disbursement
  summary: Initiate a bulk transfer, poll the batch summary, then list its items.
  description: >-
    Submit a batch of transfers, poll the batch summary until no pending items
    remain, and list the per-item results for reconciliation.
  inputs:
    type: object
    required:
    - title
    - batchReference
    - narration
    - sourceAccountNumber
    - transactionList
    properties:
      title:
        type: string
        description: Title describing the bulk transfer batch.
      batchReference:
        type: string
        description: Unique merchant reference for the batch.
      narration:
        type: string
        description: Narration applied to the batch.
      sourceAccountNumber:
        type: string
        description: Merchant disbursement wallet account number to debit.
      onValidationFailure:
        type: string
        description: Whether to BREAK or CONTINUE when an item fails validation.
      transactionList:
        type: array
        description: The list of individual transfers in the batch.
        items:
          type: object
  steps:
  - stepId: initiateBatch
    description: >-
      Initiate the bulk transfer batch with the supplied transaction list.
    operationId: initiateBulkTransfer
    requestBody:
      contentType: application/json
      payload:
        title: $inputs.title
        batchReference: $inputs.batchReference
        narration: $inputs.narration
        sourceAccountNumber: $inputs.sourceAccountNumber
        onValidationFailure: $inputs.onValidationFailure
        transactionList: $inputs.transactionList
    successCriteria:
    - condition: $statusCode == 200
    - condition: $.requestSuccessful == true
      context: $response.body
      type: jsonpath
    outputs:
      batchReference: $response.body#/responseBody/batchReference
      batchStatus: $response.body#/responseBody/batchStatus
  - stepId: pollBatchSummary
    description: >-
      Poll the batch summary until no transfers remain in a pending state.
    operationId: getBulkTransferSummary
    parameters:
    - name: batchReference
      in: query
      value: $steps.initiateBatch.outputs.batchReference
    successCriteria:
    - condition: $statusCode == 200
    - condition: $.responseBody.pendingCount == 0
      context: $response.body
      type: jsonpath
    retryAfter: 5
    retryLimit: 12
    outputs:
      totalCount: $response.body#/responseBody/totalCount
      successfulCount: $response.body#/responseBody/successfulCount
      failedCount: $response.body#/responseBody/failedCount
  - stepId: listItems
    description: >-
      List the individual transfer items in the batch for reconciliation.
    operationId: listBulkTransferItems
    parameters:
    - name: batchReference
      in: path
      value: $steps.initiateBatch.outputs.batchReference
    - name: pageNo
      in: query
      value: 0
    - name: pageSize
      in: query
      value: 10
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      items: $response.body#/responseBody/content
      totalElements: $response.body#/responseBody/totalElements
  outputs:
    batchReference: $steps.initiateBatch.outputs.batchReference
    successfulCount: $steps.pollBatchSummary.outputs.successfulCount
    failedCount: $steps.pollBatchSummary.outputs.failedCount
    items: $steps.listItems.outputs.items

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/moniepoint-bulk-disbursement-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.