canonical: https://jentic.com/apis/gumroad.com/gumroad

# Gumroad API

Jentic publishes the only available OpenAPI specification for Gumroad API, keeping it validated and agent-ready. Gumroad's API exposes the digital marketplace's core resources for selling downloads, courses, memberships, and software licences. The 26-endpoint surface covers product creation and management, offer codes, license key generation and verification, sales and subscriber lookups, custom fields, webhooks, and the authenticated user record. Authentication is via bearer access token from the Gumroad app.

## For AI agents

Manage Gumroad products, offer codes, licences, subscribers, sales, and webhooks for digital storefronts and software vendors.

## Scope

Does not handle physical-goods fulfilment, tax calculation, or merchant-of-record remittance - use for digital products, licences, and creator storefronts on Gumroad only.

## Capabilities

- Create digital product listings with price, name, and description, then enable or disable them
- Issue and disable percentage or fixed-amount offer codes against a specific product
- Generate, verify, and decrement license keys for software unlocks and seat-based access
- Look up sales records and individual subscriber details for membership products
- Define custom fields collected at checkout and read responses on each sale
- Register webhook subscriptions for sale and subscription lifecycle events

## Use cases

### Software licence issuance and verification

Sell software through Gumroad and gate features behind license-key verification. After purchase, generate a license key tied to the product and validate it from the application on each launch. Optionally decrement remaining uses for seat-limited or trial keys. This replaces a custom licensing service for indie and small-team software.

Example prompt: Call POST `/licenses/verify` with the product permalink and license key, return whether the key is valid, and decrement remaining uses if applicable.

### Promo code campaigns

Run time-limited promotions on a Gumroad catalogue by creating per-product offer codes with percentage or fixed discounts and a maximum redemption count. The API lets a marketing service create codes in bulk, list them for a dashboard, and disable them when a campaign ends. Useful for launches, bundle deals, and influencer partnerships.

Example prompt: Create an offer code 'LAUNCH20' with 20 percent off product abc and a 500-redemption cap via POST `/products/{product_id}/offer_codes.`

### Sales and subscriber reporting

Build a finance or operations dashboard that pulls Gumroad sales and subscriber records to reconcile revenue and track membership status. The Sales endpoint returns one-time purchases with custom-field responses, while Subscribers covers recurring memberships. Useful for closing the books and detecting failed renewals.

Example prompt: List GET /sales for the last 30 days and aggregate gross revenue per product.

### AI agent fulfilment via Jentic

An AI assistant in a vendor's support inbox handles a 'where is my license' request by looking up the customer's sale, fetching the issued license key, and replying with verification instructions. Through Jentic the agent loads the right Gumroad operations on demand instead of hard-coding the SDK.

Example prompt: Search Jentic for 'verify a gumroad license key', load the operation, and validate the key for product 'pro-app' against email customer@example.com.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/products` | Create a product |
| GET | `/products` | List products |
| POST | `/products/{product_id}/offer_codes` | Create an offer code |
| GET | `/products/{product_id}/offer_codes` | List offer codes for a product |

## Key resources

- **Products** — Create, list, update, and delete digital product listings
- **Offer Codes** — Create and manage discount codes scoped to a product
- **Licenses** — Generate, verify, and decrement license keys for software products
- **Sales** — List and inspect one-time purchase records
- **Subscribers** — Look up subscriber and membership status records
- **Webhooks** — Register endpoints to receive sale and subscription events

## Why Jentic

- **Setup:** Wiring the Gumroad API by hand means handling its bearer access token against api.gumroad.com/v2 and managing product and offer-code pagination and retries yourself. Through Jentic you install once, import Gumroad from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Gumroad puts the product id in the URL path (`/products/{product_id}/offer_codes`), so a rule can pin your agent to one product: it can read and create offer codes for that product and nothing else. You choose the operations it may call, so creating new products is not included unless you add it.
- **Credential handling:** Your Gumroad access token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'verify a Gumroad license key' or 'list offer codes for a product', and Jentic returns the matching Gumroad operation with its input schema so the agent calls the right endpoint without parsing docs.

## Related APIs

- **Stripe** — General-purpose payments and billing platform with broader product surface
- **Paddle** — Merchant-of-record platform for SaaS and software with integrated tax compliance
- **Patreon** — Membership platform for ongoing creator subscriptions

## FAQ

### Why is there no official OpenAPI spec for Gumroad API?

Gumroad does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Gumroad API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Gumroad API use?

Gumroad uses bearer access tokens generated from the user's Gumroad account. Pass the token as Authorization: Bearer <token>. Jentic stores the token encrypted in the vault and provides scoped execution tokens to the agent.

### Can I verify a software license key with the Gumroad API?

Yes. Use the licenses verify operation under `/licenses/verify` with the product permalink and license key. The response indicates whether the key is valid and how many uses remain, suitable for app activation flows.

### Can I create discount codes programmatically with the Gumroad API?

Yes. POST `/products/{product_id}/offer_codes` creates an offer code scoped to a single product with either a percentage or fixed amount discount, an optional maximum redemption count, and an active flag. Use PUT and DELETE on the same path to update or remove.

### What are the rate limits for the Gumroad API?

Gumroad does not publish hard rate-limit numbers. In practice expect throttling under sustained automated use; back off on 429 responses and batch reads where possible. Webhooks are the recommended route for high-frequency sale notifications instead of polling.

### How do I list recent sales with the Gumroad API through Jentic?

Search Jentic for 'list gumroad sales', load the GET /sales operation, then execute it with optional date filters. Install with pip install jentic.

### Can I limit what my agent is allowed to do with the Gumroad API?

Yes. Because you run Jentic One yourself, your own rules decide which Gumroad operations and credentials the agent may use. Since Gumroad puts the product id in the URL path, such as `/products/{product_id}/offer_codes`, you can pin the agent to a single product so it only reads and creates offer codes for that product and nothing else. You choose the operations it may call, so creating new products with POST /products is not included unless you add it.
