limitry.client.RateLimits

class limitry.client.RateLimits[source]

Bases: object

Operations 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:
Parameters:

request (RateLimitsCheckRequest)

Return type:

RateLimitsCheckResponse

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

List rate limits.

List all rate limits for the project.

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

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

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:
Parameters:
  • limit (str | None)

  • cursor (str | None)

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:
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:
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 limit

  • request (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:
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:
Parameters:

id (str)

Return type:

RateLimitsDeleteResponse