Inntak og venteliste

Om registreringen er åpen, og ventelisten.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/households/{householdId}/referral-codes

List the referral codes the household's members may hand out

Any member. Minted lazily up to the configured count, single-use, tied to the household. A household on a free plan gets an empty list — referral is a perk of paying.

Parametre

NavnHvorTypePåkrevdBeskrivelse
householdIdpathstring (uuid)Påkrevd—

Svar

200OK
application/jsonReferralCodeResponse[]
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/households/3fa85f64-5717-4562-b3fc-2c963f66afa6/referral-codes"

Eksempel på svar

200application/json
[
  {
    "code": "string",
    "maxUses": 0,
    "uses": 0,
    "expiresAt": "2026-09-07T16:30:00Z"
  }
]
GET/api/v1/intakeTrenger ingen sesjon

Read whether sign-up is open, invite-only or paused

Public — the sign-up screen asks before anyone has an account (ADR-025, #603). Cached for 60 seconds (Cache-Control: public, max-age=60). storeLinks carries the App Store and Google Play listings the owner has set (Landing__StoreLinks__Ios/Android); each is null until set (#3486).

Parametre

Ingen parametre

Svar

200OK
application/jsonIntakeStatusResponse
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 \
  "https://bryti.app/api/v1/intake"

Eksempel på svar

200application/json
{
  "mode": "string",
  "storeLinks": {
    "ios": "string",
    "android": "string"
  }
}
POST/api/v1/intake/waitlistTrenger ingen sesjon

Join the waitlist by e-mail, before having an account

Public (ADR-147). Always 202 whatever the list already knew about the address — a duplicate, a rejected address and a cooled-down resend all look the same, so the list never becomes a directory. A confirmation mail goes out for a new entry, and again for an unconfirmed one at most once a day; an unconfirmed entry past seven days is replaced. 400 only for the caller's own input (no «@», a note over 280 characters). Rate-limited per IP (intake-per-ip, 5 an hour by default): 429 with Retry-After.

Parametre

Ingen parametre

Forespørselskropp

application/jsonPåkrevdJoinWaitlistRequest

Svar

202Accepted
400Bad Request
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 Requests
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 \
  -X POST \
  "https://bryti.app/api/v1/intake/waitlist" \
  -H "Content-Type: application/json" \
  -d '{"email":"string","note":"string"}'
POST/api/v1/intake/waitlist/me

Put the signed-in caller on the waitlist

Any signed-in user, no household needed — the «Opprett husholdning» screen while intake is paused (ADR-025). The account vouches for the address, so no confirmation mail. Safe to retry: one place per user, and an entry that joined by e-mail earlier becomes this user's.

Parametre

Ingen parametre

Svar

200OK
application/jsonWaitlistEntryResponse
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=…" \
  -X POST \
  "https://bryti.app/api/v1/intake/waitlist/me"

Eksempel på svar

200application/json
{
  "email": "string",
  "joinedAt": "2026-09-07T16:30:00Z",
  "invited": false
}
GET/api/v1/intake/waitlist/confirmTrenger ingen sesjon

Confirm a waitlist address from the link in the mail

Public — the link opens in a browser that has never seen Bryti. Safe to retry: a second click is still confirmed. 404 (code waitlist_token_unknown) when no entry carries the token; 410 (code waitlist_token_expired) when the entry outlived its seven days unconfirmed — join again for a new link.

Parametre

NavnHvorTypePåkrevdBeskrivelse
tokenquerystring——

Svar

200OK
application/jsonWaitlistConfirmationResponse
400The request could not be read as the route needs it: a body that is not the documented shape (a required field left out, a null where none is allowed, a value too long for its field), a parameter that does not parse, or a NUL character anywhere (#3540, #3541, #3543). Code validation_failed or value_too_long.
application/problem+jsonProblemDetails
404Not Found
application/problem+jsonProblemDetails
410Gone
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.

Problemkoder

`code` i problemkroppen er den du forgreiner på. `detail` er engelsk, skrevet for loggen.

waitlist_token_expired
— Invitasjonslenken er utløpt. Be om en ny.
waitlist_token_unknown
— Den invitasjonslenken er ukjent. Be om en ny.

Eksempel

curl \
  "https://bryti.app/api/v1/intake/waitlist/confirm"

Eksempel på svar

200application/json
{
  "confirmed": false
}

Skjema

IntakeStatusResponse

FeltTypePåkrevd
modestringPåkrevd
storeLinksStoreLinksResponsePåkrevd

JoinWaitlistRequest

FeltTypePåkrevd
emailstringPåkrevd
notestring | nullPåkrevd

ProblemDetails

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

ReferralCodeResponse

FeltTypePåkrevd
codestringPåkrevd
maxUsesinteger (int32)Påkrevd
usesinteger (int32)Påkrevd
expiresAtstring (date-time) | nullPåkrevd

StoreLinksResponse

FeltTypePåkrevd
iosstring | nullPåkrevd
androidstring | nullPåkrevd

WaitlistConfirmationResponse

FeltTypePåkrevd
confirmedbooleanPåkrevd

WaitlistEntryResponse

FeltTypePåkrevd
emailstringPåkrevd
joinedAtstring (date-time)Påkrevd
invitedbooleanPåkrevd