Account icon

View available limits

View details about the limits set by your transaction rules or transfer limits.

View source

Adyen allows you to set specific limits that regulate outgoing transfers made from your users' balance accounts. These limits can be configured using transaction rules or transfer limits. These include:

  • Limits on the total amount transferred from the balance account within a specified time interval. This is called an amount limit.
  • Limits on the total number of transfers from the balance account within a specified time interval. This is called a count limit.

Within the time interval that these limits are active, you can make API calls to check the details of these limits. These include:

  • The total limit
  • How much of the limit is already used
  • How much of the limit is remaining
  • Where the limit is defined
  • Details of time interval in which the limit is active

Benefits of viewing existing limits

Checking the details of your existing limits allows you to:

  1. Prevent unexpected transfer failures that can occur when your user surpasses their limit. For example, you can provide your user with a warning when they are nearing their total limit.
  2. Help your users keep track of and regulate their spending within certain time intervals. For example, you can allow your users to see how much of their budget they have left after every transfer they make.
  3. Identify situations where a limit is too high or too low. For example, if you notice that your users are consistently exceeding their limits, you can decide to increase this limit for them.

Requirements

Requirement Description
Integration type Adyen for Platforms integration with business accounts.
API credential roles Make sure that you have access to the Configuration API with following role:
  • Bank Manage TransactionRules role
Limitations
  • This feature is only supported for limits configured using the totalAmount or matchingTransactions rule restrictions. Transaction rules that use the matchingValues rule restriction combined with matchingTransactions are not taken into account when calculating the available limits.
  • This feature is only supported for limits that are aggregated at the balance account level. Limits that are aggregated at higher levels are not returned in the response.
  • This feature is not supported for the blockList rule type, because this rule type does not use limits.
Setup steps Make sure that you have created a transaction rule with a totalAmount or matchingTransactions rule restriction.

Calculating limits

When you set restrictions on the total amount (amount limit) or total number of transactions (count limit), Adyen calculates the available limit as follows:

  • Amount limit: Adyen uses the total amount that has been authorized using the balance account.
  • Count limit: Adyen uses the total number of transactions that have been authorized using the balance account.

All authorizations are deducted from the available limit, regardless of whether they have been captured or not. If an authorization expires or is canceled, then the amount or count is released and added back to the available limit.

View available limits

To view your available limits:

  1. Make a GET /balanceAccounts/{id}/limits request, specifying the following parameters:

    Parameter Type Required Description
    id Path Required The unique identifier of the balance account for which you want to view the available limit details.
    transactionRuleId Query The unique identifier of the transaction rule for which you want to view the available limit details. If not provided, we return the limit that applies to the balance account based on the transaction rule hierarchy.

    This is the required icon. Required for all transactions.
    This is the conditionally required icon. Required for particular setups, or issuers and card schemes.
    This is the recommended icon. Recommended for all transactions, but not required.

    Here is an example request to get the available limits for the transaction rule with ID TR00000000000000000000001, that applies to the balance account with ID BA00000000000000000000001.

  2. Note the response, which returns the following parameters:

    Parameter Returned Description
    calculatedAt Required The date and time at which the available limit was calculated following your request.
    amountLimits An array where each object returns the details of a limit set using the totalAmount rule restriction.
    countLimits An array where each object returns the details of a limit set using the matchingTransactions rule restriction.

    Each object in the amountLimits and countLimits arrays returns the following parameters:

    Parameter Returned Description
    limit Required The total limit set on the balance account, concerning either the total amount or the number of transactions.
    spent Required The part of the total limit that has already been spent in the given time interval.
    remaining Required The part of the total limit that is remaining in the given time interval.
    source Required Details about the transaction rule or transfer limit that defined the limit.
    interval Required Details about the time interval within which the limit is active.

    The interval object returns the following parameters:

    Parameter Required Description
    type Required The type of interval during which the limits apply, and how often counters are reset.

    Possible values:
    • perTransaction: The conditions are evaluated and the counters are reset for every transaction.
    • daily: The counters are reset daily at 00:00:00 CET.
    • weekly: The counters are reset every Monday at 00:00:00 CET.
    • monthly: The counters reset every first day of the month at 00:00:00 CET.
    • lifetime: The conditions are applied to the lifetime of the balance account.
    • rolling: The conditions are applied and the counters are reset based on a duration, start date (defined using dayOfWeek or dayOfMonth), and start time (defined using timeOfDay) that you specified. If you did not provide a start date and time, Adyen applies the default start date and time that apply to fixed intervals. For example, if the duration is every two weeks, the counter resets every third Monday at 00:00:00 CET.
    • sliding: The conditions are applied and the counters are reset based on the current time and a duration that you specify.
    duration Conditionally required Use case: Returned when type is rolling or sliding.

    The duration of the time interval. This object returns:
    • unit: The unit of time in which the duration is defined. Possible values: minutes, hours, days, weeks, months.
    • value: The numerical value of the duration, in terms of the defined unit. For example, 5 indicates 5 days if unit is days.

    Format:
    • The maximum duration is 90 days, or its equivalent in another unit, for example 3 months.
    dayOfMonth Conditionally required Use case: Returned when duration.unit is months.

    The day of the month when the time interval starts.

    Format:
    • The default value is 1, which indicates the first day of the month.
    dayOfWeek Conditionally required Use case: Returned when duration.unit is weeks.

    The day of the week when the time interval starts.

    Possible values:
    • monday (default)
    • tuesday
    • wednesday
    • thursday
    • friday
    .
    timeOfDay Conditionally required Use case: Returned when duration.unit is hours.

    The time of the day when the time interval starts.

    Format:
    • Date format is hh:mm:ss
    • Default value is 00:00:00.
    timezone Required The timezone for the configured time interval.

    Format:
    • The default value is UTC.

    This is the required icon. Required for all transactions.
    This is the conditionally required icon. Required for particular setups, or issuers and card schemes.
    This is the recommended icon. Recommended for all transactions, but not required.

    Here is an example response that shows the available limits for the transaction rule with ID TR00000000000000000000001, that applies to the balance account with ID BA00000000000000000000001.