1. Bulk Payouts
Framnex for Developers
  • Introduction
    • Overview
    • Quick Start
    • Authentication
    • Environments
  • Guides
    • Create an outgoing transfer
    • Handle webhooks
    • Transfer documents
  • Bulk Payouts
    • Upload bulk payout
      POST
    • List bulk payouts
      GET
    • Get bulk payout
      GET
    • List bulk payout items
      GET
    • Submit bulk payout
      POST
    • Cancel bulk payout
      POST
  • Cards
    • List card products
      GET
    • List cardholders
      GET
    • Issue card
      POST
    • List cards
      GET
    • Get card
      GET
    • Activate card
      POST
    • Freeze card
      POST
    • Unfreeze card
      POST
    • Close card
      POST
    • Set card limits
      PUT
    • Create encryption envelope
      POST
    • Reveal card details
      POST
    • Set PIN
      PUT
  • Card Transactions
    • List card transactions
    • Get card transaction
  • Accounts
    • Get account
    • List accounts
  • Auth
    • Get access token
  • Exchange Rates
    • Get exchange rate
  • Transfer Documents
    • Download document
    • List documents
    • Upload documents
  • Transfers
    • Create transfer
    • List transfers
    • Get transfer
  • Webhooks
    • Register webhook URL
    • Get webhook URL
    • List webhook deliveries
    • Get webhook delivery
    • Retry webhook delivery
  • Schemas
    • BankClientAPI
      • Account
      • AccountCredentials
      • AccountState
      • AccountType
      • AchCredentials
      • Address
      • BankDetails
      • BusinessEntity
      • ClientIntegrationAuthRequest
      • ClientIntegrationAuthResponse
      • ClientIntegrationErrorResponse
      • CreateExchangeTransferRequest
      • CreateOutgoingTransferRequest
      • CreateTransferRequest
      • CreateTransferType
      • CreatedResponse
      • Credentials
      • CredentialsState
      • CryptoCredentials
      • CustomerTransferStateDto
      • CryptoTransferDetails
      • ExchangeRate
      • DocumentDto
      • ExchangeTransferCancelledWebhookPayload
      • ExchangeTransfer
      • ExchangeTransferExecutedWebhookPayload
      • FasterUkCredentials
      • FedWireCredentials
      • IError
      • GasPaymentWebhookPayload
      • IReason
      • IncomingTransfer
      • LegalEntityType
      • ISuccess
      • IndividualEntity
      • IncomingTransferReceivedWebhookPayload
      • InternalCredentials
      • InternalServerError
      • OperationTypeDto
      • LegalEntity
      • LocalAEDCredentials
      • LocalXafCredentials
      • NeftCredentials
      • OutgoingTransfer
      • OutgoingTransferCancelledWebhookPayload
      • PageInfoDto
      • Participant
      • PaymentMethod
      • OutgoingTransferExecutedWebhookPayload
      • PagedFilterDto
      • TransferGas
      • TransferPagedDataDto
      • PixCredentials
      • TransferState
      • TransferType
      • ProblemDetails
      • TransferTypeDto
      • PaymentSystem
      • SepaCredentials
      • RegisterWebhookRequest
      • SortOrderDto
      • Result
      • SwiftCredentials
      • TedPayCredentials
      • Transfer
      • TransferDetails
      • TransferDetailsType
      • UaeFtsCredentials
      • UaeIppCredentials
      • ValidationProblemDetails
      • WebhookDelivery
      • WebhookDeliveryPagedDataDto
      • WebhookPayload
      • WebhookState
      • WebhookSubscription
      • WebhookType
      • YeePayKesLocalCredentials
      • YeePayMxnLocalCredentials
      • YeePayNgnLocalCredentials
    • BulkPayout
    • CardProduct
    • BulkPayoutState
    • Cardholder
    • BulkPayoutItemState
    • IssueCardRequest
    • BulkPayoutPagedDataDto
    • Card
    • BulkPayoutItemPagedDataDto
    • CardType
    • CardState
    • CardPagedDataDto
    • CloseCardRequest
    • SetCardLimitsRequest
    • CardEncryptionEnvelope
    • CardEncryptedDetailsRequest
    • CardEncryptedDetails
    • BulkPayoutFileFormat
    • SetCardPinRequest
    • BulkPayoutItemCounts
    • CardTransaction
    • CardTransactionState
    • BulkPayoutItem
    • CardTransactionPagedDataDto
    • CardNetwork
    • CardIssuanceFee
    • CardShipping
    • CardSpendingLimit
    • CardLimitInterval
    • CardCloseReason
    • CardSecretType
    • CardEncryptedValue
    • CardMerchant
    • CardWebhookType
    • CardWebhookPayload
    • CardIssuedWebhookPayload
    • CardIssuanceFailedWebhookPayload
    • CardStateChangedWebhookPayload
    • CardTransactionAuthorizedWebhookPayload
    • CardTransactionCompletedWebhookPayload
    • CardTransactionReversedWebhookPayload
    • BulkPayoutItemError
    • BulkPayoutFile
    • BulkPayoutFileItem
    • BulkPayoutWebhookType
    • BulkPayoutWebhookPayload
    • BulkPayoutValidatedWebhookPayload
    • BulkPayoutValidationFailedWebhookPayload
    • BulkPayoutCompletedWebhookPayload
