Velocity Limits

Velocity Limits

Velocity Limits define conditions to limit the cumulated amount and/or the number of transactions in a period.  
When an Account is created, the default Velocity Limits as defined at the specific Product level are applied: 
the product initial setup defines the applicable conditions and whether they are, by default, checked or not.  
Each applicable Velocity Limit is identified by a specific "velocityLimitReference". 

Standard Velocity Limits can be configured to limit authorizations in following use cases (checking criteria): 
    w  cash (ATM, branch, POS); [NB incl. cash withdrawal, cash advance, cashback] 
    w  contactless (NFC); 
    w  e-Commerce; 
    w  POS.  

Standard Velocity Limits have specific time periods for accumulating amounts and/or counting transactions; 
the standard types of time periods can be a day, a week, a month or a time window (rolling/sliding, jumping); 
depending on the period type, the period start can be an hour of the day, any weekday, a day in the month.  

Each Standard Velocity Limit are set with 3 thresholds and 3 corresponding flags to enable/disable checking: 
a minimum and a maximum for the cumulated amount, a maximum for the number of transactions in period. 

A Velocity Limit can be further combined with a country or a region (additional criteria to apply the check). 

The "VelocityLimit" objects include the following properties: 
    w  "velocityLimitReference", descriptive identification string
        (NB it is embedded in the "velocityLimitIdentifier" object) 
        (used as parameter in the path of the operations related to the limit) 
    w  "name", a (brief but hopefully meaningful) textual description for the limit; 
    §  "amount", cumulated authorization amount in period [debits: positive, credits: negative]; and 
    §  "count", the current number of transactions in period; NB values at operation execution time; 

    w  "minimumAmountCheck", indicating whether the cumulated authorization "amount" in period is 
        [to be] checked against the below "minimumAmount" threshold (so the limit applies) or not (²); 
    w  "minimumAmountCheckOrigin", indicating from which level the above flag has been taken (°)
    w  "minimumAmount", minimum threshold for the "amount" check (²), if "minimumAmountCheck" is true; 
    w  "minimumAmountOrigin", level from which the "minimumAmount" has been taken (°), if any present; 
    w  "maximumAmountCheck", indicating whether the cumulated authorization "amount" in period is 
        [to be] checked against the below "maximumAmount" threshold (so the limit applies) or not (²); 
    w  "maximumAmountCheckOrigin", indicating from which level the above flag has been taken (°)
    w  "maximumAmount", maximum threshold for the "amount" check (²), if "maximumAmountCheck" is true; 
    w  "maximumAmountOrigin", level from which the "maximumAmount" has been taken (°), if any present; 
    w  "maximumCountCheck", indicating whether the "count" number of transactions in period is 
        [to be] checked against the below "maximumCount" threshold (so the limit applies) or not (²); 
    w  "maximumCountCheckOrigin", indicating from which level the above flag has been taken (°)
    w  "maximumCount", maximum threshold for the "count" check (²), if "maximumCountCheck" is true; 
    w  "maximumCountOrigin", level from which the "maximumCount" has been taken (°), if any present; 

    w  "velocityLimitOverrideReference", identification of an applicable override, if any (²); 
    w  "velocityLimitOverrideStartdate", time to start applying the override, if any applicable (²); 
    w  "velocityLimitOverrideEnddate", time to stop applying the override, if any applicable (²). 
NB (°) possible origin values as defined by enumeration: “Default”, “Exception”, “Override”, “Other” (²).  
NB (²) value as effective at operation execution time, esp. possibly changed via velocity limit override. 

