{"uid":"cap_udJuHFmfjX1SLXgM-H9s8","slug":"vextorium-jwt-verifier-6ee209c9","name":"Vextorium JWT Verifier","description":"Decode a JWT and verify its signature with the public keys of a JWKS URL (RS256, ES256, EdDSA...) or an HMAC secret, checking expiry, audience and issuer; returns header, claims and the exact reason if invalid. Tokens are not stored.","url":"https://api.vextorium.com/verificar-jwt-pago?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"required":["token"],"properties":{"token":{"type":"string"},"emisor":{"type":"string"},"secreto":{"type":"string"},"jwks_url":{"type":"string"},"audiencia":{"type":"string"}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":["object","null"],"properties":{"motivo":{"type":["string","null"]},"valido":{},"cabecera":{"type":["object","null"],"properties":{"alg":{"type":["string","null"]},"typ":{"type":["string","null"]}}},"algoritmo":{"type":["string","null"]},"contenido":{"type":["object","null"],"properties":{"iat":{"type":["number","null"]},"sub":{"type":["string","null"]},"name":{"type":["string","null"]}}}}}}}}},"responseSchema":{"type":"json","example":{"motivo":"Sin jwks_url ni secreto: solo decodificado, firma NO verificada.","valido":null,"cabecera":{"alg":"HS256","typ":"JWT"},"algoritmo":"HS256","contenido":{"iat":1516239022,"sub":"1234567890","name":"John Doe"}}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.003","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.003/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.003","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_Je9D_nlNysE_RU1rKWYys","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.003","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Decodes a JWT and verifies its signature using a JWKS URL (RS256, ES256, EdDSA) or HMAC secret, checking expiry, audience, and issuer, then returns the header, claims, and any reason for invalidity.","exampleAgentPrompt":"Can you verify this JWT for me — 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...' — using the JWKS endpoint at https://example.auth0.com/.well-known/jwks.json, and tell me if the signature is valid, who the issuer is, and the exact reason if it fails?","exampleUseCases":[{"title":"Debug expired auth token","prompt":"I've got a JWT that keeps getting rejected by my backend — 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.xyz' with secret 'mysecret'. Can you decode it and tell me exactly why it's invalid?"},{"title":"Verify OAuth2 access token from JWKS","prompt":"Verify this access token against our identity provider's JWKS URL at https://login.myapp.com/.well-known/jwks.json — the token is 'eyJhbGci...' and the expected audience is 'api.myapp.com'. Is the signature valid and are the claims all good?"},{"title":"Inspect JWT claims for an audit log","prompt":"Decode this JWT 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9...' without verifying the signature — I just need to read the header and payload claims for our audit trail."}],"resultDescription":"Returns a JSON object with: 'valido' (boolean or null indicating validity), 'cabecera' (decoded header with alg and typ), 'contenido' (decoded claims/payload), 'algoritmo' (algorithm string), and 'motivo' (a human-readable string explaining the exact reason the token is invalid, or confirmation of decode-only mode if no secret/JWKS was provided). Tokens are never stored server-side.","failureModes":["Token is malformed or not a valid JWT structure — motivo will describe the parse error","JWKS URL is unreachable or returns no matching key — motivo explains key lookup failure","Signature verification fails — valido returns false with motivo detailing the mismatch","Token is expired — valido is false with motivo indicating expiry","Audience or issuer mismatch — valido is false with motivo specifying which claim failed","No secret or JWKS provided — valido is null and motivo states signature was not verified, decode only"],"whenToPreferThis":"Choose this endpoint when you need to both decode a JWT and cryptographically verify its signature using a public JWKS endpoint (supporting RS256, ES256, EdDSA) or an HMAC secret, especially when you also need to validate standard claims like expiry, audience, and issuer in one call. Prefer it over client-side libraries when operating in an agentic or serverless context where installing crypto dependencies is impractical, or when you need a neutral third-party verification with a detailed failure reason returned as structured data.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-13T00:41:42.698Z","isFirstParty":false,"canonicalSlug":"vextorium-jwt-verifier-6ee209c9"}