---
search:
  tags:
    - Orders
    - SEND
seo:
  description: >-
    Order lifecycle frames for the caller's own orders. Reference for the send
    operation on /ws in the WebSocket API.
sidebar:
  label: Stream orders
  badge: SEND
title: Stream orders
type: openapi-operation
---
Order lifecycle frames for the caller's own orders.

### Operation

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

#### 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

##### Order Resting

Deliver one of the caller's orders resting in the book.

Payload schema:

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

Example: OrderRestingExample

One order resting

```json
{
  "type": "order_resting",
  "sid": 13,
  "seq": 2,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "gtc",
    "status": "resting",
    "filled_quantity": "0",
    "remaining_quantity": "100",
    "fees_paid": "0.00",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
```

##### Order Partially Filled

Deliver one of the caller's orders that filled in part.

Payload schema:

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

Example: OrderPartiallyFilledExample

One order partially filled

```json
{
  "type": "order_partially_filled",
  "sid": 13,
  "seq": 3,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "gtc",
    "status": "partially_filled",
    "filled_quantity": "40",
    "remaining_quantity": "60",
    "average_fill_price": "0.55",
    "fees_paid": "0.02",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
```

##### Order Filled

Deliver one of the caller's orders that filled completely.

Payload schema:

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

Example: OrderFilledExample

One order filled

```json
{
  "type": "order_filled",
  "sid": 13,
  "seq": 4,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "gtc",
    "status": "filled",
    "filled_quantity": "100",
    "remaining_quantity": "0",
    "average_fill_price": "0.55",
    "fees_paid": "0.05",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
```

##### Order Canceled

Deliver one of the caller's orders that was canceled.

Payload schema:

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

Example: OrderCanceledExample

One order canceled

```json
{
  "type": "order_canceled",
  "sid": 13,
  "seq": 5,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "gtc",
    "status": "canceled",
    "filled_quantity": "0",
    "remaining_quantity": "0",
    "fees_paid": "0.00",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
```

##### Order Expired

Deliver one of the caller's orders that expired.

Payload schema:

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

Example: OrderExpiredExample

One order expired

```json
{
  "type": "order_expired",
  "sid": 13,
  "seq": 6,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "day",
    "status": "expired",
    "filled_quantity": "0",
    "remaining_quantity": "0",
    "fees_paid": "0.00",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
```

##### Order Rejected

Deliver one of the caller's orders that the exchange rejected.

Payload schema:

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

Example: OrderRejectedExample

One order rejected

```json
{
  "type": "order_rejected",
  "sid": 13,
  "seq": 7,
  "msg": {
    "order_id": "ORD-EXAMPLE-1",
    "client_order_id": "my-order-1",
    "account_id": "ACC-EXAMPLE-1",
    "ticker": "UDX-EXAMPLE-MARKET-A",
    "side": "buy",
    "quantity": "100",
    "price": "0.55",
    "time_in_force": "gtc",
    "status": "rejected",
    "rejection_reason": "self_trade_prevented",
    "filled_quantity": "0",
    "remaining_quantity": "0",
    "fees_paid": "0.00",
    "created_at": "2026-01-01T00:00:00.000000Z"
  }
}
```

#### Errors

- 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: 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: 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/OrderRestingEnvelope`

```yaml
type: object
additionalProperties: false
description: One of the caller's orders resting in the book. A new order raises this frame when it rests; an amend that keeps the order id re-announces the order with its updated price and quantity.
required:
  - type
  - sid
  - seq
  - msg
properties:
  type:
    type: string
    const: order_resting
    description: Identifies an order that is resting.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  seq:
    $ref: "#/components/schemas/SequenceNumber"
  msg:
    $ref: "#/components/schemas/Order"
```

##### `#/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/Order`

