Skip to main content
POST
Create Product

Authorizations

Authorization
string
header
required

Authentication: You can generate a Personal Access Token from your settings.

Body

application/json
name
string
required

Customer-facing name assigned to the product.

Required string length: 3 - 64
prices
(ProductPriceFixedCreate · object | ProductPriceCustomCreate · object | ProductPriceSeatBasedCreate · object | ProductPriceMeteredUnitCreate · object)[]
required

Collection of available prices for this product. It may combine at most one fixed price with one seat-based price (billed as fixed + seat_charge), or contain a single custom or free price, plus any number of metered prices. A free price cannot be combined with other prices, and a custom price cannot be combined with a fixed or seat-based price. Metered prices are not supported on one-time purchase products.

Minimum array length: 1

Schema used to create a fixed price.

recurring_interval
enum<string>
required

Recurring Interval: Recurring interval of the product.

Available options:
day,
week,
month,
year
metadata
Metadata · object

Metadata map for information your integration needs to retain.

The key must be a string with a maximum length of 40 characters. The value must be either:

  • A string with a maximum length of 500 characters
  • An integer
  • A floating-point number
  • A boolean

You can store up to 50 key-value pairs.

description
string | null

Customer-facing description attached to the product.

visibility
enum<string>
default:public

Controls where customers can discover the product.

Available options:
draft,
private,
public
medias
string<uuid4>[] | null

Collection of file IDs. Each one must be on the same organization as the product, of type product_media and correctly uploaded.

attached_custom_fields
AttachedCustomFieldCreate · object[]

Collection of custom fields to attach.

organization_id
string<uuid4> | null

Identifier of the organization.

Example:

"1dbfc517-0bbf-4301-9ba8-555ca42b9737"

trial_interval
enum<string> | null

Unit used to measure the trial period.

Available options:
day,
week,
month,
year
trial_interval_count
integer | null

Length of the trial measured in the selected interval.

Required range: 1 <= x <= 1000
recurring_interval_count
integer
default:1

Count of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on.

Required range: 1 <= x <= 999

Response

Response: Product created.

Object representing product.

id
string<uuid4>
required

The stable identifier for this record.

created_at
string<date-time>
required

The time Ruba created this record.

modified_at
string<date-time> | null
required

The time this record last changed.

trial_interval
enum<string> | null
required

Unit used to measure the trial period.

Available options:
day,
week,
month,
year
trial_interval_count
integer | null
required

Length of the trial measured in the selected interval.

name
string
required

Customer-facing name assigned to the product.

description
string | null
required

Customer-facing description attached to the product.

visibility
enum<string>
required

Controls where customers can discover the product.

Available options:
draft,
private,
public
recurring_interval
enum<string> | null
required

Recurring Interval: Recurring interval of the product. If None, the product is a one-time purchase.

Available options:
day,
week,
month,
year
recurring_interval_count
integer | null
required

Count of interval units of the subscription. If this is set to 1 the charge will happen every interval (e.g. every month), if set to 2 it will be every other month, and so on. None for one-time products.

is_recurring
boolean
required

Indicates whether the product is a subscription.

is_archived
boolean
required

Indicates whether the product is archived and no longer available.

organization_id
string<uuid4>
required

Unique identifier for the organization owning the product.

metadata
object
required
prices
(LegacyRecurringProductPriceFixed · object | LegacyRecurringProductPriceCustom · object | ProductPriceFixed · object | ProductPriceCustom · object | ProductPriceSeatBased · object | ProductPriceMeteredUnit · object)[]
required

Collection of prices for this product.

A recurring price for a product, i.e. a subscription.

Deprecated: The recurring interval should be set on the product itself.

benefits
(BenefitCustom · object | BenefitDiscord · object | BenefitGitHubRepository · object | BenefitDownloadables · object | BenefitLicenseKeys · object | BenefitMeterCredit · object | BenefitFeatureFlag · object | BenefitSlackSharedChannel · object)[]
required

Collection of benefits granted by the product.

A benefit of type custom.

Use it to grant any kind of benefit that doesn't fit in the other types.

medias
ProductMediaFileRead · object[]
required

Collection of medias associated to the product.

attached_custom_fields
AttachedCustomField · object[]
required

Collection of custom fields attached to the product.