API - Mark variant as digital product

Topic summary

A user asks how to mark a product variant as digital (non-physical) through the Shopify API, noting they cannot find relevant documentation.

Initial Response:

  • No specific API endpoint exists to directly mark variants as digital
  • Suggested workaround: set the product’s type_t field to “Digital” to indicate the product type
  • Reminder to handle digital product delivery separately for smooth customer experience

Working Solution (GraphQL mutation):

productVariantUpdate(
  input: {
    id: "{id_input}",
    inventoryPolicy: CONTINUE,
    requiresShipping: false
  }
)

Key settings:

  • Set requiresShipping: false to indicate no physical shipping needed
  • Set inventoryPolicy: CONTINUE for inventory handling
  • For 2024-07 API version: use inventoryItemUpdate mutation and retrieve inventoryId from the productVariant in productQuery

The discussion provides a practical workaround using variant-level shipping settings rather than a dedicated “digital product” flag.

Summarized with AI on November 8. AI used: claude-sonnet-4-5-20250929.

Hi,

Is there a way to mark a variant as a digital product instead of a physical one through the API? I can’t seem to find anything about digital products/variants in the API documentation.

Thank you

Hi @DirkDooms ,

Unfortunately there is not a specific API endpoint to mark a variant as a digital one. However, you can set the product_type field to Digital to indicate it,

Always remember to handle digital product delivery separately for a smooth customer experience.

This is a late answer but I found it

mutation {
productVariantUpdate(
input: {
id: “{id_input}”,
inventoryPolicy: CONTINUE,
requiresShipping: false
}
) {
userErrors {
field
message
}
}
} come 2024-07 API you need to use inventoryItemUpdate and you can get the inventoryId from the productVariant in the productQuery!