{"uid":"cap_1rcmn7PeCIXA9HLfQtcNz","slug":"x402-mpp-buyer-readiness-linter-5eb73d8a","name":"x402/MPP Buyer-Readiness Linter","description":"Provide one inline OpenAPI document or public OpenAPI URL. Receive a JSON buyer-readiness score, rule results, and concrete fixes for payment metadata, missing examples, descriptions, and HTTP 422 traps.","url":"https://readiness-linter.krimskrams.xyz/v1/lint","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"openapi":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"null"}],"title":"Openapi","default":null},"openapi_url":{"anyOf":[{"type":"string","maxLength":2048},{"type":"null"}],"title":"Openapi Url","default":null}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.1","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.1/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_6IqWRU0pm7HgMo7fCPyBv","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.1","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Analyzes an OpenAPI document and returns a buyer-readiness score, per-rule results, and actionable fixes for payment metadata, missing examples, descriptions, and HTTP 422 edge cases.","exampleAgentPrompt":"Can you lint my OpenAPI spec at https://api.myservice.com/openapi.json and give me a buyer-readiness score along with specific fixes for any payment metadata gaps, missing examples, or HTTP 422 traps?","exampleUseCases":[{"title":"Pre-listing API spec audit","prompt":"Before I list my payment API on an agentic marketplace, can you run a buyer-readiness lint on this OpenAPI URL — https://api.example.com/openapi.json — and tell me what payment metadata, descriptions, or examples I'm missing?"},{"title":"Fix 422 traps in spec","prompt":"My API keeps getting flagged for HTTP 422 issues — can you lint my OpenAPI document and show me exactly which endpoints have 422 traps and how to fix them?"},{"title":"Score OpenAPI for x402 compliance","prompt":"Here's my inline OpenAPI spec — can you score it for x402 and MPP buyer-readiness and give me a list of concrete fixes ranked by severity?"}],"resultDescription":"A JSON object containing a numeric buyer-readiness score, a list of per-rule results (pass/fail/warn with descriptions), and concrete fix recommendations covering payment metadata completeness, missing request/response examples, inadequate descriptions, and HTTP 422 response trap issues.","failureModes":["Neither openapi nor openapi_url provided — returns error indicating at least one input is required","Invalid or unreachable OpenAPI URL — returns fetch/parse error","Malformed OpenAPI document object — returns parse validation error","OpenAPI URL exceeds 2048 character limit — rejected at schema validation","Payment failure (x402) — call not processed if USDC payment not completed"],"whenToPreferThis":"Choose this endpoint when you need to evaluate whether an OpenAPI specification is ready for listing on an agentic marketplace that uses x402/MPP payment protocols — specifically when you want structured, rule-by-rule feedback on payment metadata, example coverage, description quality, and error-handling completeness rather than general OpenAPI schema validity.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:39:04.091Z","isFirstParty":false}