Gumroad: API Design — Products, Sales & Pings
Docs-backedREST API at api.gumroad.com/v2/. Products: GET/POST/PUT/DELETE for product CRUD with name, price, description, and configuration. Sales: GET /v2/sales returns purchase records with buyer email, product, price, and custom fields. License verification: POST /v2/licenses/verify checks a license key's validity and increments use count. Subscribers: GET /v2/products/{id}/subscribers lists active subscribers for membership products. Pings (webhooks): POST to configured URL on each purchase with sale details including product, price, email, and custom fields. The API is simple — few endpoints, straightforward payloads. No batch operations. No complex query filtering on sales beyond date range. The data model is flat: products → sales and products → subscribers. Pagination uses basic page/per_page.