limitry.client.Quotas

class limitry.client.Quotas[source]

Bases: object

Operations for quotas.

__init__(client)[source]

Initialize Quotas operations.

Parameters:

client (Client) – The Limitry client instance

Return type:

None

Methods

__init__(client)

Initialize Quotas operations.

check(request)

Check quotas.

create(request)

Create a quota.

create_alert(quota_id, request)

Create a quota alert.

delete(id)

Delete a quota.

get(id)

Get a quota.

list([limit, cursor])

List quotas.

list_alerts(quota_id[, limit, cursor])

List quota alerts.

update(id, request)

Update a quota.

__init__(client)[source]

Initialize Quotas operations.

Parameters:

client (Client) – The Limitry client instance

Return type:

None

async check(request)[source]

Check quotas.

Check usage against all matching quotas for the given dimensions without consuming quota.

This endpoint allows you to query quota status without actually recording usage. Useful for: - Pre-flight checks before processing requests - Displaying quota status to users - Monitoring quota consumption

Dimension Matching: Quotas are matched based on dimension filters. Pass dimensions like: - customer_id: Filter by customer - event_type: Filter by event type - model: Filter by model - provider: Filter by provider - Any custom dimension from event properties.

Parameters:

request (QuotasCheckRequest) – QuotasCheckRequest object

Returns:

Quota check result

Return type:

QuotasCheckResponse

Example:

request = QuotasCheckRequest(
    # Add request properties here
)

result = await client.quotas.check(
    request
)
print(result)
Raises:
Parameters:

request (QuotasCheckRequest)

Return type:

QuotasCheckResponse

async list(limit=None, cursor=None)[source]

List quotas.

List all quotas for the project.

Parameters:
  • limit (Optional[str]) – Maximum number of quotas to return (1-100, default: 50) (default: “50”)

  • cursor (Optional[str]) – Pagination cursor from the previous response

Returns:

List of quotas

Return type:

PaginatedResponse[Quota]

Example:

items = await client.quotas.list()
for item in items.data:
    print(item)
Raises:
Parameters:
  • limit (str | None)

  • cursor (str | None)

Return type:

PaginatedResponse[Quota]

async create(request)[source]

Create a quota.

Create a new usage quota with dimension filters.

Quotas allow you to limit usage based on metrics like total tokens, cost, or event count. You can apply quotas to specific customers, models, event types, or any combination using dimension filters.

Parameters:

request (QuotasPostRequest) – QuotasPostRequest object

Returns:

Quota created

Return type:

Quota

Example:

request = QuotasPostRequest(
    name="example",
    metric="example",
    limitValue=123,
    dimensionFilters={}
    # ... other properties
)

result = await client.quotas.create(
    request
)
print(result)
Raises:
Parameters:

request (QuotasPostRequest)

Return type:

Quota

async get(id)[source]

Get a quota.

Get a specific quota by ID.

Parameters:

id (str) – Unique identifier for the quota

Returns:

Quota found

Return type:

Quota

Example:

result = await client.quotas.get(
    "id_123"
)
print(result)
Raises:
Parameters:

id (str)

Return type:

Quota

async update(id, request)[source]

Update a quota.

Update an existing quota.

Parameters:
  • id (str) – Unique identifier for the quota

  • request (QuotasPutRequest) – QuotasPutRequest object

Returns:

Quota updated

Return type:

Quota

Example:

request = QuotasPutRequest(
    name="example",
    dimensionFilters={}
    # ... other properties
)

result = await client.quotas.update(
    "id_123",
    request
)
print(result)
Raises:
Parameters:
  • id (str)

  • request (QuotasPutRequest)

Return type:

Quota

async delete(id)[source]

Delete a quota.

Delete a quota by ID.

Parameters:

id (str) – Unique identifier for the quota

Returns:

Quota deleted

Return type:

QuotasDeleteResponse

Example:

result = await client.quotas.delete(
    "id_123"
)
print(result)
Raises:
Parameters:

id (str)

Return type:

QuotasDeleteResponse

async list_alerts(quota_id, limit=None, cursor=None)[source]

List quota alerts.

Get all alerts configured for a quota.

Parameters:
  • quota_id (str) – No description provided

  • limit (Optional[str]) – Maximum number of alerts to return (1-100, default: 50) (default: “50”)

  • cursor (Optional[str]) – Pagination cursor from the previous response

Returns:

List of alerts

Return type:

PaginatedResponse[QuotaAlert]

Example:

items = await client.quotas.list_alerts(
    "quotaid_123"
)
for item in items.data:
    print(item)
Raises:
Parameters:
  • quota_id (str)

  • limit (str | None)

  • cursor (str | None)

Return type:

PaginatedResponse[QuotaAlert]

async create_alert(quota_id, request)[source]

Create a quota alert.

Configure an alert for when a quota reaches a threshold. Alerts are sent to all active project webhooks.

Parameters:
  • quota_id (str) – No description provided

  • request (QuotaAlertsPostRequest) – QuotaAlertsPostRequest object

Returns:

Alert created successfully

Return type:

QuotaAlert

Example:

request = QuotaAlertsPostRequest(
    threshold=123
)

result = await client.quotas.create_alert(
    "quotaid_123",
    request
)
print(result)
Raises:
Parameters:
  • quota_id (str)

  • request (QuotaAlertsPostRequest)

Return type:

QuotaAlert