API authentication with API keys
Authenticate to the Shakewell Wallet REST API with an API key sent as a Bearer token or an X-API-Key header. How to create, scope and revoke keys.
Last updated 2026-11-05
Every request to the public API (https://api.shakewellwallet.com/api/public/v1) is authenticated with an API key that belongs to one account. There is no OAuth flow and no separate test environment: a key acts on the account that created it.
Create a key
- Sign in to the dashboard and open Settings, then Account settings, then API keys.
- Create a key, give it a name and choose an access level: read, or read and write.
- Copy the key now. It starts with
sk_and is shown once. Shakewell stores only a SHA-256 hash and a short hint, so a lost key cannot be recovered, only replaced.
feature_required. See the pricing page for which plans include the API.Send the key
Either header works. Send Accept: application/json so errors come back as JSON.
Authorization: Bearer sk_xxxxxxxxxxxxxxxx
# or
X-API-Key: sk_xxxxxxxxxxxxxxxxAccess levels
A read key can list and fetch templates. A read and write key can also create, update and delete them. An admin permission implies both. The template endpoints enforce this and answer 403 when the key lacks it.
What authentication errors look like
| Situation | Status | Body |
|---|---|---|
| No key sent | 401 | {"error":"Unauthorized","message":"API Key is required."} |
| Unknown, revoked, inactive or expired key | 401 | {"error":"Unauthorized","message":"Invalid API key."} |
Invalid-key attempts are logged with the caller IP. Keep keys in a secret manager and never ship them in browser or mobile code.