erroris the machine-readable category (one of the headings below).error_descriptionis a human-readable detail.error_urilinks straight to the matching entry on this page, which opens automatically.
error code below.
invalid_request
The request was missing a parameter or had a malformed value.Missing grant_type
Missing grant_type
Missing required parameter: grant_typeEvery request needs a grant_type of urn:ietf:params:oauth:grant-type:jwt-bearer (RFC 7523) or refresh_token (RFC 6749 §6).Missing assertion
Missing assertion
Missing required parameter: assertionThe jwt-bearer grant needs the signed JWT in assertion. (A launch may instead send a refresh_token.)Missing refresh_token
Missing refresh_token
Missing required parameter: refresh_tokenThe refresh_token grant needs the prior refresh token in refresh_token.Missing target
Missing target
Missing target parameterA launch must say where to land. Set target to an allowed app path, e.g. /kyb.Invalid target
Invalid target
The launch
target is not a relative path, or is not an allowed destination. Pass one of the allowed targets (see Launch a user into the app); today that’s /kyb, optionally with ?org=<org_id>. Absolute URLs and unknown paths are rejected so a launch can’t be redirected off-site.Invalid return_url
Invalid return_url
The launch
return_url is not a valid http(s) URL. Pass an absolute https:// URL, or omit it entirely: return_url is optional.Launch page is not embedded
Launch page is not embedded
A
postMessage launch was opened without a parent or opener to request credentials from. Open the launch page in an iframe or a popup so it can ask your page for the JWT, or use the form POST method instead.Assertion is not a valid JWT
Assertion is not a valid JWT
Assertion is not a valid JWTThe assertion couldn’t be parsed as a JWT. Check that you’re sending the compact-serialized token (three base64url segments separated by dots), not a decoded payload. See Sign a user JWT.unsupported_grant_type
Unsupported grant_type
Unsupported grant_type
Unsupported grant_type: <value>Use urn:ietf:params:oauth:grant-type:jwt-bearer (RFC 7523, exchange a JWT) or refresh_token (RFC 6749 §6, refresh a session). No other grant types are supported.invalid_scope
Unknown scope
Unknown scope
Unsupported scope: <value>The JWT’s scope claim contains a value Etherfuse doesn’t recognize. Use a documented scope (see Scopes), or an empty string to provision a user with no abilities.Scope not allowed for partner auth
Scope not allowed for partner auth
Scopes not allowed for partner auth: <value>. (Valid: kyb)The scope is recognized but not permitted for partner JWTs. Today the only grantable partner scope is kyb.invalid_grant
The JWT or refresh token was rejected.JWT has expired
JWT has expired
JWT has expiredThe token’s exp is in the past. Sign short-lived tokens and exchange them promptly. Check for clock skew between your signer and real time.JWT audience mismatch
JWT audience mismatch
JWT audience mismatchThe aud claim isn’t the token endpoint. Set aud to https://api.etherfuse.com/auth/token (or the sandbox host https://api.sand.etherfuse.com/auth/token).Invalid or replayed nonce
Invalid or replayed nonce
JWT nonce has already been used / JWT must include a random nonce claimEach JWT must carry a unique nonce claim, and a nonce can be exchanged only once (replay protection). Generate a fresh nonce for every token.JWT missing email
JWT missing email
JWT missing email claimInclude an email claim in the JWT.JWT missing name
JWT missing name
JWT missing or empty name claimInclude a non-empty name claim in the JWT.Subject is a business organization
Subject is a business organization
Subject must not be a business organization idThe sub names a business organization. It must be a customer’s UUID, not the id of a business org.Invalid or expired refresh token
Invalid or expired refresh token
Invalid or expired refresh tokenThe refresh token is unknown or has expired. Sign a fresh JWT and exchange it again.Unknown user
Unknown user
Unknown userThe session’s user no longer exists (for example, the account was removed). Sign a fresh JWT and exchange it again to re-establish the user. See JWT User Authentication.Account deactivated
Account deactivated
Account deactivatedThis customer’s Etherfuse account is deactivated and can’t authenticate. Contact your Etherfuse representative.invalid_client
Unknown issuer
Unknown issuer
Unknown issuer: <iss>The JWT’s iss isn’t registered with Etherfuse, so we can’t find your JWKS. Confirm iss matches exactly what you registered, and contact your Etherfuse representative if it hasn’t been set up yet. See Before you start.Signature verification failed
Signature verification failed
JWT signature verification failedThe signature didn’t validate against the keys in your JWKS. Confirm the token is signed by a key published in your JWKS and that its kid header matches that key. If you rotated keys, make sure the new public key is live at your JWKS URL.JWKS endpoint unreachable or invalid
JWKS endpoint unreachable or invalid
JWKS endpoint unreachable / JWKS bad responseWe couldn’t fetch a valid JWKS from your endpoint, so the signature can’t be verified (returns 502/504). Make sure your JWKS URL is publicly reachable over HTTPS and returns a valid JSON Web Key Set. See Before you start.No response from partner
No response from partner
A
postMessage launch asked your page for credentials and timed out. Respond to etherfuse:auth:request promptly, or send etherfuse:auth:await first if you need a moment to sign a JWT. See Launch via postMessage.server_error
Auth provider misconfigured
Auth provider misconfigured
The auth provider Etherfuse set up for your issuer is incomplete or invalid (a missing or malformed JWKS/issuer URL, or no organization linked). You can’t fix this one yourself — contact your Etherfuse representative so we can correct the configuration.
Server error
Server error
Something failed on Etherfuse’s side while creating the session (for example, issuing the token). These are transient. Retry, and if it persists, contact your Etherfuse representative with the
error_description.