```yaml
type: object
additionalProperties: false
description: An order.
required:
  - order_id
  - account_id
  - ticker
  - side
  - quantity
  - price
  - time_in_force
  - status
  - filled_quantity
  - remaining_quantity
  - fees_paid
  - created_at
properties:
  order_id:
    $ref: "#/components/schemas/EntityId"
  client_order_id:
    $ref: "#/components/schemas/ClientId"
  account_id:
    type: string
    minLength: 1
    description: The account the order was placed under.
    example: "6820943174116859281"
  ticker:
    $ref: "#/components/schemas/Ticker"
  side:
    $ref: "#/components/schemas/OrderSide"
  quantity:
    $ref: "#/components/schemas/FixedPointQuantity"
  price:
    type: string
    pattern: ^[0-9]+(\.[0-9]{1,6})?$
    maxLength: 24
    description: Limit price in YES price space, in dollars, regardless of side.
    example: "0.55"
  time_in_force:
    $ref: "#/components/schemas/OrderTimeInForce"
  expires_at:
    type: string
    format: date-time
    maxLength: 40
    x-udx-timestamp-context: prospective
    description: When the order expires. Present only when time_in_force is gtt.
    example: 2026-01-01T00:01:00.000000Z
  status:
    $ref: "#/components/schemas/OrderStatus"
  rejection_reason:
    type: string
    enum:
      - duplicate_client_order_id
      - self_trade_prevented
      - market_closed
      - insufficient_funds
      - price_out_of_bounds
      - quantity_out_of_bounds
      - post_only_would_cross
      - no_liquidity
      - quote_unavailable
      - quote_terms_mismatch
      - quote_already_accepted
      - rate_limited
      - expires_at_invalid
      - exchange_rejected
    description: Why the exchange rejected the order. Present only when status is rejected.
  filled_quantity:
    type: string
    pattern: ^[0-9]+(\.[0-9]{1,2})?$
    maxLength: 24
    description: The quantity of the order that has been filled.
    example: "100"
  remaining_quantity:
    type: string
    pattern: ^[0-9]+(\.[0-9]{1,2})?$
    maxLength: 24
    description: The quantity of the order that is currently resting.
    example: "100"
  average_fill_price:
    type: string
    pattern: ^[0-9]+(\.[0-9]{1,6})?$
    maxLength: 24
    description: Volume-weighted average fill price. Present when filled_quantity > 0.
    example: "0.55"
  fees_paid:
    type: string
    pattern: ^[0-9]+(\.[0-9]{1,6})?$
    maxLength: 24
    description: Total fees collected on the order so far, in dollars.
    example: "0.55"
  created_at:
    type: string
    format: date-time
    maxLength: 40
    description: When the order was created.
    example: 2026-01-01T00:00: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/ClientId`

```yaml
type: string
description: A client-supplied correlation identifier.
example: client-20260804-001
```

##### `#/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/FixedPointQuantity`

```yaml
type: string
pattern: ^[0-9]+(\.[0-9]{1,2})?$
maxLength: 24
description: A quantity in contracts as a fixed-point decimal string.
example: "100"
```

##### `#/components/schemas/OrderTimeInForce`

```yaml
type: string
enum:
  - gtc
  - ioc
  - fok
  - day
  - gtt
  - unknown
description: Order time in force.
```

##### `#/components/schemas/OrderStatus`

```yaml
type: string
enum:
  - resting
  - partially_filled
  - filled
  - canceled
  - expired
  - rejected
description: An order's status.
```

##### `#/components/schemas/OrderPartiallyFilledEnvelope`

```yaml
type: object
additionalProperties: false
description: One of the caller's orders that filled in part and remains working.
required:
  - type
  - sid
  - seq
  - msg
properties:
  type:
    type: string
    const: order_partially_filled
    description: Identifies an order that partially filled.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  seq:
    $ref: "#/components/schemas/SequenceNumber"
  msg:
    $ref: "#/components/schemas/Order"
```

##### `#/components/schemas/OrderFilledEnvelope`

```yaml
type: object
additionalProperties: false
description: One of the caller's orders that filled completely.
required:
  - type
  - sid
  - seq
  - msg
properties:
  type:
    type: string
    const: order_filled
    description: Identifies an order that filled.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  seq:
    $ref: "#/components/schemas/SequenceNumber"
  msg:
    $ref: "#/components/schemas/Order"
```

##### `#/components/schemas/OrderCanceledEnvelope`

```yaml
type: object
additionalProperties: false
description: One of the caller's orders that was canceled.
required:
  - type
  - sid
  - seq
  - msg
properties:
  type:
    type: string
    const: order_canceled
    description: Identifies an order that was canceled.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  seq:
    $ref: "#/components/schemas/SequenceNumber"
  msg:
    $ref: "#/components/schemas/Order"
```

##### `#/components/schemas/OrderExpiredEnvelope`

```yaml
type: object
additionalProperties: false
description: One of the caller's orders that expired.
required:
  - type
  - sid
  - seq
  - msg
properties:
  type:
    type: string
    const: order_expired
    description: Identifies an order that expired.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  seq:
    $ref: "#/components/schemas/SequenceNumber"
  msg:
    $ref: "#/components/schemas/Order"
```

##### `#/components/schemas/OrderRejectedEnvelope`

```yaml
type: object
additionalProperties: false
description: One of the caller's orders that the exchange rejected.
required:
  - type
  - sid
  - seq
  - msg
properties:
  type:
    type: string
    const: order_rejected
    description: Identifies an order that was rejected.
  sid:
    $ref: "#/components/schemas/SubscriptionId"
  seq:
    $ref: "#/components/schemas/SequenceNumber"
  msg:
    $ref: "#/components/schemas/Order"
```

##### `#/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.
```
