Husholdninger

Selve husholdningen: opprett den, les den og endre innstillingene.5 operasjoner

Hoder på hvert svar

Hvert svar på denne siden har disse hodene.
X-Trace-Id
— The W3C trace id of this request — the same id in the log and in the traceId of a problem. Quote it when reporting.
Server-Timing
— Where the time went: total, db;dur=…;desc="N queries", and every step the handler named (ADR-163).
X-Diagnostics
— Only when the request asked with X-Diagnostics: 1 or ?diagnostics=1: the same breakdown as one JSON object, with the trace id (ADR-163).

Operasjoner

GET/api/v1/time-zones

List the IANA time zones a household can be set to

Every id the server's own tz database knows — which is exactly what PATCH /households/{householdId} accepts as timeZoneId (ADR-228). Unsorted; the household's own zone first and the rest alphabetical is the client's job. Cached for a day (Cache-Control: private, max-age=86400).

Parametre

Ingen parametre

Svar

200OK
application/jsonTimeZonesResponse
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
Hoder
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.

Eksempel

curl -b "bryti_session=…" \
  "https://bryti.app/api/v1/time-zones"

Eksempel på svar

200application/json
{
  "ids": [
    "string"
  ]
}
POST/api/v1/households

Create a household and become its owner

Any signed-in user. The caller becomes the household's owner, and a subscription on the default plan is opened with it; a first-time creator is promised the plan's welcome credits — one bundle per user, however many households they create (ADR-024). 403 with code invite_required or invite_code_invalid when intake is invite-only and no valid inviteCode came along, and intake_paused when intake is paused — the caller is then put on the waitlist (ADR-025).

Parametre

Ingen parametre

Forespørselskropp

application/jsonPåkrevdCreateHouseholdRequest

Svar

201Created
application/jsonHouseholdResponse
400Bad Request
application/problem+jsonProblemDetails
401No session, or the session is no longer valid.
application/problem+jsonProblemDetails
403Forbidden
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
Hoder
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.

Eksempel

curl -b "bryti_session=…" \
  -X POST \
  "https://bryti.app/api/v1/households" \
  -H "Content-Type: application/json" \
  -d '{"name":"string","timeZoneId":"string","defaultDinnerTime":"string"}'

Eksempel på svar

201application/json
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "string",
  "timeZoneId": "string",
  "defaultDinnerTime": "string",
  "preferredLanguage": "string",
  "country": "string",
  "preferOwnRecipes": false,
  "prefersLeftoverDinners": false,
  "measurementSystem": "string",
  "dryGoodsMeasure": "string",
  "address": "string",
  "loyaltyPrograms": [
    "string"
  ],
  "createdAt": "2026-09-07T16:30:00Z",
  "updatedAt": "2026-09-07T16:30:00Z",
  "shareReceiptPrices": true,
  "shareUnitWeights": false,
  "tailorServingToTastes": true,
  "showSoftServingAdvice": true,
  "babyEatsSeparatelyWhenNeeded": false,
  "maxNewDishesPerWeek": 7,
  "alwaysNewDishes": false,
  "pantryWeight": "Usual",
  "useStarterLibrary": true,
  "showChildTasks": false,
  "madeAgainLift": true
}
GET/api/v1/households/{householdId}

Get the household with its settings and sharing choices

Parametre

NavnHvorTypePåkrevdBeskrivelse
householdIdpathstring (uuid)Påkrevd—

Svar

200OK
application/jsonHouseholdResponse
401No session, or the session is no longer valid.
application/problem+jsonProblemDetails
404Not Found
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
Hoder
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.

Eksempel

curl -b "bryti_session=…" \
  "https://bryti.app/api/v1/households/3fa85f64-5717-4562-b3fc-2c963f66afa6"

Eksempel på svar

200application/json
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "string",
  "timeZoneId": "string",
  "defaultDinnerTime": "string",
  "preferredLanguage": "string",
  "country": "string",
  "preferOwnRecipes": false,
  "prefersLeftoverDinners": false,
  "measurementSystem": "string",
  "dryGoodsMeasure": "string",
  "address": "string",
  "loyaltyPrograms": [
    "string"
  ],
  "createdAt": "2026-09-07T16:30:00Z",
  "updatedAt": "2026-09-07T16:30:00Z",
  "shareReceiptPrices": true,
  "shareUnitWeights": false,
  "tailorServingToTastes": true,
  "showSoftServingAdvice": true,
  "babyEatsSeparatelyWhenNeeded": false,
  "maxNewDishesPerWeek": 7,
  "alwaysNewDishes": false,
  "pantryWeight": "Usual",
  "useStarterLibrary": true,
  "showChildTasks": false,
  "madeAgainLift": true
}
PATCH/api/v1/households/{householdId}

Change one or more household settings, leaving the rest as they are

