List recipes
get
https://api.flactrum.com/v1/recipes
A recipe decides what a product costs. That cost is frozen onto each sale, and gross profit is calculated from it.
| Required scope | recipes.read |
| Panel screen | Menu & products → Recipes |
| Success status | 200 |
| Returns | A paginated list of Recipe objects |
Parameters
| Name | In | Type | Description |
|---|---|---|---|
| product_id | query | string | — |
| page | query | integer | Page number. |
| per_page | query | integer | Page size. Values above the maximum are rejected rather than silently clamped. |
| updated_since | query | string | Only records changed at or after this instant. Use it for incremental sync. |
| sort | query | string | Column to sort by. Each endpoint lists what it accepts. |
| direction | query | string | Sort direction. |
Response fields
| Field | Type | Description |
|---|---|---|
| id | string | — |
| product_id | string | — |
| name | string|null | — |
| waste_percent | number | Trim percentage applied to every line that does not set its own. Trim comes off stock AND goes into the cost: 200 ml at 5% deducts 210 ml and is costed at 210 ml. |
| cost | number|null | Cached unit cost of the product, recalculated on every write. Includes trim. |
| cost_calculated_at | string|null | — |
| items | array | quantity is always in the base unit (gram / millilitre / piece). entry_unit and entry_quantity keep whatever was typed in. gross_quantity is quantity with the trim added — what actually leaves stock. A line's waste_percent of null inherits the recipe's; zero is NOT the same as null and means "no trim on this line". |
Examples
No recorded example yet.