---
search:
  tags:
    - RFQs
    - SEND
seo:
  description: >-
    Quote lifecycle frames for every quote visible to the caller's member. A
    frame can omit… Reference for the send operation on /ws in the WebSocket
    API.
sidebar:
  label: Stream Quotes
  badge: SEND
title: Stream Quotes
type: openapi-operation
---
Quote lifecycle frames for every quote visible to the caller's member. A frame can omit requester_id. The subscription stays active when it is absent.

### Operation

- Action and channel: `SEND /ws`
- Operation ID: `sendQuoteData`
- API reference: [SEND /ws](/api-reference/websocket/rfqs/send-quote-data)
- Complete specification: [AsyncAPI (YAML)](/asyncapi.yml)
- Spec location (JSON Pointer): `#/operations/sendQuoteData`

#### Authorization

- Credential: `UDX-Access-Key`, `UDX-Access-Timestamp`, `UDX-Access-Signature` headers on the WebSocket upgrade request
- Details: [Connecting](/reference/connecting?api=websocket) and [Authentication](/reference/authentication?api=websocket)

Upgrade headers schema:

```yaml
$ref: "#/components/schemas/WebSocketUpgradeHeaders"
```


#### Messages

##### Quote Opened

Deliver one quote that landed live on the exchange.

Payload schema:

```yaml
$ref: "#/components/schemas/QuoteOpenedEnvelope"
```

Example: QuoteOpenedExample

One quote opened

```json
{
  "type": "quote_opened",
  "sid": 11,
  "seq": 2,
  "msg": {
    "quote_id": "QUOTE-EXAMPLE-1",
    "client_quote_id": "my-quote-1",
    "rfq_id": "RFQ-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "sell",
    "price": "0.55",
    "quantity": "100",
    "status": "open"
  }
}
```

##### Quote Accepted

Deliver one quote a taker accepted, now in the maker's last-look window.

Payload schema:

```yaml
$ref: "#/components/schemas/QuoteAcceptedEnvelope"
```

Example: QuoteAcceptedExample

One quote entered last look

```json
{
  "type": "quote_accepted",
  "sid": 11,
  "seq": 3,
  "msg": {
    "quote_id": "QUOTE-EXAMPLE-1",
    "client_quote_id": "my-quote-1",
    "rfq_id": "RFQ-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "sell",
    "price": "0.55",
    "quantity": "100",
    "status": "accepted"
  }
}
```

##### Quote Confirmed

Deliver one quote the maker confirmed during last look.

Payload schema:

```yaml
$ref: "#/components/schemas/QuoteConfirmedEnvelope"
```

Example: QuoteConfirmedExample

One quote confirmed

```json
{
  "type": "quote_confirmed",
  "sid": 11,
  "seq": 4,
  "msg": {
    "quote_id": "QUOTE-EXAMPLE-1",
    "client_quote_id": "my-quote-1",
    "rfq_id": "RFQ-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "sell",
    "price": "0.55",
    "quantity": "100",
    "status": "confirmed"
  }
}
```

##### Quote Canceled

Deliver one quote that was canceled, expired, or ended without a trade.

Payload schema:

```yaml
$ref: "#/components/schemas/QuoteCanceledEnvelope"
```

Example: QuoteCanceledExample

One quote canceled

```json
{
  "type": "quote_canceled",
  "sid": 11,
  "seq": 5,
  "msg": {
    "quote_id": "QUOTE-EXAMPLE-1",
    "client_quote_id": "my-quote-1",
    "rfq_id": "RFQ-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "sell",
    "price": "0.55",
    "quantity": "100",
    "status": "canceled",
    "cancellation_reason": "canceled_by_maker_or_last_look_expired"
  }
}
```

##### Quote Rejected

Deliver one quote the exchange rejected or the maker passed on.

Payload schema:

```yaml
$ref: "#/components/schemas/QuoteRejectedEnvelope"
```

Example: QuoteRejectedExample

One quote rejected

