Documentation Index
Fetch the complete documentation index at: https://docs.tempinbox.dev/llms.txt
Use this file to discover all available pages before exploring further.
Overview
| Mechanism | Used for | How it’s set |
|---|---|---|
| Cloudflare Turnstile | Creating new addresses | Required in browser; blocks raw API calls |
JWT (Authorization: Bearer) | Per-address inbox access | Returned by POST /api/new_address |
jwt cookie | Browser clients (same-origin) | Set automatically as HttpOnly cookie |
session_id cookie | Multi-inbox session management | Set automatically as HttpOnly cookie |
Cloudflare Turnstile
POST /api/new_address requires a valid Turnstile token (cf_token) when Turnstile is enabled. This protects against automated address creation abuse.
What this means for you:
Browser use (no action needed)
Browser use (no action needed)
Turnstile runs automatically in the Temp Email UI. No manual steps required.
API automation — extract JWT from browser
API automation — extract JWT from browser
The recommended approach for scripts and CI:
- Open tempinbox.dev in a browser
- DevTools → Application → Cookies → copy the
jwtcookie value - Use it as
Authorization: Bearer <jwt>in your scripts - The JWT lasts 7 days — reuse it across runs
Self-hosted instances with Turnstile disabled
Self-hosted instances with Turnstile disabled
If you run your own instance with
CF_TURNSTILE_SECRET_KEY unset, POST /api/new_address works without a cf_token and returns a JWT directly:JWT Auth
After obtaining a JWT, authenticate all mail endpoints:Cookie Auth (Browser Clients)
When using the API from a browser ontempinbox.dev, cookies are set automatically:
jwt— address JWT,HttpOnly,SameSite=Lax, 7-day expirysession_id— session identifier,HttpOnly,SameSite=Lax, 30-day expiry
Session Endpoints (No JWT Required)
These use thesession_id cookie instead of a JWT:
GET /api/session/addresses— list all addresses in sessionPOST /api/switch_address— switch active inboxPOST /api/logout— clear session
No-Auth Endpoints
No authentication required:POST /api/new_address— create address (Turnstile required unless disabled)GET /health_check— service health
Rate Limits
All authenticated endpoints are rate-limited per IP. If you hit429 Too Many Requests:
- Add 2–3 second delays between poll requests on
/api/mails - Avoid creating new addresses in tight loops
- Reuse JWTs across test runs — a JWT is valid for 7 days