Skip to content

Admin Rate Limits

Manage tenant-wide default rate limit policies across all services. These defaults apply to all users within the tenant who do not have explicit user-level rate limit overrides.

Base path: /api/v1/admin/rate-limits

Method Endpoint Description
GET /api/v1/admin/rate-limits/defaults Get Tenant Defaults
PATCH /api/v1/admin/rate-limits/defaults Update Tenant Defaults

Get Tenant Defaults

GET /api/v1/admin/rate-limits/defaults

Requires Authentication - Scopes: admin:ratelimits:read

Returns the current tenant-wide default rate limit policy. These values serve as the baseline for all users in the tenant.

curl -X GET "https://koldan.dixilang.com/api/v1/admin/rate-limits/defaults" \
  -H "Authorization: Bearer $JWT"
import requests

resp = requests.get(
    "https://koldan.dixilang.com/api/v1/admin/rate-limits/defaults",
    headers={"Authorization": f"Bearer {JWT}"}
)
print(resp.json())
RateLimitsResponse

Refer to the primary Rate Limits documentation for the full schema of the response object.

Status Description
200 OK Tenant defaults retrieved successfully.
401 Unauthorized Missing or invalid authentication.
403 Forbidden Insufficient permissions (missing admin:ratelimits:read scope).

Update Tenant Defaults

PATCH /api/v1/admin/rate-limits/defaults

Requires Authentication - Scopes: admin:ratelimits:write

Partially update the tenant-wide default rate limit policy. Only the provided fields are updated; omitted fields remain unchanged. Changes apply to all users who do not have a user-level override.

curl -X PATCH "https://koldan.dixilang.com/api/v1/admin/rate-limits/defaults" \
  -H "Authorization: Bearer $JWT" \
  -H "Content-Type: application/json" \
  -d '{
    "speech-service": {
      "fileUploads": 50
    },
    "globalRequests": 1000
  }'
import requests

payload = {
    "speech-service": {
        "fileUploads": 50
    },
    "globalRequests": 1000
}

resp = requests.patch(
    "https://koldan.dixilang.com/api/v1/admin/rate-limits/defaults",
    headers={"Authorization": f"Bearer {JWT}"},
    json=payload
)
print(resp.json())
UpdateTenantRateLimitDefaultsRequest
Field Type Nullable Description
speech-service SpeechServiceRateLimitsRequest Yes Speech Services default rate limits.
text-service TextServiceRateLimitsRequest Yes Text Services default rate limits.
users UsersServiceRateLimitsRequest Yes Users Services default rate limits.
globalRequests integer Yes Default maximum total API requests per minute across all endpoints. Min: 1.
RateLimitsResponse

Refer to the primary Rate Limits documentation for the full schema of the response object.

Status Description
200 OK Tenant defaults updated successfully.
400 Bad Request Invalid request body or field values.
401 Unauthorized Missing or invalid authentication.
403 Forbidden Insufficient permissions (missing admin:ratelimits:write scope).

Data Models

SpeechServiceRateLimitsRequest

Field Type Nullable Description
fileUploads integer Yes Maximum file upload requests per minute.
transcriptionJobExecutions integer Yes Maximum transcription job creation requests per minute.
summaryExecutions integer Yes Maximum summary creation requests per minute.
translationExecutions integer Yes Maximum translation creation requests per minute.
speechServiceStreamSessionStarts integer Yes Maximum stream session start requests per minute.
speechServiceStreamMaxConcurrentSessions integer Yes Maximum concurrent streaming sessions per user.
speechServiceStreamMaxSessionDurationSeconds integer Yes Maximum streaming session duration in seconds.
speechServiceStreamMaxBytesPerSecond integer Yes Maximum audio bytes per second for streaming (Min: 32,000).
speechServiceFileDownloadBytesPerSecond integer Yes Maximum file download speed in bytes per second (Min: 1).

TextServiceRateLimitsRequest

Field Type Nullable Description
textTranslationExecutions integer Yes Maximum on-demand text translation requests per minute.

UsersServiceRateLimitsRequest

Field Type Nullable Description
userLookup integer Yes Maximum user lookup requests per minute.