Aqta

Authentication

Aqta uses API keys for authentication. Every API request must include your key in the Authorization header.


Getting your API key

1. Create an account

Visit app.aqta.ai and sign up:

  • Sign up with Google or Microsoft — recommended. Instant access, no extra steps.
  • Sign up with email — enter your email, verify with a one-time code, and you're in.

No credit card required to get started.

2. Go to API Keys

Once logged in:

  1. Click Settings in the sidebar
  2. Select API Keys
  3. Click Generate New Key

3. Copy your key

Your key will look like:

sk-aqta-1234567890abcdef1234567890abcdef

Keep it secret. Never commit it to version control or share it publicly.


Using your key

Python (OpenAI SDK v1.x)

from openai import OpenAI

client = OpenAI(
    base_url="https://api.aqta.ai/v1",
    api_key="sk-aqta-your-key-here",
)

response = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "Hello!"}],
)

print(response.choices[0].message.content)

JavaScript / TypeScript (OpenAI SDK)

import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://api.aqta.ai/v1',
  apiKey: 'sk-aqta-your-key-here',
});

const response = await client.chat.completions.create({
  model: 'gpt-4o',
  messages: [{ role: 'user', content: 'Hello!' }],
});

console.log(response.choices[0].message.content);

cURL

curl https://api.aqta.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer sk-aqta-your-key-here" \
  -d '{
    "model": "gpt-4o",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

Managing keys

Rotating keys

  1. Generate a new key in Settings → API Keys
  2. Update your application config
  3. Delete the old key once traffic has moved over

Multiple keys per environment

Create separate keys for each environment to control access independently:

Development:   sk-aqta-dev-...
Staging:       sk-aqta-staging-...
Production:    sk-aqta-prod-...

Revoking a key

  1. Go to Settings → API Keys
  2. Click Delete next to the key
  3. Confirm — revocation is immediate

Rate limits by tier

TierRequests / monthRate limit
Free5005 / min
Starter10,000100 / min
Pro100,0001,000 / min
EnterpriseUnlimitedCustom

See Rate Limits for full details.


Error codes

401 Unauthorized

{
  "error": {
    "message": "Invalid API key",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}

Check that your key is correct and hasn't been revoked.

429 Too Many Requests

{
  "error": {
    "message": "Rate limit exceeded",
    "type": "rate_limit_error",
    "code": "rate_limit_exceeded"
  }
}

Reduce request frequency or upgrade your tier.


Security best practices

Never commit API keys. Add these to .gitignore:

.env
.env.local
*.env

Use environment variables:

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.aqta.ai/v1",
    api_key=os.environ["AQTA_API_KEY"],
)

Rotate keys every 90 days, and immediately if you suspect a compromise.

Use separate keys per environment — never use a production key in development.


Next steps


Questions? hello@aqta.ai