limitry.client.Quotas¶
- class limitry.client.Quotas[source]¶
Bases:
objectOperations 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:
AuthenticationError – Unauthorized
NetworkError – If a network error occurs
- Parameters:
request (QuotasCheckRequest)
- Return type:
QuotasCheckResponse
- async list(limit=None, cursor=None)[source]¶
List quotas.
List all quotas for the project.
- Parameters:
- Returns:
List of quotas
- Return type:
PaginatedResponse[Quota]
Example:
items = await client.quotas.list() for item in items.data: print(item)
- Raises:
APIError – Invalid query parameters
AuthenticationError – Unauthorized
NetworkError – If a network error occurs
- Parameters:
- 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:
APIError – Invalid request
AuthenticationError – Unauthorized
NetworkError – If a network error occurs
- 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:
AuthenticationError – Unauthorized
APIError – Quota not found
NetworkError – If a network error occurs
- 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 quotarequest (
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:
AuthenticationError – Unauthorized
APIError – Quota not found
NetworkError – If a network error occurs
- 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:
AuthenticationError – Unauthorized
APIError – Quota not found
NetworkError – If a network error occurs
- 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:
- 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:
APIError – Invalid query parameters
AuthenticationError – Unauthorized
NetworkError – If a network error occurs
- Parameters:
- 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 providedrequest (
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:
APIError – Invalid request body
AuthenticationError – Unauthorized
NetworkError – If a network error occurs
- Parameters:
quota_id (str)
request (QuotaAlertsPostRequest)
- Return type:
QuotaAlert