# 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

#### 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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.firmhouse.com/graphql-api/api-reference/objects/product.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
