Program limits
The Pismo platform allows you to control the total granted limit distributed across all accounts within a program. This feature ensures that the program-level global limit is enforced during operations that increase or decrease limit values, such as account creation, limit updates, or program transfers.
To enable this feature, perform the following steps.
- Configure program limit which sets the maximum granted limit allowed for a program.
- Configure program parameter Program_limit_validation via Control Center or via API.
Once these configurations are enabled, the platform activates validation for specific workflows, including account creation and account transfer between programs. Any time the configured global program limit of a program may be impacted by these operations, the platform performs limit validation and stores the limit in the program accumulator.
Workflows that may increase the accumulated value of a program—such as account creation, account transfer to another program, and account limit increase—require validation to ensure the program’s global limit is not exceeded.
The account limit decrease workflow does not require validation against the program limit. However, it must be considered for updating the program accumulator, as it reduces the total limit value.
The platform currently doesn't support retroactive limit validation for account operations that occurred before the global program limits were configured. Only accounts that are created, transferred to another program, or updated with new limits after these configurations are enabled are included in the program accumulator. Refer to Known restrictions for details.
Create program limit configuration
To define a global granted limit at the program level, call the Configure program limit endpoint. Consider the following request example.
{
"level": "PROGRAM",
"program_id": 123,
"limits": {
"max_credit_limit": {
"value": 100000,
"is_active": true
}
}
}
The maximum credit limit value represents the sum of all account limits within the program, regardless of each account’s status. If you want to exclude accounts with specific account status from being counted toward the program limit, you must set those accounts' limit to zero. This ensures that only accounts with active granted limits contribute to the program’s total.
Configure program parameter
To enable validation of account limits against the program-level global limit, you must activate a specific parameter at the program level. Only accounts associated with a program where the parameter Program_limit_validation is enabled will be subject to limit validation. If the parameter is not enabled, account creation and transfers will not trigger checks against the program-level limit.
To configure the program parameter in Control Center, perform the following steps.
- From the main menu, select Configurations > Programs.
- Select the program you want to configure and select Parameters.
- Find and select the Program_limit_validation parameter, and then select Enabled and Save.
- Reopen the Program_limit_validation parameter, set Value to True and select Save.
To configure this program parameter via API, use the Update program parameters endpoint.
Once this parameter is enabled, the platform will validate account creation and program transfers against the program’s configured global limit.
For more details on program parameters, refer to the Program parameters guide.
Check program limits
To check the configured global limit granted for a program along with its current accumulated limit value, call the Get program limits endpoint. Consider the following response example.
[
{
"level": "PROGRAM",
"program_id": 28134,
"limits": {
"max_credit_limit": {
"value": 100000,
"is_active": true,
"accumulated": 5000
}
}
}
]
In this example, the program with ID 28134 has a maximum credit limit of $100000, is currently active, and has an accumulated limit value of $5000.
Update program limit
To update the global granted limit for a program or to activate/deactivate the limit, call the Update program limit endpoint. Consider the following request example.
{
"limits": {
"max_credit_limit": {
"value": 100500,
"is_active": true
}
}
}
This request updates the maximum credit limit to $100500 for the specified program and ensures the limit is active. To deactivate the limit, set is_active to false.
Create account
When you create a new account in a program that has a global limit configured and the Program_limit_validation parameter set, the platform validates whether the requested account limit complies with the program’s available limit. If the program has sufficient available limit, the platform successfully creates the account and increases the program accumulator by the granted limit of the new account.
If the program limit is insufficient, the platform rejects the request, doesn't create the account, and doesn't change the program accumulator value.
To create a new account, call the Create account application endpoint. Consider the following request example.
{
"application": {
"submit": true,
"due_date": 99999,
"program_id": 12345,
"applicant": {
"account": {
"limit": "10",
"granted_limit":10
},
"customer": {
"nickname": "Test",
"printedName": "Test name 1"
},
"personal": {
"name": "Test name 1",
"printedNamelength": 30
},
"birthDate": "25/07/1996",
"document_number": "999999999915"
}
}
}
The value provided in the granted_limit field is used both for validation and for accumulation at the program level.
If the
granted_limitvalue falls outside the range defined by the program’s Minimum credit limit and Maximum credit limit parameters, the platform automatically adjusts this value to the nearest valid value (either the minimum or maximum).
For more details, refer to Create account application for full documentation on account creation.
Update account limit
Use the Update account limits endpoint to increase or decrease limits for a specific account. This endpoint triggers validation against the global program limit configured in the Configure program limit endpoint.
Updating limits through the outdated Update account limits (outdated) endpoint does not trigger validation against the program limit. However, if the program limit is configured, the accumulator will still be updated accordingly.
Increase account limit
When there is an increase to the credit limit of an account that belongs to a program with an active global limit, the platform validates whether sufficient limit is available at the program level. If the request is approved, the difference between the old and new account limits is added to the program accumulator.
To perform this operation with validation against the program limit, call the Update account limits endpoint.
{
"max_credit_limit": 1500
}
Decrease account limit
When there is a decrease in the credit limit of an account that belongs to a program with a configured global limit, the platform reduces the program accumulator by the difference between the previous and the new account limit.
To perform this operation with validation against the program limit, call the Update account limits endpoint.
{
"max_credit_limit": 1000
}
Known restrictions
The program-level accumulator does not retroactively include accounts that were created, transferred, or updated before the global limit configuration was applied. As a result, only accounts created, transferred to another program, or updated with new limits after these configurations are applied will be considered in the program accumulator. This limitation may lead to incomplete accumulator coverage, potentially impacting enforcement accuracy.
The following example illustrates the expected behavior when accounts are created or updated before the program limits are configured.
| Day | Action | Outcome | Program accumulator |
|---|---|---|---|
| 1 | Create account #1 with the granted limit of $ 1000 | The account limit is not validated against the program limit | 0 |
| 2 | Increase the granted limit of account #1 from $1000 to $1500 | The account limit is not validated against the program limit | 0 |
| 3 | Set the global program limit to $100000 and activate the Program_limit_validation program parameter | All accounts created and account limits updated from this point forward are considered | 0 |
| 4 | Create account #2 with a granted limit of $200 | The account limit is validated against the program limit and the accumulator is increased | 200 |
| 5 | Decrease the granted limit of account #1 from $1500 to $1000 | The accumulator is decreased by the difference | 300 |
Common errors
Refer to the following list of common errors when working with the program limits.
| Error | Cause | How to solve |
|---|---|---|
The account is being created with a value different than set in the granted_value field. | The value assigned during account creation does not fall within the Minimum credit limit and Maximum credit limit defined in the program parameters. | Adjust the Minimum credit limit or Maximum credit limit program parameters or the granted_limit value on the account so that the value falls within the allowed range. |
The system does not allow an account in the program even though the granted_limit is lower than the program’s available limit. | The granted_limit on the account is below the Minimum credit limit defined in the program parameters. The platform adjusts the value to the nearest acceptable limit, which may cause rejection. | Update the Minimum credit limit to accommodate the desired granted_limit value. |
| The program accumulator is greater than the defined limit value. | The program limit was decreased to a value less than the accumulated value. | Increase the program limit to the value equal to or greater than the accumulated value. |
| The limit of a cancelled account is being considered in the accumulator of the program limit. | The cancelled account still has a limit greater than zero, which causes it to be included in the accumulator calculation. | Update the account’s limit to zero before or during the cancellation process to ensure it is excluded from the accumulator. |
| The system is not validating the account limit against the program limit when creating a new account. |
Updated about 6 hours ago