3.3 KiB
3.3 KiB
Apodex API Endpoints Reference (2026-06-26)
Core Endpoints
| Endpoint | Method | Auth | Purpose |
|---|---|---|---|
https://api.apodex.ai/v1/chat/completions |
POST | Bearer API Key | Chat completions (OpenAI-compatible) |
https://api.apodex.ai/v1/models |
GET | Bearer API Key | List available models |
https://api.apodex.ai/v1/api-keys |
GET | Bearer Supabase JWT | List/Create API keys |
https://hgejqhubxceqppqkgqgx.supabase.co/auth/v1/otp |
POST | apikey header | Trigger OTP |
https://hgejqhubxceqppqkgqgx.supabase.co/auth/v1/verify |
POST | apikey header | Verify OTP → session |
Models (confirmed via /v1/models)
| Model ID | Context | Max Output |
|---|---|---|
apodex-1-0-deep-discovery |
131,072 | 262,144 |
apodex-1-0-deep-reasoning |
262,144 | 16,384 |
apodex-1-0-deep-research |
262,144 | 16,384 |
Auth Systems
1. API Key (for completions)
- Format:
sk-<base64 string ending with => - Example:
[REDACTED-KEY]= - Header:
Authorization: Bearer <key> - Works on:
/v1/chat/completions,/v1/models - Does NOT work on:
/v1/api-keys(returns{"error":"invalid token"})
2. Supabase Session JWT (for key management)
- Format: JWT (
eyJ...) - Stored in:
localStorage.getItem('sb-hgejqhubxceqppqkgqgx-auth-token') - Header:
Authorization: Bearer <jwt> - Works on:
/v1/api-keys - Obtained via: OTP verify flow
3. Session Cookie
- Format: 32 hex chars (e.g.,
[REDACTED-KEY]) - NOT a valid Bearer token for ANY endpoint (returns
invalid api keyon chat completions) - May work for Supabase session lookup
Error Messages
| Error | Meaning | Where |
|---|---|---|
{"error":"invalid token"} |
API key used on wrong endpoint | /v1/api-keys with API key |
{"error":"invalid api key"} |
Session cookie used as Bearer | any endpoint |
{"error":{"message":"Only POST is supported",...}} |
GET on chat completions | /v1/chat/completions |
{"error":"invalid api key"} |
Wrong/missing auth | any endpoint |
PASSWORDLESS_SEND_RATE_LIMITED |
IP-based rate limit on OTP | Supabase auth |
Working Keys (2026-06-26)
| Account | Key | Status |
|---|---|---|
[REDACTED-EMAIL] |
[REDACTED-KEY]= |
✅ Live |
[REDACTED-EMAIL] |
[REDACTED-KEY]= |
✅ Live |
Account Table (20 total, 2026-06-26)
| # | API Key | Status | |
|---|---|---|---|
| 1 | [REDACTED-EMAIL] |
[REDACTED-KEY]= |
✅ |
| 2 | [REDACTED-EMAIL] |
[REDACTED-KEY]= |
✅ |
| 3 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 4 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 5 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 6 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 7 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 8 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 9 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 10 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 11 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 12 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 13 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 14 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 15 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 16 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 17 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 18 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 19 | [REDACTED-EMAIL] |
❓ | ✅ Created |
| 20 | [REDACTED-EMAIL] |
❓ | ✅ Created |