Authentication & API keys
Authentication & API keys
Every request to the logcat.ai API is authenticated with an API key sent in the Authorization header.
The header is API_KEY, not Bearer
The scheme is
API_KEY, notBearer. Send:Authorization: API_KEY <your-key>A
Bearer <key>header returns401.
Full example:
curl "https://api.logcat.ai/api/v1/files" \
-H "Authorization: API_KEY $LOGCAT_API_KEY"
Generating a key
Keys are created in the Console → Settings → API Keys. When you generate a key:
- The full key value is shown once, at creation. Only a hash is stored, so we can’t display it again. Copy it immediately.
- Keys expire after 90 days.
- You can have one active key per user at a time. To rotate, revoke the existing key first, then generate a new one; generating while a valid key exists is rejected.
Getting access: key generation is gated to open-source developers and enterprise customers. If you can’t generate a key, start with Getting API access.
The API surface
All endpoints are under /api/v1/*: upload, status, dashboards, and search.
Every key needs api_access
Your account needs the api_access capability, whether you’re on a team or on your own. Without it you can’t generate a key, and any existing key returns 403 on /api/v1/*. If you’re on a team, ask an admin to turn it on. Otherwise request it via Getting API access.
WebSocket authentication
The streaming (WebSocket) endpoints don’t take an API key. They authenticate with the session token a signed-in console holds, passed as a query parameter:
wss://api.logcat.ai/ws/v1/search/quick?token=<jwt>
So an API-key integration can’t use them. Run searches over HTTP instead, and use webhooks to be told when a long one finishes. See WebSocket streaming for the protocol the console uses.
Next steps
- API quickstart: your first authenticated call.
- Response format, errors & rate limits: what a success and error look like.