limitry.client.RateLimits¶
- class limitry.client.RateLimits[source]¶
Bases:
objectOperations for ratelimits.
- __init__(client)[source]¶
Initialize RateLimits operations.
- Parameters:
client (
Client) – The Limitry client instance- Return type:
None
Methods
__init__(client)Initialize RateLimits operations.
check(request)Check rate limits.
create(request)Create a rate limit.
delete(id)Delete a rate limit.
get(id)Get a rate limit.
list([limit, cursor])List rate limits.
update(id, request)Update a rate limit.
- __init__(client)[source]¶
Initialize RateLimits operations.
- Parameters:
client (
Client) – The Limitry client instance- Return type:
None
- async check(request)[source]¶
Check rate limits.
Check current rate limit status for the given dimensions without consuming a request.
This endpoint allows you to query rate limit status without actually counting against the limit. Useful for: - Pre-flight checks before processing requests - Displaying rate limit status to users - Monitoring rate limit consumption
Dimension Matching: Rate limits 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 (
RateLimitsCheckRequest) – RateLimitsCheckRequest object- Returns:
Rate limit check result
- Return type:
RateLimitsCheckResponse
Example:
request = RateLimitsCheckRequest( # Add request properties here ) result = await client.rate-limits.check_rate_limits( request ) print(result)
- Raises:
AuthenticationError – Unauthorized
NetworkError – If a network error occurs
- Parameters:
request (RateLimitsCheckRequest)
- Return type:
RateLimitsCheckResponse
- async list(limit=None, cursor=None)[source]¶
List rate limits.
List all rate limits for the project.
- Parameters:
- Returns:
List of rate limits
- Return type:
PaginatedResponse[RateLimit]
Example:
items = await client.rate-limits.list_rate_limits() for item in items.data: print(item)
- Raises:
APIError – Invalid query parameters
AuthenticationError – Unauthorized
NetworkError – If a network error occurs
- Parameters:
- Return type:
PaginatedResponse[RateLimit]
- async create(request)[source]¶
Create a rate limit.
Create a new rate limit with dimension filters.
Rate limits control how many requests can be made within a time window. You can apply rate limits to specific customers, models, event types, or any combination using dimension filters.
- Parameters:
request (
RateLimitsPostRequest) – RateLimitsPostRequest object- Returns:
Rate limit created
- Return type:
RateLimit
Example:
request = RateLimitsPostRequest( name="example", limitValue=123, window="example", dimensionFilters={}, enabled=True ) result = await client.rate-limits.create_rate_limit( request ) print(result)
- Raises:
APIError – Invalid request
AuthenticationError – Unauthorized
NetworkError – If a network error occurs
- Parameters:
request (RateLimitsPostRequest)
- Return type:
RateLimit
- async get(id)[source]¶
Get a rate limit.
Get a specific rate limit by ID.
- Parameters:
id (
str) – Unique identifier for the rate limit- Returns:
Rate limit found
- Return type:
RateLimit
Example:
result = await client.rate-limits.get_rate_limit( "id_123" ) print(result)
- Raises:
AuthenticationError – Unauthorized
APIError – Rate limit not found
NetworkError – If a network error occurs
- Parameters:
id (str)
- Return type:
RateLimit
- async update(id, request)[source]¶
Update a rate limit.
Update an existing rate limit.
- Parameters:
id (
str) – Unique identifier for the rate limitrequest (
RateLimitsPutRequest) – RateLimitsPutRequest object
- Returns:
Rate limit updated
- Return type:
RateLimit
Example:
request = RateLimitsPutRequest( name="example", dimensionFilters={} # ... other properties ) result = await client.rate-limits.update_rate_limit( "id_123", request ) print(result)
- Raises:
AuthenticationError – Unauthorized
APIError – Rate limit not found
NetworkError – If a network error occurs
- Parameters:
id (str)
request (RateLimitsPutRequest)
- Return type:
RateLimit
- async delete(id)[source]¶
Delete a rate limit.
Delete a rate limit by ID.
- Parameters:
id (
str) – Unique identifier for the rate limit- Returns:
Rate limit deleted
- Return type:
RateLimitsDeleteResponse
Example:
result = await client.rate-limits.delete_rate_limit( "id_123" ) print(result)
- Raises:
AuthenticationError – Unauthorized
APIError – Rate limit not found
NetworkError – If a network error occurs
- Parameters:
id (str)
- Return type:
RateLimitsDeleteResponse