Skip to main content
Every gumroad.api.* operation is listed below with parameter shapes and return types from the plugin Zod schemas.
New to Corsair? See API access, authentication, and error handling.

Custom Fields

create

customFields.create Add a custom field to a product’s checkout, optionally required Risk: write
Input Output

delete

customFields.delete Permanently delete a product’s custom field by name Risk: destructive
Input Output

list

customFields.list List a product’s checkout custom fields Risk: read
Input Output

update

customFields.update Flip whether one of a product’s custom fields is required Risk: write
Input Output

Earnings

get

earnings.get Read the annual earnings breakdown (gross, fees, taxes, affiliate credit, net) for one tax year Risk: read
Input Output

Emails

create

emails.create Create a draft audience email by subject, HTML body and audience, or send it immediately with publish=true Risk: write
Input Output

delete

emails.delete Delete an audience email Risk: destructive
Input Output

get

emails.get Read one audience email by id Risk: read
Input Output

list

emails.list List the seller’s audience emails, optionally filtered to published, scheduled or draft state Risk: read
Input Output

preview

emails.preview Send a preview of an audience email to the seller’s own address Risk: write
Input Output

schedule

emails.schedule Schedule a draft audience email to publish at a set time in the seller’s timezone Risk: write
Input Output

send

emails.send Publish a draft audience email and send it to its audience Risk: write
Input Output

unschedule

emails.unschedule Cancel a scheduled audience email and turn it back into a draft Risk: write
Input Output

Files

abort

files.abort Cancel a multipart upload started by files.presign Risk: write
Input Output

complete

files.complete Finalize a multipart upload with the S3 upload id, key and part etags, returning the canonical file URL Risk: write
Input
Output

presign

files.presign Start a multipart file upload and get presigned S3 URLs per 100 MB part (max 20 GB); the binary PUTs to S3 are client-side Risk: write
Input Output

Licenses

decrementUsesCount

licenses.decrementUsesCount Decrement a license key use counter and read its purchase Risk: write
Input Output

disable

licenses.disable Disable a license key so it fails verification, and read its purchase Risk: write
Input Output

enable

licenses.enable Re-enable a disabled license key and read its purchase Risk: write
Input Output

rotate

licenses.rotate Rotate a license key to a new one; the previous key stops validating immediately Risk: write
Input Output

verify

licenses.verify Verify a license key against a product and read its purchase; increments the license use counter unless increment_uses_count is “false” Risk: write
Input Output

Media

create

media.create Add a media library file from a public image URL or a direct-upload signed blob id Risk: write
Input Output

delete

media.delete Delete a media library file by id Risk: destructive
Input Output

list

media.list List the authenticated user’s media library files Risk: read
Input: empty object Output

Offer Codes

createForProduct

offerCodes.createForProduct Create a fixed-amount or percentage offer code for a product, optionally universal, automatic and scheduled Risk: write
Input Output

deleteForProduct

offerCodes.deleteForProduct Permanently delete one of a product’s offer codes Risk: destructive
Input Output

get

offerCodes.get Read one store-wide offer code by id Risk: read
Input Output

getForProduct

offerCodes.getForProduct Read one of a product’s offer codes by id Risk: read
Input Output

list

offerCodes.list List the store’s non-deleted offer codes, newest first, optionally filtered to automatic sales Risk: read
Input Output

listForProduct

offerCodes.listForProduct List all of a product’s offer codes with amounts and redemption counts Risk: read
Input Output

update

offerCodes.update Update a store-wide offer code schedule, usage cap or minimum; the amount and universality cannot change Risk: write
Input Output

updateForProduct

offerCodes.updateForProduct Update one of a product’s offer codes: usage cap, minimum, automatic application and validity window Risk: write
Input Output

Payouts

get

payouts.get Read one payout with its sale ids and optional per-transaction breakdown lines Risk: read
Input Output

list

payouts.list List payouts with amount, currency, status and bank destination, filterable by date range Risk: read
Input Output

upcoming

payouts.upcoming Read the up to two upcoming payouts with their transaction lines Risk: read
Input Output

Products

categoriesList

products.categoriesList List every product category; a category path feeds the category parameter when creating or updating products Risk: read
Input: empty object Output

coversAdd

products.coversAdd Attach a cover to a product from a public image/video or YouTube/Vimeo URL Risk: write
Input Output

coversDelete

products.coversDelete Permanently delete one of a product’s covers by id Risk: destructive
Input Output

create

products.create Create a product with name, price in cents, type, tags, refund policy, rich content pages and attached files Risk: write
Input
Output

delete

products.delete Permanently delete a product Risk: destructive
Input Output

disable

products.disable Unpublish (disable) an existing product Risk: write
Input Output

enable

products.enable Publish (enable) an existing product Risk: write
Input Output

get

products.get Get one product by id, including description, price, tags and purchasing-power-parity prices Risk: read
Input Output

list

