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

# POST /v2/messaging/ws/tickets

`POST /v2/messaging/ws/tickets`

## 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/tickets`
- Auth: HTTP bearer

Mints an opaque one-time Messaging WebSocket ticket that expires after 45 seconds. Offer ticket_protocol as a WebSocket subprotocol; never place it in a URL.

## Headers

- `X-Arbital-Position-Snapshot-Version` '1' | '2'

## Response `200`

One-time Messaging WebSocket ticket

- MessagingWebSocketTicket
  - `expires_at_unix` integer, required
  - `protocol` 'arbital.messaging.v1', required
  - `ticket_protocol` string, required
  - `websocket_path` '/v2/messaging/ws?version=1' | '/v2/messaging/ws?version=1&position_snapshot_version=2', required

## Other responses

- `400`: Stable machine-readable private messaging problem
- `401`: Stable machine-readable private messaging problem
- `413`: 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)
