---
title: "Authorize a session channel subscription"
url: https://docs.gleap.ai/en/reference/rest-api/authenticate-user-pusher-channel-session
method: POST
path: "/users/me/session-channel-auth"
api: "API Reference"
tag: "User"
operationId: "AuthenticateUserPusherChannelSession"
updatedAt: "2026-11-01T18:40:15.677Z"
language: en
---

# Authorize a session channel subscription

`POST https://api.gleap.io/v3/users/me/session-channel-auth`

Authorize a websocket subscription to the caller's own `private-session-<gleapId>` channel. Any other channel name returns `{ "valid": false }` with HTTP 200. Authenticated with the project's public API key (`api-token` header) plus a signed session identity (`gleap-id`/`gleap-hash` headers).

## Request body (`application/json`, required)

- `socket_id` (string, required)
- `channel_name` (string, required)

## Example request

```bash
curl --request POST \
  --url https://api.gleap.io/v3/users/me/session-channel-auth \
  --header 'Content-Type: application/json' \
  --data '{
  "socket_id": "<socket_id>",
  "channel_name": "<channel_name>"
}'
```

## Responses

### 200 (`application/json`)

Ok
