API Keys
Summary
An API key grants programmatic access to your jobs and devices. You create and manage your keys from the API Keys page in the web portal.
Create a key
- Open the web portal → API Keys.
- Click Generate API key.
- Fill in:
- Name — a label to recognize the key (e.g.
CI production). - Permissions — one or more scopes (see below).
- Expiration — optional date; leave empty for a key that never expires.
- Name — a label to recognize the key (e.g.
- Click Generate.
The full key is shown only once. Copy it immediately and store it in a secure place (a secret manager, your CI credentials...). It can never be displayed again.
A key looks like:
Permissions (scopes)
A key carries one or more scopes — the principle of least privilege.
| Scope | Allows |
|---|---|
READ |
Read‑only access (jobs, devices, executions) |
TRIGGER |
Trigger executions |
ADMIN |
Full access |
An endpoint requires a specific scope. For example, running a job requires the
TRIGGERscope — aREAD‑only key will be rejected.
Expiration
- If you set an expiration date, the key stops working the moment it expires — no manual action needed.
- An expired key is rejected with
API key is expired(see error codes).
Revoke a key
From the API Keys page, click Delete next to a key. The key is immediately invalidated — any integration using it stops working at once.
Security notes
- A key only ever accesses its owner's resources — never another user's.
- The key is stored hashed on the server; if the database leaked, keys could not be recovered.
- Treat a key like a password: never commit it to source control, never share it.