# `PolarExpress.Resources.Products`
[🔗](https://github.com/jeffhuen/polar_express/blob/main/lib/polar_express/resources/products.ex#L2)

Products

Products API operations.

# `t`

```elixir
@type t() :: %PolarExpress.Resources.Products{
  attached_custom_fields: term(),
  benefits: term(),
  created_at: term(),
  description: term(),
  id: term(),
  is_archived: term(),
  is_recurring: term(),
  medias: term(),
  metadata: term(),
  modified_at: term(),
  name: term(),
  organization_id: term(),
  prices: term(),
  recurring_interval: term(),
  recurring_interval_count: term(),
  trial_interval: term(),
  trial_interval_count: term(),
  visibility: term()
}
```

* `attached_custom_fields` - List of custom fields attached to the product.
* `benefits` - List of benefits granted by the product.
* `created_at` - Creation timestamp of the object. Format: date-time.
* `description` - The description of the product.
* `id` - The ID of the object. Format: uuid4.
* `is_archived` - Whether the product is archived and no longer available.
* `is_recurring` - Whether the product is a subscription.
* `medias` - List of medias associated to the product.
* `metadata`
* `modified_at` - Last modification timestamp of the object.
* `name` - The name of the product.
* `organization_id` - The ID of the organization owning the product. Format: uuid4.
* `prices` - List of prices for this product.
* `recurring_interval` - The recurring interval of the product. If `None`, the product is a one-time purchase.
* `recurring_interval_count` - Number 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.
* `trial_interval` - The interval unit for the trial period.
* `trial_interval_count` - The number of interval units for the trial period.
* `visibility` - The visibility of the product.

# `object_name`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
