Realtime Presence
A presence record describing a member's membership in a realtime channel — who is connected, with what client metadata, and from when. Generalizes the presence models in Ably, Pusher, PubNub, Phoenix Presence, and LiveKit room participants.
Properties
| Name | Type | Description |
|---|---|---|
| channel | string | Channel on which the presence event occurred. |
| clientId | string | Identifier of the user or client whose presence is being reported. |
| connectionId | string | Provider-assigned identifier for the transport connection backing this presence. |
| action | string | The presence transition this record represents. |
| data | object | Application-defined presence metadata associated with the member (e.g., display name, avatar URL, status, location). |
| since | string | Time at which the member entered the channel (only for 'present'/'update'). |
| occurredAt | string | Time the presence event occurred. |
JSON Schema
{
"$id": "realtime-presence.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Realtime Presence",
"description": "A presence record describing a member's membership in a realtime channel — who is connected, with what client metadata, and from when. Generalizes the presence models in Ably, Pusher, PubNub, Phoenix Presence, and LiveKit room participants.",
"type": "object",
"required": [
"channel",
"clientId",
"action"
],
"properties": {
"channel": {
"type": "string",
"description": "Channel on which the presence event occurred."
},
"clientId": {
"type": "string",
"description": "Identifier of the user or client whose presence is being reported."
},
"connectionId": {
"type": "string",
"description": "Provider-assigned identifier for the transport connection backing this presence."
},
"action": {
"type": "string",
"description": "The presence transition this record represents.",
"enum": [
"enter",
"leave",
"update",
"present",
"absent"
]
},
"data": {
"type": "object",
"description": "Application-defined presence metadata associated with the member (e.g., display name, avatar URL, status, location).",
"additionalProperties": true
},
"since": {
"type": "string",
"format": "date-time",
"description": "Time at which the member entered the channel (only for 'present'/'update')."
},
"occurredAt": {
"type": "string",
"format": "date-time",
"description": "Time the presence event occurred."
}
},
"additionalProperties": false
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-schemas/realtime-presence"
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.