# Products ## List products - [GET /v1/products](https://docs.apiera.io/openapi/products/paths/~1v1~1products/get.md): Retrieves a paginated list of products with optional filtering and hydration. ## Create product - [POST /v1/products](https://docs.apiera.io/openapi/products/paths/~1v1~1products/post.md): Creates a new product. Associations must be added separately after creation. ## Get product - [GET /v1/products/{productUuid}](https://docs.apiera.io/openapi/products/paths/~1v1~1products~1%7Bproductuuid%7D/get.md): Retrieves complete details for a single product with optional hydration. ## Update product - [PATCH /v1/products/{productUuid}](https://docs.apiera.io/openapi/products/paths/~1v1~1products~1%7Bproductuuid%7D/patch.md): Updates an existing product. Only provided fields are updated. ## Delete product - [DELETE /v1/products/{productUuid}](https://docs.apiera.io/openapi/products/paths/~1v1~1products~1%7Bproductuuid%7D/delete.md): Permanently deletes a product and all associations. Cannot be undone. ## Bulk create products - [POST /v1/products/bulk](https://docs.apiera.io/openapi/products/paths/~1v1~1products~1bulk/post.md): Creates multiple products in a single atomic operation. ## Bulk update products - [PATCH /v1/products/bulk](https://docs.apiera.io/openapi/products/paths/~1v1~1products~1bulk/patch.md): Updates multiple products in a single operation. ## Transition product lifecycle - [PATCH /v1/products/{productUuid}/actions/lifecycle](https://docs.apiera.io/openapi/products/paths/~1v1~1products~1%7Bproductuuid%7D~1actions~1lifecycle/patch.md): Transitions a product to a different lifecycle state. Valid transitions depend on current status. ## Bulk transition product lifecycle - [PATCH /v1/products/bulk/actions/lifecycle](https://docs.apiera.io/openapi/products/paths/~1v1~1products~1bulk~1actions~1lifecycle/patch.md): Transitions multiple products to a different lifecycle state in a single operation.