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, not Bearer. Send:

Authorization: API_KEY <your-key>

A Bearer <key> header returns 401.

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