# Products

Property listings management (create, search, read, media, actions).

 - [POST /products](https://api-doc.immo-facile.com/openapi/products/createproduct.md): Creates a new product (property listing). **Criteria (`criteria` field):** - Each criterion is an object with `id` (criteria identifier) and `value`. - The `id` accepts **either** the XML identifier (
 - [POST /products/search](https://api-doc.immo-facile.com/openapi/products/searchproducts.md): Searches products by criteria with cursor-based or offset-based pagination. **Pagination modes:** - **Cursor-based (recommended):** Provide `cursor` parameter. Returns `next_cursor` for the next page.
 - [GET /products/{productId}](https://api-doc.immo-facile.com/openapi/products/getproduct.md): Returns detailed information about a product. Use `?fetch=` to include additional related data (same values as search endpoint). Without `?fetch=`, returns the base product fields via the standard res
 - [PATCH /products/{productId}](https://api-doc.immo-facile.com/openapi/products/updateproduct.md): Partially updates a product. Only provided fields are modified. **Important:** The request body must include `product_id` (same value as the path parameter) — used for scope verification. **Criteria:*
 - [GET /products/{productId}/lots](https://api-doc.immo-facile.com/openapi/products/getproductlots.md): Returns the lots associated with a product (sub-products, e.g. units in a building).
 - [POST /products/{productId}/views](https://api-doc.immo-facile.com/openapi/products/addproductview.md): Increments the view counter of a product from an external website.
 - [POST /products/{productId}/dpeGes](https://api-doc.immo-facile.com/openapi/products/generateproductdpeges.md): Generates the DPE/GES energy label visual for a product. The DPE/GES letters and values come from the product's criteria; only the rendering options below can be provided. All fields are optional and
 - [POST /products/{productId}/pictures/public](https://api-doc.immo-facile.com/openapi/products/addproductpublicphoto.md): Uploads a public photo for a product. Minimum width 800px, max 20MB.
 - [POST /products/{productId}/pictures/private](https://api-doc.immo-facile.com/openapi/products/addproductprivatephoto.md): Uploads a private photo for a product. Minimum width 800px, max 20MB.
 - [GET /products/{productId}/actions](https://api-doc.immo-facile.com/openapi/products/listproductactions.md): Returns paginated action history for a product.
 - [POST /products/{productId}/actions](https://api-doc.immo-facile.com/openapi/products/createproductaction.md): Logs a new action on a product record. **Important:** The action is always recorded in the application log (journal). However, it will only appear in the product's action history tab if the action typ
