Create API Key
Mint a fresh API key for the calling user. The full secret value is included in the response and is not retrievable later — store it securely the moment you receive it. Subsequent calls to /keys/api only return a masked version (et_sk_a1b2...f6e7).
Account scope & permissions: the new key belongs to your active account. It authenticates as you, so it inherits your current role's permissions in that account — resolved live on every request. A key can never do more than your role allows, and if your role is changed the key's effective access changes with it. Use switch account to create a key scoped to a different account.
Revoked with membership: a key created by an account member is tied to that member. If you are removed from (or leave) the account, your keys for that account stop working immediately — requests return 401 — and the keys are deleted, even if never manually revoked. An account owner/admin (with settings permission) can also revoke any key bound to the account.
Keys can be scoped down with two optional fields: expires_in_days sets a hard expiry, and allowed_ips restricts which source IPs the key can authenticate from. Both are recommended for keys used by automation that runs from a known network.
Don't confuse this with POST /v1/auth/token (same effect, no body, hardcoded description) or POST /v1/keys/auth (which mints agent auth tokens, a different credential class).
Request body
"10.0.0.0/8,192.168.1.0/24"). Requests using this key from outside these ranges are rejected with 401. Empty = no IP restriction.Response (200 OK)
et_sk_ + base32 chars. Use this value in X-API-KEY headers.