Skip to main content
POST
Start a developer-key login and receive the payload to sign

Authorizations

Authorization
string
header
required

Platform access token from POST /auth/token, carrying the platform audience and the developer_key_id of the registration that minted it. It acts as your own account; name a client you created with X-Hevn-Account: cl_…. Every request re-checks that the registration is still active and that the caller's source IP is inside its allowlist. A token is valid only against the server that issued it, so sandbox tokens are refused in production and production tokens in the sandbox.

Headers

x-api-key
string | null

Body

application/json
email
string<email>
required

Email address of the account that owns the registered developer key.

publicKey
string
required

Base64 DER SubjectPublicKeyInfo for the registered P-256 developer key.

nonce
integer
required

Caller-generated single-use number included in the signed authentication proof.

requestExpiry
integer
required

Unix time in milliseconds after which the signed request is refused.

signature
string
required

Base64 DER ECDSA P-256/SHA-256 signature over the login proof message.

Response

Successful Response

challengeId
string<uuid>
required

Single-use authentication challenge identifier.

payload
string
required

Base64-encoded canonical authorization payload the developer key must sign.

expiresAt
string<date-time>
required

UTC timestamp after which the challenge is refused.