Authentication Methods
OnePost API supports two authentication methods:
1. Bearer Token (Supabase Session)
Use your Supabase session token as a Bearer token:
curl -X POST https://useonepost.com/api/v1/generate \
-H "Authorization: Bearer YOUR_SUPABASE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"content": "Your newsletter..."}'Get your token from the Supabase client after login:
``javascript
const { data: { session } } = await supabase.auth.getSession();
const token = session.access_token;
2. API Key (X-API-Key header)
Generate an API key at useonepost.com/developersuseonepost.com/developers/developers:
curl -X POST https://useonepost.com/api/v1/generate \
-H "X-API-Key: op_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content": "Your newsletter..."}'API keys follow the format: op_<prefix><random>
Plan Requirements
| Endpoint | Free | Pro |
|---|---|---|
| `/api/generate/stream` | 5/day | Unlimited |
| `/api/v1/generate` | ❌ | ✓ |
| `/api/webhooks` | ✓ | ✓ |
Error Codes
| Code | Meaning |
|---|---|
| 401 | Missing or invalid token |
| 402 | Pro plan required |
| 429 | Rate limit exceeded (check `Retry-After` header) |
| 400 | Invalid request body |