Product Ingredients Model
Ingredients belong directly to a product. Unlike shared extras, an ingredient is not automatically shared with other products.
Operations
| Action | Method | Resource |
|---|---|---|
| List | GET | /business/{business_id}/categories/{category_id}/products/{product_id}/ingredients |
| Find | GET | /business/{business_id}/categories/{category_id}/products/{product_id}/ingredients/{ingredient_id} |
| Create | POST | /business/{business_id}/categories/{category_id}/products/{product_id}/ingredients |
| Update | POST | /business/{business_id}/categories/{category_id}/products/{product_id}/ingredients/{ingredient_id} |
| Delete | DELETE | /business/{business_id}/categories/{category_id}/products/{product_id}/ingredients/{ingredient_id} |
Use the categories path segment when addressing a category product. The documented update operation uses POST.
Shared fields and access
Creation requires a non-empty name; image input is optional and follows the shared image policy. This summary is not a complete schema.
Business managers are scoped through businesses associated with their user, and controller queries verify the business/category/product hierarchy.