```json
{
  "type": "quote_rejected",
  "sid": 11,
  "seq": 6,
  "msg": {
    "quote_id": "QUOTE-EXAMPLE-1",
    "client_quote_id": "my-quote-1",
    "rfq_id": "RFQ-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "sell",
    "price": "0.55",
    "quantity": "100",
    "status": "rejected",
    "rejection_reason": "not_open_for_quoting"
  }
}
```

#### Errors

- permission_denied — The caller lacks required access.
- channel_unavailable — The channel's upstream source cannot serve the operation right now. Retry with backoff; the connection stays usable.
- internal_error — An unexpected failure left connection state safe to continue.

##### Error

Reject one command or end one subscription while leaving the connection usable.

Every server-side rejection is an error frame. One that echoes a command id answers that command and leaves every subscription intact. One that names a sid and carries no id is terminal for that subscription: no further frame arrives for it, the connection and every other subscription stay usable, and you resubscribe when the cause clears. A connection-fatal condition is reported with a WebSocket close frame instead.

Payload schema:

```yaml
$ref: "#/components/schemas/ErrorEnvelope"
```

Example: PermissionDenied

permission_denied

```json
{
  "id": 4,
  "type": "error",
  "msg": {
    "code": "permission_denied",
    "detail": "the trade scope is required to create a request for quote",
    "instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
  }
}
```

Example: ChannelUnavailable

channel_unavailable

```json
{
  "id": 4,
  "type": "error",
  "msg": {
    "code": "channel_unavailable",
    "detail": "current market data is unavailable",
    "instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
  }
}
```

Example: InternalError

internal_error

```json
{
  "id": 4,
  "type": "error",
  "msg": {
    "code": "internal_error",
    "detail": "WebSocket command failed",
    "instance": "urn:request-id:8f14e45f-ceea-4abc-a743-e89a34d3f6ef"
  }
}
```

Example: SubscriptionPermissionDenied

permission_denied

```json
{
  "type": "error",
  "sid": 7,
  "msg": {
    "code": "permission_denied",
    "detail": "the market is no longer visible to this member",
    "instance": "urn:request-id:4ecbe594-50fa-4b7a-950f-5ed74bb8372d"
  }
}
```

Example: SubscriptionChannelUnavailable

channel_unavailable

```json
{
  "type": "error",
  "sid": 7,
  "msg": {
    "code": "channel_unavailable",
    "detail": "current market data is unavailable for this subscription",
    "instance": "urn:request-id:4ecbe594-50fa-4b7a-950f-5ed74bb8372d"
  }
}
```

Example: SubscriptionInternalError

internal_error

```json
{
  "type": "error",
  "sid": 7,
  "msg": {
    "code": "internal_error",
    "detail": "the subscription could not be continued",
    "instance": "urn:request-id:4ecbe594-50fa-4b7a-950f-5ed74bb8372d"
  }
}
```

#### Referenced definitions

The references in the excerpts above resolve to these definitions in the complete specification.

##### `#/components/schemas/WebSocketUpgradeHeaders`

```yaml
type: object
additionalProperties: true
description: Headers required for authentication and version negotiation.
required:
  - UDX-Access-Key
  - UDX-Access-Timestamp
  - UDX-Access-Signature
  - Sec-WebSocket-Protocol
properties:
  UDX-Access-Key:
    type: string
    minLength: 1
    maxLength: 255
    description: Opaque API key ID.
  UDX-Access-Timestamp:
    type: string
    pattern: ^[0-9]{13}$
    maxLength: 13
    description: Unix time in milliseconds, within 30 seconds of server time.
  UDX-Access-Signature:
    type: string
    minLength: 1
    maxLength: 1024
    description: Standard-base64 RSA-PSS/SHA-256 signature with a 32-byte salt. Sign timestamp + "GET" + "/ws"; the upgrade request has no body hash and no idempotency key.
  Sec-WebSocket-Protocol:
    type: string
    const: udx.json.2026-08-11
    description: Negotiated dated WebSocket API version.
```

##### `#/components/schemas/QuoteOpenedEnvelope`

