{"openapi":"3.1.0","info":{"title":"CF Package Check","version":"1.0.0","description":"Pay-per-call abandonment checks for WordPress.org plugins, npm packages and PyPI projects, read live from the registries.","x-guidance":"Call GET /v1/health first (free) to confirm all three registries are reachable. GET /.well-known/x402 carries the exact x402 v2 payment requirements. A bare unpaid GET to /v1/check or /v1/report returns 402 before the query is validated, even with a missing or malformed ecosystem/name. Add ?v=2 for the shared CF Soft envelope shape, identical across every CF Soft booth — see this repo's README.","contact":{"email":"info@cfaisolutions.com"}},"servers":[{"url":"https://packages.cfsoft.us"}],"paths":{"/v1/check":{"get":{"summary":"Is this package abandoned? (brief).","parameters":[{"name":"ecosystem","in":"query","required":true,"schema":{"type":"string","enum":["wordpress","npm","pypi"]},"description":"Which registry to check."},{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"npm package, PyPI project, or WordPress.org plugin slug."},{"name":"v","in":"query","schema":{"type":"string","enum":["2"]},"description":"Set to \"2\" for the shared CF Soft envelope response shape (service/version/verdict/confidence/basis/counts/records/sources/limits/as_of), used identically across every CF Soft booth. verdict is this booth's own vocabulary: active/stale/abandoned/deprecated/closed/not_found. Omit for today's existing response shape, unchanged. `name` may also be given as `package` under v2 — both are accepted."}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":0.02}},"responses":{"200":{"description":"Abandonment check result."},"402":{"description":"Payment required. See the `payment-required` header."},"405":{"description":"Only GET is served on this path."}}}},"/v1/report":{"get":{"summary":"Full abandonment report.","parameters":[{"name":"ecosystem","in":"query","required":true,"schema":{"type":"string","enum":["wordpress","npm","pypi"]},"description":"Which registry to check."},{"name":"name","in":"query","required":true,"schema":{"type":"string"},"description":"npm package, PyPI project, or WordPress.org plugin slug."},{"name":"v","in":"query","schema":{"type":"string","enum":["2"]},"description":"Set to \"2\" for the shared CF Soft envelope response shape (service/version/verdict/confidence/basis/counts/records/sources/limits/as_of), used identically across every CF Soft booth. verdict is this booth's own vocabulary: active/stale/abandoned/deprecated/closed/not_found. Omit for today's existing response shape, unchanged. `name` may also be given as `package` under v2 — both are accepted."}],"x-payment-info":{"protocols":["x402"],"price":{"mode":"fixed","currency":"USD","amount":0.1}},"responses":{"200":{"description":"Abandonment check result."},"402":{"description":"Payment required. See the `payment-required` header."},"405":{"description":"Only GET is served on this path."}}}},"/v1/health":{"get":{"summary":"Whether each registry is reachable right now. Free.","responses":{"200":{"description":"Health status."}}}},"/.well-known/x402":{"get":{"summary":"x402 v2 discovery document. Free.","responses":{"200":{"description":"Discovery document."}}}}}}