Headers
| Header | Required | Notes |
|---|---|---|
x-api-key | yes | Your API key |
x-timestamp | yes | Unix seconds, current ±5 min |
x-signature | yes | HMAC-SHA256(${timestamp}.${encrypted_body}, HMAC secret) |
content-type | yes | application/json |
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
email | string | yes | The owner email on the consumer account |
password | string | yes | The owner’s password |
Example request
The snippets below assume you’ve already encrypted the body and computed the signature — see the Quickstart for the full helper in Node and Python.
Responses
200 — Success
access_token as Authorization: Bearer <token> on subsequent requests.
401 — unauthorized
Wrong email/password, or account suspended.429 — rate_limited
Too many login attempts (scoped per consumer + mode).500 — internal_error
Account misconfiguration — contact support withrequest_id.
See Errors for the full envelope shape and full code list.