Skip to content
Appmake
Kalle API docs

Authentication and API keys

Every request to the Kalle API is signed with an API key. Keys belong to a workspace, and everything a key spends is billed to that workspace.

Sending your key

Put the key in the Authorization header as a bearer token. Requests without a valid key get a 401 response.

HTTP
Authorization: Bearer kalle_sk_...

This request lists the models your key can use. It is a quick way to check that a key works:

curl https://api.kalle.build/v1/models \
  -H "Authorization: Bearer $KALLE_API_KEY"

Creating keys

Create keys in Kalle API in the Appmake console. Owners and admins of a workspace can create and delete keys.

  • Every key starts with kalle_sk_, so secret scanners and your own reviews can spot it.
  • The full key is shown once, when you create it. Appmake stores a hash and the last four characters, so nobody can show it to you again, us included.
  • Give each app, server or environment its own key. You can then see usage per key and remove one without touching the others.

Rotating a key

Rotate keys on a schedule and straight away if one may have leaked:

  1. Create a new key in Kalle API.
  2. Deploy the new key to every place that uses the old one.
  3. Check the usage chart until the old key has no new requests.
  4. Delete the old key. Requests that still use it get a 401 response from that moment.

Keeping keys safe

  • Store keys in environment variables or a secret manager, never in source code.
  • Add kalle_sk_ to the patterns your secret scanner looks for.
  • If a key shows up somewhere public, delete it first and investigate afterwards.