POST /balanceAccounts/{balanceAccountId}/sweeps

Creates a sweep that results in moving funds from or to a balance account.

A sweep pulls in or pushes out funds based on a defined schedule, amount, currency, and a source or a destination.

Servers

Path parameters

Name Type Required Description
balanceAccountId String Yes

The unique identifier of the balance account.

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
description String No

The message that will be used in the sweep transfer's description body with a maximum length of 140 characters.

If the message is longer after replacing placeholders, the message will be cut off at 140 characters.

priorities[] Array No

The list of priorities for the bank transfer. This sets the speed at which the transfer is sent and the fees that you have to pay. You can provide multiple priorities. Adyen will try to pay out using the priority you list first. If that's not possible, it moves on to the next option in the order of your provided priorities.

Possible values:

  • regular: for normal, low-value transactions.

  • fast: a faster way to transfer funds, but the fees are higher. Recommended for high-priority, low-value transactions.

  • wire: the fastest way to transfer funds, but this has the highest fees. Recommended for high-priority, high-value transactions.

  • instant: for instant funds transfers in SEPA countries.

  • crossBorder: for high-value transfers to a recipient in a different country.

  • internal: for transfers to an Adyen-issued business bank account (by bank account number/IBAN).

Set category to bank. For more details, see optional priorities setup for marketplaces or platforms.

referenceForBeneficiary String No

The reference sent to or received from the counterparty. Only alphanumeric characters are allowed.

schedule Object Yes

The schedule when the triggerAmount is evaluated. If the balance meets the threshold, funds are pushed out of or pulled in to the balance account.

schedule.type String Yes

The schedule type.

Possible values:

  • cron: push out funds based on a cronExpression.

  • daily: push out funds daily at 07:00 AM CET.

  • weekly: push out funds every Monday at 07:00 AM CET.

  • monthly: push out funds every first of the month at 07:00 AM CET.

  • balance: execute the sweep instantly if the triggerAmount is reached.

Possible values:

  • "monthly"
  • "balance"
  • "weekly"
  • "daily"
  • "cron"
schedule.cronExpression String No

A cron expression that is used to set the sweep schedule. The schedule uses the time zone of the balance account. For example, 30 17 * * MON schedules a sweep every Monday at 17:30.

The expression must have five values separated by a single space in the following order:

  • Minute: 0-59

  • Hour: 0-23

  • Day of the month: 1-31

  • Month: 1-12 or JAN-DEC

  • Day of the week: 0-7 (0 and 7 are Sunday) or MON-SUN.

The following non-standard characters are supported: *, L, #, W and /. See crontab guru for more examples.

Required when type is cron.

status String No

The status of the sweep. If not provided, by default, this is set to active.

Possible values:

  • active: the sweep is enabled and funds will be pulled in or pushed out based on the defined configuration.

  • inactive: the sweep is disabled and cannot be triggered.

Possible values:

  • "inactive"
  • "active"
counterparty Object Yes

The destination or the source of the funds, depending on the sweep type.

Either a balanceAccountId, transferInstrumentId, or merchantAccount is required.

counterparty.transferInstrumentId String No

The unique identifier of the destination or source transfer instrument depending on the sweep type

. To set up automated top-up sweeps to balance accounts in your marketplace or platform, use this parameter in combination with a merchantAccount and a sweep type of pull.

Top-up sweeps start a direct debit request from the source transfer instrument. Contact Adyen Support to enable this feature.> If you are updating the counterparty from a balance account to a transfer instrument, set balanceAccountId to null.

counterparty.merchantAccount String No

The merchant account that will be the source of funds.

You can only use this parameter with sweeps of type pull and if you are processing payments with Adyen.

counterparty.balanceAccountId String No

The unique identifier of the destination or source balance account.

If you are updating the counterparty from a transfer instrument to a balance account, set transferInstrumentId to null.

reasonDetail String No

The human readable reason for disabling the sweep.

currency String Yes

The three-character ISO currency code in uppercase. For example, EUR.

The sweep currency must match any of the balances currencies.

category String No

The type of transfer that results from the sweep.

Possible values:

  • bank: Sweep to a transfer instrument.

  • internal: Transfer to another balance account within your platform.

Required when setting priorities.

Possible values:

  • "bank"
  • "platformPayment"
  • "internal"
targetAmount Object No

The amount that must be available in the balance account after the sweep. You can configure either sweepAmount or targetAmount, not both.

targetAmount.value Integer Yes

The amount of the transaction, in minor units.

targetAmount.currency String Yes

The three-character ISO currency code.

sweepAmount Object No

The amount that must be pushed out or pulled in. You can configure either sweepAmount or targetAmount, not both.

sweepAmount.value Integer Yes

The amount of the transaction, in minor units.

sweepAmount.currency String Yes

The three-character ISO currency code.

type String No

The direction of sweep, whether pushing out or pulling in funds to the balance account. If not provided, by default, this is set to push.

Possible values:

  • push: push out funds to a destination balance account or transfer instrument.

  • pull: pull in funds from a source merchant account, transfer instrument, or balance account.

Possible values:

  • "push"
  • "pull"

Default value: "push"

reference String No

Your reference for the sweep configuration.

reason String No

The reason for disabling the sweep.

Possible values:

  • "approved"
  • "accountHierarchyNotActive"
  • "notEnoughBalance"
  • "pendingExecution"
  • "counterpartyAddressRequired"
  • "declinedByTransactionRule"
  • "scaFailed"
  • "counterpartyBankTimedOut"
  • "counterpartyAccountClosed"
  • "declined"
  • "transferInstrumentDoesNotExist"
  • "directDebitNotSupported"
  • "routeNotFound"
  • "error"
  • "amountLimitExceeded"
  • "refusedByCounterpartyBank"
  • "refusedByCustomer"
  • "counterpartyAccountBlocked"
  • "counterpartyAccountNotFound"
  • "balanceAccountTemporarilyBlockedByTransactionRule"
  • "counterpartyBankUnavailable"
  • "unknown"
  • "pendingApproval"
triggerAmount Object No

The threshold amount that triggers the sweep. If not provided, by default, the amount is set to zero. The triggerAmount is evaluated according to the specified schedule.type.

  • For type pull, if the balance is less than or equal to the triggerAmount, funds are pulled in to the balance account.

  • For type push, if the balance is more than or equal to the triggerAmount, funds are pushed out of the balance account.

triggerAmount.value Integer Yes

The amount of the transaction, in minor units.

triggerAmount.currency String Yes

The three-character ISO currency code.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.