feat.press API docs
feat.press API docs and OpenAPI 3.1 specification for marketplace listings, waitlist intake, license verification, and app entitlements.
feat.press OpenAPI specification
The feat.press OpenAPI 3.1 document is the source of truth for request and response shapes.
JSON lives at /openapi.json. YAML is at /api/openapi.yaml.
feat.press public HTTP API
GET /api/marketplace/listings — browse live listings (no auth).
GET /api/marketplace/listings/{slug} — listing detail.
POST /api/waitlist — email is required. name, handle, and role are optional.
POST /api/licenses/verify — licenseKey is required. productId is optional.
GET /api/marketplace/listings accepts q, sort, compensation, category, minCommission (20, 30, or 50), minStorefronts (1, 5, or 10), offset, and limit (max 48).
Cancel and resume require an Idempotency-Key header of 8 to 200 characters, plus a Bearer feat_sk_live_ key.
Scopes: read:listings, write:waitlist, read:licenses, read:entitlements, write:entitlements. Public reads need no key.
Errors are JSON { "success": false, "error": "…" }. License verify uses { "valid": false }. They are not RFC 9457 problem documents.
feat.press API versioning and deprecation
The current feat.press HTTP API version is 2026-07-18, returned as the API-Version response header.
Clients may send API-Version: 2026-07-18. Omitting the header selects the current version.
A breaking change ships as a new date. The previous date stays available for at least 180 days.
During that window the old date sends Deprecation (RFC 9745) and Sunset (RFC 8594). The current version does not send those headers.
Canonical URL: /developers/api. Markdown: Accept: text/markdown or /developers/api.md