```yaml
type: object
additionalProperties: false
description: One quote that landed live on the exchange.
required:
  - type
  - sid
  - seq
  - msg
properties:
  type:
    type: string
    const: quote_opened
    description: Identifies a quote that opened.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  seq:
    $ref: "#/components/schemas/SequenceNumber"
  msg:
    $ref: "#/components/schemas/Quote"
```

##### `#/components/schemas/SubscriptionId`

```yaml
type: integer
format: int64
minimum: 1
maximum: 9007199254740991
description: Exchange-assigned subscription ID whose lifetime is this WebSocket connection.
```

##### `#/components/schemas/SequenceNumber`

```yaml
type: integer
format: int64
minimum: 1
maximum: 9007199254740991
description: Gap-detection sequence local to one subscription. It starts at 1 and increments once per frame on that subscription.
```

##### `#/components/schemas/Quote`

```yaml
type: object
additionalProperties: false
description: A single-sided quote.
required:
  - quote_id
  - rfq_id
  - ticker
  - side
  - price
  - quantity
  - status
properties:
  quote_id:
    $ref: "#/components/schemas/EntityId"
  client_quote_id:
    type: string
    description: The quoter's correlation identifier. Present only on quotes the caller's member submitted; a quote answering the caller's RFQ omits it.
    example: client-20260804-001
  quoter_id:
    type: string
    minLength: 1
    maxLength: 64
    description: The participant identifier of the user who created this quote.
    example: 4d127cce3bc675c9
  requester_id:
    type: string
    minLength: 1
    maxLength: 64
    description: The participant identifier of the user who created the RFQ this quote responds to. Omitted when the parent RFQ is temporarily unavailable.
    example: 4d127cce3bc675c9
  rfq_id:
    type: string
    minLength: 1
    description: The RFQ this quote responds to.
    example: "6820943174116859281"
  ticker:
    $ref: "#/components/schemas/Ticker"
  side:
    $ref: "#/components/schemas/OrderSide"
  price:
    type: string
    pattern: ^[0-9]+(\.[0-9]{1,6})?$
    maxLength: 24
    description: Quote price in YES price space, in dollars.
    example: "0.55"
  quantity:
    type: string
    pattern: ^[0-9]+(\.[0-9]{1,2})?$
    maxLength: 24
    description: Number of contracts offered.
    example: "100"
  status:
    $ref: "#/components/schemas/QuoteStatus"
  cancellation_reason:
    type: string
    enum:
      - done_away
      - expired_before_acceptance
      - canceled_by_maker_or_last_look_expired
    description: Why the quote was canceled. Present only when status is canceled.
  rejection_reason:
    type: string
    enum:
      - market_closed
      - market_unknown
      - not_open_for_quoting
      - expired
      - duplicate_client_id
      - rejected_by_maker
      - exchange_rejected
    description: Why the quote was rejected. Present only when status is rejected.
  expires_at:
    type: string
    format: date-time
    maxLength: 40
    x-udx-timestamp-context: prospective
    description: The current quote deadline. While the quote is accepted, this is the end of the maker's last-look window.
    example: 2026-01-01T00:01:00.000000Z
```

##### `#/components/schemas/EntityId`

```yaml
type: string
minLength: 1
description: An exchange-assigned identifier. Treat it as an opaque, stable key with no internal structure.
example: "6820943174116859281"
```

##### `#/components/schemas/Ticker`

```yaml
type: string
minLength: 1
maxLength: 128
description: A human-meaningful natural key naming a single-leg or multi-leg market.
example: UDX-EXAMPLE-MARKET
```

##### `#/components/schemas/OrderSide`

```yaml
type: string
enum:
  - buy
  - sell
description: Order side.
```

##### `#/components/schemas/QuoteStatus`

```yaml
type: string
enum:
  - open
  - accepted
  - confirmed
  - canceled
  - rejected
description: Quote status.
```

##### `#/components/schemas/QuoteAcceptedEnvelope`

```yaml
type: object
additionalProperties: false
description: One quote a taker accepted, now awaiting the maker's last look.
required:
  - type
  - sid
  - seq
  - msg
properties:
  type:
    type: string
    const: quote_accepted
    description: Identifies a quote a taker accepted.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  seq:
    $ref: "#/components/schemas/SequenceNumber"
  msg:
    $ref: "#/components/schemas/Quote"
```

