Skip to content

Get the signed-in user

GET
/me
curl --request GET \
--url https://example.com/me

Each membership names a tenant and the role held there. Pass one of these tenant ids as X-Tenant-Id on tenant-scoped requests.

The caller

Media typeapplication/json
object
user
required
object
id
required
string
email
required
string format: email
firstName
required
string
lastName
required
string
name
required
string
emailVerified
required
boolean
twoFactorEnabled
required
boolean
twoFactorMethod
required
string | null
Allowed values: totp otp
image
required
string | null
memberships
required
Array<object>
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 technical
stockTakeAllowed
boolean
joinedAt
required
string format: date-time
plan
required
string | null
Allowed values: shop yard round depot
planStatus
required
string | null
Allowed values: trialing active past_due unpaid canceled incomplete incomplete_expired paused none
trialEndsAt
string | null format: date-time
flags
required

Whether each piece of new work is live for this business yet. Set by Bottle, not the business, and removed once the work has launched.

object
assets
required
boolean
servicing
required
boolean
settings
required
object
assetsEnabled
required

Whether products can be tracked one cylinder at a time. On unless the business switches it off. Nothing changes on screen until a product is tracked.

boolean
assetScanningEnabled
required

Whether drivers and yard staff can record cylinders with the phone’s camera. Set by Bottle once the business’s cylinders have been tested.

boolean
servicingEnabled
required

Whether the business keeps service dates for the equipment its customers have. Off unless switched on.

boolean
tracksCylinders
boolean
signupCodeRequired
required
boolean
staff
required
object
userId
required
string
role
required
string
Allowed values: support billing owner
support
required
object
staffUserId
required
string
staffName
required
string | null
userName
required
string
level
required
string
Allowed values: view act
until
required
string format: date-time
invitations
required
integer
policiesOutstanding
required
Array<object>
object
document
required
string
Allowed values: terms privacy
version
required
string
/^\d{4}-\d{2}-\d{2}$/
summary
required
string | null
acceptedVersion
required
string | null
/^\d{4}-\d{2}-\d{2}$/

Example

{
"user": {
"id": "kZ8n2xQpR1vLmT4wY7bJc",
"email": "joe.bloggs@example.com",
"firstName": "Joe",
"lastName": "Bloggs",
"name": "Joe Bloggs",
"twoFactorMethod": "totp"
},
"memberships": [
{
"tenant": {
"id": "019205d1-6e7a-7c3b-9f6e-3a2b1c0d9e8f",
"name": "Acme Gas",
"slug": "acme-gas"
},
"role": "owner",
"plan": "shop",
"planStatus": "trialing"
}
],
"staff": {
"role": "support"
},
"support": {
"level": "view"
},
"policiesOutstanding": [
{
"document": "terms",
"version": "2026-09-28",
"acceptedVersion": "2026-09-28"
}
]
}

Not signed in

Media typeapplication/json
object
error
required
string
message
required
string

Example

{
"error": "not_found",
"message": "Customer not found"
}