Skip to content
merran
GitHubInstall

Merran documentation API & integrations

Join a household

POST
/api/auth/join/{token}
curl --request POST \
--url http://localhost:3000/api/auth/join/example \
--header 'Content-Type: application/json' \
--data '{ "account": { "name": "Jamie Rivera", "email": "jamie@example.com", "username": "jamie", "password": "correct horse battery staple" } }'

Signed in, this adds you to the invite’s household. Signed out, send account to make one, which then signs in.

token
required
string
Media typeapplication/json
object
account
object
name
required
string
>= 1 characters <= 100 characters
email
required
string format: email
username
required
string
>= 3 characters <= 30 characters /^[a-zA-Z0-9_.]+$/
password
required
string
>= 10 characters <= 128 characters

Example

{
"name": "Jamie Rivera",
"email": "jamie@example.com",
"username": "jamie",
"password": "correct horse battery staple"
}

Example

{
"account": {
"name": "Jamie Rivera",
"email": "jamie@example.com",
"username": "jamie",
"password": "correct horse battery staple"
}
}

Joined, with an account you already had.

Media typeapplication/json
object
id
required
string
name
required
string
email
required
string
username
required
string | null
serverAdmin
required
boolean
households
required
Array<object>
object
id
required
string
name
required
string
role
required
string
Allowed values: owner admin member
activeHouseholdId
required
string | null

Example

{
"id": "0199e8b0-5a10-7a01-8b00-000000000001",
"name": "Sam Rivera",
"email": "sam@example.com",
"username": "sam",
"serverAdmin": true,
"households": [
{
"id": "0199e8b0-5a10-7a01-8b00-000000000003",
"name": "The Riveras",
"role": "owner"
}
],
"activeHouseholdId": "0199e8b0-5a10-7a01-8b00-000000000003"
}

Joined, with a new account, and signed in.

Media typeapplication/json
object
id
required
string
name
required
string
email
required
string
username
required
string | null
serverAdmin
required
boolean
households
required
Array<object>
object
id
required
string
name
required
string
role
required
string
Allowed values: owner admin member
activeHouseholdId
required
string | null

Example

{
"id": "0199e8b0-5a10-7a01-8b00-000000000001",
"name": "Sam Rivera",
"email": "sam@example.com",
"username": "sam",
"serverAdmin": true,
"households": [
{
"id": "0199e8b0-5a10-7a01-8b00-000000000003",
"name": "The Riveras",
"role": "owner"
}
],
"activeHouseholdId": "0199e8b0-5a10-7a01-8b00-000000000003"
}

Signed out, and no account was sent.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

No invite has that link.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

Already in the household, or the account exists.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

The link has been used, or has expired.

Media typeapplication/json
object
error
required
object
code
required
string
message
required
string
fields
object
key
additional properties
string

Example

{
"error": {
"code": "not_found",
"message": "There's nothing here.",
"fields": {
"name": "Give it a name."
}
}
}

© 2026 Kyle Johnson. Documentation: CC BY 4.0. Merran: AGPL-3.0-or-later.