API keys are available on the Pro and Team plans. If you are on the free plan, upgrade your account before trying to create a key. You can also manage keys in the Bkmark web app under Settings → Security → API Keys.
Key Format
Every API key begins with thebk_ prefix followed by 32 hexadecimal characters (16 random bytes), for example:
bk_a1b2c3d4) for identification in list responses. If you lose the key, you must revoke it and create a new one.
Available Scopes
Each API key carries a set of scopes that define exactly what it is allowed to do. Assign the minimum scopes your use case requires.| Scope | Access granted |
|---|---|
bookmarks:read | Read bookmarks and their metadata |
bookmarks:write | Create, update, and delete bookmarks |
tags:read | Read tags |
tags:write | Create, update, and delete tags |
groups:read | Read groups and their members |
groups:write | Create, update, and delete groups |
search:read | Run bookmark searches |
Create an API Key
Send aPOST request to /api/v1/api-keys with a display name, the scopes you need, and an optional expiry date.
A human-readable label for the key (1–100 characters). Use something descriptive so you can identify the key’s purpose later, for example
"CI deploy script" or "Home server backup".One or more scopes to grant. Must contain at least one value. Valid values:
bookmarks:read, bookmarks:write, tags:read, tags:write, groups:read, groups:write, search:read.An optional expiry date-time in ISO 8601 format. If omitted, the key never expires. Example:
"2026-01-01T00:00:00.000Z".201 Created):
List API Keys
Retrieve all API keys associated with your account. The response includes metadata but never the raw key value — only the shortkeyPrefix for identification.
200 OK):
Unique identifier for the API key. Use this ID to update or revoke the key.
The display name you assigned when creating the key.
The first 11 characters of the key (
bk_ + 8 hex chars), for identification purposes.The list of scopes currently granted to this key.
ISO 8601 timestamp of the most recent authenticated request made with this key, or
null if the key has never been used.ISO 8601 timestamp when the key expires, or
null if the key has no expiry.ISO 8601 timestamp when the key was created.
Update an API Key
You can rename a key or change its scopes at any time with aPATCH request. Include only the fields you want to change.
A new display name for the key (1–100 characters).
A new set of scopes. Replaces the existing scopes entirely — include all scopes you want the key to have after the update.
Revoke an API Key
Send aDELETE request to permanently revoke a key. Any subsequent requests using that key will immediately receive a 401 Unauthorized response.
200 OK):