##### `#/components/schemas/QuoteConfirmedEnvelope`

```yaml
type: object
additionalProperties: false
description: "One quote the maker confirmed during last look. Confirmation is the maker's decision, not the trade: read the resulting order and fills for execution."
required:
  - type
  - sid
  - seq
  - msg
properties:
  type:
    type: string
    const: quote_confirmed
    description: Identifies a quote the maker confirmed.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  seq:
    $ref: "#/components/schemas/SequenceNumber"
  msg:
    $ref: "#/components/schemas/Quote"
```

##### `#/components/schemas/QuoteCanceledEnvelope`

```yaml
type: object
additionalProperties: false
description: One quote its maker canceled, that expired, or that otherwise ended without a trade.
required:
  - type
  - sid
  - seq
  - msg
properties:
  type:
    type: string
    const: quote_canceled
    description: Identifies a quote that was canceled.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  seq:
    $ref: "#/components/schemas/SequenceNumber"
  msg:
    $ref: "#/components/schemas/Quote"
```

##### `#/components/schemas/QuoteRejectedEnvelope`

```yaml
type: object
additionalProperties: false
description: One quote the exchange rejected or the maker passed on during last look.
required:
  - type
  - sid
  - seq
  - msg
properties:
  type:
    type: string
    const: quote_rejected
    description: Identifies a quote that was rejected.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  seq:
    $ref: "#/components/schemas/SequenceNumber"
  msg:
    $ref: "#/components/schemas/Quote"
```

##### `#/components/schemas/ErrorEnvelope`

```yaml
oneOf:
  - $ref: "#/components/schemas/InvalidMessageCommandErrorEnvelope"
  - $ref: "#/components/schemas/CorrelatedCommandErrorEnvelope"
  - $ref: "#/components/schemas/SubscriptionConflictCommandErrorEnvelope"
  - $ref: "#/components/schemas/SubscriptionErrorEnvelope"
description: Every error frame the exchange sends. A frame with an id answers that command; a frame with a sid and no id ends that subscription.
```

##### `#/components/schemas/InvalidMessageCommandErrorEnvelope`

```yaml
type: object
additionalProperties: false
description: Invalid-message error.
required:
  - type
  - msg
properties:
  id:
    $ref: "#/components/schemas/CommandId"
  type:
    type: string
    const: error
    description: Identifies a rejected command.
  msg:
    $ref: "#/components/schemas/InvalidMessageErrorPayload"
```

##### `#/components/schemas/CommandId`

```yaml
type: integer
format: int64
minimum: 1
maximum: 9007199254740991
description: Client-assigned command correlation identifier, unique among commands in flight on this connection.
```

##### `#/components/schemas/InvalidMessageErrorPayload`

```yaml
type: object
additionalProperties: false
description: The JSON or common command envelope is invalid.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: invalid_message
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
  field:
    type: string
    minLength: 1
    maxLength: 255
    description: JSON path to the invalid field when one can be identified.
```

##### `#/components/schemas/ErrorDetail`

```yaml
type: string
minLength: 1
maxLength: 500
description: Human-readable occurrence detail that clients must not parse.
```

##### `#/components/schemas/ErrorInstance`

```yaml
type: string
format: uri-reference
pattern: ^urn:request-id:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
maxLength: 100
description: Request identifier for troubleshooting with exchange support.
```

##### `#/components/schemas/CorrelatedCommandErrorEnvelope`

