Rate Limits and Retries

Pilot limits are configured with the organisation and workflow. Confirm the expected traffic pattern before a production test rather than assuming a public plan or shared quota.

When a request is limited

The gateway can return 429 when a request exceeds the limit configured for its key or workflow. Treat that response as a temporary failure and retry with bounded exponential backoff.

python
import time
from openai import OpenAI, RateLimitError

client = OpenAI(
    base_url="https://api.aqta.ai/v1",
    api_key="aqta_your_key",
)

def chat_with_retry(messages, max_attempts=3):
    for attempt in range(max_attempts):
        try:
            return client.chat.completions.create(
                model="gpt-4o",
                messages=messages,
            )
        except RateLimitError:
            if attempt == max_attempts - 1:
                raise
            time.sleep(2 ** attempt)

Retry safely

  • Use a small maximum attempt count and add jitter in a multi-worker system.
  • Do not blindly retry a call whose downstream business action is not idempotent.
  • Keep the application-level identifier that lets you distinguish a retry from a new instruction.
  • Test batch traffic and provider failures with your pilot team before relying on them in a critical workflow.

Need a different limit?

Bring the expected traffic pattern to the pilot review. The goal is a reliable workflow and a reviewable record, not a generic published tier.

Questions: hello@aqta.ai

Last updated: May 2026