---
title: "Get channel presence"
method: GET
path: "/api/realtime/{project_id}/presence"
tags: ["Realtime"]
---

# Get channel presence

`GET /api/realtime/{project_id}/presence`

## Request

- Base URL: `https://core.blink.new`
- URL: `https://core.blink.new/api/realtime/{project_id}/presence`
- Auth: HTTP bearer

Retrieve the list of users currently present in a realtime channel.
Presence data is stored in Redis Hashes with a TTL and is automatically
removed when users disconnect or their session expires.

## Path parameters

- `project_id` string, required

## Query parameters

- `channel` string, required

## Response `200`

Presence data retrieved successfully

- RealtimePresenceResponse
  - `channel` string: Channel name
  - `users` object[]: List of users currently present in the channel
    - `userId` string: User identifier
    - `metadata` object: User metadata
    - `joinedAt` integer: Unix timestamp when user joined
    - `lastSeen` integer: Unix timestamp of last activity
  - `count` integer: Total number of users present

## Other responses

- `400`: Missing or invalid parameters
- `401`: Authentication required or invalid API key
- `500`: Internal server error

---

[API](https://skmtc.dev/blink/apis/blink-apis.md) - [All operations](https://skmtc.dev/blink/apis/blink-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/blink/apis/blink-apis/revisions/4c59c706078e?raw)