```yaml
type: object
additionalProperties: false
description: Rejected command correlated by its trustworthy client identifier.
required:
  - id
  - type
  - msg
properties:
  id:
    $ref: "#/components/schemas/CommandId"
  type:
    type: string
    const: error
    description: Identifies a rejected command.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  msg:
    $ref: "#/components/schemas/CorrelatedCommandErrorPayload"
  rate_limit:
    type: object
    additionalProperties: false
    description: Present on rate_limit_exceeded and omitted for uncharged command failures, capacity failures, and unavailable admission.
    required:
      - bucket
      - capacity
      - refill_tokens_per_minute
      - remaining
      - full_after_ms
    properties:
      bucket:
        type: string
        enum:
          - read
          - write
          - cancel
        description: Shared member bucket consulted for this command.
      capacity:
        type: integer
        format: int64
        minimum: 1
        maximum: 10000000
        description: Maximum tokens held by the bucket.
      refill_tokens_per_minute:
        type: integer
        format: int64
        minimum: 1
        maximum: 10000000
        description: Tokens restored per minute.
      remaining:
        type: integer
        format: int64
        minimum: 0
        maximum: 10000000
        description: Tokens remaining after th decision.
      full_after_ms:
        type: integer
        format: int64
        minimum: 0
        maximum: 86400000
        description: Milliseconds until the bucket is full if no more work is admitted.
```

##### `#/components/schemas/CorrelatedCommandErrorPayload`

```yaml
oneOf:
  - $ref: "#/components/schemas/UnknownCommandErrorPayload"
  - $ref: "#/components/schemas/InvalidParamsErrorPayload"
  - $ref: "#/components/schemas/CommandIdInUseErrorPayload"
  - $ref: "#/components/schemas/MarketNotFoundErrorPayload"
  - $ref: "#/components/schemas/QuoteNotFoundErrorPayload"
  - $ref: "#/components/schemas/OrderNotFoundErrorPayload"
  - $ref: "#/components/schemas/PermissionDeniedErrorPayload"
  - $ref: "#/components/schemas/SubscriptionNotFoundErrorPayload"
  - $ref: "#/components/schemas/SubscriptionNotReadyErrorPayload"
  - $ref: "#/components/schemas/SnapshotInProgressErrorPayload"
  - $ref: "#/components/schemas/RateLimitExceededErrorPayload"
  - $ref: "#/components/schemas/CapacityExceededErrorPayload"
  - $ref: "#/components/schemas/AdmissionUnavailableErrorPayload"
  - $ref: "#/components/schemas/ChannelUnavailableErrorPayload"
  - $ref: "#/components/schemas/InternalErrorPayload"
description: Closed set of command errors that may optionally identify a sid.
```

##### `#/components/schemas/UnknownCommandErrorPayload`

```yaml
type: object
additionalProperties: false
description: The command is unsupported by the negotiated protocol version.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: unknown_command
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
```

##### `#/components/schemas/InvalidParamsErrorPayload`

```yaml
type: object
additionalProperties: false
description: Command params fail schema or semantic validation.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: invalid_params
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
  field:
    type: string
    minLength: 1
    maxLength: 255
    description: JSON path to the invalid param when one can be identified.
```

##### `#/components/schemas/CommandIdInUseErrorPayload`

```yaml
type: object
additionalProperties: false
description: Another command with the supplied identifier is still in flight.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: command_id_in_use
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
```

##### `#/components/schemas/MarketNotFoundErrorPayload`

```yaml
type: object
additionalProperties: false
description: The market is absent from the caller-visible market catalog.
required:
  - code
  - detail
  - instance
  - ticker
properties:
  code:
    type: string
    const: market_not_found
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
  ticker:
    $ref: "#/components/schemas/Ticker"
```

##### `#/components/schemas/QuoteNotFoundErrorPayload`

```yaml
type: object
additionalProperties: false
description: The addressed quote or RFQ is unknown, or is not the caller's to act on.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: quote_not_found
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
```

##### `#/components/schemas/OrderNotFoundErrorPayload`

```yaml
type: object
additionalProperties: false
description: The addressed order is unknown, or is not the caller's to act on.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: order_not_found
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
```

##### `#/components/schemas/PermissionDeniedErrorPayload`

```yaml
type: object
additionalProperties: false
description: The caller lacks required access.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: permission_denied
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
```

##### `#/components/schemas/SubscriptionNotFoundErrorPayload`

