# HubSpot docs: APIs Legacy CRM Objects Products

## Products

- [CRM API | Products](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/guide.md): In HubSpot, products represent the goods or services you sell. The products endpoints allow you to manage and sync this data.
- [Create](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/create-product.md): Create a product with the given properties and return a copy of the object, including the ID. Documentation and examples for creating standard products is provided.
- [Read](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/get-product.md): Read an Object identified by `{productId}`. `{productId}` refers to the internal object ID by default, or optionally any unique property value as specified by the `idProperty` query param.  Control what is returned via the `properties` query param.
- [List](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/get-products.md): Read a page of products. Control what is returned via the `properties` query param.
- [Update](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/update-product.md): Perform a partial update of an Object identified by `{productId}`or optionally a unique property value as specified by the `idProperty` query param. `{productId}` refers to the internal object ID by default, and the `idProperty` query param refers to a property whose values are unique for the object…
- [Archive](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/delete-product.md): Move an Object identified by `{productId}` to the recycling bin.

### Batch

- [Create a batch of products](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/batch/create-products.md): Create multiple products in a single request by specifying their properties, and receive a response containing the details of the created products.
- [Read a batch of products by internal ID, or unique property values](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/batch/get-products.md): Retrieve records by record ID or include the `idProperty` parameter to retrieve records by a custom unique value property.
- [Update a batch of products by internal ID, or unique property values](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/batch/update-products.md): Update multiple products in a single request using their internal IDs or unique property values. This batch operation allows for efficient modifications of product records by specifying the properties to be updated. Ensure that the provided property values are correct, as read-only and non-existent…
- [Create or update a batch of products by unique property values](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/batch/upsert-products.md): Create or update records identified by a unique property value as specified by the `idProperty` query param. `idProperty` query param refers to a property whose values are unique for the object.
- [Archive a batch of products by ID](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/batch/delete-products.md): Archive multiple products at once by providing their IDs. This operation moves the specified products to the recycling bin, effectively removing them from active use without permanently deleting them.

### Search

- [Search for products using specified criteria.](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/search/search-products.md): Execute a search for products based on defined filters, properties, and sorting options. This endpoint allows for detailed querying of product data within the CRM, enabling users to retrieve specific product information by applying multiple filter groups and sorting criteria.

### v1

- [Get a group of products by ID](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/v1/get-crm-objects-v1-changelog-products.md): Create a new product. The request body should be a list of product properties you want to set for the new product, with each entry being the internal name of the property to be set, and the value of that property.
- [Get a product by ID](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/v1/get-crm-objects-v1-objects-products-id.md): Get a specific product by its ID. By default, the response will only include the ID and a few system fields for the product. You can get specific properties in the response by using the properties parameter in the URL, and that parameter can be included multiple times to get multiple properties. See…
- [Get all products](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/v1/get-crm-objects-v1-objects-products-paged.md): Get all products from a portal, up to 100 per request. By default you will only get a few system fields for any products in the response. If you want to get specific properties, you'll need to use the &properties= parameter in the request URL. The parameter can be included multiple times, so you can…
- [Update a product](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/v1/post-crm-objects-v1-objects-products-batch-create.md): Delete a group of existing products. Up to 100 products can be deleted in a single request. Note: This action cannot be undone. Deleted products cannot be updated and there is no way to restore them
- [Delete a product](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/v1/post-crm-objects-v1-objects-products-batch-delete.md): Delete an existing product. Note: This action cannot be undone. Deleted products cannot be updated and there is no way to restore them
- [Create a product](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/v1/post-crm-objects-v1-objects-products-batch-read.md): Create a group of products. Up to 100 products can be created in a single request. The request body will be an array, with each entry being a list of properties you want to set for each new product. Please see the example for more details.
- [Update a group of products](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/v1/post-crm-objects-v1-objects-products-batch-update.md): Update an existing product by its ID. The request body must be a list of properties you want to update, with each entry including the internal name of the property you want to update, and the new value for that property. See the example for details.
- [Create a group of products](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/v1/post-crm-objects-v1-objects-products.md): Update a group of existing products. Up to 100 products can be updated in a single request. The request body will be an array, with each element containing the ID of the product to update and a list of properties to update for that product. See the examples for details.
- [Delete a group of products](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/v1/put-crm-objects-v1-objects-products-id.md): Get a list of changes to products objects. Returns 1000 (or fewer) changes, starting with the _least recent_ change. The list of returned changes is limited to the last seven days. This endpoint is designed to be polled periodically, allowing your integration to keep track of which objects have been…
- [Get a log of changes for products](https://developers.hubspot.com/docs/api-reference/legacy/crm/objects/products/v1/delete-crm-objects-v1-objects-products-id.md): Get a group of products by their IDs. Up to 100 IDs can be included in a single request. By default, the response will only include the ID and a few system fields for the products. You can get specific properties in the response by using the properties parameter in the URL, and that parameter can be…

## OpenAPI Specs

- [crm-products-v3](/docs/specs/legacy/v3/crm-products-v3.json)
- [crm-products-v1](/docs/specs/legacy/v1/crm-products-v1.json)
