> For the complete documentation index, see [llms.txt](https://developer.firmhouse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.firmhouse.com/graphql-api/api-reference/objects/product.md).

# Product

### Fields

#### assetPurchasable ([Boolean](/graphql-api/api-reference/objects/boolean.md)!)

If enabled, customers can purchase the assets assigned to this product via the self service center

#### assets ([AssetConnection](/graphql-api/api-reference/objects/asset-connection.md))

List of assets associated with this product.

| Argument                                                        | Description                                                             |
| --------------------------------------------------------------- | ----------------------------------------------------------------------- |
| after ([String](/graphql-api/api-reference/objects/string.md))  | Returns the elements in the list that come after the specified cursor.  |
| before ([String](/graphql-api/api-reference/objects/string.md)) | Returns the elements in the list that come before the specified cursor. |
| first ([Int](/graphql-api/api-reference/objects/int.md))        | Returns the first *n* elements from the list.                           |
| last ([Int](/graphql-api/api-reference/objects/int.md))         | Returns the last *n* elements from the list.                            |

#### available ([Boolean](/graphql-api/api-reference/objects/boolean.md)!)

Whether the product is available for customers

#### availableViaSsc ([Boolean](/graphql-api/api-reference/objects/boolean.md)!)

If enabled, customers can add this product to their subscription via the self service center

#### costPerItemCents ([Int](/graphql-api/api-reference/objects/int.md))

Cost per item in cents

#### eligibleForDiscount ([Boolean](/graphql-api/api-reference/objects/boolean.md)!)

Whether this product should be included when calculating discount on invoices.

#### graceCancellationEnabled ([Boolean](/graphql-api/api-reference/objects/boolean.md))

If the grace cancellation is enabled

#### graceCancellationPeriod ([Int](/graphql-api/api-reference/objects/int.md))

The grace cancellation period

#### graceCancellationUnit ([CommitmentUnit](/graphql-api/api-reference/objects/commitment-unit.md))

The grace cancellation unit

#### id ([ID](/graphql-api/api-reference/objects/id.md)!)

The database ID for this product

#### imageTranslations (\[[ImageTranslation](/graphql-api/api-reference/objects/image-translation.md)!])

All translations for the product image

#### imageUrl ([String](/graphql-api/api-reference/objects/string.md))

URL to image of the product

#### inStock ([Boolean](/graphql-api/api-reference/objects/boolean.md)!)

Whether the product is in stock

#### interval ([Int](/graphql-api/api-reference/objects/int.md))

The amount of time in units between shipments of this order

#### intervalUnitOfMeasure ([String](/graphql-api/api-reference/objects/string.md))

The time measure for interval units

#### mandatory ([Boolean](/graphql-api/api-reference/objects/boolean.md)!)

Will automatically get added on signup.

#### maximumCommitmentEnabled ([Boolean](/graphql-api/api-reference/objects/boolean.md))

If the maximum commitment is enabled

#### maximumCommitmentPeriod ([Int](/graphql-api/api-reference/objects/int.md))

The maximum commitment period

#### maximumCommitmentUnit ([MaximumCommitmentUnit](/graphql-api/api-reference/objects/maximum-commitment-unit.md))

The maximum commitment unit

#### metadata ([JSON](/graphql-api/api-reference/objects/json.md))

Metadata makes it possible to store additional information on objects.

#### minimumCommitmentEnabled ([Boolean](/graphql-api/api-reference/objects/boolean.md))

If the minimum commitment is enabled

#### minimumCommitmentPeriod ([Int](/graphql-api/api-reference/objects/int.md))

The minimum commitment period

#### minimumCommitmentUnit ([CommitmentUnit](/graphql-api/api-reference/objects/commitment-unit.md))

The minimum commitment unit

#### nthProductFree ([Int](/graphql-api/api-reference/objects/int.md))

The nth product of this is free

#### priceCents ([Int](/graphql-api/api-reference/objects/int.md))

The price of the product in cents

#### priceCurrency ([String](/graphql-api/api-reference/objects/string.md))

The currency of the product

#### priceExcludingTaxCents ([Int](/graphql-api/api-reference/objects/int.md))

The price of the product excluding tax in cents

#### priceIncludingTaxCents ([Int](/graphql-api/api-reference/objects/int.md))

The price of the product including tax in cents

#### priceWithSymbol ([String](/graphql-api/api-reference/objects/string.md))

The price of the product including tax, with currency symbol

#### prices (\[[Price](/graphql-api/api-reference/objects/price.md)!])

Country specific prices set for this product. These price will override default product price for specified countries.

#### productGroup ([ProductGroup](/graphql-api/api-reference/objects/product-group.md))

The product group this product belongs to

#### productType ([String](/graphql-api/api-reference/objects/string.md))

Either recurring or one\_time\_purchase. For plan-based projects, indicates billing recurrence. For dynamic subscriptions, reflects the shipping schedule based on interval\_unit\_of\_measure.

#### publicNameTranslations (\[[Translation](/graphql-api/api-reference/objects/translation.md)!])

All translations for the product public name

#### retailPriceCents ([Int](/graphql-api/api-reference/objects/int.md)!)

The original retail price shown on the asset purchase flow

#### shopifyProductId ([String](/graphql-api/api-reference/objects/string.md))

The associated Shopify product\_id

#### shopifyProductType ([String](/graphql-api/api-reference/objects/string.md))

The product category from Shopify

#### shopifyVariantId ([String](/graphql-api/api-reference/objects/string.md))

The associated Shopify variant\_id

#### sku ([String](/graphql-api/api-reference/objects/string.md))

The product SKU

#### slug ([ID](/graphql-api/api-reference/objects/id.md)!)

The product slug

#### supplier ([String](/graphql-api/api-reference/objects/string.md))

The supplier of the product

#### taxAmountCents ([Int](/graphql-api/api-reference/objects/int.md))

The amount of tax for this product in cents

#### taxPercentage ([Float](/graphql-api/api-reference/objects/float.md))

The tax percentage for this product

#### title ([String](/graphql-api/api-reference/objects/string.md)!)

Name of the product

#### titleTranslations (\[[Translation](/graphql-api/api-reference/objects/translation.md)!])

All translations for the product title