```yaml
type: object
additionalProperties: false
description: The subscription identifier is not active on this connection.
required:
  - code
  - detail
  - instance
  - sid
properties:
  code:
    type: string
    const: subscription_not_found
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
  sid:
    $ref: "#/components/schemas/SubscriptionId"
```

##### `#/components/schemas/SubscriptionNotReadyErrorPayload`

```yaml
type: object
additionalProperties: false
description: Current state is not yet established for the requested operation.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: subscription_not_ready
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
```

##### `#/components/schemas/SnapshotInProgressErrorPayload`

```yaml
type: object
additionalProperties: false
description: The subscription already has a snapshot command in flight.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: snapshot_in_progress
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
```

##### `#/components/schemas/RateLimitExceededErrorPayload`

```yaml
type: object
additionalProperties: false
description: A command rate limit was exceeded.
required:
  - code
  - detail
  - instance
  - retry_after_ms
properties:
  code:
    type: string
    const: rate_limit_exceeded
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
  retry_after_ms:
    type: integer
    format: int64
    minimum: 1
    maximum: 86400000
    description: Minimum delay in milliseconds before another attempt.
```

##### `#/components/schemas/CapacityExceededErrorPayload`

```yaml
type: object
additionalProperties: false
description: A standing-resource limit prevents command admission.
required:
  - code
  - detail
  - instance
  - scope
  - resource
  - limit
properties:
  code:
    type: string
    const: capacity_exceeded
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
  scope:
    type: string
    enum:
      - connection
      - member
      - process
    description: Boundary at which the standing-resource limit applies.
  resource:
    type: string
    enum:
      - in_flight_commands
      - active_subscriptions
      - market_data_streams
    description: Retained or concurrent resource that reached its limit.
  limit:
    type: integer
    format: int64
    minimum: 1
    maximum: 10000000
    description: Enforced maximum for the identified scope and resource.
```

##### `#/components/schemas/AdmissionUnavailableErrorPayload`

```yaml
type: object
additionalProperties: false
description: Shared admission policy or state is temporarily unavailable.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: admission_unavailable
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
```

##### `#/components/schemas/ChannelUnavailableErrorPayload`

```yaml
type: object
additionalProperties: false
description: The channel's upstream source cannot serve the operation right now. Retry with backoff; the connection stays usable.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: channel_unavailable
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
```

##### `#/components/schemas/InternalErrorPayload`

```yaml
type: object
additionalProperties: false
description: An unexpected failure left connection state safe to continue.
required:
  - code
  - detail
  - instance
properties:
  code:
    type: string
    const: internal_error
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
```

##### `#/components/schemas/SubscriptionConflictCommandErrorEnvelope`

```yaml
type: object
additionalProperties: false
description: Rejected subscribe command identifying the conflicting subscription.
required:
  - id
  - type
  - sid
  - msg
properties:
  id:
    $ref: "#/components/schemas/CommandId"
  type:
    type: string
    const: error
    description: Identifies a rejected command.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  msg:
    $ref: "#/components/schemas/SubscriptionConflictErrorPayload"
```

##### `#/components/schemas/SubscriptionConflictErrorPayload`

```yaml
type: object
additionalProperties: false
description: The ticker already belongs to the identified subscription.
required:
  - code
  - detail
  - instance
  - ticker
properties:
  code:
    type: string
    const: subscription_conflict
    description: Stable machine-readable error code.
  detail:
    $ref: "#/components/schemas/ErrorDetail"
  instance:
    $ref: "#/components/schemas/ErrorInstance"
  ticker:
    $ref: "#/components/schemas/Ticker"
```

##### `#/components/schemas/SubscriptionErrorEnvelope`

```yaml
type: object
additionalProperties: false
description: Terminal failure for one subscription.
required:
  - type
  - sid
  - msg
properties:
  type:
    type: string
    const: error
    description: Identifies an error frame.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  msg:
    oneOf:
      - $ref: "#/components/schemas/PermissionDeniedErrorPayload"
      - $ref: "#/components/schemas/ChannelUnavailableErrorPayload"
      - $ref: "#/components/schemas/InternalErrorPayload"
    description: Closed set of terminal subscription failures.
```