products.list List the authenticated user’s Gumroad products with price, publication state and sales counts Risk: read
Input: empty object Output

reviewsList

products.reviewsList List one product’s reviews with rating, message and the seller’s public reply Risk: read
Input Output

thumbnailDelete

products.thumbnailDelete Remove a product’s thumbnail Risk: destructive
Input Output

thumbnailSet

products.thumbnailSet Set a product’s thumbnail from a public image URL or a direct-upload signed blob id Risk: write
Input Output

update

products.update Update a product; files and tags are full replacements, and custom_html or cover_ids can be rewritten Risk: write
Input
Output

Public

product

public.product Read the public product page data for a permalink (price, covers, description, reviews); no authentication required Risk: read
Input Output

profile

public.profile Read a creator’s public profile with up to 100 visible products; no authentication required Risk: read
Input Output

Resource Subscriptions

list

resourceSubscriptions.list List active subscriptions for one resource event type Risk: read
Input Output

subscribe

resourceSubscriptions.subscribe Subscribe a post URL to one of the 8 resource event types (sales, refunds, disputes, subscription changes); receiving deliveries is out of scope Risk: write
Input Output

testEvent

resourceSubscriptions.testEvent Queue a sample event for a resource subscription post URL Risk: write
Input Output

unsubscribe

resourceSubscriptions.unsubscribe Delete a resource subscription by id Risk: destructive
Input Output

Sales

get

sales.get Get one sale by id with price, fees, taxes, refund and chargeback state Risk: read
Input Output

list

sales.list List successful sales, filterable by date range, product, buyer email, order id, name or license key Risk: read
Input Output

markAsShipped

sales.markAsShipped Mark a physical sale as shipped with an optional tracking URL Risk: write
Input Output

refund

sales.refund Refund a sale fully, or partially with amount_cents; returns the updated sale Risk: write
Input Output

resendReceipt

sales.resendReceipt Resend the purchase receipt to the customer’s email Risk: write
Input Output

revokeAccess

sales.revokeAccess Revoke the buyer’s access to a sale without refunding it (refused for refunded, physical or subscription sales) Risk: write
Input Output

undoRevokeAccess

sales.undoRevokeAccess Restore a buyer’s access to a previously revoked sale Risk: write
Input Output

Subscribers

get

subscribers.get Read one subscriber by id with status, recurrence and license key Risk: read
Input Output

list

subscribers.list List one product’s subscribers with status, recurrence and license key Risk: read
Input Output

Tax Forms

download

taxForms.download Download a tax form PDF for a year and form type as base64 with filename and content type Risk: read
Input Output

list

taxForms.list List generated tax forms (1099-K, 1099-MISC) for one tax year or every year Risk: read
Input Output

User

customHtmlGet

user.customHtmlGet Read the profile’s custom HTML landing page plus a rendered fallback of the current storefront Risk: read
Input: empty object Output

customHtmlPreview

user.customHtmlPreview Sanitize profile HTML and return the sanitized result without saving anything Risk: write
Input Output

customHtmlUpdate

user.customHtmlUpdate Publish or clear the profile custom HTML landing page; the response carries a sanitization report and the previous HTML for rollback Risk: write
Input Output

get

user.get Read the authenticated user’s profile: name, bio, links and (with view_sales) email Risk: read
Input: empty object Output

refundPolicyGet

user.refundPolicyGet Read the account-level refund policy Risk: read
Input: empty object Output

refundPolicyUpdate

user.refundPolicyUpdate Update the account-level refund policy period and its fine print (max 3000 characters) Risk: write
Input Output

Variant Categories

create

variantCategories.create Create a variant category on a product by title Risk: write
Input Output

delete

variantCategories.delete Permanently delete a product’s variant category Risk: destructive
Input Output

get

variantCategories.get Read one of a product’s variant categories by id Risk: read
Input Output

list

variantCategories.list List a product’s variant categories Risk: read
Input Output

update

variantCategories.update Rename one of a product’s variant categories Risk: write
Input Output

variantsCreate

variantCategories.variantsCreate Create a variant with a name, price difference in cents and optional purchase cap Risk: write
Input Output

variantsDelete

variantCategories.variantsDelete Permanently delete a variant Risk: destructive
Input Output

variantsGet

variantCategories.variantsGet Read one variant by id Risk: read
Input Output

variantsList

variantCategories.variantsList List the variants in one of a product’s variant categories Risk: read
Input Output

variantsUpdate

variantCategories.variantsUpdate Update a variant name, price difference or purchase cap Risk: write
Input Output

Workflows

emailsAdd

workflows.emailsAdd Append one email step to a workflow with a delay in hours, days, weeks or months Risk: write
Input Output

emailsUpdate

workflows.emailsUpdate Update one workflow email step subject, body or delay without changing publication state Risk: write
Input Output

get

workflows.get Read one workflow with its email steps and delivery statistics Risk: read
Input Output

list

workflows.list List the seller’s active workflows, newest first Risk: read
Input: empty object Output