Operations on Velocity Limits: 
("tags":["Account - Velocity Limit"]
    w  List the Velocity Limits (for an account), 
    w  Retrieve a Velocity Limit (by reference). 

Velocity Limit Overrides

Velocity Limits can be changed by creating or updating Velocity Limit Overrides. 
A Velocity Limit Override is identified by its "velocityLimitOverrideReference". 

A Velocity Limit Override can be set to apply from a given (start) moment and/or until a given (end) moment.  
A Velocity Limit Override can be set to change 2 thresholds and the 2 corresponding flags for their checking: 
the maximum for the cumulated amount in period and the maximum for the number of transactions in period. 

The "VelocityLimitOverride" objects include the following properties: 
    w  "velocityLimitOverrideReference", its identification string
        (embedded in the "velocityLimitOverrideIdentifier" object) 
        generated by Worldline at the Velocity Limit Override creation; 
        (used as parameter in the path of the operations related to the override) 
    w  "velocityLimitReference", overridden velocity limit identification
        (embedded in the "defaultVelocityLimitReference" object) 
        (used as parameter in the path of the operations related to its override[s]) 
    w  "deleted", indicating whether the override has been deleted or is still present; 
        remark: all of the properties hereafter are absent if the override is "deleted"

        remark: each of the following properties is optional; 
    w  "activationStartTime", the (first) point in time to start applying the override; 
        optional (if not provided, no delay to start: the override applies immediately) 
        must be before "activationEndTime" if any (can be present without an end time)
    w  "activationEndTime", the (last) point in time to stop applying the override; 
        optional (if not provided, no stop scheduled: the override applies endlessly) 
        must be after "activationStartTime" if any (can be present without a start time)

    w  "minimumAmountCheck", indicating whether the "minimumAmount" is to be checked; 
    w  "minimumAmount", minimum threshold to check, if "minimumAmountCheck" is true; 
    w  "maximumAmountCheck", indicating whether the "maximumAmount" is to be checked (°); 
    w  "maximumAmount", maximum threshold to check (°), if "maximumAmountCheck" is true; 
    w  "maximumCountCheck", indicating whether the "maximumCount" is to be checked (°)
    w  "maximumCount", maximum threshold to check (°), if "maximumCountCheck" is true; 

    w  "priority", used to apply overrides in ascending order of "priority" (from lowest to highest) 
        in the case of different overrides - on a same velocity limit - whose effective timespans overlap; 
        must be different for all co-occurring overrides (not if they are never effective simultaneously)  
        (if not provided, will be set to 0).  

NB (°) it overrides the default configured for the corresponding property of the referenced Velocity Limit.  
           if it is set to “null”, the default value as configured on higher levels for the Velocity Limit is effective.  

Operations on Velocity Limit Overrides: 
("tags":["Account - Velocity Limit"]
    w  List the Velocity Limit Overrides (for a limit), 
    w  Create a Velocity Limit Override (for a limit), 
    w  Retrieve a Velocity Limit Override (by reference), 
    w  Update a Velocity Limit Override (by reference), 
    w  Delete a Velocity Limit Override (by reference). 

List the Velocity Limits

Operation to get the list of Velocity Limits on an Account. 

A (success) response will provide an array of "VelocityLimit" objects.  
The main properties replied (if success), per Velocity Limit, are
(NB values currently in effect at the time the operation is performed.)  
    w  "velocityLimitReference" and "name", 
    §  "amount" and "count" (current values of the accumulator and counter); 
    w  "minimumAmountCheck" and "minimumAmountCheckOrigin", 
    w  "minimumAmount" and "minimumAmountOrigin" if "minimumAmountCheck" is true; 
    w  "maximumAmountCheck" and "maximumAmountCheckOrigin", 
    w   "maximumAmount" and "maximumAmountOrigin" if "maximumAmountCheck" is true; 
    w  "maximumCountCheck" and "maximumCountCheckOrigin", 
    w  "maximumCount" and "maximumCountOrigin" if "maximumCountCheck" is true; 
    w  "velocityLimitOverrideReference" (if any applicable, and then -possibly- following dates); 
    w  "velocityLimitOverrideStartdate" and/or "velocityLimitOverrideEnddate" (if applicable).  

 API Links

GET /api/v2/issuers/{issuerId}/accounts/{accountReference}/velocity-limits

GET /api/v2/issuers/{issuerId}/accounts/external-accounts/{issuerAccountExternalReference}/velocity-limits

 Example
the replied Velocity Limit relating to the e-Commerce is in effect, regarding the maximum cumulated amount, 
identified by the "velocityLimitReference"“VELOCITY_LIMIT_ECOM”, with its "maximumAmountCheck": true. 

GET /api/v2/issuers/98003/accounts/468762732120914/velocity-limits
                --header 'WL-Correlation-ID: 72fe1881-2c05-48bb-a7f8-3231c6ad3342' \
                        {   "issuerId": "98003",
                            "velocityLimitIdentifier": {
                                "velocityLimitReference": "VELOCITY_LIMIT_ECOM"},
                            "name": "E-commerce"
                           "minimumAmountCheck": false, "minimumAmountCheckOrigin": "Default",
                           "maximumAmountCheck": true,  "maximumAmountCheckOrigin": "Default",
                            "maximumAmount": {"value": 250000, "exponent": 2, "isoCode": "EUR"},
                           "maximumAmountOrigin": "Default",
                           "maximumCountCheck": false,  "maximumCountCheckOrigin": "Default",}
                /* and other existing velocity limits */

Retrieve a Velocity Limit

Operation to fetch an existing Velocity Limit, identified by its "velocityLimitReference". 

A (success) response will provide properties as for a "VelocityLimit" object (cf. “List the Velocity Limits”). 

List the Velocity Limit Overrides

Operation to get the list of overrides on a Velocity Limit, identified by its "velocityLimitReference".  
NB It includes the "deleted" overrides (if any). 

A (success) response will provide an array of "VelocityLimitOverride" objects.  
The main properties replied (if success), per Velocity Limit Override, are: 
    w  "velocityLimitOverrideReference", 
    w  "velocityLimitReference", 
    w  "deleted" (no other properties hereafter if "deleted" is true); 
    w  "activationStartTime" (if any) and/or "activationEndTime" (if any); 
    w  "minimumAmountCheck", and "minimumAmount" if "minimumAmountCheck" is true; 
    w  "maximumAmountCheck", and "maximumAmount" if "maximumAmountCheck" is true; 
    w  "maximumCountCheck", and "maximumCount" if "maximumCountCheck" is true; 
    w  "priority". 

API links

Create a Velocity Limit Override

Operation to override a Velocity Limit, identified by its "velocityLimitReference". 

The following properties can be provided: 
    w  "activationStartTime" (optional); 
    w  "activationEndTime" (optional); 
    w  "maximumAmountCheck" (optional); 
    w  "maximumAmount" if "maximumAmountCheck" is true; 
    w  "maximumCountCheck" (optional);
    w  "maximumCount" if "maximumCountCheck" is true; 
    w  "priority" (optional). 

A (success) response will return the generated
    w  "velocityLimitOverrideReference". 

API links

Example to override the Velocity Limit relating to the e-Commerce, regarding the maximum amount, 
identified by the "velocityLimitReference" “VELOCITY_LIMIT_ECOM”, with "maximumAmountCheck" true, 
setting the override "maximumAmount" to 0 EUR to decline all new e-commerce authorizations in EURO. 

POST /api/v2/issuers/98003/accounts/468762732120914/velocity-limits /VELOCITY_LIMIT_ECOM/velocity-limit-overrides' \
    --header 'WL-Correlation-ID: 430d0f91-a958-4dda-858e-c9e1595422eb' \
    --header 'Content-Type: application/json' \
    --data-raw '{"maximumAmount": {"value": 0, "exponent": 2, "isoCode": "EUR"}}’
    

Retrieve a Velocity Limit Override

Operation to fetch an existing Velocity Limit Override, identified by its "velocityLimitOverrideReference". 
NB It will also provide the information for a "deleted" override. 

A (success) response will provide properties as for a "VelocityLimitOverride" object 
(cf. “List the Velocity Limit Overrides”). 

API links

Update a Velocity Limit Override

Operation to update an existing Velocity Limit Override, identified by its "velocityLimitOverrideReference". 

Any of the following properties can (optionally) be updated: 
    w  "activationStartTime"
    w  "activationEndTime"
    w  "maximumAmountCheck"
    w  "maximumAmount" if "maximumAmountCheck" is true; 
    w  "maximumCountCheck"
    w  "maximumCount" if "maximumCountCheck" is true; 
    w  "priority". 

API links

Enable "on this page" menu on doc section
On