Authentication
All API requests require an API key. Keys are free to generate and come in three scopes.Key Scopes
| Scope | Rate Limit | Permissions |
|---|---|---|
read | 1,000 req/min | GET requests only |
write | 2,000 req/min | GET, POST, PUT, DELETE |
admin | 5,000 req/min | All endpoints |
New keys default to
read scope unless specified otherwise.Generate a Key
Response
Using Your Key
Three ways to pass the key, in order of priority:SDK Usage
WebSocket Authentication
Pass your key as a query parameter when connecting:WebSocket connections don’t count against your per-minute rate limit. Only REST requests do.
Rotate a Key
Atomically generates a new key and revokes the old one. Zero downtime — the new key is active before the old one is revoked.Response
Revoke a Key
Permanently deactivates a key. Requests using the revoked key will receive401 Unauthorized.
Key Format
All API keys follow the formatgf_ + 32 hexadecimal characters (35 characters total):
Security Details
- Keys are stored as SHA-256 hashes — the raw key is never persisted
- Every request is logged with the key ID (not the key itself) for audit purposes
- Failed auth attempts are tracked per IP
- IPs with excessive failed attempts may be temporarily blocked