Key format
Every API key is generated as akener_ prefix followed by a 64-character hexadecimal string (32 random bytes from crypto.randomBytes):
Managing API keys in the dashboard
Navigate to Manage → API Keys. You need theapi_keys.read permission to view the list, api_keys.write to create or change the status of a key, and api_keys.delete to permanently remove one.
Creating a key
Enter a name
Give the key a descriptive name (e.g.
GitHub Actions, Monitoring Script). The name is required and helps you identify the key later.Activating and deactivating keys
Each key has anACTIVE or INACTIVE status. Use the toggle in the Status column of the keys table to switch a key on or off without deleting it. An inactive key will be rejected by the API even if it is syntactically valid.
Deleting a key
Click Delete on the key row. A confirmation dialog will appear. This action is permanent and cannot be undone. The Delete button requires theapi_keys.delete permission; users without this permission see a disabled button.
The masked key in the table
The table shows a truncated representation of each key (the last 32 characters of the masked value) so you can identify which key is which without exposing the full secret.Using API keys in requests
Pass the key in theAuthorization header of every API request:
curl:
401 Unauthorized response.
Security best practices
One key per integration
Create a separate key for each service or script that needs API access. This makes it easy to revoke access for a single integration without affecting others.
Use descriptive names
Name keys after the system that uses them (e.g.
Uptime Robot Webhook, Deploy Pipeline). You cannot retrieve the key value later, but the name helps you identify what to replace.Store keys in secrets managers
Never commit API keys to source control. Use environment variables or a secrets manager (e.g. GitHub Actions secrets, Vault) to inject keys at runtime.
Deactivate instead of deleting
If you suspect a key has been leaked but are not sure, deactivate it first. This immediately blocks all requests while you investigate, without losing the key record.