GET
/api/v1/households/{householdId}/eventsRead the household's meal events a page at a time, earliest first
Guests, eating out, somebody away, an activity — whatever changes a day's table or dinner time. from and to are inclusive and both optional. ?limit= is 1–100, 50 by default. Each page hands back a nextCursor — give it back as ?cursor= for the next page; null on the last. A cursor nobody handed out is a 400. total is null: no surface counts evenings, and counting them would cost a second pass.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
householdId | path | string (uuid) | Required | — |
from | query | string (date) | — | — |
to | query | string (date) | — | — |
cursor | query | string | — | — |
limit | query | integer (int32) | — | — |
Responses
- 200OK
application/jsonPagedMealEventResponse- 400Bad Request
application/problem+jsonProblemDetails- 401No session, or the session is no longer valid.
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=…" \
"https://bryti.app/api/v1/households/3fa85f64-5717-4562-b3fc-2c963f66afa6/events"Example response
200
application/json{
"items": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"householdId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"date": "2026-09-07",
"eventType": {},
"servingTime": "string",
"availableCookingMinutes": 0,
"notes": "string",
"participants": [
{}
],
"createdAt": "2026-09-07T16:30:00Z",
"updatedAt": "2026-09-07T16:30:00Z"
}
],
"nextCursor": "string",
"total": 0
}