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:
- Click Settings in the sidebar
- Select API Keys
- 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
- Generate a new key in Settings → API Keys
- Update your application config
- 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
- Go to Settings → API Keys
- Click Delete next to the key
- Confirm — revocation is immediate
Rate limits by tier
| Tier | Requests / month | Rate limit |
|---|---|---|
| Free | 500 | 5 / min |
| Starter | 10,000 | 100 / min |
| Pro | 100,000 | 1,000 / min |
| Enterprise | Unlimited | Custom |
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
- API Endpoints — available endpoints and parameters
- Rate Limits — limits, headers, and retry guidance
- Quick Start — get making requests in 5 minutes
Questions? hello@aqta.ai