Happklaar API
string · requiredstring · required string · maxLength: 120string | null · date-timestring | null · enumstring[]
PATCH /v1/households/{household}/members/{member}
PATCH
https://api.happklaar.nl/v1
/households/{household}/members/{member}
Partial update over the household member row. Optional fields:
name(mutable for both account-linked + non-account members)birth_date(date, nullable; mutable for both states)diet(single primary diet enum; mutable for non-account members only — account-linked members reject with 422 per Req 10 / D-24, sourced fromusers.dietary_preferencesinstead)dislikes(string array; same account-linked rule asdiet)
: role field removed
from the patch surface — the per-plate adult/child taxonomy is
gone (column dropped); membership role lives on the
account_household pivot.
Caller must belong to the household; mismatch → 404 (D-13 never-leak-existence). Account-linked diet/dislikes rejection happens server-side in the command handler so the rule cannot be bypassed via DTO bypass.
path Parameters
householdmemberPATCH /v1/households/{household}/members/{member} › Request Body
PATCH /v1/households/{id}/members/{member} request body.
Partial-update wire shape (UpdateRecipeRequestData
convention) — every field is `Optional` so omitting it means "leave
* unchanged". Sending an explicit `null` on a nullable field means "clear it".
Per Req 10 / D-24, the controller layer rejects diet+dislikes mutations
for account-linked members (user_id NOT NULL) — the server-side check
lives in {@see UpdateHouseholdMemberCommandHandler}
because the membership state isn't available at request-validation time
without a DB lookup.
: `role` field REMOVED — the
per-plate adult/child taxonomy is gone. `birth_date` (nullable
CarbonImmutable) added; clearing requires explicit null. `diet` is
constrained to the same enum used by `users.dietary_preferences.diet_type`
(Req 9 / D-23).
namebirth_datedietEnum values:
omnivore
vegetarian
vegan
pescatarian
flexitarian
dislikesPATCH /v1/households/{household}/members/{member} › Responses
OK