Socketino API reference

Every endpoint of the Socketino REST API, generated from the API itself.

All endpoints are relative to https://api.socketino.com. Create an API key in your Socketino dashboard, then authenticate every request with it.

apiKey HTTP Basic auth carrying only the API key secret: Authorization: Basic base64(<key secret>).

accessToken Operator session token issued by the Socketino dashboard: Authorization: Token <access token>.

Download the OpenAPI specification for use with your own tooling.

Channel subscriptions

GET/api/channel-subscriptions

List channel subscriptions

Lists which connections are currently subscribed to which channels of a project, including the presence member id where the channel is a presence channel. Requires the channelsubscriptions:read scope.

channelsubscriptions:readapiKeyaccessToken
Parameters
NameInTypeDescription
projectIdquerystringRequired for an operator session; ignored for an API key, which is pinned to the project it was issued against.
channelNamequerystring
limitqueryinteger
skipqueryinteger
sortFieldquerystring
sortDirectionquerystring (ASC | DESC)
Responses
StatusMeaning
200Array of channel subscriptions
401Missing or invalid credentials
403API key is missing the channelsubscriptions:read scope
404No such project in your organization
429API key rate limit exceeded
defaultRequest failed

Connections

GET/api/connections

List live websocket connections

Lists the currently-open websocket connections of your project — one row per connected client, with its socket id and the endpoint it is attached to. Requires the connections:read scope.

connections:readapiKeyaccessToken
Parameters
NameInTypeDescription
projectIdquerystring
limitqueryinteger
skipqueryinteger
sortFieldquerystring
sortDirectionquerystring (ASC | DESC)
Responses
StatusMeaning
200Array of connections
401Missing or invalid credentials
403API key is missing the connections:read scope
429API key rate limit exceeded
defaultRequest failed

Projects

GET/api/projects

List projects

Lists the projects of your organization. Requires the projects:read scope. An API key is issued against a single project, so a key-authenticated call returns that project alone.

projects:readapiKeyaccessToken
Responses
StatusMeaning
200Array of projects
401Missing or invalid credentials
403API key is missing the projects:read scope
429API key rate limit exceeded
defaultRequest failed
GET/api/projects/{projectId}

Get a project by id

Returns a single project of your organization. Requires the projects:read scope. Answers 404 — not 403 — for a project of another organization, so ids cannot be probed across tenants.

projects:readapiKeyaccessToken
Parameters
NameInTypeDescription
projectIdrequiredpathstring
Responses
StatusMeaning
200The project
401Missing or invalid credentials
403API key is missing the projects:read scope
404No such project in your organization
429API key rate limit exceeded
defaultRequest failed
PUT/api/projects/{projectId}

Update a project

Updates the project the key was issued against. Requires the projects:write scope. Answers 404 — not 403 — for a project the caller does not own.

projects:writeapiKeyaccessToken
Parameters
NameInTypeDescription
projectIdrequiredpathstring
Responses
StatusMeaning
200The updated project
401Missing or invalid credentials
403API key is missing the projects:write scope
404No such project in your organization
429API key rate limit exceeded
defaultRequest failed

Webhook subscriptions

GET/api/webhooksubscriptions

List webhook subscriptions

Webhook subscriptions deliver project.created, project.updated, channel.occupied, channel.vacated, member.added and member.removed events to your server as signed POST requests (X-Socketino-Signature: t=<timestamp>,v1=<hex HMAC-SHA256 of "timestamp.body">). An endpoint failing 20 times in a row is disabled automatically. Subscriptions are managed with an operator access token; the secret is only returned once, on create.

accessToken
Parameters
NameInTypeDescription
projectIdquerystring
Responses
StatusMeaning
200Array of webhook subscriptions (without secrets)
defaultRequest failed
POST/api/webhooksubscriptions

Create a webhook subscription

The response includes the signing secret exactly once — store it; it cannot be retrieved again.

accessToken
Request body
FieldTypeDescription
projectIdrequiredstring
urlrequiredstring
eventsarray (project.created | project.updated | channel.occupied | channel.vacated | member.added | member.removed)Empty array subscribes to all events
Responses
StatusMeaning
200The created subscription, including its secret
defaultRequest failed
PUT/api/webhooksubscriptions/{webhookSubscriptionId}

Update a webhook subscription

url, events and active are editable; the secret and project are immutable. Re-enabling an auto-disabled endpoint is done by setting active back to true.

accessToken
Parameters
NameInTypeDescription
webhookSubscriptionIdrequiredpathstring
Responses
StatusMeaning
200The updated subscription (without secret)
defaultRequest failed
DELETE/api/webhooksubscriptions/{webhookSubscriptionId}

Delete a webhook subscription

Delete a webhook subscription

accessToken
Parameters
NameInTypeDescription
webhookSubscriptionIdrequiredpathstring
Responses
StatusMeaning
200Deleted
defaultRequest failed