{"openapi":"3.1.0","info":{"title":"jwtsecrets/mpp","version":"1.0.0","description":"Machine-payable JWT decode/verify/crack endpoints over HTTP 402.","x-guidance":"Call GET /api/pricing first. /api/* routes use MPP HTTP 402 challenge flow. /x402/api/* routes use x402 payment challenge flow. Use POST JSON for decode/verify/crack and GET with ?token= for session decode."},"x-discovery":{"ownershipProofs":[]},"servers":[{"url":"https://mpp.jwtsecrets.com"}],"paths":{"/api/health":{"get":{"operationId":"health","summary":"Health check","tags":["System"],"responses":{"200":{"description":"Service is healthy","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"service":{"type":"string"}},"required":["ok","service"]}}}}}}},"/api/pricing":{"get":{"operationId":"pricing","summary":"Pricing and payment methods","tags":["System"],"responses":{"200":{"description":"Current endpoint prices and payment methods","content":{"application/json":{"schema":{"type":"object","properties":{"currency":{"type":"string"},"recipient":{"type":"string"},"paymentMethods":{"type":"array","items":{"type":"string"}}},"required":["currency","recipient","paymentMethods"]}}}}}}},"/api/decode-jwt":{"post":{"operationId":"decodeJwt","summary":"Decode JWT header and payload","tags":["JWT"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c0000000000000000000000000000000000000"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":1,"description":"JWT string"}},"required":["token"]}}}},"responses":{"200":{"description":"Decoded JWT header/payload","content":{"application/json":{"schema":{"type":"object","properties":{"header":{"type":"object","additionalProperties":true},"payload":{"type":"object","additionalProperties":true}},"required":["header","payload"]}}}},"400":{"description":"Invalid token"},"402":{"description":"Payment Required"}}}},"/api/verify-jwt":{"post":{"operationId":"verifyJwt","summary":"Verify JWT against provided secret","tags":["JWT"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.020000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c0000000000000000000000000000000000000"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":1},"secret":{"type":"string","minLength":1}},"required":["token","secret"]}}}},"responses":{"200":{"description":"Verification result","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean"}},"required":["valid"]}}}},"402":{"description":"Payment Required"}}}},"/api/crack-jwt":{"post":{"operationId":"crackJwt","summary":"Dictionary attack HS256 JWT","tags":["JWT"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c0000000000000000000000000000000000000"}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":1},"wordlist":{"type":"array","items":{"type":"string"},"maxItems":10000}},"required":["token","wordlist"]}}}},"responses":{"200":{"description":"Crack attempt result","content":{"application/json":{"schema":{"type":"object","properties":{"cracked":{"type":"boolean"},"secret":{"type":"string"},"tried":{"type":"number"}},"required":["cracked"]}}}},"402":{"description":"Payment Required"}}}},"/api/sessions/decode-jwt":{"get":{"operationId":"sessionDecodeJwt","summary":"Decode JWT via pay-as-you-go session channel","tags":["JWT","Session"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c0000000000000000000000000000000000000"}}]},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","minLength":1},"description":"JWT string"}],"responses":{"200":{"description":"Decoded JWT header/payload","content":{"application/json":{"schema":{"type":"object","properties":{"header":{"type":"object","additionalProperties":true},"payload":{"type":"object","additionalProperties":true}},"required":["header","payload"]}}}},"400":{"description":"Missing or invalid token"},"402":{"description":"Payment Required"}}}},"/x402/api/decode-jwt":{"post":{"operationId":"x402DecodeJwt","summary":"Decode JWT header and payload (x402)","tags":["JWT","x402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":1}},"required":["token"]}}}},"responses":{"200":{"description":"Decoded JWT header/payload","content":{"application/json":{"schema":{"type":"object","properties":{"header":{"type":"object","additionalProperties":true},"payload":{"type":"object","additionalProperties":true}},"required":["header","payload"]}}}},"400":{"description":"Invalid token"},"402":{"description":"Payment Required"}}}},"/x402/api/verify-jwt":{"post":{"operationId":"x402VerifyJwt","summary":"Verify JWT against provided secret (x402)","tags":["JWT","x402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.020000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":1},"secret":{"type":"string","minLength":1}},"required":["token","secret"]}}}},"responses":{"200":{"description":"Verification result","content":{"application/json":{"schema":{"type":"object","properties":{"valid":{"type":"boolean"}},"required":["valid"]}}}},"402":{"description":"Payment Required"}}}},"/x402/api/crack-jwt":{"post":{"operationId":"x402CrackJwt","summary":"Dictionary attack HS256 JWT (x402)","tags":["JWT","x402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"token":{"type":"string","minLength":1},"wordlist":{"type":"array","items":{"type":"string"},"maxItems":10000}},"required":["token","wordlist"]}}}},"responses":{"200":{"description":"Crack attempt result","content":{"application/json":{"schema":{"type":"object","properties":{"cracked":{"type":"boolean"},"secret":{"type":"string"},"tried":{"type":"number"}},"required":["cracked"]}}}},"402":{"description":"Payment Required"}}}},"/x402/api/sessions/decode-jwt":{"get":{"operationId":"x402SessionDecodeJwt","summary":"Decode JWT via x402 challenge","tags":["JWT","Session","x402"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Decoded JWT header/payload","content":{"application/json":{"schema":{"type":"object","properties":{"header":{"type":"object","additionalProperties":true},"payload":{"type":"object","additionalProperties":true}},"required":["header","payload"]}}}},"400":{"description":"Missing or invalid token"},"402":{"description":"Payment Required"}}}}}}