Skip to content

Accept an invitation

POST
/invitations/accept
curl --request POST \
--url https://example.com/invitations/accept \
--header 'Content-Type: application/json' \
--data '{ "token": "example" }'

Requires a signed-in account whose email matches the invitation. Returns the new membership, which is what the caller then uses as X-Tenant-Id.

Media typeapplication/json
object
token
required
string
>= 1 characters
Examplegenerated
{
"token": "example"
}

Joined

Media typeapplication/json
object
tenant
required
object
id
required

UUID v7

string format: uuid
name
required
string
slug
required
string
role
required

Owner: billing, deleting the tenant, full control of members. admin: all operational work and may manage drivers and admins. driver: their own round only.

string
Allowed values: owner admin driver
joinedAt
required
string format: date-time
plan
required
string | null
Allowed values: starter round depot
planStatus
required
string | null
Allowed values: trialing active past_due unpaid canceled incomplete incomplete_expired paused none
Example
{
"tenant": {
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"name": "Acme Gas",
"slug": "acme-gas"
},
"role": "owner",
"plan": "starter",
"planStatus": "trialing"
}

Not signed in

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "not_found",
"message": "Customer not found"
}

Signed in as a different email

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "not_found",
"message": "Customer not found"
}

Unknown, already used, revoked or expired

Media typeapplication/json
object
error
required
string
message
required
string
Example
{
"error": "not_found",
"message": "Customer not found"
}