@0xmonaco/types 1.0.56 → 1.0.58

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -267,6 +267,46 @@ export interface paths {
267
267
  patch?: never;
268
268
  trace?: never;
269
269
  };
270
+ "/api/v1/accounts/self-trade-prevention": {
271
+ parameters: {
272
+ query?: never;
273
+ header?: never;
274
+ path?: never;
275
+ cookie?: never;
276
+ };
277
+ /**
278
+ * Get your self-trade-prevention default
279
+ * @description Get your self-trade-prevention default.
280
+ *
281
+ * Return the authenticated wallet's self-trade-prevention default — the mode
282
+ * applied when an order from this wallet family (every account sharing the
283
+ * wallet address, across applications) would match against the family's own
284
+ * resting order and the order itself names no override. `is_custom` is true
285
+ * when the wallet has explicitly set a default; false means the platform
286
+ * default (`CANCEL_MAKER`) is in effect.
287
+ */
288
+ get: operations["get_self_trade_prevention_default"];
289
+ /**
290
+ * Set your self-trade-prevention default
291
+ * @description Set your self-trade-prevention default.
292
+ *
293
+ * Set the authenticated wallet's self-trade-prevention default to one of
294
+ * `CANCEL_MAKER`, `CANCEL_TAKER`, `CANCEL_BOTH`, or `SKIP` (input is
295
+ * case-insensitive; responses always carry these spellings). The default is
296
+ * wallet-scoped — it covers every application and account sharing the wallet
297
+ * address — and a per-order mode always overrides it. The write is sequenced
298
+ * through the matching engine; on success the next order from the wallet
299
+ * family already resolves the new mode. Delegated-agent sessions cannot
300
+ * change it.
301
+ */
302
+ put: operations["set_self_trade_prevention_default"];
303
+ post?: never;
304
+ delete?: never;
305
+ options?: never;
306
+ head?: never;
307
+ patch?: never;
308
+ trace?: never;
309
+ };
270
310
  "/api/v1/accounts/sub-accounts": {
271
311
  parameters: {
272
312
  query?: never;
@@ -2869,6 +2909,12 @@ export interface components {
2869
2909
  clientOrderId?: string | null;
2870
2910
  /** @description Optional submission identity, distinct from clientOrderId. Use 1-64 characters from [A-Za-z0-9._:-], without whitespace. Scoped to your authenticated user/subaccount and application, shared by create and batch-create items. Retrying the same key and normalized order payload within 24 hours of the original acceptance returns the original committed submission result, even after a fill or cancellation, without executing again. A full response cache does not prevent new keyed submissions: durable responses may be evicted while exact key history remains retained. If response capacity is protected by pending durability or persistence, a new key is refused with ORDER_SUBMISSION_CAPACITY_EXCEEDED. A retry whose original response cannot currently be retrieved returns ORDER_SUBMISSION_UNAVAILABLE and never executes again. Both are HTTP 503 / gRPC UNAVAILABLE, or per-item errors in batches. Retry the same key and payload; for previously accepted keys, stay within 24 hours of the original acceptance. A capacity refusal does not accept or reserve a new key. Different payload returns IDEMPOTENCY_KEY_CONFLICT (HTTP 409 / gRPC ALREADY_EXISTS; per-item error in batches). Validation failures before acceptance do not reserve the key. The window does not extend on retries; after it expires the key may execute a new order, so never retry an unresolved submission after 24 hours. Generate a fresh key for each intended new order and retain it across transport retries. Without a key, a timeout or 5xx leaves the outcome unknown and must not be blindly retried. */
2871
2911
  idempotencyKey?: string | null;
2912
+ /**
2913
+ * @description Per-order self-trade-prevention override: how the engine resolves this order matching against one of your own resting orders (your whole wallet family, subaccounts included; the incoming order's mode governs the step and resting orders' modes are never consulted). CANCEL_MAKER cancels each of your resting orders encountered and keeps matching. CANCEL_TAKER fills third-party liquidity up to the first self-touch, then cancels the incoming order's remainder — a zero-fill CANCELLED outcome is possible. CANCEL_BOTH additionally cancels the encountered resting orders. SKIP trades around your resting orders; a remainder that would rest crossing one of your surviving orders is cancelled instead of resting. Omitted, your wallet's configured default applies, else the platform default CANCEL_MAKER. STP cancellations carry terminalReason SELF_TRADE_PREVENTION and stpCounterpartyOrderId on reads and WebSocket events. With time_in_force FOK: CANCEL_MAKER cancels your makers first and then fills or kills; CANCEL_TAKER and SKIP cancel the whole order when self is in the fill path; CANCEL_BOTH fails only this item with a per-item SELF_TRADE_NOT_ALLOWED error — the batch itself still returns 2xx / OK. An unknown value likewise fails only this item, with error.code INVALID_SELF_TRADE_PREVENTION_MODE. The requested value is echoed back as selfTradePreventionMode on order reads, absent when omitted here.
2914
+ * @example CANCEL_TAKER
2915
+ * @enum {string|null}
2916
+ */
2917
+ selfTradePreventionMode?: "CANCEL_MAKER" | "CANCEL_TAKER" | "CANCEL_BOTH" | "SKIP" | null;
2872
2918
  };
2873
2919
  BatchCreateOrdersRequest: {
2874
2920
  orders: components["schemas"]["BatchCreateOrderItem"][];
@@ -2944,10 +2990,16 @@ export interface components {
2944
2990
  */
2945
2991
  postOnly?: boolean | null;
2946
2992
  /**
2947
- * @description Client-assigned correlation handle, echoed back on order reads (detail and list) and on order WebSocket events. At most 64 characters from [A-Za-z0-9._:-]; surrounding whitespace is trimmed before storage, and a blank or whitespace-only value is treated as absent. Uniqueness is enforced only among your orders that are RESTING on the book: an item reusing a value another of your resting orders still holds fails that item alone — the batch itself returns 2xx / OK and the offending item's result slot carries error.code CLIENT_ORDER_ID_CONFLICT; no transport-level 409 / ALREADY_EXISTS is raised. An order that never rests — MARKET, IOC/FOK, or a LIMIT that fills completely on arrival — does not take the handle, and the value is released the moment any order reaches a terminal state. It is therefore NOT an idempotency key, though on this replace path a retry cannot double-execute: the request names the original order id, and the sequencer revalidates that original in memory and on the book at sequence time, so once the first replacement succeeds the original is gone and a retry is rejected with ORDER_NOT_FOUND rather than placing a second order. That code is itself ambiguous — the original may instead have filled or been cancelled — so the risk here is acting on a stale view, not duplicate execution. Reconcile a lost response against the order WebSocket stream, which carries this value on the submit acknowledgement and on fills, including for orders that never rest; order history is replica-backed and can omit an order that did land. The stream is not replayable and has no sequence number to backfill from, and its fan-out is non-persistent Core NATS: the service can re-establish an ended upstream subscription without closing your socket, so events can be missed while your connection still looks healthy. A matching event is therefore positive proof the order was accepted, but silence is NEVER evidence it was not, and no client-observable condition makes it so. Absent positive evidence the outcome is unresolved: hold and escalate rather than resubmitting. A replace item carries no order type or time-in-force and its original must still be RESTING, so the IOC/FOK and MARKET post-acceptance rejection shapes are unreachable here. Failures split by WHEN they occur, and the difference decides whether your original survives. Before sequencing: a malformed value is caught up front and rejects the whole batch with HTTP 400 / gRPC INVALID_ARGUMENT, and a per-item validation failure fails that item with no mutation and no event. A pre-cancel gate then drops two more classes before anything is cancelled — a handle conflict, and a post-only replacement that would cross the book as it will stand once this batch's originals are cancelled — so in the ordinary POST_ONLY_WOULD_CROSS case the item fails with its original still RESTING and untouched. After that the endpoint is CANCEL-FIRST: the original is cancelled in pass 1, so a residual placement failure then — a self-trade rejection, or a crossing that only became apparent in pass 2 — leaves the original CANCELLED and emits its cancellation events (terminal reason 'replaced') while the item reports the placement error and no replacement is placed. Never assume a failed item left your original resting; read results[] and the stream. Single ReplaceOrder differs: it is atomic, and a rejected replacement leaves the original untouched. Where no surface is conclusive, do not resubmit. A replacement is a new order with a new id, so it carries its own value and inherits nothing from the original — restate it to keep the handle.
2993
+ * @description Client-assigned correlation handle, echoed back on order reads (detail and list) and on order WebSocket events. At most 64 characters from [A-Za-z0-9._:-]; surrounding whitespace is trimmed before storage, and a blank or whitespace-only value is treated as absent. Uniqueness is enforced only among your orders that are RESTING on the book: an item reusing a value another of your resting orders still holds fails that item alone — the batch itself returns 2xx / OK and the offending item's result slot carries error.code CLIENT_ORDER_ID_CONFLICT; no transport-level 409 / ALREADY_EXISTS is raised. An order that never rests — MARKET, IOC/FOK, or a LIMIT that fills completely on arrival — does not take the handle, and the value is released the moment any order reaches a terminal state. It is therefore NOT an idempotency key, though on this replace path a retry cannot double-execute: the request names the original order id, and the sequencer revalidates that original in memory and on the book at sequence time, so once the first replacement succeeds the original is gone and a retry is rejected with ORDER_NOT_FOUND rather than placing a second order. That code is itself ambiguous — the original may instead have filled or been cancelled — so the risk here is acting on a stale view, not duplicate execution. Reconcile a lost response against the order WebSocket stream, which carries this value on the submit acknowledgement and on fills, including for orders that never rest; order history is replica-backed and can omit an order that did land. The stream is not replayable and has no sequence number to backfill from, and its fan-out is non-persistent Core NATS: the service can re-establish an ended upstream subscription without closing your socket, so events can be missed while your connection still looks healthy. A matching event is therefore positive proof the order was accepted, but silence is NEVER evidence it was not, and no client-observable condition makes it so. Absent positive evidence the outcome is unresolved: hold and escalate rather than resubmitting. A replace item carries no order type or time-in-force and its original must still be RESTING, so the IOC/FOK and MARKET post-acceptance rejection shapes are unreachable here. Failures split by WHEN they occur, and the difference decides whether your original survives. Before sequencing: every validation failure — a malformed value included — fails ITS ITEM alone with a structured error.code (INVALID_CLIENT_ORDER_ID for a malformed handle, the same code batch-create uses) and no mutation and no event, batch-create parity; the whole request 400s only for an empty or oversize batch. (Earlier releases rejected the whole batch for a malformed value here.) A pre-cancel gate then drops two more classes before anything is cancelled — a handle conflict, and a post-only replacement that would cross the book as it will stand once this batch's originals are cancelled — so in the ordinary POST_ONLY_WOULD_CROSS case the item fails with its original still RESTING and untouched. After that the endpoint is CANCEL-FIRST: the original is cancelled in pass 1, so a residual placement failure then — a self-trade rejection, or a crossing that only became apparent in pass 2 — leaves the original CANCELLED and emits its cancellation events (terminal reason 'replaced') while the item reports the placement error and no replacement is placed. Never assume a failed item left your original resting; read results[] and the stream. Single ReplaceOrder differs: it is atomic, and a rejected replacement leaves the original untouched. Where no surface is conclusive, do not resubmit. A replacement is a new order with a new id, so it carries its own value and inherits nothing from the original — restate it to keep the handle.
2948
2994
  * @example quote-btc-1130-a
2949
2995
  */
2950
2996
  clientOrderId?: string | null;
2997
+ /**
2998
+ * @description Per-order self-trade-prevention override for the replacement: CANCEL_MAKER, CANCEL_TAKER, CANCEL_BOTH, or SKIP (see the create-order field for the full semantics). A replacement is a new order with a new id, so it carries its own value and inherits nothing from the original — restate it to keep the override. Omitted, your wallet's configured default applies, else the platform default CANCEL_MAKER. An unknown value fails only this item, with error.code INVALID_SELF_TRADE_PREVENTION_MODE. The requested value is echoed back as selfTradePreventionMode on order reads, absent when omitted here.
2999
+ * @example CANCEL_TAKER
3000
+ * @enum {string|null}
3001
+ */
3002
+ selfTradePreventionMode?: "CANCEL_MAKER" | "CANCEL_TAKER" | "CANCEL_BOTH" | "SKIP" | null;
2951
3003
  };
2952
3004
  BatchReplaceOrdersRequest: {
2953
3005
  orders: components["schemas"]["BatchReplaceOrderItem"][];
@@ -3383,6 +3435,12 @@ export interface components {
3383
3435
  clientOrderId?: string | null;
3384
3436
  /** @description Optional submission identity, distinct from clientOrderId. Use 1-64 characters from [A-Za-z0-9._:-], without whitespace. Scoped to your authenticated user/subaccount and application, shared by create and batch-create items. Retrying the same key and normalized order payload within 24 hours of the original acceptance returns the original committed submission result, even after a fill or cancellation, without executing again. A full response cache does not prevent new keyed submissions: durable responses may be evicted while exact key history remains retained. If response capacity is protected by pending durability or persistence, a new key is refused with ORDER_SUBMISSION_CAPACITY_EXCEEDED. A retry whose original response cannot currently be retrieved returns ORDER_SUBMISSION_UNAVAILABLE and never executes again. Both are HTTP 503 / gRPC UNAVAILABLE, or per-item errors in batches. Retry the same key and payload; for previously accepted keys, stay within 24 hours of the original acceptance. A capacity refusal does not accept or reserve a new key. Different payload returns IDEMPOTENCY_KEY_CONFLICT (HTTP 409 / gRPC ALREADY_EXISTS; per-item error in batches). Validation failures before acceptance do not reserve the key. The window does not extend on retries; after it expires the key may execute a new order, so never retry an unresolved submission after 24 hours. Generate a fresh key for each intended new order and retain it across transport retries. Without a key, a timeout or 5xx leaves the outcome unknown and must not be blindly retried. */
3385
3437
  idempotencyKey?: string | null;
3438
+ /**
3439
+ * @description Per-order self-trade-prevention override: how the engine resolves this order matching against one of your own resting orders (your whole wallet family, subaccounts included; the incoming order's mode governs the step and resting orders' modes are never consulted). CANCEL_MAKER cancels each of your resting orders encountered and keeps matching. CANCEL_TAKER fills third-party liquidity up to the first self-touch, then cancels the incoming order's remainder — a zero-fill CANCELLED outcome is possible. CANCEL_BOTH additionally cancels the encountered resting orders. SKIP trades around your resting orders; a remainder that would rest crossing one of your surviving orders is cancelled instead of resting. Omitted, your wallet's configured default applies, else the platform default CANCEL_MAKER. STP cancellations carry terminalReason SELF_TRADE_PREVENTION and stpCounterpartyOrderId on reads and WebSocket events. With time_in_force FOK: CANCEL_MAKER cancels your makers first and then fills or kills; CANCEL_TAKER and SKIP cancel the whole order when self is in the fill path; CANCEL_BOTH rejects the placement with SELF_TRADE_NOT_ALLOWED. The requested value is echoed back as selfTradePreventionMode on order reads, absent when omitted here.
3440
+ * @example CANCEL_TAKER
3441
+ * @enum {string|null}
3442
+ */
3443
+ selfTradePreventionMode?: "CANCEL_MAKER" | "CANCEL_TAKER" | "CANCEL_BOTH" | "SKIP" | null;
3386
3444
  };
3387
3445
  CreateOrderResponse: {
3388
3446
  /**
@@ -4386,7 +4444,7 @@ export interface components {
4386
4444
  */
4387
4445
  tradingPairId?: string | null;
4388
4446
  /**
4389
- * @description Order type: LIMIT or MARKET
4447
+ * @description What kind of order this row is: LIMIT or MARKET for a book order, TWAP for a TWAP parent, CONDITIONAL for a price-triggered order. TWAP and CONDITIONAL appear only in responses — they name a row's kind and cannot be placed through the create-order request, which still takes LIMIT, MARKET or IOC. A row of either kind carries its kind-specific fields in `twap` or `conditional`; the fields shared by every kind (id, side, quantity, status, timestamps) are populated in place as usual.
4390
4448
  * @example LIMIT
4391
4449
  */
4392
4450
  orderType?: string | null;
@@ -4396,7 +4454,7 @@ export interface components {
4396
4454
  */
4397
4455
  side?: string | null;
4398
4456
  /**
4399
- * @description Limit price (null for market orders)
4457
+ * @description Limit price (null for market orders). For a TWAP parent this is its optional parent-level limit price, and for a conditional order the limit price its triggered order will carry (null when it triggers as a market order).
4400
4458
  * @example 35000.00
4401
4459
  */
4402
4460
  price?: string | null;
@@ -4588,12 +4646,22 @@ export interface components {
4588
4646
  * @example false
4589
4647
  */
4590
4648
  postOnly?: boolean | null;
4649
+ /** @description Present only when orderType is TWAP: the full TWAP parent, identical to what GET /api/v1/orders/twap/{twapOrderId} returns — schedule, slice counters, progress, and terminal reason. The row's shared fields mirror it: quantity is the parent's total quantity, filledQuantity its executed quantity, and status maps its state onto the order statuses. */
4650
+ twap?: components["schemas"]["TwapOrder"] | null;
4651
+ /** @description Present only when orderType is CONDITIONAL: the full conditional order, identical to what the conditional-order endpoints return — trigger price and direction, condition type, linked group, and the order it triggers into. The row's shared fields mirror it, with status mapping its state onto the order statuses. */
4652
+ conditional?: components["schemas"]["ConditionalOrder"] | null;
4591
4653
  /**
4592
4654
  * Format: int64
4593
4655
  * @description Opaque, compare-only revision counter for this order's state: the sequencer step that wrote it. A strictly higher value is strictly newer state for that order. The SAME counter is carried on every order WebSocket event and on the `orders` snapshot frame, so a reconnecting client reconciles on `(id, version)` — take the REST row when `snapshot.version >= local.version`, else keep local state. Note `>=`, not `>`: on the stream, equal versions mean the SAME STEP rather than identical state, because one step emits several events for one order (an `OrderPlaced` and then its fills) and a batch shares one step across every item. A REST row is that step's FINAL state, so it wins a tie. Between two REST reads the comparison is simpler — equal there does mean identical state. Do not read anything else into the number: it is not a count of updates, consecutive values are not expected (it is drawn from a global sequence shared by every order, so per-order values are sparse and gaps are normal), and it is not comparable across different orders. Absent means unknown: an order last written before this field existed. Fall back to a full field comparison for those rather than treating absent as version zero — and note that a comparison against an absent value is false in both directions, so an order held locally without one is never refreshed by the merge above; take the REST row unconditionally for those. Reconciling on this counter does NOT on its own close a reconnect gap: an order that filled or was cancelled while the socket was down appears in neither the resting snapshot nor the stream, so recover fills from `listUserTrades` (ordered by execution time) and resolve anything your local state believes is resting that the snapshot no longer lists with a targeted `getOrder`. Unlike `updatedAt`, this value is identical on every REST endpoint that serves the same order state, and never advances without a state change.
4594
4656
  * @example 918342
4595
4657
  */
4596
4658
  version?: number | null;
4659
+ /**
4660
+ * @description The per-order self-trade-prevention override REQUESTED when this order was placed or replaced: CANCEL_MAKER, CANCEL_TAKER, CANCEL_BOTH, or SKIP. Absent when the order carried no override — including every order placed before the field was accepted on write — even though a wallet or platform default still governed its matching. This echoes the request, not the resolved default.
4661
+ * @example CANCEL_TAKER
4662
+ * @enum {string|null}
4663
+ */
4664
+ selfTradePreventionMode?: "CANCEL_MAKER" | "CANCEL_TAKER" | "CANCEL_BOTH" | "SKIP" | null;
4597
4665
  };
4598
4666
  /** @description Orderbook snapshot with token metadata and sequence number. */
4599
4667
  GetOrderbookResponse: {
@@ -6682,10 +6750,11 @@ export interface components {
6682
6750
  };
6683
6751
  ReplaceOrderRequest: {
6684
6752
  /**
6685
- * @description Client-assigned correlation handle, echoed back on order reads (detail and list) and on order WebSocket events. At most 64 characters from [A-Za-z0-9._:-]; surrounding whitespace is trimmed before storage, and a blank or whitespace-only value is treated as absent. Uniqueness is enforced only among your orders that are RESTING on the book: a create or replace reusing a value another of your resting orders still holds is rejected with HTTP 409 / gRPC ALREADY_EXISTS and the code CLIENT_ORDER_ID_CONFLICT. An order that never rests — MARKET, IOC/FOK, or a LIMIT that fills completely on arrival — does not take the handle, and the value is released the moment any order reaches a terminal state. It is therefore NOT an idempotency key, though on this replace path a retry cannot double-execute: the request names the original order id, and the sequencer revalidates that original in memory and on the book at sequence time, so once the first replacement succeeds the original is gone and a retry is rejected with ORDER_NOT_FOUND rather than placing a second order. That code is itself ambiguous — the original may instead have filled or been cancelled — so the risk here is acting on a stale view, not duplicate execution. Reconcile a lost response against the order WebSocket stream, which carries this value on the submit acknowledgement and on fills, including for orders that never rest; order history is replica-backed and can omit an order that did land. The stream is not replayable and has no sequence number to backfill from, and its fan-out is non-persistent Core NATS: the service can re-establish an ended upstream subscription without closing your socket, so events can be missed while your connection still looks healthy. A matching event is therefore positive proof the order was accepted, but silence is NEVER evidence it was not, and no client-observable condition makes it so. Absent positive evidence the outcome is unresolved: hold and escalate rather than resubmitting. A replacement carries no order type or time-in-force and its original must still be RESTING, so the post-acceptance rejection shapes are unreachable here: the reachable failures are all pre-acceptance — malformed, post-only would cross, handle conflict, or the original no longer resting (ORDER_NOT_FOUND) — and each fails the request, emits no event and is never written to order history (an order rejected AFTER acceptance is persisted with status REJECTED, so only the pre-acceptance class is absent). Where no surface is conclusive, do not resubmit. A replacement is a new order with a new id, so it carries its own value and inherits nothing from the original — restate it to keep the handle.
6686
- * @example quote-btc-1130-a
6753
+ * @description Per-order self-trade-prevention override for the replacement: CANCEL_MAKER, CANCEL_TAKER, CANCEL_BOTH, or SKIP (see the create-order field for the full semantics). A replacement is a new order with a new id, so it carries its own value and inherits nothing from the original — restate it to keep the override. Omitted, your wallet's configured default applies, else the platform default CANCEL_MAKER. The requested value is echoed back as selfTradePreventionMode on order reads, absent when omitted here.
6754
+ * @example CANCEL_TAKER
6755
+ * @enum {string|null}
6687
6756
  */
6688
- clientOrderId?: string | null;
6757
+ selfTradePreventionMode?: "CANCEL_MAKER" | "CANCEL_TAKER" | "CANCEL_BOTH" | "SKIP" | null;
6689
6758
  /**
6690
6759
  * @description New limit price (if changing)
6691
6760
  * @example 35500.00
@@ -6706,6 +6775,11 @@ export interface components {
6706
6775
  * @example false
6707
6776
  */
6708
6777
  postOnly?: boolean | null;
6778
+ /**
6779
+ * @description Client-assigned correlation handle, echoed back on order reads (detail and list) and on order WebSocket events. At most 64 characters from [A-Za-z0-9._:-]; surrounding whitespace is trimmed before storage, and a blank or whitespace-only value is treated as absent. Uniqueness is enforced only among your orders that are RESTING on the book: a create or replace reusing a value another of your resting orders still holds is rejected with HTTP 409 / gRPC ALREADY_EXISTS and the code CLIENT_ORDER_ID_CONFLICT. An order that never rests — MARKET, IOC/FOK, or a LIMIT that fills completely on arrival — does not take the handle, and the value is released the moment any order reaches a terminal state. It is therefore NOT an idempotency key, though on this replace path a retry cannot double-execute: the request names the original order id, and the sequencer revalidates that original in memory and on the book at sequence time, so once the first replacement succeeds the original is gone and a retry is rejected with ORDER_NOT_FOUND rather than placing a second order. That code is itself ambiguous — the original may instead have filled or been cancelled — so the risk here is acting on a stale view, not duplicate execution. Reconcile a lost response against the order WebSocket stream, which carries this value on the submit acknowledgement and on fills, including for orders that never rest; order history is replica-backed and can omit an order that did land. The stream is not replayable and has no sequence number to backfill from, and its fan-out is non-persistent Core NATS: the service can re-establish an ended upstream subscription without closing your socket, so events can be missed while your connection still looks healthy. A matching event is therefore positive proof the order was accepted, but silence is NEVER evidence it was not, and no client-observable condition makes it so. Absent positive evidence the outcome is unresolved: hold and escalate rather than resubmitting. A replacement carries no order type or time-in-force and its original must still be RESTING, so the post-acceptance rejection shapes are unreachable here: the reachable failures are all pre-acceptance — malformed, post-only would cross, handle conflict, or the original no longer resting (ORDER_NOT_FOUND) — and each fails the request, emits no event and is never written to order history (an order rejected AFTER acceptance is persisted with status REJECTED, so only the pre-acceptance class is absent). Where no surface is conclusive, do not resubmit. A replacement is a new order with a new id, so it carries its own value and inherits nothing from the original — restate it to keep the handle.
6780
+ * @example quote-btc-1130-a
6781
+ */
6782
+ clientOrderId?: string | null;
6709
6783
  };
6710
6784
  ReplaceOrderResponse: {
6711
6785
  /**
@@ -6891,6 +6965,25 @@ export interface components {
6891
6965
  */
6892
6966
  priceChangePercent?: string | null;
6893
6967
  };
6968
+ SelfTradePreventionDefaultResponse: {
6969
+ /**
6970
+ * @description The wallet's effective self-trade-prevention default: `CANCEL_MAKER`, `CANCEL_TAKER`, `CANCEL_BOTH`, or `SKIP`.
6971
+ * @example CANCEL_MAKER
6972
+ */
6973
+ mode?: string | null;
6974
+ /**
6975
+ * @description True when this wallet has explicitly set a default; false when the platform default (`CANCEL_MAKER`) is in effect.
6976
+ * @example false
6977
+ */
6978
+ isCustom?: boolean | null;
6979
+ };
6980
+ SetSelfTradePreventionDefaultRequest: {
6981
+ /**
6982
+ * @description The self-trade-prevention mode applied when an order from this wallet would match the wallet family's own resting order and the order names no override: `CANCEL_MAKER` (cancel the resting order — the platform default), `CANCEL_TAKER` (cancel the incoming order), `CANCEL_BOTH`, or `SKIP` (trade around own orders). Input is case-insensitive.
6983
+ * @example SKIP
6984
+ */
6985
+ mode: string;
6986
+ };
6894
6987
  SetTraderCodeRequest: {
6895
6988
  /**
6896
6989
  * @description The custom handle to claim or edit to: `[A-Za-z0-9_]`, must start with a letter, 5–20 characters. Case is preserved on store; uniqueness is case-insensitive.
@@ -8058,6 +8151,13 @@ export interface operations {
8058
8151
  };
8059
8152
  content?: never;
8060
8153
  };
8154
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8155
+ 429: {
8156
+ headers: {
8157
+ [name: string]: unknown;
8158
+ };
8159
+ content?: never;
8160
+ };
8061
8161
  /** @description Internal server error */
8062
8162
  500: {
8063
8163
  headers: {
@@ -8109,6 +8209,13 @@ export interface operations {
8109
8209
  };
8110
8210
  content?: never;
8111
8211
  };
8212
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8213
+ 429: {
8214
+ headers: {
8215
+ [name: string]: unknown;
8216
+ };
8217
+ content?: never;
8218
+ };
8112
8219
  /** @description Internal server error */
8113
8220
  500: {
8114
8221
  headers: {
@@ -8159,6 +8266,13 @@ export interface operations {
8159
8266
  };
8160
8267
  content?: never;
8161
8268
  };
8269
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8270
+ 429: {
8271
+ headers: {
8272
+ [name: string]: unknown;
8273
+ };
8274
+ content?: never;
8275
+ };
8162
8276
  /** @description Internal server error */
8163
8277
  500: {
8164
8278
  headers: {
@@ -8207,6 +8321,13 @@ export interface operations {
8207
8321
  };
8208
8322
  content?: never;
8209
8323
  };
8324
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8325
+ 429: {
8326
+ headers: {
8327
+ [name: string]: unknown;
8328
+ };
8329
+ content?: never;
8330
+ };
8210
8331
  /** @description Internal server error */
8211
8332
  500: {
8212
8333
  headers: {
@@ -8250,6 +8371,13 @@ export interface operations {
8250
8371
  };
8251
8372
  content?: never;
8252
8373
  };
8374
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8375
+ 429: {
8376
+ headers: {
8377
+ [name: string]: unknown;
8378
+ };
8379
+ content?: never;
8380
+ };
8253
8381
  /** @description Internal server error */
8254
8382
  500: {
8255
8383
  headers: {
@@ -8300,6 +8428,13 @@ export interface operations {
8300
8428
  };
8301
8429
  content?: never;
8302
8430
  };
8431
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8432
+ 429: {
8433
+ headers: {
8434
+ [name: string]: unknown;
8435
+ };
8436
+ content?: never;
8437
+ };
8303
8438
  /** @description Internal server error */
8304
8439
  500: {
8305
8440
  headers: {
@@ -8351,6 +8486,13 @@ export interface operations {
8351
8486
  };
8352
8487
  content?: never;
8353
8488
  };
8489
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8490
+ 429: {
8491
+ headers: {
8492
+ [name: string]: unknown;
8493
+ };
8494
+ content?: never;
8495
+ };
8354
8496
  /** @description Internal server error */
8355
8497
  500: {
8356
8498
  headers: {
@@ -8392,6 +8534,13 @@ export interface operations {
8392
8534
  };
8393
8535
  content?: never;
8394
8536
  };
8537
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8538
+ 429: {
8539
+ headers: {
8540
+ [name: string]: unknown;
8541
+ };
8542
+ content?: never;
8543
+ };
8395
8544
  /** @description Internal server error */
8396
8545
  500: {
8397
8546
  headers: {
@@ -8442,6 +8591,13 @@ export interface operations {
8442
8591
  };
8443
8592
  content?: never;
8444
8593
  };
8594
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8595
+ 429: {
8596
+ headers: {
8597
+ [name: string]: unknown;
8598
+ };
8599
+ content?: never;
8600
+ };
8445
8601
  /** @description Internal server error */
8446
8602
  500: {
8447
8603
  headers: {
@@ -8492,6 +8648,13 @@ export interface operations {
8492
8648
  };
8493
8649
  content?: never;
8494
8650
  };
8651
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8652
+ 429: {
8653
+ headers: {
8654
+ [name: string]: unknown;
8655
+ };
8656
+ content?: never;
8657
+ };
8495
8658
  /** @description Internal server error */
8496
8659
  500: {
8497
8660
  headers: {
@@ -8542,6 +8705,13 @@ export interface operations {
8542
8705
  };
8543
8706
  content?: never;
8544
8707
  };
8708
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8709
+ 429: {
8710
+ headers: {
8711
+ [name: string]: unknown;
8712
+ };
8713
+ content?: never;
8714
+ };
8545
8715
  /** @description Internal server error */
8546
8716
  500: {
8547
8717
  headers: {
@@ -8610,6 +8780,99 @@ export interface operations {
8610
8780
  };
8611
8781
  content?: never;
8612
8782
  };
8783
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8784
+ 429: {
8785
+ headers: {
8786
+ [name: string]: unknown;
8787
+ };
8788
+ content?: never;
8789
+ };
8790
+ /** @description Internal server error */
8791
+ 500: {
8792
+ headers: {
8793
+ [name: string]: unknown;
8794
+ };
8795
+ content?: never;
8796
+ };
8797
+ };
8798
+ };
8799
+ get_self_trade_prevention_default: {
8800
+ parameters: {
8801
+ query?: never;
8802
+ header?: never;
8803
+ path?: never;
8804
+ cookie?: never;
8805
+ };
8806
+ requestBody?: never;
8807
+ responses: {
8808
+ /** @description OK */
8809
+ 200: {
8810
+ headers: {
8811
+ [name: string]: unknown;
8812
+ };
8813
+ content: {
8814
+ "application/json": components["schemas"]["SelfTradePreventionDefaultResponse"];
8815
+ };
8816
+ };
8817
+ /** @description Authentication required */
8818
+ 401: {
8819
+ headers: {
8820
+ [name: string]: unknown;
8821
+ };
8822
+ content?: never;
8823
+ };
8824
+ /** @description Internal server error */
8825
+ 500: {
8826
+ headers: {
8827
+ [name: string]: unknown;
8828
+ };
8829
+ content?: never;
8830
+ };
8831
+ };
8832
+ };
8833
+ set_self_trade_prevention_default: {
8834
+ parameters: {
8835
+ query?: never;
8836
+ header?: never;
8837
+ path?: never;
8838
+ cookie?: never;
8839
+ };
8840
+ requestBody: {
8841
+ content: {
8842
+ "application/json": components["schemas"]["SetSelfTradePreventionDefaultRequest"];
8843
+ };
8844
+ };
8845
+ responses: {
8846
+ /** @description OK */
8847
+ 200: {
8848
+ headers: {
8849
+ [name: string]: unknown;
8850
+ };
8851
+ content: {
8852
+ "application/json": components["schemas"]["SelfTradePreventionDefaultResponse"];
8853
+ };
8854
+ };
8855
+ /** @description Unknown mode */
8856
+ 400: {
8857
+ headers: {
8858
+ [name: string]: unknown;
8859
+ };
8860
+ content?: never;
8861
+ };
8862
+ /** @description Authentication required */
8863
+ 401: {
8864
+ headers: {
8865
+ [name: string]: unknown;
8866
+ };
8867
+ content?: never;
8868
+ };
8869
+ /** @description Delegated-agent sessions cannot change account settings */
8870
+ 403: {
8871
+ headers: {
8872
+ [name: string]: unknown;
8873
+ };
8874
+ content?: never;
8875
+ };
8613
8876
  /** @description Internal server error */
8614
8877
  500: {
8615
8878
  headers: {
@@ -8658,6 +8921,13 @@ export interface operations {
8658
8921
  };
8659
8922
  content?: never;
8660
8923
  };
8924
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
8925
+ 429: {
8926
+ headers: {
8927
+ [name: string]: unknown;
8928
+ };
8929
+ content?: never;
8930
+ };
8661
8931
  /** @description Internal server error */
8662
8932
  500: {
8663
8933
  headers: {
@@ -8777,6 +9047,13 @@ export interface operations {
8777
9047
  };
8778
9048
  content?: never;
8779
9049
  };
9050
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
9051
+ 429: {
9052
+ headers: {
9053
+ [name: string]: unknown;
9054
+ };
9055
+ content?: never;
9056
+ };
8780
9057
  /** @description Internal server error */
8781
9058
  500: {
8782
9059
  headers: {
@@ -8973,6 +9250,13 @@ export interface operations {
8973
9250
  };
8974
9251
  content?: never;
8975
9252
  };
9253
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
9254
+ 429: {
9255
+ headers: {
9256
+ [name: string]: unknown;
9257
+ };
9258
+ content?: never;
9259
+ };
8976
9260
  /** @description Internal server error */
8977
9261
  500: {
8978
9262
  headers: {
@@ -9071,6 +9355,13 @@ export interface operations {
9071
9355
  };
9072
9356
  content?: never;
9073
9357
  };
9358
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
9359
+ 429: {
9360
+ headers: {
9361
+ [name: string]: unknown;
9362
+ };
9363
+ content?: never;
9364
+ };
9074
9365
  /** @description Internal server error */
9075
9366
  500: {
9076
9367
  headers: {
@@ -9524,6 +9815,13 @@ export interface operations {
9524
9815
  };
9525
9816
  content?: never;
9526
9817
  };
9818
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
9819
+ 429: {
9820
+ headers: {
9821
+ [name: string]: unknown;
9822
+ };
9823
+ content?: never;
9824
+ };
9527
9825
  /** @description Internal server error */
9528
9826
  500: {
9529
9827
  headers: {
@@ -9610,6 +9908,13 @@ export interface operations {
9610
9908
  };
9611
9909
  content?: never;
9612
9910
  };
9911
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
9912
+ 429: {
9913
+ headers: {
9914
+ [name: string]: unknown;
9915
+ };
9916
+ content?: never;
9917
+ };
9613
9918
  /** @description Internal server error */
9614
9919
  500: {
9615
9920
  headers: {
@@ -9754,6 +10059,13 @@ export interface operations {
9754
10059
  };
9755
10060
  content?: never;
9756
10061
  };
10062
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10063
+ 429: {
10064
+ headers: {
10065
+ [name: string]: unknown;
10066
+ };
10067
+ content?: never;
10068
+ };
9757
10069
  /** @description Internal server error */
9758
10070
  500: {
9759
10071
  headers: {
@@ -9887,6 +10199,13 @@ export interface operations {
9887
10199
  };
9888
10200
  content?: never;
9889
10201
  };
10202
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10203
+ 429: {
10204
+ headers: {
10205
+ [name: string]: unknown;
10206
+ };
10207
+ content?: never;
10208
+ };
9890
10209
  /** @description Internal server error */
9891
10210
  500: {
9892
10211
  headers: {
@@ -9938,6 +10257,13 @@ export interface operations {
9938
10257
  };
9939
10258
  content?: never;
9940
10259
  };
10260
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10261
+ 429: {
10262
+ headers: {
10263
+ [name: string]: unknown;
10264
+ };
10265
+ content?: never;
10266
+ };
9941
10267
  /** @description Internal server error */
9942
10268
  500: {
9943
10269
  headers: {
@@ -9973,6 +10299,13 @@ export interface operations {
9973
10299
  "application/json": components["schemas"]["ListMarginAccountsResponse"];
9974
10300
  };
9975
10301
  };
10302
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10303
+ 429: {
10304
+ headers: {
10305
+ [name: string]: unknown;
10306
+ };
10307
+ content?: never;
10308
+ };
9976
10309
  };
9977
10310
  };
9978
10311
  get_margin_account_summary: {
@@ -10002,6 +10335,13 @@ export interface operations {
10002
10335
  "application/json": components["schemas"]["GetMarginAccountSummaryResponse"];
10003
10336
  };
10004
10337
  };
10338
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10339
+ 429: {
10340
+ headers: {
10341
+ [name: string]: unknown;
10342
+ };
10343
+ content?: never;
10344
+ };
10005
10345
  };
10006
10346
  };
10007
10347
  transfer_collateral_to_margin_account: {
@@ -10108,6 +10448,13 @@ export interface operations {
10108
10448
  "application/json": components["schemas"]["GetMarginAccountMovementsResponse"];
10109
10449
  };
10110
10450
  };
10451
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10452
+ 429: {
10453
+ headers: {
10454
+ [name: string]: unknown;
10455
+ };
10456
+ content?: never;
10457
+ };
10111
10458
  };
10112
10459
  };
10113
10460
  simulate_order_risk: {
@@ -10138,6 +10485,13 @@ export interface operations {
10138
10485
  "application/json": components["schemas"]["SimulateOrderRiskResponse"];
10139
10486
  };
10140
10487
  };
10488
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10489
+ 429: {
10490
+ headers: {
10491
+ [name: string]: unknown;
10492
+ };
10493
+ content?: never;
10494
+ };
10141
10495
  };
10142
10496
  };
10143
10497
  get_available_collateral: {
@@ -10160,6 +10514,13 @@ export interface operations {
10160
10514
  "application/json": components["schemas"]["GetAvailableCollateralResponse"];
10161
10515
  };
10162
10516
  };
10517
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10518
+ 429: {
10519
+ headers: {
10520
+ [name: string]: unknown;
10521
+ };
10522
+ content?: never;
10523
+ };
10163
10524
  };
10164
10525
  };
10165
10526
  get_parent_margin_account_summary: {
@@ -10183,6 +10544,13 @@ export interface operations {
10183
10544
  "application/json": components["schemas"]["GetMarginAccountSummaryResponse"];
10184
10545
  };
10185
10546
  };
10547
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10548
+ 429: {
10549
+ headers: {
10550
+ [name: string]: unknown;
10551
+ };
10552
+ content?: never;
10553
+ };
10186
10554
  };
10187
10555
  };
10188
10556
  transfer_collateral_to_parent_margin_account: {
@@ -10271,6 +10639,13 @@ export interface operations {
10271
10639
  "application/json": components["schemas"]["GetMarginAccountMovementsResponse"];
10272
10640
  };
10273
10641
  };
10642
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10643
+ 429: {
10644
+ headers: {
10645
+ [name: string]: unknown;
10646
+ };
10647
+ content?: never;
10648
+ };
10274
10649
  };
10275
10650
  };
10276
10651
  simulate_parent_margin_order_risk: {
@@ -10295,6 +10670,13 @@ export interface operations {
10295
10670
  "application/json": components["schemas"]["SimulateOrderRiskResponse"];
10296
10671
  };
10297
10672
  };
10673
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10674
+ 429: {
10675
+ headers: {
10676
+ [name: string]: unknown;
10677
+ };
10678
+ content?: never;
10679
+ };
10298
10680
  };
10299
10681
  };
10300
10682
  transfer_collateral_to_risk_bucket: {
@@ -10350,6 +10732,13 @@ export interface operations {
10350
10732
  "application/json": components["schemas"]["SimulateOrderRiskResponse"];
10351
10733
  };
10352
10734
  };
10735
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
10736
+ 429: {
10737
+ headers: {
10738
+ [name: string]: unknown;
10739
+ };
10740
+ content?: never;
10741
+ };
10353
10742
  };
10354
10743
  };
10355
10744
  list_all_funding_history: {
@@ -10947,6 +11336,13 @@ export interface operations {
10947
11336
  };
10948
11337
  content?: never;
10949
11338
  };
11339
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
11340
+ 429: {
11341
+ headers: {
11342
+ [name: string]: unknown;
11343
+ };
11344
+ content?: never;
11345
+ };
10950
11346
  /** @description Internal server error */
10951
11347
  500: {
10952
11348
  headers: {
@@ -11349,6 +11745,13 @@ export interface operations {
11349
11745
  "application/json": components["schemas"]["ListConditionalOrdersResponse"];
11350
11746
  };
11351
11747
  };
11748
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
11749
+ 429: {
11750
+ headers: {
11751
+ [name: string]: unknown;
11752
+ };
11753
+ content?: never;
11754
+ };
11352
11755
  };
11353
11756
  };
11354
11757
  get_conditional_order: {
@@ -11372,6 +11775,13 @@ export interface operations {
11372
11775
  "application/json": components["schemas"]["ConditionalOrder"];
11373
11776
  };
11374
11777
  };
11778
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
11779
+ 429: {
11780
+ headers: {
11781
+ [name: string]: unknown;
11782
+ };
11783
+ content?: never;
11784
+ };
11375
11785
  };
11376
11786
  };
11377
11787
  cancel_conditional_order: {
@@ -11444,6 +11854,13 @@ export interface operations {
11444
11854
  };
11445
11855
  content?: never;
11446
11856
  };
11857
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
11858
+ 429: {
11859
+ headers: {
11860
+ [name: string]: unknown;
11861
+ };
11862
+ content?: never;
11863
+ };
11447
11864
  /** @description Internal server error */
11448
11865
  500: {
11449
11866
  headers: {
@@ -11553,6 +11970,13 @@ export interface operations {
11553
11970
  };
11554
11971
  content?: never;
11555
11972
  };
11973
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
11974
+ 429: {
11975
+ headers: {
11976
+ [name: string]: unknown;
11977
+ };
11978
+ content?: never;
11979
+ };
11556
11980
  /** @description Internal server error */
11557
11981
  500: {
11558
11982
  headers: {
@@ -11660,6 +12084,13 @@ export interface operations {
11660
12084
  };
11661
12085
  content?: never;
11662
12086
  };
12087
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
12088
+ 429: {
12089
+ headers: {
12090
+ [name: string]: unknown;
12091
+ };
12092
+ content?: never;
12093
+ };
11663
12094
  /** @description Internal server error */
11664
12095
  500: {
11665
12096
  headers: {
@@ -11718,6 +12149,13 @@ export interface operations {
11718
12149
  };
11719
12150
  content?: never;
11720
12151
  };
12152
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
12153
+ 429: {
12154
+ headers: {
12155
+ [name: string]: unknown;
12156
+ };
12157
+ content?: never;
12158
+ };
11721
12159
  /** @description Internal server error */
11722
12160
  500: {
11723
12161
  headers: {
@@ -11850,6 +12288,13 @@ export interface operations {
11850
12288
  };
11851
12289
  content?: never;
11852
12290
  };
12291
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
12292
+ 429: {
12293
+ headers: {
12294
+ [name: string]: unknown;
12295
+ };
12296
+ content?: never;
12297
+ };
11853
12298
  /** @description Internal server error */
11854
12299
  500: {
11855
12300
  headers: {
@@ -12035,6 +12480,13 @@ export interface operations {
12035
12480
  };
12036
12481
  content?: never;
12037
12482
  };
12483
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
12484
+ 429: {
12485
+ headers: {
12486
+ [name: string]: unknown;
12487
+ };
12488
+ content?: never;
12489
+ };
12038
12490
  /** @description Internal server error */
12039
12491
  500: {
12040
12492
  headers: {
@@ -12125,6 +12577,13 @@ export interface operations {
12125
12577
  "application/json": components["schemas"]["ListPositionsResponse"];
12126
12578
  };
12127
12579
  };
12580
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
12581
+ 429: {
12582
+ headers: {
12583
+ [name: string]: unknown;
12584
+ };
12585
+ content?: never;
12586
+ };
12128
12587
  };
12129
12588
  };
12130
12589
  batch_close_all_positions: {
@@ -12180,6 +12639,13 @@ export interface operations {
12180
12639
  "application/json": components["schemas"]["ListPositionHistoryResponse"];
12181
12640
  };
12182
12641
  };
12642
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
12643
+ 429: {
12644
+ headers: {
12645
+ [name: string]: unknown;
12646
+ };
12647
+ content?: never;
12648
+ };
12183
12649
  };
12184
12650
  };
12185
12651
  get_position: {
@@ -12203,6 +12669,13 @@ export interface operations {
12203
12669
  "application/json": components["schemas"]["GetPositionResponse"];
12204
12670
  };
12205
12671
  };
12672
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
12673
+ 429: {
12674
+ headers: {
12675
+ [name: string]: unknown;
12676
+ };
12677
+ content?: never;
12678
+ };
12206
12679
  };
12207
12680
  };
12208
12681
  close_position: {
@@ -12281,6 +12754,13 @@ export interface operations {
12281
12754
  };
12282
12755
  content?: never;
12283
12756
  };
12757
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
12758
+ 429: {
12759
+ headers: {
12760
+ [name: string]: unknown;
12761
+ };
12762
+ content?: never;
12763
+ };
12284
12764
  /** @description Internal server error */
12285
12765
  500: {
12286
12766
  headers: {
@@ -12311,6 +12791,13 @@ export interface operations {
12311
12791
  "application/json": components["schemas"]["GetPositionRiskResponse"];
12312
12792
  };
12313
12793
  };
12794
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
12795
+ 429: {
12796
+ headers: {
12797
+ [name: string]: unknown;
12798
+ };
12799
+ content?: never;
12800
+ };
12314
12801
  };
12315
12802
  };
12316
12803
  attach_position_tp_sl: {
@@ -12642,6 +13129,13 @@ export interface operations {
12642
13129
  };
12643
13130
  content?: never;
12644
13131
  };
13132
+ /** @description Read rate limit exceeded — every authenticated read draws one request from the account's read budget; retry after the interval in details.retryAfter */
13133
+ 429: {
13134
+ headers: {
13135
+ [name: string]: unknown;
13136
+ };
13137
+ content?: never;
13138
+ };
12645
13139
  /** @description Internal server error */
12646
13140
  500: {
12647
13141
  headers: {