Authentication

Every request to the Warmerly API is authenticated with an API key, sent as the X-Api-Key header.

Getting a key

  1. Sign in to app.warmerly.com.
  2. Go to Settings → API Keys.
  3. Click Create key, name it, and copy the secret shown — it is only displayed once and cannot be retrieved again. If you lose it, revoke the key and create a new one.

Keys are prefixed wmv_ and are scoped to your user account (they can access every workspace/project you're a member of, subject to the project you select via X-Project-Id).

Required headers

HeaderRequiredDescription
X-Api-KeyAlwaysYour API key secret.
X-Project-IdMost endpointsThe UUID of the project to operate on (mailboxes, campaigns, and inbox data all belong to a project). Find it in the dashboard URL or via the Workspaces & Projects endpoints.
curl https://app.warmerly.com/api/v1/accounts \
  -H "X-Api-Key: wmv_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "X-Project-Id: 8f14e45f-ceea-4c6a-8c8d-6b1a5b5c9c1a"

Endpoints that aren't project-scoped (e.g. listing your workspaces, managing API keys) only need X-Api-Key.

Rate limits

Each key has its own per-minute rate limit (default 60 requests/minute, configurable per key up to 120). Exceeding it returns 429 too_many_requests. A few endpoints layer an additional, tighter limit on top of this. See Errors & Rate Limits for the full picture, including the exact response shape and per-endpoint limits.

Revoking a key

Revoke a key any time from Settings → API Keys. Revoked keys fail every request immediately with 401 unauthorized — there is no grace period.

Errors

An invalid or revoked key returns 401:

{ "error": { "code": "unauthorized", "message": "unauthorized", "details": null } }

A missing or malformed X-Project-Id on a project-scoped endpoint returns 400:

{ "error": { "code": "bad_request", "message": "missing X-Project-Id header", "details": null } }