List Realtime apps
GET
/v1/realtime/apps
bird realtime apps listcurl -X GET "https://us1.platform.bird.com/v1/realtime/apps" \
-H "Authorization: Bearer $TOKEN" \
--url-query "sort=created_at" \
--url-query "order=desc" \
--url-query "limit=25" \
--url-query "include_total=false"Response200
{
"data": [
{
"created_at": "2026-05-20T09:14:52Z",
"updated_at": "2026-05-25T16:42:01Z",
"id": "rap_01krdgeqcxet5s7t44vh8rt9mg",
"app_id": 432557,
"name": "chat-production",
"region": "us1",
"status": "active"
}
],
"next_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE0OjAzOjEwWlwiIiwiaSI6IjAxOTJmM2IxLTRjN2UtN2EyYi05ZDYxLThmM2E1YzJlN2I0MCJ9",
"prev_cursor": null,
"refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE2OjQyOjAxWlwiIiwiaSI6IjAxOTJmM2IxLTllMDQtN2NkMy1iODE3LTJhNmY0ZDFjOGUwOSJ9"
}
Returns the workspace's Realtime apps as a paginated list, filterable by a case-insensitive name substring. Each entry carries the app's configuration and connection details (app_id, region) but never key secrets. Use List a Realtime app's keys and Create a Realtime app key to manage them.
Query Parameters
name
string
Substring match against the app name (case-insensitive).
sort
string
Field to sort by.
Possible values: created_at, name
order
string
Sort direction. Defaults to desc, which sorts from newest to oldest or largest to smallest, depending on the selected sort field.
Possible values: asc, desc
limit
integer
Maximum number of items to return per page.
starting_after
string
Cursor from the next_cursor field of a previous list response. Returns items immediately after the cursor position in the current sort order.
ending_before
string
Cursor from the prev_cursor or refresh_cursor field of a previous list response. Returns items immediately before the cursor position in the current sort order. prev_cursor returns the preceding page. refresh_cursor anchors at the first row of that response, which on a newest-first sort is how to fetch the items that have appeared since.
include_total
boolean
When true, the response includes a total field with the total number of items matching the request's filters across all pages.
Response Payload
data
array of object
required
Show child attributes
data.created_at
string
required
data.updated_at
string
required
data.client_events
boolean
required
Allow clients to trigger events directly (client events).
data.connection_counting
boolean
required
Count the connections subscribed to each channel and expose the count on channel queries.
data.connection_count_events
boolean
required
Broadcast a connection-count event to a channel's subscribers whenever its connection count changes. Requires connection_counting.
data.watchlist_events
boolean
required
Tell a signed-in member when the members on their watchlist come online or go offline. The watchlist is part of the identity your backend signs at signin.
data.authorized_connections
boolean
required
Require every connection to be authorized.
data.id
string
required
data.app_id
integer
required
The numeric Realtime app id. Use it together with a key and secret to initialize a Realtime client/server SDK. Immutable.
data.name
string
required
A label for the app, shown wherever it is listed.
data.region
string
required
The region this app runs in. Unlike other products, a Realtime app can be placed in a region other than the workspace's home region. Immutable after creation.
data.status
string
required
Lifecycle state of the app. active apps serve connections; suspended apps are provisioned but reject connections.
Possible values: active, suspended
next_cursor
nullable string
required
Cursor for the next page. Pass back as starting_after to advance forward. null when no next page exists.
prev_cursor
nullable string
required
Cursor for the previous page. Pass back as ending_before to step backward. null when no previous page exists.
refresh_cursor
nullable string
required
Refresh anchor, the first row of this response. Pass back as ending_before to fetch what precedes it in the current sort order. On a newest-first sort those are the items that have appeared since; on any other sort they are the items that sort earlier, so refreshing such a list means re-fetching it instead. Non-null whenever data is non-empty; null only on an empty page. Distinct from prev_cursor.
total
nullable integer
Total number of items matching the request's filters across all pages. Present only when include_total=true was passed; otherwise null.
Related resources
Continue with the documentation, guides and examples for this topic. Resources are in English.
Explore the capabilityRealtimeFollow the learning pathBuild your first integrationImplementation guideSend your first realtime event
Try the practice and get an implementation brief