> For the complete documentation index, see [llms.txt](https://docs.duplocloud.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.duplocloud.com/docs/armor/access-control/quotas.md).

# Quotas

Quotas let administrators set cost limits on LLM usage. A quota definition sets the limit and period, and a quota mapping applies it to a specific context — at the ticket level, workspace level, or across the entire platform. When a limit is reached, the agent stops processing and reports the overage. All limits reset at UTC midnight.

***

## Quota Definitions

Go to **AI Admin → Access Control → Quota → Quota Definition**. This page lists all quota policies, showing their name, period type, and USD limit.

![](/files/3ApQ3zKRPxQSAGDiCJXN)

### Add a Quota Definition

Click **+ Add**. Fill in the fields:

* **Name** — a unique identifier for the quota policy
* **Period Type** — how frequently the limit resets (e.g. Daily)
* **Limit (USD)** — the maximum spend allowed within the period

Click **Create**.

![](/files/Ppy3HfbAhU3H9UBgm8Uq)

***

## Quota Mappings

Click the **Quota Mapping** tab. Mappings bind a quota definition to a context and an Apply to value, determining which activity the limit applies to.

![](/files/yOwdhpN0ghghtdSKJdFI)

***

## Add a Quota Mapping

Click **+ Add**. Fill in the fields:

* **Name** — a label for this mapping
* **Quota** — the quota definition to apply
* **Context** — whether this applies at the Workspace or Platform level
* **Target Workspace** — the specific workspace (when Context is Workspace)
* **Apply to** — what the limit tracks: **Ticket**, **Workspace**, or **All**

### Ticket Quota

When **Apply to** is set to **Ticket**, the quota limit applies per individual ticket. Each ticket has its own spend counter — one ticket reaching the limit does not affect other tickets in the same workspace.

![](/files/oCNR9ODdvYLnwYTbC93J)

To verify, create a ticket in the target workspace and run a request.

![](/files/56HWo9K9Q5S4wJ5v5gjg)

Once the ticket's cumulative cost hits the defined limit, the agent stops and returns an error showing the ticket ID, the amount used, and when the limit resets.

![](/files/UHvEcIJZFXnD0HzfU7ry)

Because the quota is scoped to the individual ticket, a new ticket created in the same workspace starts with a fresh counter and continues working normally.

![](/files/o62c2QS60Jqs3VrmTZpr)

### Workspace Quota

When **Apply to** is set to **Workspace**, the quota limit applies to all activity within a specific workspace. The cumulative spend across all tickets in that workspace counts toward a single shared limit.

![](/files/8wvm6NzfKqgi6lrOxrY8)

Create a ticket and run a request in the workspace.

![](/files/AqgeO3TunQtRqvhmww2U)

Once the workspace's cumulative spend reaches the limit, the agent blocks all new requests within that workspace, reporting the workspace name, total used, and reset time.

![](/files/Z2Fq0BBhdbIDRo1FzsMp)

Switching to a different workspace bypasses the limit entirely — the quota is scoped to the specific workspace it was mapped to, so other workspaces are unaffected.

![](/files/oSqEnMK2mMrTRH5UjEgG)

A ticket in the new workspace runs successfully with its own independent cost counter.

![](/files/gCJHQuKGSunJsCJS8HLn)

### Platform Quota

When **Context** is set to **Platform**, the quota applies across all workspaces on the platform. Set **Apply to** to **All** to enforce it globally regardless of workspace.

![](/files/yzepJaEsluZEbOseRatJ)

Once the platform-wide limit is reached, all agent requests across every workspace are blocked, regardless of which workspace or ticket they originate from.

![](/files/pQ0PjXAVjCeqRgJsVYBL)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.duplocloud.com/docs/armor/access-control/quotas.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