Owner only. Every field is «omit = leave it» (#689, #729, #754), so a settings screen may send just the field it changed. 400 for a blank name or an unknown measurementSystem / dryGoodsMeasure.

Parametre

NavnHvorTypePåkrevdBeskrivelse
householdIdpathstring (uuid)Påkrevd—

Forespørselskropp

application/jsonPåkrevdUpdateHouseholdRequest

Svar

200OK
application/jsonHouseholdResponse
400Bad Request
application/problem+jsonProblemDetails
401No session, or the session is no longer valid.
application/problem+jsonProblemDetails
404Not Found
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
Hoder
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.

Eksempel

curl -b "bryti_session=…" \
  -X PATCH \
  "https://bryti.app/api/v1/households/3fa85f64-5717-4562-b3fc-2c963f66afa6" \
  -H "Content-Type: application/json" \
  -d '{}'

Eksempel på svar

200application/json
{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "name": "string",
  "timeZoneId": "string",
  "defaultDinnerTime": "string",
  "preferredLanguage": "string",
  "country": "string",
  "preferOwnRecipes": false,
  "prefersLeftoverDinners": false,
  "measurementSystem": "string",
  "dryGoodsMeasure": "string",
  "address": "string",
  "loyaltyPrograms": [
    "string"
  ],
  "createdAt": "2026-09-07T16:30:00Z",
  "updatedAt": "2026-09-07T16:30:00Z",
  "shareReceiptPrices": true,
  "shareUnitWeights": false,
  "tailorServingToTastes": true,
  "showSoftServingAdvice": true,
  "babyEatsSeparatelyWhenNeeded": false,
  "maxNewDishesPerWeek": 7,
  "alwaysNewDishes": false,
  "pantryWeight": "Usual",
  "useStarterLibrary": true,
  "showChildTasks": false,
  "madeAgainLift": true
}
POST/api/v1/households/{householdId}/onboarding/complete

Finish the guided setup and write its recap into the day's thread

Any member, Junior included — refusing whoever holds the phone would only strand the setup (#413, ADR-043). The recap goes into today's thread, the one Home shows, under the morning message — not into a conversation of its own (#3378); conversationId is that thread. Safe to retry: a second call answers 200 with the original stamp and alreadyCompleted true, writing nothing; the defaultDinnerTime in the body is honoured on the completing call only. The recap is written from the household's own tables, not generated, so it costs no credits.

Parametre

NavnHvorTypePåkrevdBeskrivelse
householdIdpathstring (uuid)Påkrevd—

Forespørselskropp

application/jsonPåkrevdCompleteOnboardingRequest

Svar

200OK
application/jsonCompleteOnboardingResponse
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
Hoder
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.

Eksempel

curl -b "bryti_session=…" \
  -X POST \
  "https://bryti.app/api/v1/households/3fa85f64-5717-4562-b3fc-2c963f66afa6/onboarding/complete" \
  -H "Content-Type: application/json" \
  -d '{}'

Eksempel på svar

200application/json
{
  "onboardingCompletedAt": "2026-09-07T16:30:00Z",
  "alreadyCompleted": false,
  "conversationId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}

Skjema

CompleteOnboardingRequest

FeltTypePåkrevd
skippedStepsOnboardingStep[] | null—
defaultDinnerTimestring | null—

CompleteOnboardingResponse

FeltTypePåkrevd
onboardingCompletedAtstring (date-time)Påkrevd
alreadyCompletedbooleanPåkrevd
conversationIdstring (uuid) | nullPåkrevd

CreateHouseholdRequest

FeltTypePåkrevd
namestringPåkrevd
timeZoneIdstringPåkrevd
defaultDinnerTimestringPåkrevd
preferredLanguagestring | null—
inviteCodestring | null—

HouseholdResponse

FeltTypePåkrevd
idstring (uuid)Påkrevd
namestringPåkrevd
timeZoneIdstringPåkrevd
defaultDinnerTimestringPåkrevd
preferredLanguagestringPåkrevd
countrystringPåkrevd
preferOwnRecipesbooleanPåkrevd
prefersLeftoverDinnersbooleanPåkrevd
measurementSystemstringPåkrevd
dryGoodsMeasurestringPåkrevd
addressstring | nullPåkrevd
loyaltyProgramsstring[]Påkrevd
createdAtstring (date-time)Påkrevd
updatedAtstring (date-time)Påkrevd
shareReceiptPricesboolean—
onboardingCompletedAtstring (date-time) | null—
shareUnitWeightsboolean—
tailorServingToTastesboolean—
showSoftServingAdviceboolean—
babyEatsSeparatelyWhenNeededboolean—
maxNewDishesPerWeekinteger (int32)—
alwaysNewDishesboolean—
pantryWeightstring—
useStarterLibraryboolean—
showChildTasksboolean—
madeAgainLiftboolean—

OnboardingStep

Type

Verdier

PantryPeopleAllergiesRules

ProblemDetails

FeltTypePåkrevd
typestring | null—
titlestring | null—
statusinteger (int32) | null—
detailstring | null—
instancestring | null—
codestring | null—

TimeZonesResponse

FeltTypePåkrevd
idsstring[]Påkrevd

UpdateHouseholdRequest

FeltTypePåkrevd
namestring | null—
timeZoneIdstring | null—
defaultDinnerTimestring | null—
preferredLanguagestring | null—
countrystring | null—
preferOwnRecipesboolean | null—
prefersLeftoverDinnersboolean | null—
maxNewDishesPerWeekinteger (int32) | null—
alwaysNewDishesboolean | null—
pantryWeightstring | null—
addressstring | null—
loyaltyProgramsstring[] | null—
measurementSystemstring | null—
dryGoodsMeasurestring | null—
shareReceiptPricesboolean | null—
shareUnitWeightsboolean | null—
tailorServingToTastesboolean | null—
showSoftServingAdviceboolean | null—
babyEatsSeparatelyWhenNeededboolean | null—
useStarterLibraryboolean | null—
showChildTasksboolean | null—
madeAgainLiftboolean | null—