Files

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
  • Format: 32 hex chars (e.g., [REDACTED-KEY])
  • NOT a valid Bearer token for ANY endpoint (returns invalid api key on 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)

# Email 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