feat.press
feat.press is the affiliate marketplace for products AI helps you build. This page documents the feat.press HTTP API, OpenAPI specification, authentication, entitlement webhooks, license verification, and the feat.press MCP server so agents and app backends can integrate without scraping the UI.
The feat.press OpenAPI 3.1 document is published at /openapi.json. It covers public marketplace reads, waitlist intake, license verification, and authenticated app entitlement endpoints.
Public marketplace reads and license verification do not require an API key.
Merchant-server calls (entitlement lookup, cancel, resume) use the product-scoped feat.press app API key:
Authorization: Bearer feat_live_<key>
License keys issued to buyers are verified with POST /api/licenses/verify and JSON { "licenseKey": "...", "productId": "..." }. Buyer PII is never returned.
feat.press sends signed JSON to the HTTPS endpoint you configure on an app product when entitlements change.
feat-signature: t=<unix_seconds>,v1=<hex>feat-event-id (same as payload id)`${t}.${rawBody}` with your webhook secret. Reject timestamps older than 300 seconds with HTTP 400. Duplicates must return 200 without side effects.Event types: webhook.test, entitlement.activated, entitlement.renewed, entitlement.updated, entitlement.cancellation_scheduled, entitlement.past_due, entitlement.expired, entitlement.revoked.
Official SDK: @feat-press/node.
Streamable HTTP JSON-RPC lives at /mcp. Discovery: /.well-known/mcp.json. The server advertises resources and tools; resources/list returns at least one feat.press document.
Accept: text/markdown or append .md