Skip to content

A ticket for this organisation’s live socket

POST
/orgs/{org}/socket
curl --request POST \
--url https://api.sloose.com/orgs/org_9f3c/socket \
--header 'Authorization: Bearer <token>'

A one-use ticket, good for a minute, for a WebSocket to this organisation’s room — which tells every tab with the organisation in view when its billing, its credits or its entitlements change, so each reads them again as the change lands (GET …/live has the frames). A browser cannot put a header on a WebSocket upgrade and a session token in an address lands in every log on the way, so the socket is opened with this ticket instead: url is the address to open, ticket included. The ticket is bound to this session, and the room admits the socket only while the session is still in the organisation. A signed-in session only: an API token has no socket. A staff member’s view may listen, read-only or not: the socket reads nothing, and changes nothing.

org
required

The organisation id the session was issued for. A token for one organisation can never read another.

string
Example
org_9f3c

The organisation id the session was issued for. A token for one organisation can never read another.

A ticket, and the address to open with it.

Media typeapplication/json
object
ticket
required
string
url
required

The socket’s address, wss://…/live?ticket=….

string
expiresAt
required

When the ticket stops being accepted.

string
Examplegenerated
{
"ticket": "example",
"url": "example",
"expiresAt": "example"
}

No bearer, or one that no longer resolves: a session that is unknown or expired (code: AUTH_REQUIRED), or an API token that was revoked or expired (TOKEN_REVOKED, TOKEN_EXPIRED), whose organisation is gone (ORG_NOT_FOUND) or whose member or user row is (MEMBERSHIP_GONE).

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

An API token (code: SESSION_REQUIRED), or a session in another organisation. Like every route behind a session: a session signed in but in no organisation is refused code: NO_ORG, a banned person code: BANNED, and a closed organisation code: ORG_CLOSED.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

The restore switch is on (code: MAINTENANCE): every route but /health and /robots.txt is refused before anything is read, except the operator’s own POST /staff/people/{id}/delete with the ADMIN_TOKEN. Sloose is down for maintenance. Please try again in a few minutes.

Media typeapplication/json
object
error
required
string
code
required
string
Allowed value: MAINTENANCE
Example
{
"code": "MAINTENANCE"
}
Retry-After
integer

Seconds until asking again is worth it (300 while the switch is on).

Report a problem with this page

sloose.com