Skip to main content

Enable Product

PUT https://api.gumroad.com/v2/products/:id/enable
Enable (publish) a product to make it available for purchase. This validates the product and makes it live.

Authentication

Requires OAuth scope: edit_products

Path Parameters

id
string
required
The product’s external ID or unique permalink

Publishing Requirements

Before a product can be enabled, the following conditions must be met:
  • User’s email must be confirmed
  • At least one payment method must be connected
  • Physical products must have at least one shipping destination
  • Offer codes must have valid pricing

Response

success
boolean
required
Whether the operation was successful
product
object
The updated product object (see Retrieve Product for full schema)

Example Request

curl -X PUT "https://api.gumroad.com/v2/products/kUxDaJMg5NP9PpHRCNYCrw==/enable" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Example Response

{
  "success": true,
  "product": {
    "id": "kUxDaJMg5NP9PpHRCNYCrw==",
    "name": "My Awesome Product",
    "published": true,
    "price": 2999,
    "currency": "usd",
    "short_url": "https://example.gumroad.com/l/awesome-product",
    "formatted_price": "$29.99"
  }
}

Error Responses

Email Not Confirmed

{
  "success": false,
  "message": "You have to confirm your email address before you can do that."
}

No Payment Method

{
  "success": false,
  "message": "You must connect at least one payment method before you can publish this product for sale."
}

Missing Shipping Destinations

{
  "success": false,
  "message": "The product needs to be shippable to at least one destination."
}

Invalid Offer Code Pricing

{
  "success": false,
  "message": "Offer codes must have valid pricing."
}

Disable Product

PUT https://api.gumroad.com/v2/products/:id/disable
Disable (unpublish) a product to make it unavailable for purchase. The product remains in your account but cannot be purchased.

Authentication

Requires OAuth scope: edit_products

Path Parameters

id
string
required
The product’s external ID or unique permalink

Response

success
boolean
required
Whether the operation was successful
product
object
The updated product object (see Retrieve Product for full schema)

Example Request

curl -X PUT "https://api.gumroad.com/v2/products/kUxDaJMg5NP9PpHRCNYCrw==/disable" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Example Response

{
  "success": true,
  "product": {
    "id": "kUxDaJMg5NP9PpHRCNYCrw==",
    "name": "My Awesome Product",
    "published": false,
    "price": 2999,
    "currency": "usd",
    "short_url": "https://example.gumroad.com/l/awesome-product",
    "formatted_price": "$29.99"
  }
}

Error Responses

Product Not Found

{
  "success": false,
  "message": "The product was not found."
}

Disable Failed

{
  "success": false,
  "message": "The product was unable to be modified."
}

Disabling a product does not affect existing purchases or active subscriptions. Customers who previously purchased will still have access to the product.
When enabling a product with video content, the system will automatically transcode videos if the user has auto-transcoding enabled or if the product has previous successful sales.

Build docs developers (and LLMs) love