Skip to content

Authentication

Issue a scoped API key, send it on either supported header, manage its lifecycle, and understand the layered gate behind the 403 most first calls hit.

Requires API access to be enabled for your workspace

Every v1 request is authenticated with a workspace API key. There are no user tokens and no OAuth: a key is scoped to one workspace and acts only on that workspace's data.

Issue a key

In the dashboard, open Settings → API keys and create one (workspace owner or admin only). Give it a name to track where it is used, and pick its scopes — the subset of the API it may call.

Warning:

The key is shown once, at creation. Only a SHA-256 hash and a short prefix are stored, so it cannot be retrieved later — copy it into your secret store immediately. Lost a key? Revoke it and issue a new one.

Keys look like this:

A key's scopes are fixed at creation and immutable — to change scopes, revoke the key and issue a new one with the right set. See Scopes for the registry.

Issuing a key is recorded in your audit log, with the public prefix only — never the key itself.

Send it

Two headers are accepted; use either.

Settings → API keys, where a key is issued and revoked
Settings → API keys, where a key is issued and revoked
Danger:

Never hard-code a key, commit one, or ship one to a browser. The API is server-to-server only — it sends no CORS headers — and a key can now write: reply to customers, delete chatbots, change settings. Every sample here reads it from an environment variable — do the same.

The 401s

A request with no key at all:

A key that does not exist, is malformed, or has been revoked is also 401, with "Invalid API key.". A key you have disabled is 401 with "API key is disabled." — a distinct message, because it is your own reversible state, not a platform action.

API access has to be enabled for your workspace

A valid key is not enough: the API is off until it is enabled for your workspace. Until then every request — and every attempt to issue a key — returns:

This is the most common reason a first call fails, and retrying will not change it. What to do depends on who you buy from:

  • Direct customers — check that your plan includes API access, then contact Evoriqa support to have it enabled.
  • Clients of an agency or reseller — your provider controls it. Ask them; see Per-client API access.

The message is deliberately the same whatever the underlying reason, so treat it as one condition: "not enabled yet".

Enabling takes effect immediately on keys that already exist — access is checked live on every request, so you do not need to reissue anything once it is switched on.

Key lifecycle: disable, revoke, rotate

Settings → API keys manages the whole lifecycle:

  • Disable — a reversible pause. The key rejects requests with API key is disabled. until you re-enable it. Use it to stop an integration without destroying its key.
  • Revoke — permanent. Revocation is immediate; the next request with that key is 401 Invalid API key., forever. Revoking an unknown or already-revoked key returns 404 rather than reporting a false success.
  • Rotate — issue the new key, deploy it, then revoke the old one. There is no in-place rotation, because scopes and the secret are fixed at creation.

The same page shows each key's request logevery v1 call made with it, including the ones that fail auth or hit a limit (401, 403, 429). Each row records the method, path, status, latency, and a SHA-256 hash of the caller IP (never the raw address). Rows are kept for up to 90 days — and sooner if your workspace's data-retention window is shorter. Use it to confirm what an integration actually did before revoking its key.

Where to go next

Last updated