POST
/api/v1/households/{householdId}/plan-entries/{entryId}/outcomeRecord how a day's dinner went: cooked, changed, not cooked or ate elsewhere
A cooked dinner consumes its ingredients from the pantry as estimates, leftovers become pantry items, and the answer teaches a weak like or dislike for the dish. source "CookMode" records only that the dinner happened and leaves «hvordan gikk det?» to the week (#1836, ADR-158). 409 with code outcome_already_recorded when the day already has an outcome (#567) — refresh instead of retrying.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
householdId | path | string (uuid) | Required | — |
entryId | path | string (uuid) | Required | — |
Request body
Responses
- 200OK
application/jsonMealOutcomeResponse- 400Bad Request
application/problem+jsonProblemDetails- 401No session, or the session is no longer valid.
application/problem+jsonProblemDetails- 404Not Found
application/problem+jsonProblemDetails- 409Conflict
application/problem+jsonProblemDetails- 426The build named in X-App-Version is below its platform's version floor (ADR-070). Problem type app-version-unsupported; the only way forward is the store. Callers without the header are never turned away.
application/problem+jsonProblemDetails- 429Too many calls in the window; Retry-After says how long.
application/problem+jsonProblemDetails- Headers
Retry-After- — Seconds to wait when a rate limit answered, or an HTTP date when the household's AI is paused. Absent when the household's AI quota for the period is used up — that resets by itself.
Example
curl -b "bryti_session=…" \
-X POST \
"https://bryti.app/api/v1/households/3fa85f64-5717-4562-b3fc-2c963f66afa6/plan-entries/3fa85f64-5717-4562-b3fc-2c963f66afa6/outcome" \
-H "Content-Type: application/json" \
-d '{"status":"Cooked","reason":"UnexpectedEvent","notes":"string","leftovers":[{"description":"string","portionCount":0,"quantity":0,"unit":"string","storageLocation":{}}]}'Example response
200
application/json{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"planEntryId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "Cooked",
"reason": "UnexpectedEvent",
"notes": "string",
"leftovers": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"description": "string",
"portionCount": 0,
"quantity": 0,
"unit": "string",
"storageLocation": {}
}
],
"recordedAt": "2026-09-07T16:30:00Z",
"source": "Form"
}