runSetup
# runSetup
POST
/setup
const url = 'http://localhost:8080/api/v1/setup';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"householdName":"example","username":"example","displayName":"example","password":"example","locale":"en"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url http://localhost:8080/api/v1/setup \ --header 'Content-Type: application/json' \ --data '{ "householdName": "example", "username": "example", "displayName": "example", "password": "example", "locale": "en" }'Creates the household and the owner. Only works while no household exists.
Request Bodyrequired
Section titled “Request Bodyrequired”Media typeapplication/json
object
householdName
required
string
username
required
string
displayName
required
string
password
required
string
locale
required
string
Responses
Section titled “Responses”Household created. Owner is logged in (web cookie set).
Media typeapplication/json
object
member
required
object
id
required
string
username
required
string
displayName
required
string
role
required
string
theme
required
string
textScale
required
number
reducedMotion
required
boolean
shareVisits
boolean
showAiSummaries
boolean
avatar
createdAt
required
string format: date-time
csrfToken
Web clients only.
string
deviceToken
Device clients only. Shown once.
string
Examples
Exampleseed
Derived from fixtures/seed.json.
{ "csrfToken": "csrf_demoWebToken0123456789abcdef", "member": { "avatar": null, "createdAt": "2026-09-17T09:00:00.000Z", "displayName": "Mali", "id": "mem_01j9kt0d8rwgmhnmxkmv0frnr0", "lastSeenAt": null, "locale": "en", "reducedMotion": false, "role": "owner", "shareVisits": true, "showAiSummaries": true, "textScale": 1, "theme": "system", "username": "mali" }}Invalid request.
Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
code
required
string
i18nKey
string
detail
string
fields
Array<object>
object
path
required
string
code
required
string
i18nKey
string
Example generated
{ "type": "https://example.com", "title": "example", "status": 1, "code": "example", "i18nKey": "example", "detail": "example", "fields": [ { "path": "example", "code": "example", "i18nKey": "example" } ]}Conflicts with current state.
Media typeapplication/problem+json
object
type
required
string format: uri
title
required
string
status
required
integer
code
required
string
i18nKey
string
detail
string
fields
Array<object>
object
path
required
string
code
required
string
i18nKey
string
Example generated
{ "type": "https://example.com", "title": "example", "status": 1, "code": "example", "i18nKey": "example", "detail": "example", "fields": [ { "path": "example", "code": "example", "i18nKey": "example" } ]}