JWT decoder: header, claims and expiry state (no signature verification)
JWT decoder: decode a JSON Web Token without verifying it: returns the header, the claims, the signature length and algorithm, and a computed view of the time claims — whether exp has passed, whether nbf is in the future, and the remaining lifetime in seconds against a supplied or current instant. Reports structural problems such as a missing part, invalid base64url or an alg of none. It does not and cannot verify the signature; do not use it to decide trust.
Output (data): valid_structure, header and payload (the decoded JSON objects echoed exactly as sent, including non-conforming values; null when absent or not an object), alg, typ, kid (each string|null: null when the header lacks it or it is not a string), signature_bytes, parts, claims {iss, sub, aud, exp, nbf, iat, jti} (the RFC 7519 registered claims, normalised: iss, sub and jti are strings, aud is a string or an array of strings, exp, nbf and iat are numbers; each is null when absent or when its value does not conform), claim_errors [{claim, reason}] (present only when a registered claim did not conform and was nulled in claims, e.g. aud: 5 or exp: "soon"), time {evaluated_at, expired (boolean|null, null without a conforming exp), not_yet_valid (boolean|null, null without a conforming nbf), expires_in_seconds (integer|null, null without a conforming exp), age_seconds (integer|null, null without a conforming iat)}, signature_verified (always false), warnings [], reason.
Deterministic only when the query fixes the instant; otherwise the answer depends on the current time and is served no-store. meta.deterministic says which.
Price: $0.05 USDC per call (x402, Base). Route contract version 1.0.0. Docs: https://api.duoleads.com/docs#code-jwt
Request
- Base URL: https://api.duoleads.com
- URL: https://api.duoleads.com/v1/code/jwt
- Auth: none declared
Query parameters
The JWT to decode (not verified). At most 8192 characters. Accepted: at most 8192 characters.
Instant to evaluate exp/nbf against: RFC 3339 or epoch seconds. Default now. Accepted: RFC 3339 timestamp or integer epoch.
Response
Paid and settled. data is route-specific; a route that judges its input returns 200 with data.valid: false for a bad value.
Changes
No recorded changes to this operation across all 1 revision of this API.