# Products

 - [GET /Products](https://docs.api.saleslayer.com/apis/catalog-v2.0/products/filterproductsasync.md): Filters and returns a paginated collection of Product resources using OData query options. ## Authentication Requires a valid API key in the `X-API-KEY` header. ## Headers ### Accept-Language Indicate
 - [POST /Products](https://docs.api.saleslayer.com/apis/catalog-v2.0/products/createproductasync.md): Creates a new Product resource from the supplied JSON body and returns its location. ## Authentication Requires a valid API key in the `X-API-KEY` header. ## Headers ### Accept-Language Culture used t
 - [GET /Products({productIdentifier})](https://docs.api.saleslayer.com/apis/catalog-v2.0/products/searchproductasync.md): Returns a single Product resource by its identifier. ## Authentication Requires a valid API key in the `X-API-KEY` header. ## Headers ### Accept-Language Indicates the preferred natural language and l
 - [PATCH /Products({productId})](https://docs.api.saleslayer.com/apis/catalog-v2.0/products/updateproductasync.md): Updates an existing Product resource, applying only the fields supplied in the JSON body (PATCH semantics). ## Authentication Requires a valid API key in the `X-API-KEY` header. ## Headers ### Accept-
 - [DELETE /Products({productId})](https://docs.api.saleslayer.com/apis/catalog-v2.0/products/deleteproductasync.md): Deletes the Product resource identified by the given identifier. ## Authentication Requires a valid API key in the `X-API-KEY` header. ## Response **204 No Content** — Product deleted. ## Error Respon
 - [GET /Products({productIdentifier})/Variants](https://docs.api.saleslayer.com/apis/catalog-v2.0/products/filtervariantsinproductasync.md): Filters the Variant resources nested within the specified Product using OData query options and returns the matching collection. ## Authentication Requires a valid API key in the `X-API-KEY` header. #
 - [GET /Products({productIdentifier})/Variants({variantIdentifier})](https://docs.api.saleslayer.com/apis/catalog-v2.0/products/searchvariantinproductasync.md): Returns a single Variant resource nested within the specified Product, with the published fields selected via OData query options. ## Authentication Requires a valid API key in the `X-API-KEY` header.
 - [GET /Products/Changelog](https://docs.api.saleslayer.com/apis/catalog-v2.0/products/filterproductschangelogasync.md): Returns a paginated collection of changelog entries recording changes to Products, filterable with OData query options. ## Authentication Requires a valid API key in the `X-API-KEY` header. ## OData Q
 - [GET /Products({productIdentifier})/Changelog](https://docs.api.saleslayer.com/apis/catalog-v2.0/products/filterproductchangelogasync.md): Returns a paginated collection of changelog entries for a single Product, filterable with OData query options. ## Authentication Requires a valid API key in the `X-API-KEY` header. ## OData Query Supp
 - [GET /Products/$metadata](https://docs.api.saleslayer.com/apis/catalog-v2.0/products/getproductmetadataasync.md): The metadata is a JSON Schema document that describes: - The implicit and custom properties exposed by the Product resource. - The associated resources (`Category`, `Attribute Set`, `Variant`) and the
