POST /products/{product-id}/variants

This API is used for creating a new product variant.

The following table will help you to understand the state of the variant status after passing status value during variant creation.

Parameter ValueProduct StatusVariant Status
No value passedactiveactive
No value passedinactiveinactive
Value passed as activeactiveactive
Value passed as inactiveactiveinactive
Value passed as activeinactivenot allowed
Value passed as inactiveinactiveinactive

Servers

Path parameters

Name Type Required Description
product-id String Yes

Request headers

Name Type Required Description
chargebee-request-origin-device String No

The device from which the customer has made the request

Content-Type String Yes The media type of the request body.

Default value: "application/x-www-form-urlencoded"

chargebee-event-webhook String No

skip only webhooks

Possible values:

  • "all-disabled"
chargebee-business-entity-id String No

If the site has multiple business entities, you can use this custom HTTP header to specify the business entity for which Chargebee should perform the operation.

chargebee-event-actions String No

skip all actions to be done on the events

Possible values:

  • "all-disabled"
chargebee-request-origin-user String No

The email address of your customer/user. Use this when the email address has only ASCII characters.

chargebee-request-origin-ip String No

The IP address of the customer where the request originated

chargebee-request-origin-user-encoded String No

The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.

chargebee-event-email String No

skip only emails

Possible values:

  • "all-disabled"

Request body fields

Name Type Required Description
id String No

The immutable unique identifier of a product variant. If not passed, it will get autogenerated.

name String Yes

This is a unique name that appears for each product variant to the end user.

sku String No

A unique identifier code a seller assigns to each product variant. Retailers and merchants use SKUs to keep track of inventory and sales data and help organize products within a store or warehouse. SKUs can include a combination of letters, numbers, and symbols and can vary in length depending on the seller's needs.

description String No

A detailed description of this product variant.

external_name String No

The unique name that appears for each product variant to the end user.

metadata Object No

A collection of key-value pairs that provides extra information about the product. **Note:** There's a character limit of 65,535. [Learn more](advanced-features#metadata).

status String No

Status of the product variant. Refer to the table for more information. * active - The active product variants are visible on the storefront, subscription, or checkout. * inactive - The inactive product variants are not visible on the storefront, subscription, or checkout.

Possible values:

  • "inactive"
  • "active"
option_values Object No

List of product variants option values.

option_values.name[] Array Yes

Name of the option values.

option_values.value[] Array Yes

Pass values of the option_values

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.