{"uid":"cap_jrA1BrpiUpJuKdcOci63A","slug":"jwt-forensics-workflow-b3812865","name":"JWT Forensics Workflow","description":"Bundled execution of the JWT forensics workflow - Someone hands you a JWT and asks 'is this valid?' Decode without verification first to see the shape, render the time claims (iat/nbf/exp) in human time, compute exactly how long until expiry, then...","url":"https://agent402.tools/api/skill/jwt-forensics","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"token":{"type":"string","description":"The JWT to inspect (three dot-separated base64url segments)"},"secret":{"type":"string","description":"Shared HMAC secret to verify the signature against (only used in step 4)"}}},"responseSchema":{"type":"json","example":{"args":{"token":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ2VudDQwMiIsIm5hbWUiOiJkZW1vIGFnZW50IiwiaWF0IjoxNzAwMDAwMDAwLCJleHAiOjk5OTk5OTk5OTl9.NqggPBGuLX1OA7YuSlQ4S0INJfCOWnwXWT0XUIUrt3s","secret":"my-secret"},"pack":"jwt-forensics","steps":[{"ok":true,"slug":"jwt-decode","result":{}},{"ok":true,"slug":"time-convert","result":{}},{"ok":true,"slug":"date-diff","result":{}},{"ok":true,"slug":"jwt-verify","result":{}},{"ok":true,"slug":"base64","result":{}},{"ok":true,"slug":"hash","result":{}}],"summary":"6/6 steps succeeded"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","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.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_8u048zzaQW_rhWv3k--el","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Decodes a JWT, renders human-readable time claims, computes expiry duration, and optionally verifies an HMAC signature in a single bundled call","exampleAgentPrompt":"Can you inspect this JWT for me — eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c — decode it, show me the time claims in human-readable format, compute exactly how long until it expires, and verify the signature against my secret 'mysecretkey'.","exampleUseCases":null,"resultDescription":"Returns the decoded JWT header and payload, all time claims (iat, nbf, exp) rendered as human-readable timestamps, a computed duration until token expiry, and a signature verification result if a secret was provided","failureModes":["Malformed JWT (not three dot-separated base64url segments) returns a parse error","Invalid or missing secret causes signature verification step to fail or be skipped","Already-expired token will show negative time-to-expiry","Non-HMAC algorithms (e.g. RS256) cannot be verified with a shared secret","Payment failure (402) if USDC balance is insufficient"],"whenToPreferThis":"Choose this endpoint when you need a complete JWT analysis in one call — decoding, human-readable time rendering, expiry computation, and optional HMAC verification — rather than calling separate decode or verify utilities individually. Ideal for debugging authentication issues, auditing tokens, or building agent workflows that need to reason about token validity.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T19:14:04.657Z","isFirstParty":false}