Skip to content

Say where you are

POST
/presence
curl --request POST \
--url https://example.com/presence \
--header 'Content-Type: application/json' \
--cookie bottle.session_token=<bottle.session_token> \
--data '{ "tabId": "example", "page": "example", "focus": "example", "state": "active" }'

A tab checking in: the page it is on and what it has open. Send on arriving, on changing what is open, and every twenty seconds. Answers with everybody here.

Media typeapplication/json
object
tabId
required
string
>= 8 characters <= 64 characters
page
required
string
>= 1 characters <= 200 characters
focus
string | null
<= 100 characters
state
string
Allowed values: active idle away

Here now

Media typeapplication/json
object
items
required
Array<object>
object
tabId
required
string
userId
required
string
name
required
string
page
required
string
focus
required
string | null
state
required
string
Allowed values: active idle away
seenAt
required
string format: date-time
Example
{
"items": [
{
"state": "active"
}
]
}

Not signed in

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

Not a member, or without the permission this needs

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

Validation failed

Media typeapplication/json
object
error
required
string
Allowed values: validation
message
required
string
issues
required
Array<object>
object
path
required
string
message
required
string
Example
{
"error": "validation",
"issues": [
{
"path": "email",
"message": "Invalid email"
}
]
}