# Consumption Limits

A consumption limit defines the maximum amount of consumption permissible from a single line item by individual requesters within a specified period. When configured, Elastic Access evaluates each access request against the defined limit and prevents further consumption once the threshold is reached, until the specified period has elapsed. This ensures that token consumption occurs at a sustainable rate and helps customers avoid prematurely exhausting the available quantity.

For example, a consumption limit may be configured as **100 tokens per month, next reset on 2026-03-01 00:00:00**. With this limit, each individual requester is restricted to consuming 100 tokens in each month, and when they have reached 100 tokens they will not be able to consume any more in that month. On 2026-03-01 their consumption total will be reset to zero, and they can begin consuming tokens again. Because the interval is stated as monthly, the reset will always happen on the first day of the month, irrespective of how many days each month has.

## Business Purpose

Consumption Limits are designed to:

- **Provide budgetary control** by preventing accelerated token depletion that could lead to unplanned renewal costs or operational interruptions.
- **Regulate user behavior** by pacing access and consumption, especially in environments with large or dynamic user populations.
- **Protect against misuse or misconfiguration**, ensuring that no single user or process unintentionally consumes the majority of allocated tokens.
- **Align consumption with contractual expectations**, allowing end customers to distribute usage evenly across periods such as months, quarters, or project phases.


## Configuration Process

Configuring consumption limits typically involves the following steps:

1. **Identify the line item**
Determine which line item requires consumption control. This is often based on customer budget expectations, historical consumption trends, or contractual limits.
2. **Define the limit parameters**
Consumption limits require the following:
  - Total consumption allowed per user or requester
  - The interval over which consumption is tracked
  - The date on which consumption tracking will be counted from. This is configured in the API in milliseconds, and so a precise UTC date and time can be specified.
3. **Submit the limit configuration**
Use the consumption limits API to create or update the limit for the selected line item. The configuration becomes active immediately upon acceptance.
4. **Monitor usage against the limit**
Customers can retrieve real‑time consumption and requester‑level breakdowns using the requesters API. This visibility enables proactive management before limits are reached.
5. **Adjust or remove limits as needed**
Consumption limits can be updated to reflect new budgets, usage patterns, or business decisions.


There is no need to specify which users or requesters the limits apply to. The consumption is automatically tracked for a requester as soon as the first access request is received for that requester within a given time period. The requesters API reports which requesters are being tracked in a given time period, and their consumption since the last reset date. If a requester has not made an access request in a given time period, they will not be included in the requesters API.

## Key API Endpoints for Actions

| Key API Endpoints | Actions |
|  --- | --- |
| [**GET /<version>/instances/{instanceId}/line-items/{lineItemId}/consumption-limits**](/apis/openapi-spec/consumption-limits/getlineitemconsumptionlimits) | Retrieve the current limit configuration for a line item. |
| [**PUT /<version>/instances/{instanceId}/line-items/{lineItemId}/consumption-limits**](/apis/openapi-spec/consumption-limits/putlineitemconsumptionlimits) | Set or modify the limit configuration for a line item. |
| [**DEL /<version>/instances/{instanceId}/line-items/{lineItemId}/consumption-limits**](/apis/openapi-spec/consumption-limits/deletelineitemconsumptionlimits) | Remove the limit configuration for a line item. (This will remove the limit, allow unlimited consumption by all requesters, and discard any consumption counts being tracked for requesters.) |
| [**GET /<version>/instances/{instanceId}/line-items/{lineItemId}/consumption-limits/requesters**](/apis/openapi-spec/consumption-limits/getrequesterconsumptionlimits) | Report all requesters being tracked against a line item's limit, with their usage for the current consumption period. |


## Reporting

When transactions are recorded in the Data Warehouse, two new properties will be included in the transaction:

- The consumption limit that is configured for the requester consuming the tokens, using the field **REQUESTER_LIMIT**.
- The total consumed by the requester since the last, using the field **REQUESTER_LIMIT_USED**.


## Key Considerations

When configuring consumption limits, keep the following in mind:

- **Impact on end-user access**
Once a limit is reached, subsequent access requests will be denied unless the limit is raised or removed. Ensure that limits align with expected usage to avoid service disruption.
- **Lifecycle timing**
Setting limits too low at the start of a line item may unnecessarily block legitimate consumption. Conversely, setting them too high may provide insufficient budget protection.
- **Multi-user environments**
In scenarios with many users, consumption can scale rapidly. Consider implementing conservative limits initially and refine them as usage patterns become clearer.
- **Reporting alignment**
Consumption reporting reflects both successful and rejected attempts. Monitoring these metrics helps customers tune limits for optimal operational efficiency.
- **Change management**
Adjusting limits mid-cycle should be communicated to impacted stakeholders to ensure predictable access behavior.