Authenticate API requests with your API key, sent in the X-Api-Key header or as a Bearer token in the Authorization header.
Authentication methods
API key header (recommended)
Include your API key in the X-Api-Key header:
X-Api-Key: ev_your_api_keyBearer token
Alternatively, send your API key as a Bearer token in the Authorization header:
Authorization: Bearer ev_your_api_keyExample request
curl -X POST https://api.kawaa.com/v1/verify \
-H "X-Api-Key: ev_your_api_key" \
-H "Content-Type: application/json" \
-d '{"email": "test@example.com"}'Authentication errors
| HTTP | error.code | Meaning and solution |
|---|---|---|
| 401 | UNAUTHORIZED | The key is missing or not valid. Check it is sent in X-Api-Key or as a Bearer token |
| 401 | API_KEY_REVOKED | The key or app connection no longer works. Create a new key, or connect an app that signed in again; the error message names the two rarer cases with another remedy |
| 403 | INSUFFICIENT_SCOPE | The key is valid but was created with scopes that do not include this route. Use a key with the scope the message names; a key created without scopes reaches every route. Upgrading does not help |
| 403 | PLAN_UPGRADE_REQUIRED | Your plan does not include this feature, whatever the key. Upgrade your plan |
| 403 | PLAN_LIMIT_EXCEEDED | You are at your plan’s limit for this feature (webhook endpoints, team seats, connected integrations). Remove one, or upgrade |
| 403 | CROSS_SITE_SESSION_REFUSED | A request carried the dashboard’s sign-in cookie but was not made by the dashboard, so the sign-in was not used. Either another website or another page started it, or it spends credits and was opened outside the dashboard: a link in a mail app or Slack, a bookmark, or the address bar. Use the dashboard, or an API key; a request with an API key never meets this |
| 403 | REAUTHENTICATION_REQUIRED | Creating an API key, connecting an app, adding a webhook, changing a webhook’s URL or events, or turning back on a webhook Kawaa switched off, from a dashboard sign-in more than 15 minutes old. Sign in again, then retry |
| 403 | SUB_ACCOUNT_MANAGED | A white-label sub-account asked for something the account that provisioned it manages, such as billing. Ask that account |
| 403 | HUBSPOT_FORBIDDEN | Not returned today: HubSpot cannot be connected to Kawaa yet. Reserved for HubSpot refusing a call Kawaa makes for you |
| 403 | MAILCHIMP_FORBIDDEN | Not returned today: Mailchimp cannot be connected to Kawaa yet. Reserved for Mailchimp refusing a call Kawaa makes for you |
| 403 | SALESFORCE_FORBIDDEN | Not returned today: Salesforce cannot be connected to Kawaa yet. Reserved for Salesforce refusing a call Kawaa makes for you |
| 403 | FORBIDDEN | Access denied for a reason none of the codes above covers. Read error.message |