GuidesBaaS API ReferenceBank Client API Reference
GuidesBaaS API ReferenceBank Client API Reference
  1. Bulk Payouts

Submit bulk payout

POST
/integration/bulk-payouts/{id}/submit
Early access - contact your account manager to enable bulk payouts for your organization.
Starts the payments of a validated bulk payout. Submitting is your confirmation of the payments: no other confirmation is required for API requests.
The account balance must cover totalAmount plus estimatedFeeAmount. Each row then becomes an ordinary outgoing transfer: it appears in GET /integration/transfers, is processed independently of the other rows, and its outcome is reported with the outgoingTransferExecuted or outgoingTransferCancelled webhook. The transferId of each row is available in GET /integration/bulk-payouts/{id}/items.
The response contains the bulk payout in the processing state. When every payment has reached a final state, the bulk payout becomes completed, partiallyCompleted or failed, and the bulkPayoutCompleted webhook is sent.
Errors: 400 Bad Request if the account balance is insufficient; 404 Not Found if the bulk payout does not exist; 422 Unprocessable Content if the bulk payout is not in the validated state, for example when it has already been submitted or has expired.

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Path Params

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://my.test-1.account.finlego.com/api/merchant/integration/bulk-payouts//submit' \
--header 'Authorization: Bearer <token>'

Responses

🟢200OK
application/json
OK
Bodyapplication/json

Example
{
    "id": "3f6c2a4e-8b1d-4c7a-9e2f-5d8b7a1c0e94",
    "externalId": "payroll-2026-09",
    "accountId": "b7e2d9c1-4a5f-4e8b-9c3d-2f1a6e7b8d90",
    "currency": "EUR",
    "paymentMethod": "sepa",
    "state": "validating",
    "reason": null,
    "fileName": "payroll-september.csv",
    "fileFormat": "csv",
    "itemCounts": {
        "total": 120,
        "valid": 120,
        "invalid": 0,
        "processing": 0,
        "completed": 0,
        "failed": 0,
        "cancelled": 0
    },
    "totalAmount": 48250.75,
    "estimatedFeeAmount": 125,
    "completedAmount": 0,
    "feeAmount": 0,
    "createdAt": "2026-09-29T09:15:00Z",
    "expiresAt": "2026-09-30T09:15:12Z",
    "submittedAt": null,
    "completedAt": null
}
🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
🟠404Record Not Found
🟠422Parameter Error
🔴500Server Error
Modified at 2026-09-29 11:11:01
Previous
List bulk payout items
Next
Cancel bulk payout
Built with