The Gumroad connector lets your AI agent act in each user's Gumroad account. Each user signs in to Gumroad once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 60 tools.
- Tools
- 60
- What they doRead · write · destructive
- 26 · 28 · 626 read28 write6 destructive
- Users sign in with
- OAuth
- OAuth app
- Your own Gumroad app
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Gumroad connection
In AgentKit > Connections, create a Gumroad connection and copy its redirect URI. The name you give it is the
connection_nameyour code passes. See Configure connections.Register an OAuth app
Gumroad connections use your own OAuth app. Register one with Gumroad and add the redirect URI you copied.
Then enter the app's Client ID and Client Secret on the Gumroad connection.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'gumroad'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Gumroad:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'gumroad_get_refund_policy',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "gumroad"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Gumroad:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="gumroad_get_refund_policy",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolgumroad_get_emailRetrieve one audience email with its HTML body and audience filters.Read-onlyGet Email
Retrieve one audience email with its HTML body and audience filters. Returns the email object with id, subject, message, state, audience_type, published_at, scheduled_at and recipients_count. Use to read one email. Use gumroad_list_emails to find ids. Requires an email id from gumroad_list_emails.
Inputs
email_idstringrequired- ID of the audience email, as returned by gumroad_list_emails (the id field, for example bfi_30HLgGWL8H2wo_Gzlg==).
gumroad_get_offer_codeRetrieve one offer code of a product.Read-onlyGet Product Offer Code
Retrieve one offer code of a product. Returns the offer_code object with id, name, amount_cents or percent_off, max_purchase_count, universal and times_used. Use to inspect one code. Use gumroad_list_offer_codes to browse the codes on a product. Requires ids from gumroad_list_products and gumroad_list_offer_codes.
Inputs
offer_code_idstringrequired- ID of the offer code, as returned by gumroad_list_offer_codes or gumroad_list_store_offer_codes (the id field, for example ZjCx1xkLQq9GeoV2sS8hTQ==).
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
gumroad_get_payoutRetrieve one payout with the sales, refunds and disputes it covers.Read-onlyGet Payout
Retrieve one payout with the sales, refunds and disputes it covers. Returns the payout object with id, amount, currency, status, processed_at and the sales, refunded_sales and disputed_sales behind it (plus transactions when requested). Use to reconcile a specific payout. Use gumroad_list_payouts to find payout ids. Requires a payout id from gumroad_list_payouts.
Inputs
payout_idstringrequired- ID of the payout, as returned by gumroad_list_payouts (the id field, for example bD3mQqHZ0C0nE2sa-Hx6JA==).
include_salesstring- Set to false to leave the sales, refunded_sales and disputed_sales details out of the response. Defaults to true.one of
truefalse include_transactionsstring- Set to true to include a transactions array with every balance-affecting transaction in the payout, as in the exported payout CSV. Defaults to false.one of
truefalse
gumroad_get_productRetrieve the full details of one product.Read-onlyGet Product
Retrieve the full details of one product. Returns the product object with name, description, price, currency, published, short_url, tags, category, variants, recurrences, custom_fields and, with the right scope, sales_count and sales_usd_cents. Use to inspect a single product. Use gumroad_list_products to browse all products. Requires a product id from gumroad_list_products.
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
gumroad_get_refund_policyRetrieve the account-level refund policy.Read-onlyGet Refund Policy
Retrieve the account-level refund policy. Returns the refund_policy object with refund_period, title, fine_print and in_effect (whether buyers currently see it). Use to check the store-wide refund terms before changing them with gumroad_update_refund_policy.
Inputs
This tool takes no inputs.
gumroad_get_saleRetrieve the full details of one sale.Read-onlyGet Sale
Retrieve the full details of one sale. Returns the sale object with id, email, product_name, price, currency, fees, tax, refund and dispute flags, variants, custom_fields and subscription details. Use to inspect a single order. Use gumroad_list_sales to find sales. Requires a sale id from gumroad_list_sales.
Inputs
sale_idstringrequired- ID of the sale, as returned by gumroad_list_sales (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==).
gumroad_get_store_offer_codeRetrieve one of the store's offer codes by id.Read-onlyGet Store Offer Code
Retrieve one of the store's offer codes by id. Returns the offer_code object with id, name, amount or percentage, universal, auto_apply, valid_at, expires_at and times_used. Use when you have a code id but not its product. Use gumroad_get_offer_code when scoping to a product. Requires an offer code id from gumroad_list_store_offer_codes.
Inputs
offer_code_idstringrequired- ID of the offer code, as returned by gumroad_list_offer_codes or gumroad_list_store_offer_codes (the id field, for example ZjCx1xkLQq9GeoV2sS8hTQ==).
gumroad_get_subscriberRetrieve one subscriber of a product.Read-onlyGet Subscriber
Retrieve one subscriber of a product. Returns the subscriber object with id, email, product_id, status, recurrence, created_at, cancelled_at, ended_at, failed_at, free_trial_ends_at and license_key. Use to check a subscription's status. Use gumroad_list_subscribers to browse. Requires a subscriber id from gumroad_list_subscribers.
Inputs
subscriber_idstringrequired- ID of the subscriber, as returned by gumroad_list_subscribers (the id field, for example GDzW4_aBdQc-o7Gbjng7lw==).
gumroad_get_upcoming_payoutsRetrieve the seller's upcoming (not yet paid) payouts.Read-onlyGet Upcoming Payouts
Retrieve the seller's upcoming (not yet paid) payouts. There can be up to two at a time. Returns a payouts array with amount, currency, status and the sales, refunded_sales and disputed_sales ids included in each (plus transactions when requested). Use to see what is about to be paid out. Use gumroad_list_payouts for past payouts.
Inputs
include_salesstring- Set to false to leave the sales, refunded_sales and disputed_sales details out of the response. Defaults to true.one of
truefalse include_transactionsstring- Set to true to include a transactions array with every balance-affecting transaction in the payout, as in the exported payout CSV. Defaults to false.one of
truefalse
gumroad_get_userRetrieve the authenticated seller's Gumroad account details.Read-onlyGet User
Retrieve the authenticated seller's Gumroad account details. Returns the user object with id, name, bio, email, twitter_handle, url and profile_picture_url. Use to confirm which Gumroad account is connected before reading or changing products and sales.
Inputs
This tool takes no inputs.
gumroad_get_variantRetrieve one variant (option) of a product.Read-onlyGet Variant
Retrieve one variant (option) of a product. Returns the variant object with id, name, description, price_difference_cents and max_purchase_count. Use to check a single option. Use gumroad_list_variants to browse all options in a category. Requires ids from gumroad_list_products, gumroad_list_variant_categories and gumroad_list_variants.
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
variant_category_idstringrequired- ID of the variant category, as returned by gumroad_list_variant_categories (for example mN7CdHiwHaR9FlxKvF-n-g==).
variant_idstringrequired- ID of the variant, as returned by gumroad_list_variants (for example kuaXCPHTmRuoK13rNGVbxg==).
gumroad_get_variant_categoryRetrieve one variant category of a product.Read-onlyGet Variant Category
Retrieve one variant category of a product. Returns the variant_category object with id and title. Use to check a single category. Use gumroad_list_variant_categories to browse all of them. Requires ids from gumroad_list_products and gumroad_list_variant_categories.
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
variant_category_idstringrequired- ID of the variant category, as returned by gumroad_list_variant_categories (for example mN7CdHiwHaR9FlxKvF-n-g==).
gumroad_get_workflowRetrieve one active workflow with its email steps and delivery statistics.Read-onlyGet Workflow
Retrieve one active workflow with its email steps and delivery statistics. Returns the workflow object with id, name, audience_type, trigger, state, filters and its emails (the email steps with delivery statistics). Use to inspect an automated email sequence. Use gumroad_list_workflows to find ids. Requires a workflow id from gumroad_list_workflows.
Inputs
workflow_idstringrequired- ID of the workflow, as returned by gumroad_list_workflows (the id field, for example 7gT2Lq9wUqSbjJ3dEoV2Zw==).
gumroad_list_categoriesList Gumroad's product category taxonomy as a flat list.Read-onlyList Categories
List Gumroad's product category taxonomy as a flat list. Returns a categories array with id, name, label, path and parent_id for each category. Use to find a valid category path or taxonomy id before calling gumroad_create_product or gumroad_update_product.
Inputs
This tool takes no inputs.
gumroad_list_custom_fieldsList the custom checkout fields attached to a product.Read-onlyList Custom Fields
List the custom checkout fields attached to a product. Returns a custom_fields array with id, type, name, required, global, collect_per_product and products for each field. Use to see what extra information buyers are asked for at checkout. Requires a product id from gumroad_list_products.
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
gumroad_list_emailsList the seller's audience emails, optionally filtered by state.Read-onlyList Emails
List the seller's audience emails, optionally filtered by state. Returns an emails array with id, subject, state, audience_type, published_at, scheduled_at and recipients_count for each email, plus next_page_key when more results follow. Use to find a draft to edit or send. Use gumroad_get_email for the full body of one email.
Inputs
page_keystring- Cursor for the next page of emails. Pass the next_page_key value from the previous response; omit for the first page.
typestring- Return only emails in this state: published, scheduled or draft. Omit to list all.one of
publishedscheduleddraft
gumroad_list_offer_codesList the offer codes that apply to one product, including universal codes that apply to every product.Read-onlyList Product Offer Codes
List the offer codes that apply to one product, including universal codes that apply to every product. Returns an offer_codes array with id, name, amount_cents or percent_off, max_purchase_count, universal and times_used for each code. Use to see the discounts on one product. Use gumroad_list_store_offer_codes to list every code in the store. Requires a product id from gumroad_list_products.
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
gumroad_list_payoutsList the seller's payouts, newest first, optionally filtered by date.Read-onlyList Payouts
List the seller's payouts, newest first, optionally filtered by date. Returns a payouts array with id (null for the upcoming payout), amount, currency, status, created_at, processed_at, payment_processor and bank_account_visual or paypal_email, plus next_page_key when more results follow. Use to review money paid out. Use gumroad_get_payout for the sales behind one payout.
Inputs
afterstring- Return only payouts after this date, in YYYY-MM-DD format, for example 2026-01-01.
beforestring- Return only payouts before this date, in YYYY-MM-DD format, for example 2026-02-01.
include_upcomingstring- Set to false to leave the upcoming payout out of the list. Defaults to true.one of
truefalse page_keystring- Cursor for the next page of payouts. Pass the next_page_key value from the previous response; omit for the first page.
gumroad_list_product_reviewsList the public reviews shown on a product page, newest first.Read-onlyList Product Reviews
List the public reviews shown on a product page, newest first. Returns a product_reviews array with id, rating, message, created_at, purchase_id, rater_name and response (up to 100 per page), plus next_page_key when more results follow. Star-only ratings without a message are not included. Use to read customer feedback for one product. Requires a product id from gumroad_list_products.
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
page_keystring- Cursor for the next page of reviews. Pass the next_page_key value from the previous response; omit for the first page.
gumroad_list_productsList the authenticated seller's products, newest first.Read-onlyList Products
List the authenticated seller's products, newest first. Returns a products array (id, name, price, currency, published, short_url, tags, sales_count and variants for each product), plus next_page_key and next_page_url when more results follow. Use to browse the catalog or find a product id. Use gumroad_get_product for the full details of one product.
Inputs
page_keystring- Cursor for the next page of products. Pass the next_page_key value from the previous response; omit for the first page.
gumroad_list_salesList the seller's successful sales, newest first, optionally filtered by date, product, buyer or license key.Read-onlyList Sales
List the seller's successful sales, newest first, optionally filtered by date, product, buyer or license key. Returns a sales array (id, email, product_name, price, currency, created_at, refunded flags, variants, order_id and more) with 10 sales per page, plus next_page_key when more results follow. Use to review orders or find a sale id. Use gumroad_get_sale for one sale.
Inputs
afterstring- Return only sales after this date, in YYYY-MM-DD format, for example 2026-01-01.
beforestring- Return only sales before this date, in YYYY-MM-DD format, for example 2026-02-01.
emailstring- Return only sales to this buyer email, for example buyer@example.com.
license_keystring- Return only the sale that issued this license key, for example 85DB562A-C11D4B06-A2335A6B-8C079166.
namestring- Return only sales to buyers with this name, for example Jane Doe.
order_idstring- Return only the sale with this numeric order id, for example 123456789.
page_keystring- Cursor for the next page of sales. Pass the next_page_key value from the previous response; omit for the first page.
product_idstring- Return only sales of this product (the id from gumroad_list_products, for example A-m3CDDC5dlrSdKZp0RFhA==).
gumroad_list_store_offer_codesList every non-deleted offer code in the seller's store, including scheduled and expired codes.Read-onlyList Store Offer Codes
List every non-deleted offer code in the seller's store, including scheduled and expired codes. Returns an offer_codes array with id, name, amount or percentage, universal, auto_apply, valid_at, expires_at and times_used, plus next_page_key when more results follow. Use to audit all discounts at once. Use gumroad_list_offer_codes for the codes on one product.
Inputs
auto_applystring- Filter by automatic application: true lists only auto-applied codes, false lists only the rest. Omit to list all codes.one of
truefalse page_keystring- Cursor for the next page of offer codes. Pass the next_page_key value from the previous response; omit for the first page.
gumroad_list_subscribersList the active subscribers of a membership or subscription product.Read-onlyList Subscribers
List the active subscribers of a membership or subscription product. Returns a subscribers array with id, email, product_id, status, recurrence, created_at, cancelled_at, ended_at, failed_at and license_key for each subscriber, plus next_page_key when paginated. Use to review who is subscribed to a product. Use gumroad_get_subscriber for one subscriber. Requires a product id from gumroad_list_products.
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
emailstring- Return only subscribers with this email address, for example buyer@example.com.
page_keystring- Cursor for the next page of subscribers. Pass the next_page_key value from the previous response; omit for the first page.
paginatedstring- Set to true to cap the response at 100 subscribers and receive next_page_key for further pages. Without it all subscribers are returned in one response.one of
truefalse
gumroad_list_variant_categoriesList the variant categories of a product, such as Size or Tier groupings.Read-onlyList Variant Categories
List the variant categories of a product, such as Size or Tier groupings. Returns a variant_categories array with id and title for each category. Use to find a variant category id. Use gumroad_list_variants to see the options inside a category. Requires a product id from gumroad_list_products.
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
gumroad_list_variantsList the variants (options) inside a variant category of a product.Read-onlyList Variants
List the variants (options) inside a variant category of a product. Returns a variants array with id, name, description, price_difference_cents and max_purchase_count for each variant. Use to browse the options of one category. Use gumroad_get_variant for a single option. Requires ids from gumroad_list_products and gumroad_list_variant_categories.
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
variant_category_idstringrequired- ID of the variant category, as returned by gumroad_list_variant_categories (for example mN7CdHiwHaR9FlxKvF-n-g==).
gumroad_list_workflowsList the seller's active email workflows, newest first.Read-onlyList Workflows
List the seller's active email workflows, newest first. Returns a workflows array with id, name, audience_type, trigger, state, published_at and emails_count for each workflow. Use to find an automated email sequence. Use gumroad_get_workflow for its email steps and delivery statistics.
Inputs
This tool takes no inputs.
gumroad_create_custom_fieldAdd a custom checkout field to a product.WriteCreate Custom Field
Add a custom checkout field to a product. Returns the created custom_field object with id, type, name and required. Use to collect extra buyer information such as a phone number. Use gumroad_update_custom_field to change whether it is required. Requires a product id from gumroad_list_products.
Inputs
namestringrequired- Label of the custom field shown to buyers at checkout, for example phone number.
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
requiredstring- Whether buyers must fill the field in: true or false. Defaults to false.one of
truefalse
gumroad_create_emailCreate a draft audience email, or send it immediately when publish is true.WriteCreate Email
Create a draft audience email, or send it immediately when publish is true. Returns the created email object with id, subject, state and audience_type. Use to write a newsletter or product update. Schedule a draft later with gumroad_schedule_email. Sending reaches real customers and cannot be undone. For audience product, also pass product_id.
Inputs
bodystringrequired- HTML body of the email, for example <p>Hello, world!</p>.
subjectstringrequired- Subject line of the email, for example Launch update.
audiencestring- Who receives the email: all, audience, customers, seller, followers, follower or product. Defaults to audience.one of
allaudiencecustomerssellerfollowersfollowerproduct product_idstring- Product id (or permalink) whose buyers receive the email. Required when audience is product, for example A-m3CDDC5dlrSdKZp0RFhA==.
publishboolean- Set true to send the email immediately instead of saving a draft.
gumroad_create_offer_codeCreate a discount code for a product, or for every product when universal is true.WriteCreate Offer Code
Create a discount code for a product, or for every product when universal is true. Returns the created offer_code object with id, name, amount_cents or percent_off, universal and max_purchase_count. Use to add a coupon. Use gumroad_update_offer_code to change an existing code. Requires a product id from gumroad_list_products.
Inputs
amount_offintegerrequired- Discount amount. With offer_type cents (the default) this is cents, for example 200 for $2.00 off. With offer_type percent it is the percentage, for example 25 for 25 percent off.
namestringrequired- The coupon code buyers type at checkout, for example SUMMER25.
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
max_purchase_countinteger- Maximum number of times the code can be redeemed, for example 100.
minimum_amount_centsinteger- Minimum order total in cents required for the code to apply, for example 1000 for $10.00.
offer_typestring- How amount_off is interpreted: cents (fixed amount, the default) or percent.one of
centspercent universalboolean- Set true to make the code apply to all of the seller's products. Defaults to false (this product only).
gumroad_create_productCreate a new product in the seller's store, published immediately unless draft is true.WriteCreate Product
Create a new product in the seller's store, published immediately unless draft is true. Returns the created product object (id, name, price, published, short_url and more) and a warning when publishing was blocked and the product was saved as a draft. Use to add a product. Use gumroad_update_product to change an existing product and gumroad_enable_product to publish a draft.
Inputs
namestringrequired- Name of the product shown on its page, for example Pencil Icon PSD.
priceintegerrequired- Price in the smallest unit of the product currency, for example 100 for $1.00 in USD. Required, even for pay-what-you-want products (it is then the minimum price).
categorystring- Full category path from gumroad_list_categories, for example design/ui-and-web/figma. Do not send together with taxonomy_id.
custom_permalinkstring- Custom URL slug for the product page, for example pencil. Must be unique within the seller's store.
custom_summarystring- Short summary shown on the product page, for example You'll get one PSD file.
customizable_priceboolean- Set true to let buyers pay what they want, with price acting as the minimum.
descriptionstring- Product description as HTML, for example <p>Vector icon pack.</p>.
draftboolean- Set true to save the product as an unpublished draft instead of publishing it. Defaults to false.
max_purchase_countinteger- Maximum number of sales allowed before the product sells out, for example 100.
native_typestring- Product type. One of digital (default), course, ebook, membership, bundle, coffee, call or commission. Cannot be changed after creation.one of
digitalcourseebookmembershipbundlecoffeecallcommission price_currency_typestring- ISO 4217 currency code in lowercase, for example usd or eur. Defaults to the seller's account currency.
refund_fine_printstring- Fine print for the product-level refund policy. Requires refund_period unless the product already has one enabled, and cannot be combined with inherit.
refund_periodstring- Product-level refund policy window in days. One of inherit (use the account default), none, 7, 14, 30 or 183. Only available when the account-level refund policy is not in effect.one of
inheritnone71430183 subscription_durationstring- Billing period for membership products only. One of monthly, quarterly, biannually, yearly or every_two_years.one of
monthlyquarterlybiannuallyyearlyevery_two_years suggested_price_centsinteger- Suggested price in cents shown to buyers on a pay-what-you-want product, for example 500.
tagsarray- Tags for the product as an array of strings, for example ["pencil", "icon"].
taxonomy_idinteger- Numeric category id from gumroad_list_categories, for example 123. Alias for category; do not send both.
gumroad_create_variantCreate a new variant (option) inside a variant category.WriteCreate Variant
Create a new variant (option) inside a variant category. Returns the created variant object with id, name, price_difference_cents and max_purchase_count. Use to add an option such as Red or Large with an optional price bump. Use gumroad_update_variant to change an existing option. Requires ids from gumroad_list_products and gumroad_list_variant_categories.
Inputs
namestringrequired- Name of the variant, for example Red.
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
variant_category_idstringrequired- ID of the variant category, as returned by gumroad_list_variant_categories (for example mN7CdHiwHaR9FlxKvF-n-g==).
max_purchase_countinteger- Maximum number of sales allowed for this variant before it sells out, for example 50.
price_difference_centsinteger- Amount in cents added to the product's base price when buyers pick this variant, for example 250 for $2.50 extra. Use 0 for no price change.
gumroad_create_variant_categoryCreate a new variant category on a product.WriteCreate Variant Category
Create a new variant category on a product. Returns the created variant_category object with id and title. Use to add a group of options such as Size or Color. Use gumroad_create_variant afterwards to add options inside it. Requires a product id from gumroad_list_products.
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
titlestringrequired- Title of the variant category, for example Colors.
gumroad_decrement_license_usesDecrease a license key's uses count by one (never below zero).WriteDecrement License Uses
Decrease a license key's uses count by one (never below zero). Returns success, the new uses count and the license purchase details. Use to give back a use, for example when a device is deactivated. Requires a product id from gumroad_list_products and the customer's license key.
Inputs
license_keystringrequired- The license key issued to the customer, for example 85DB562A-C11D4B06-A2335A6B-8C079166.
product_idstringrequired- ID of the product the license belongs to (the id field from gumroad_list_products, for example A-m3CDDC5dlrSdKZp0RFhA==).
gumroad_disable_licenseDisable a license key so it no longer verifies.WriteDisable License
Disable a license key so it no longer verifies. Returns success, the license uses count and the purchase details. Use to cut off a customer's license. Use gumroad_enable_license to reverse it. Requires a product id from gumroad_list_products and the customer's license key.
- Idempotent
Inputs
license_keystringrequired- The license key issued to the customer, for example 85DB562A-C11D4B06-A2335A6B-8C079166.
product_idstringrequired- ID of the product the license belongs to (the id field from gumroad_list_products, for example A-m3CDDC5dlrSdKZp0RFhA==).
gumroad_disable_productUnpublish a product so buyers can no longer purchase it, without deleting it.WriteDisable Product
Unpublish a product so buyers can no longer purchase it, without deleting it. Returns the product object with published set to false. Use to take a product offline temporarily. Use gumroad_delete_product to remove it permanently. Requires a product id from gumroad_list_products.
- Idempotent
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
gumroad_enable_licenseRe-enable a disabled license key.WriteEnable License
Re-enable a disabled license key. Returns success, the license uses count and the purchase details. Use to restore a license that gumroad_disable_license turned off. Requires a product id from gumroad_list_products and the customer's license key.
- Idempotent
Inputs
license_keystringrequired- The license key issued to the customer, for example 85DB562A-C11D4B06-A2335A6B-8C079166.
product_idstringrequired- ID of the product the license belongs to (the id field from gumroad_list_products, for example A-m3CDDC5dlrSdKZp0RFhA==).
gumroad_enable_productPublish a product so buyers can purchase it.WriteEnable Product
Publish a product so buyers can purchase it. Returns the product object with published set to true. Use to publish a draft or re-enable a disabled product. Use gumroad_disable_product to unpublish. Requires a product id from gumroad_list_products.
- Idempotent
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
gumroad_mark_sale_as_shippedMark a sale of a physical product as shipped.WriteMark Sale as Shipped
Mark a sale of a physical product as shipped. Returns the updated sale object. Use after fulfilling an order that requires shipping. Requires a sale id from gumroad_list_sales.
- Idempotent
Inputs
sale_idstringrequired- ID of the sale, as returned by gumroad_list_sales (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==).
tracking_urlstring- Full http or https tracking URL for the shipment, for example https://tools.usps.com/go/TrackConfirmAction?tLabels=9400.
gumroad_preview_emailSend a preview of an audience email to the seller's own email address.WriteSend Email Preview
Send a preview of an audience email to the seller's own email address. Returns the email object that was previewed (id, subject, state). Use to proofread a draft before sending it with gumroad_send_email. Requires an email id from gumroad_list_emails.
Inputs
email_idstringrequired- ID of the audience email, as returned by gumroad_list_emails (the id field, for example bfi_30HLgGWL8H2wo_Gzlg==).
gumroad_refund_saleRefund a sale in full, or partially when amount_cents is given.WriteRefund Sale
Refund a sale in full, or partially when amount_cents is given. Returns the updated sale object with its refund status. Use to return money to a buyer. Use gumroad_revoke_sale_access to cut off access without refunding. Requires a sale id from gumroad_list_sales.
- Idempotent
Inputs
sale_idstringrequired- ID of the sale, as returned by gumroad_list_sales (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==).
amount_centsinteger- Amount to refund in minor units of the sale's currency (the currency field on the sale), for example 200 for 2.00. Most currencies have 100 minor units; jpy has none, so 200 means 200 yen. Omit to refund the full remaining amount. Several partial refunds are allowed until the sale is fully refunded.
gumroad_resend_receiptResend the purchase receipt email for a sale to the customer.WriteResend Receipt
Resend the purchase receipt email for a sale to the customer. Returns success true and a confirmation message. Use when a buyer lost their receipt or download link. Requires a sale id from gumroad_list_sales.
Inputs
sale_idstringrequired- ID of the sale, as returned by gumroad_list_sales (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==).
gumroad_revoke_sale_accessRevoke a buyer's access to a sale without refunding it.WriteRevoke Sale Access
Revoke a buyer's access to a sale without refunding it. Returns the updated sale object with access_revoked set to true. Use to cut off library and download access. Refused for refunded sales, physical products and subscriptions. Use gumroad_undo_revoke_sale_access to restore access. Requires a sale id from gumroad_list_sales.
- Idempotent
Inputs
sale_idstringrequired- ID of the sale, as returned by gumroad_list_sales (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==).
gumroad_rotate_licenseReplace a license key with a new one.WriteRotate License
Replace a license key with a new one. The old key stops working. Returns success, the uses count and the purchase details including the new license_key. Use when a customer's key has leaked. Use gumroad_disable_license to switch a key off without issuing a new one. Requires a product id from gumroad_list_products and the customer's current license key.
Inputs
license_keystringrequired- The license key issued to the customer, for example 85DB562A-C11D4B06-A2335A6B-8C079166.
product_idstringrequired- ID of the product the license belongs to (the id field from gumroad_list_products, for example A-m3CDDC5dlrSdKZp0RFhA==).
gumroad_schedule_emailSchedule a draft audience email to publish at a set time.WriteSchedule Email
Schedule a draft audience email to publish at a set time. Scheduling again replaces the earlier time. Returns the email object with state scheduled and scheduled_at. Use to send later. Use gumroad_unschedule_email to cancel. Requires a draft email id from gumroad_list_emails.
Inputs
email_idstringrequired- ID of the audience email, as returned by gumroad_list_emails (the id field, for example bfi_30HLgGWL8H2wo_Gzlg==).
to_be_published_atstringrequired- Publish date and time in the seller's timezone, formatted YYYY-MM-DD HH:MM, for example 2026-07-01 14:00.
gumroad_send_emailPublish a draft audience email and send it to its audience now.WriteSend Email
Publish a draft audience email and send it to its audience now. Returns the email object with its new state. Use when the draft is final. This reaches real customers and cannot be undone. Use gumroad_schedule_email to send later. Requires a draft email id from gumroad_list_emails.
Inputs
email_idstringrequired- ID of the audience email, as returned by gumroad_list_emails (the id field, for example bfi_30HLgGWL8H2wo_Gzlg==).
gumroad_undo_revoke_sale_accessRestore a buyer's access to a sale whose access was previously revoked.WriteUndo Revoke Sale Access
Restore a buyer's access to a sale whose access was previously revoked. Returns the updated sale object with access_revoked set to false. Use to reverse gumroad_revoke_sale_access. Requires a sale id from gumroad_list_sales.
- Idempotent
Inputs
sale_idstringrequired- ID of the sale, as returned by gumroad_list_sales (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==).
gumroad_unschedule_emailCancel a scheduled audience email and turn it back into a draft.WriteUnschedule Email
Cancel a scheduled audience email and turn it back into a draft. Returns the email object with state draft. Use to stop a scheduled send. Requires a scheduled email id from gumroad_list_emails.
Inputs
email_idstringrequired- ID of the audience email, as returned by gumroad_list_emails (the id field, for example bfi_30HLgGWL8H2wo_Gzlg==).
gumroad_update_custom_fieldChange whether a product's custom checkout field is required.WriteUpdate Custom Field
Change whether a product's custom checkout field is required. Returns the updated custom_field object with id, type, name and required. Use to make a field mandatory or optional. Use gumroad_create_custom_field to add a new field. Requires a product id from gumroad_list_products and a field name from gumroad_list_custom_fields.
- Idempotent
Inputs
namestringrequired- Name of the custom field exactly as shown by gumroad_list_custom_fields, for example phone number.
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
requiredstringrequired- Whether buyers must fill the field in: true or false.one of
truefalse
gumroad_update_offer_codeUpdate a store offer code.WriteUpdate Offer Code
Update a store offer code. Only the fields you pass are changed. Returns the updated offer_code object with id, name, amount_cents or percent_off, max_purchase_count, minimum_amount_cents, auto_apply, valid_at and expires_at. Use to change limits, validity dates or automatic application of a code. Use gumroad_create_offer_code to add a new code. Requires an offer code id from gumroad_list_store_offer_codes or gumroad_list_offer_codes.
- Idempotent
Inputs
offer_code_idstringrequired- ID of the offer code, as returned by gumroad_list_offer_codes or gumroad_list_store_offer_codes (the id field, for example ZjCx1xkLQq9GeoV2sS8hTQ==).
auto_applyboolean- Set true to apply a universal code automatically on product pages and profile cards. Disabling it clears sale_label.
expires_atstring- End time as an RFC 3339 timestamp with a time zone, for example 2026-12-01T00:00:00-05:00. An end requires a start, and must come after it.
max_purchase_countinteger- New maximum number of redemptions, for example 100.
minimum_amount_centsinteger- New minimum order total in cents required for the code to apply, for example 1000.
sale_labelstring- Plain-text label of up to 32 characters shown for an automatic sale, for example Black Friday. Shows Sale when blank.
valid_atstring- Start time as an RFC 3339 timestamp with a time zone, for example 2026-11-27T00:00:00-05:00.
gumroad_update_productUpdate fields on an existing product.WriteUpdate Product
Update fields on an existing product. Only the fields you pass are changed. Returns the updated product object and a warning when an offer code became invalid for the product. Use to rename, reprice, retag or reconfigure a product. Use gumroad_enable_product or gumroad_disable_product to publish or unpublish. Requires a product id from gumroad_list_products.
- Idempotent
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
categorystring- Full category path from gumroad_list_categories, for example design/ui-and-web/figma. Do not send together with taxonomy_id.
custom_permalinkstring- New custom URL slug for the product page, for example pencil-v2.
custom_receiptstring- Custom text added to the purchase receipt, for example Thanks for your purchase!
custom_summarystring- Short summary shown on the product page, for example You'll get one PSD file.
customizable_priceboolean- Set true to enable pay-what-you-want pricing, false to disable it.
descriptionstring- New product description as HTML, for example <p>Updated icon pack.</p>.
display_product_reviewsboolean- Set true to show reviews on the product page.
is_adultboolean- Set true to mark the product as adult content.
max_purchase_countinteger- Maximum number of sales allowed before the product sells out, for example 100.
namestring- New name of the product, for example Pencil Icon PSD v2.
priceinteger- New price in the smallest currency unit, for example 200 for $2.00. Not allowed for tiered memberships; use gumroad_update_variant to change tier pricing.
price_currency_typestring- ISO 4217 currency code in lowercase, for example usd or eur.
quantity_enabledboolean- Set true to let buyers choose a quantity at checkout.
refund_fine_printstring- Fine print for the product-level refund policy. Requires refund_period unless the product already has one enabled, and cannot be combined with inherit. An empty string clears it.
refund_periodstring- Product-level refund policy window in days. One of inherit (switch back to the account default), none, 7, 14, 30 or 183. Only available when the account-level refund policy is not in effect.one of
inheritnone71430183 should_show_sales_countboolean- Set true to show the number of sales on the product page.
suggested_price_centsinteger- Suggested price in cents for a pay-what-you-want product, for example 500.
tagsarray- Tags as an array of strings, for example ["pencil", "icon"]. This fully replaces the existing tags.
taxonomy_idinteger- Numeric category id from gumroad_list_categories, for example 123. Alias for category; do not send both.
gumroad_update_refund_policyUpdate the account-level refund policy.WriteUpdate Refund Policy
Update the account-level refund policy. Returns the updated refund_policy object with refund_period, title, fine_print and in_effect. Use to change the store-wide refund window. Rejected when the account-level policy is not in effect; set product-level policies with gumroad_update_product instead.
- Idempotent
Inputs
refund_periodstringrequired- Refund window in days. One of none, 7, 14, 30 or 183.one of
none71430183 fine_printstring- Fine print shown with the policy, up to 3000 characters. HTML is stripped. An empty string clears it.
gumroad_update_variantUpdate a variant (option) of a product.WriteUpdate Variant
Update a variant (option) of a product. Only the fields you pass are changed. Returns the updated variant object with id, name, price_difference_cents and max_purchase_count. Use to rename an option or change its price difference. Use gumroad_update_variant_category to rename the whole group. Requires ids from gumroad_list_products, gumroad_list_variant_categories and gumroad_list_variants.
- Idempotent
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
variant_category_idstringrequired- ID of the variant category, as returned by gumroad_list_variant_categories (for example mN7CdHiwHaR9FlxKvF-n-g==).
variant_idstringrequired- ID of the variant, as returned by gumroad_list_variants (for example kuaXCPHTmRuoK13rNGVbxg==).
max_purchase_countinteger- New maximum number of sales allowed for this variant, for example 50.
namestring- New name of the variant, for example Dark Red.
price_difference_centsinteger- New amount in cents added to the product's base price for this variant, for example 150.
gumroad_update_variant_categoryRename a variant category of a product.WriteUpdate Variant Category
Rename a variant category of a product. Returns the updated variant_category object with id and title. Use to change a category title. Use gumroad_update_variant to change one of its options. Requires ids from gumroad_list_products and gumroad_list_variant_categories.
- Idempotent
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
titlestringrequired- New title of the variant category, for example Sizes.
variant_category_idstringrequired- ID of the variant category, as returned by gumroad_list_variant_categories (for example mN7CdHiwHaR9FlxKvF-n-g==).
gumroad_verify_licenseVerify a customer's license key for a product and count one use unless increment_uses_count is false.WriteVerify License
Verify a customer's license key for a product and count one use unless increment_uses_count is false. Returns success, the license uses count and the purchase details (email, price, refunded, chargebacked, variants, subscription dates). Use to check that a license key is valid. Pass increment_uses_count false to check without consuming a use. Requires a product id from gumroad_list_products.
Inputs
license_keystringrequired- The license key issued to the customer, for example 85DB562A-C11D4B06-A2335A6B-8C079166.
product_idstringrequired- ID of the product the license belongs to (the id field from gumroad_list_products, for example A-m3CDDC5dlrSdKZp0RFhA==).
increment_uses_countboolean- Set false to verify without incrementing the license's uses count. Defaults to true, which counts one use per call.
gumroad_delete_custom_fieldRemove a custom checkout field from a product.DestructiveDelete Custom Field
Remove a custom checkout field from a product. Returns success true and a confirmation message. Use to stop collecting that information at checkout. Requires a product id from gumroad_list_products and a field name from gumroad_list_custom_fields.
- Idempotent
Inputs
namestringrequired- Name of the custom field exactly as shown by gumroad_list_custom_fields, for example phone number.
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
gumroad_delete_emailDelete an audience email.DestructiveDelete Email
Delete an audience email. Returns success true and a confirmation message. Use to discard a draft or remove a published email. Requires an email id from gumroad_list_emails.
- Idempotent
Inputs
email_idstringrequired- ID of the audience email, as returned by gumroad_list_emails (the id field, for example bfi_30HLgGWL8H2wo_Gzlg==).
gumroad_delete_offer_codePermanently delete an offer code of a product.DestructiveDelete Offer Code
Permanently delete an offer code of a product. Returns success true and a confirmation message. Use to retire a coupon for good. Requires ids from gumroad_list_products and gumroad_list_offer_codes.
- Idempotent
Inputs
offer_code_idstringrequired- ID of the offer code, as returned by gumroad_list_offer_codes or gumroad_list_store_offer_codes (the id field, for example ZjCx1xkLQq9GeoV2sS8hTQ==).
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
gumroad_delete_productPermanently delete a product.DestructiveDelete Product
Permanently delete a product. Returns success true and a confirmation message. Use only when the product must be removed for good. Use gumroad_disable_product to unpublish it while keeping it. Requires a product id from gumroad_list_products.
- Idempotent
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
gumroad_delete_variantPermanently delete a variant (option) of a product.DestructiveDelete Variant
Permanently delete a variant (option) of a product. Returns success true and a confirmation message. Use to remove a single option. Use gumroad_delete_variant_category to remove the whole group. Requires ids from gumroad_list_products, gumroad_list_variant_categories and gumroad_list_variants.
- Idempotent
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
variant_category_idstringrequired- ID of the variant category, as returned by gumroad_list_variant_categories (for example mN7CdHiwHaR9FlxKvF-n-g==).
variant_idstringrequired- ID of the variant, as returned by gumroad_list_variants (for example kuaXCPHTmRuoK13rNGVbxg==).
gumroad_delete_variant_categoryPermanently delete a variant category of a product.DestructiveDelete Variant Category
Permanently delete a variant category of a product. Returns success true and a confirmation message. Use only when the whole group of options should be removed. Use gumroad_delete_variant to remove a single option. Requires ids from gumroad_list_products and gumroad_list_variant_categories.
- Idempotent
Inputs
product_idstringrequired- ID of the product, as returned by gumroad_list_products (the id field, for example A-m3CDDC5dlrSdKZp0RFhA==). The product's custom permalink also works.
variant_category_idstringrequired- ID of the variant category, as returned by gumroad_list_variant_categories (for example mN7CdHiwHaR9FlxKvF-n-g==).
No tools match.