---
title: "GET /v2/messaging/ws"
method: GET
path: "/v2/messaging/ws"
tags: ["Messaging"]
---

# GET /v2/messaging/ws

`GET /v2/messaging/ws`

## Request

- Base URL: `https://api.arbital.xyz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.arbital.xyz/v2/messaging/ws`
- Auth: API key in header `Sec-WebSocket-Protocol`

Upgrades to the authenticated Messaging event stream. Offer arbital.messaging.v1 and the ticket_protocol returned by POST /v2/messaging/ws/tickets as WebSocket subprotocols. Reconcile HTTP state after every connection or resync_required frame.

## Query parameters

- `version` '1'
- `position_snapshot_version` '1' | '2'

## Other responses

- `101`: Messaging WebSocket upgrade accepted
- `400`: Stable machine-readable private messaging problem
- `401`: Stable machine-readable private messaging problem
- `503`: Stable machine-readable private messaging problem

---

[API](https://skmtc.dev/arbital/apis/arbital-api.md) - [All operations](https://skmtc.dev/arbital/apis/arbital-api/llms.txt) - [OpenAPI document](https://skmtc.dev/arbital/apis/arbital-api/revisions/bb0185edf43a?raw)
