Set Deposit Limits

The PUT /spei/v1/clabes/{clabe}/limits method enables you to set maximum and minimum deposit amounts for the specified CLABE.

Maximum limits determine the highest value users can deposit per transaction or period for the service to accept the deposit. They include the following set:

  • Limit Per Operation: The highest amount the service accepts per deposit. Ensure that the given value works with the configured daily limit.
  • Daily Limit: The highest amount the service accepts for all daily deposits.
  • Weekly Limit: The highest amount the service accepts for all deposits made in a week.
  • Monthly Limit: The highest amount the service accepts for all deposits received in a month.

Whereas the minimum deposit amount determines the lowest value a user can deposit into your account for the service to accept the transaction.

The maximum-limit periods start and end as follows:

  • Day: 00:00 - 23:59:59 CST
  • Week: Monday 00:00 - Sunday 23:59:59 CST
  • Month: First day of the month 00:00 - Last day of the month 23:59:59 CST

When you create a CLABE, the system sets its limits to null (no limit), and you need to update them later if your operation requires them. You can remove any configured limit by making a call and giving it a null value.

Be aware that the PUT method replaces all current representations of the target resource with the request content, which means that anytime you update the limits of a CLABE, you must specify all of them in your request. Give a null value to any limit you do not need.

To retrieve the current limit values of a CLABE, refer to the section Get the Limits of a CLABE. This endpoint not only provides the set limits but also shows the amount already used and the remaining balance for each maximum limit.

The service rejects any deposit attempt lower or higher than the specified minimum or maximum limits and stores a declined transaction record, also sending a notification to the rejected transaction webhook. For further details on the endpoint that enables you to query rejected transactions, visit List Rejected Transactions.

The service tests all the possible combinations for the set limits but stops at the first one that fails, which is the one that reports back. For example, a deposit might pass the maximum operation limit but fails both the daily and weekly limits. The system reports that the transaction exceeds the daily limit.

You can update the limits of a CLABE at any time. However, the recorded transaction history remains, and the service applies it to the new limits.

Be aware that when an end user of a CLABE attempts a deposit under or above the limit, their financial institution reports the reason for declining the transaction as a blocked account. This response is because of the error codes provided.

Mexican users can update the deposit limits for CLABEs of type Additional in their account and non-Mexican users of type Additional International.

You cannot set limits to the CLABE assigned by default when you create your account or enable International Payments in MXN, types Main and International, respectively. Nor is it possible to configure limits for the CLABEs the system enables for One-Time Payments.

Considering a CLABE's possible status values, the following explains whether or not you can set limits to the CLABE:

  • ENABLED: The CLABE is active, and you can set limits to it.
  • DISABLED: Although the CLABE cannot accept deposits, you can set limits, which will be effective when the CLABE becomes active again.
  • BLOCKED: Bitso operators can block a CLABE because of suspicious activity or lack of payment for the service. A blocked CLABE cannot receive deposits, and you cannot set limits to it.

To update the limits for one of the CLABEs you created in your account, make the following HTTP request with the indicated parameters:

PUT https://stage.bitso.com/spei/v1/clabes/{clabe}/limits

Path Parameter

  • clabe: The 18-digit CLABE whose limits you want to update.

Body Parameters

  • deposit_minimum_amount:The smallest amount in MXN that a user needs to deposit for the transaction to be accepted.
  • deposit_maximum_amounts: Object
    • operation: The highest amount in MXN that a user can deposit into the CLABE per transaction.
    • daily: The highest amount in MXN that the CLABE can receive per day.
    • weekly: The highest amount in MXN that the CLABE can receive per week.
    • monthly: The highest amount in MXN that the CLABE can receive per month.

The request object shown below exemplifies the body parameters used:

{
    "deposit_minimum_amount": "250",
    "deposit_maximum_amounts": {
            "operation": "800",
            "daily": null,
            "weekly": null,
            "monthly": "174000"
    }
}

A successful limits update of a CLABE returns the following JSON object:

{
    "success": true,
    "payload": {
        "clabe": "710969000000285706",
        "type": "ADDITIONAL_INTERNATIONAL",
        "status": "ENABLED",
        "deposit_minimum_amount": "250",
        "deposit_maximum_amounts": {
            "operation": "800",
            "daily": null,
            "weekly": null,
            "monthly": "174000"
        },
        "created_at": "2024-10-01T19:16:56",
        "updated_at": "2024-12-19T22:05:03"
    }
}

Get the Limits of a CLABE

The GET /spei/v1/clabes/{clabe}/limits method enables you to retrieve the limit values set for the specified CLABE.

The endpoint also provides the upper-limit amounts already consumed within each period, along with the remaining amounts for the rest of the period. The service computes the latter amounts exclusively for the limits you have assigned a value.

To get the limits configured for a CLABE, send the following HTTP request with the specified path parameter:

GET https://stage.bitso.com/spei/v1/clabes/{clabe}/limits

Path Parameter

  • clabe: The 18-digit CLABE whose limits you want to obtain.

A successful retrieval sends back the following JSON object representing the limits resource:

{
    "success": true,
    "payload": {
        "deposit": {
            "configuration": {
                "deposit_minimum_amount": null,
                "deposit_maximum_amounts": {
                    "operation": "800",
                    "daily": "4000",
                    "weekly": "28000",
                    "monthly": "124000"
                }
            },
            "consumed_amounts": {
                "daily": "1000",
                "weekly": "1000",
                "monthly": "1000"
            },
            "available_amounts": {
                "daily": "3000",
                "weekly": "27000",
                "monthly": "123000"
            }
        }
    }
}

If you have not set certain maximum limits, the service won't compute them and returns null values in the consumed_amounts and available_amounts objects, as shown in the following example:

{
    "success": true,
    "payload": {
        "deposit": {
            "configuration": {
                "deposit_minimum_amount": "300",
                "deposit_maximum_amounts": {
                    "operation": "1800",
                    "daily": "24000",
                    "weekly": null,
                    "monthly": null
                }
            },
            "consumed_amounts": {
                "daily": "2800",
                "weekly": null,
                "monthly": null
            },
            "available_amounts": {
                "daily": "21200",
                "weekly": null,
                "monthly": null
            }
        }
    }
}

Did this page help you?