# Получить все события по позиции

`GET /positions/{positionId}/history`

Что произошло с одной позицией, сначала самые новые: увеличения, частичные и полные закрытия, ликвидация, принудительное закрытие, изменения маржи.

- Платежи по финансированию исключены из этого потока.
- Принудительное закрытие несёт за собой рыночное событие, в котором и находится причина этого закрытия.

<a id="authorization"></a>

## Авторизация

bearer: http · bearer (обязательно). Персональный API-ключ с префиксом `usk_`.

<a id="parameters"></a>

## Параметры

- path: positionId (string · uuid; обязательно). Идентификатор позиции. Его аккаунт должен принадлежать вызывающему.

Тип: string · uuid

format: uuid

<a id="example-curl"></a>

## Пример · cURL

```bash
curl --request GET 'https://api.upscale.trade/positions/{positionId}/history' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer YOUR_API_KEY'
```

<a id="example-javascript"></a>

## Пример · JavaScript

```javascript
const response = await fetch("https://api.upscale.trade/positions/{positionId}/history", {
  method: "GET",
  headers: {
    "Accept": "application/json",
    "Authorization": "Bearer YOUR_API_KEY"
  },
});
console.log(response.status, await response.text());
```

<a id="example-python"></a>

## Пример · Python

```python
import requests

response = requests.request(
    "GET",
    "https://api.upscale.trade/positions/{positionId}/history",
    headers={"Accept":"application/json","Authorization":"Bearer YOUR_API_KEY"},
    timeout=30,
)
print(response.status_code, response.text)
```

<a id="response-401"></a>

## Ответ 401

**401**  — Неавторизовано

<a id="response-403"></a>

## Ответ 403

**403**  — Аккаунт принадлежит другому пользователю (`account_access_denied`), или запрос аутентифицирован с помощью API-ключа, тогда как `api_trading` отключён на аккаунте (`api_trading_not_enabled`).

<a id="response-404"></a>

## Ответ 404

**404**  — Нет позиции с этим идентификатором.

<a id="response-429"></a>

## Ответ 429

**429**  — Превышен лимит частоты запросов API-ключа (`api_key_rate_limit_exceeded`). `Retry-After` указывает, когда вернуться; тело содержит бакет (`read` / `write`), окно, которое сработало, его лимит и `retryAt`.

<a id="response-default-positioneventresponse"></a>

## Ответ default · PositionEventResponse

**default** application/json — Ответ

Тип: object[]

[]Схема: PositionEventResponse

[]Тип: object

[]Обязательные поля: idx, txId, version, openedAt, lastUpdatedAt, closedAt, type, status, market, trader, size, notional, fraction, margin, pnl, funding, rolloverFee, settlementOraclePrice, fee, feeRate, exchangedQuote, exchangedBase, direction, eventName, pnlInEvent, rawPnlInEvent, profitAdjustmentApplied, holdingTimeMs, feeInEvent, fundingInEvent, rolloverFeeInEvent, executionFeeRate, executionFeeInEvent, executionFee, timestamp, isOnchain, roe, scalpingCoefficient, closeReason, order

[]Типы обязательных полей: idx (string[]; обязательно), txId (string[]; обязательно), version (number; обязательно), openedAt (string · date-time; обязательно), lastUpdatedAt (string · date-time; обязательно), closedAt (string · date-time · nullable; обязательно), type (string · enum; обязательно), status (string · enum; обязательно), market (string · uuid; обязательно), trader (string · uuid; обязательно), size (string · int32; обязательно), notional (string · int32; обязательно), fraction (string · int32; обязательно), margin (string · int32; обязательно), pnl (string · int32 · nullable; обязательно), funding (string · int32 · nullable; обязательно), rolloverFee (string · int32; обязательно), settlementOraclePrice (string · int32; обязательно), fee (string · int32; обязательно), feeRate (string · int32; обязательно), exchangedQuote (string · int32; обязательно), exchangedBase (string · int32; обязательно), direction (string · enum; обязательно), eventName (string · enum; обязательно), pnlInEvent (string · int32; обязательно), rawPnlInEvent (string · int32; обязательно), profitAdjustmentApplied (boolean; обязательно), holdingTimeMs (string[]; обязательно), feeInEvent (string · int32; обязательно), fundingInEvent (string · int32; обязательно), rolloverFeeInEvent (string · int32; обязательно), executionFeeRate (string · int32; обязательно), executionFeeInEvent (string · int32; обязательно), executionFee (string · int32; обязательно), timestamp (string · date-time; обязательно), isOnchain (boolean; обязательно), roe (string · int32; обязательно), scalpingCoefficient (string · int32; обязательно), closeReason (string[]; обязательно), order (object · nullable; обязательно)

- []idx (string[]; обязательно)

[]idx пример: [
  "string"
]

[]idx.Тип: string[]

[]idx.Идентификатор позиции. То же значение, что и `txId`.

[]idx.[]Тип: string

- []txId (string[]; обязательно)

[]txId пример: [
  "string"
]

[]txId.Тип: string[]

[]txId.Идентификатор позиции. Сохранён для обратной совместимости, всегда равен `idx`.

[]txId.[]Тип: string

- []version (number; обязательно)

[]version пример: 0

[]version.Тип: number

[]version.Ревизия позиции: увеличивается при каждом событии, применённом к ней.

- []openedAt (string · date-time; обязательно)

[]openedAt пример: 2026-05-01T12:30:00.000Z

[]openedAt.Тип: string · date-time

[]openedAt.Когда позиция была открыта.

[]openedAt.format: date-time

- []lastUpdatedAt (string · date-time; обязательно)

[]lastUpdatedAt пример: 2026-05-01T12:30:00.000Z

[]lastUpdatedAt.Тип: string · date-time

[]lastUpdatedAt.Когда к позиции было применено последнее событие.

[]lastUpdatedAt.format: date-time

- []closedAt (string · date-time · nullable; обязательно)

[]closedAt пример: 2026-05-01T12:30:00.000Z

[]closedAt.Тип: string · date-time · nullable

[]closedAt.Когда позиция была закрыта; null, пока она всё ещё открыта.

[]closedAt.format: date-time

- []type (string · enum; обязательно)

[]type пример: long

[]type.Тип: string · enum

[]type.Направление позиции. То же значение, что и `direction`.

[]type.Допустимые значения: ["long","short"]

- []status (string · enum; обязательно)

[]status пример: opened

[]status.Тип: string · enum

[]status.Является ли позиция всё ещё открытой, закрытой трейдером или ликвидированной.

[]status.Допустимые значения: ["opened","closed","liquidated"]

- []market (string · uuid; обязательно)

[]market пример: 00000000-0000-4000-8000-000000000000

[]market.Тип: string · uuid

[]market.Рынок, на котором удерживается позиция.

[]market.format: uuid

[]market.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- []trader (string · uuid; обязательно)

[]trader пример: 00000000-0000-4000-8000-000000000000

[]trader.Тип: string · uuid

[]trader.Счёт трейдера, которому принадлежит позиция.

[]trader.format: uuid

[]trader.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- []size (string · int32; обязательно)

[]size пример: 1000000000

[]size.Тип: string · int32

[]size.Размер позиции в единицах базового актива, fp9 в сыром виде.

[]size.format: int32

[]size.pattern: ^(?:-?[1-9][0-9]*|0)$

- []notional (string · int32; обязательно)

[]notional пример: 1000000000

[]notional.Тип: string · int32

[]notional.Открытый номинал позиции в валюте котировки, fp9 в сыром виде — размер по цене входа.

[]notional.format: int32

[]notional.pattern: ^(?:-?[1-9][0-9]*|0)$

- []fraction (string · int32; обязательно)

[]fraction пример: 1000000000

[]fraction.Тип: string · int32

[]fraction.Всегда `0`. Сохранено для обратной совместимости.

[]fraction.format: int32

[]fraction.pattern: ^(?:-?[1-9][0-9]*|0)$

- []margin (string · int32; обязательно)

[]margin пример: 1000000000

[]margin.Тип: string · int32

[]margin.Маржа, в настоящее время обеспечивающая позицию, fp9 в сыром виде. Изменяется вместе с pnl, финансированием и ручными изменениями маржи.

[]margin.format: int32

[]margin.pattern: ^(?:-?[1-9][0-9]*|0)$

- []pnl (string · int32 · nullable; обязательно)

[]pnl пример: 1000000000

[]pnl.Тип: string · int32 · nullable

[]pnl.Реализованный pnl, накопленный по каждому событию позиции, fp9 в сыром виде.

[]pnl.format: int32

[]pnl.pattern: ^(?:-?[1-9][0-9]*|0)$

- []funding (string · int32 · nullable; обязательно)

[]funding пример: 1000000000

[]funding.Тип: string · int32 · nullable

[]funding.Финансирование, уплаченное (отрицательное) или полученное (положительное) за всё время существования позиции, fp9 в необработанном виде.

[]funding.format: int32

[]funding.pattern: ^(?:-?[1-9][0-9]*|0)$

- []rolloverFee (string · int32; обязательно)

[]rolloverFee пример: 1000000000

[]rolloverFee.Тип: string · int32

[]rolloverFee.Всегда `0`. Сохранено для обратной совместимости.

[]rolloverFee.format: int32

[]rolloverFee.pattern: ^(?:-?[1-9][0-9]*|0)$

- []settlementOraclePrice (string · int32; обязательно)

[]settlementOraclePrice пример: 1000000000

[]settlementOraclePrice.Тип: string · int32

[]settlementOraclePrice.Всегда `1000000000` (1.0). Сохранено для обратной совместимости.

[]settlementOraclePrice.format: int32

[]settlementOraclePrice.pattern: ^(?:-?[1-9][0-9]*|0)$

- []fee (string · int32; обязательно)

[]fee пример: 1000000000

[]fee.Тип: string · int32

[]fee.Торговые комиссии, взимаемые за всё время существования позиции, fp9 в необработанном виде.

[]fee.format: int32

[]fee.pattern: ^(?:-?[1-9][0-9]*|0)$

- []feeRate (string · int32; обязательно)

[]feeRate пример: 1000000000

[]feeRate.Тип: string · int32

[]feeRate.Ставка комиссии, применяемая к позиции, fp9 в виде необработанной дроби (`1000000` = 0.1%).

[]feeRate.format: int32

[]feeRate.pattern: ^(?:-?[1-9][0-9]*|0)$

- []exchangedQuote (string · int32; обязательно)

[]exchangedQuote пример: 1000000000

[]exchangedQuote.Тип: string · int32

[]exchangedQuote.Сумма в котируемой валюте, обмененная в результате последнего события, fp9 в необработанном виде.

[]exchangedQuote.format: int32

[]exchangedQuote.pattern: ^(?:-?[1-9][0-9]*|0)$

- []exchangedBase (string · int32; обязательно)

[]exchangedBase пример: 1000000000

[]exchangedBase.Тип: string · int32

[]exchangedBase.Сумма в базовой валюте, обмененная в результате последнего события, fp9 в необработанном виде.

[]exchangedBase.format: int32

[]exchangedBase.pattern: ^(?:-?[1-9][0-9]*|0)$

- []direction (string · enum; обязательно)

[]direction пример: long

[]direction.Тип: string · enum

[]direction.Направление позиции.

[]direction.Допустимые значения: ["long","short"]

- []eventName (string · enum; обязательно)

[]eventName пример: addMargin

[]eventName.Тип: string · enum

[]eventName.Тип последнего события, применённого к позиции.

[]eventName.Допустимые значения: ["addMargin","removeMargin","closePosition","increasePosition","liquidate","forceClose","payFunding"]

- []pnlInEvent (string · int32; обязательно)

[]pnlInEvent пример: 1000000000

[]pnlInEvent.Тип: string · int32

[]pnlInEvent.Реализованный pnl последнего события, fp9 в сыром виде.

[]pnlInEvent.format: int32

[]pnlInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$

- []rawPnlInEvent (string · int32; обязательно)

[]rawPnlInEvent пример: 1000000000

[]rawPnlInEvent.Тип: string · int32

[]rawPnlInEvent.Реализованный pnl последнего события до 60-секундной корректировки, fp9 в сыром виде. Отличается от `pnlInEvent` только когда корректировка сработала.

[]rawPnlInEvent.format: int32

[]rawPnlInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$

- []profitAdjustmentApplied (boolean; обязательно)

[]profitAdjustmentApplied пример: true

[]profitAdjustmentApplied.Тип: boolean

[]profitAdjustmentApplied.Ограничила ли 60-секундная корректировка прибыль последнего события — в течение минуты после открытия или увеличения позиции pnl не может вырасти выше того, каким он был в тот момент.

- []holdingTimeMs (string[]; обязательно)

[]holdingTimeMs пример: [
  "string"
]

[]holdingTimeMs.Тип: string[]

[]holdingTimeMs.Как долго позиция удерживалась до самого последнего закрытия, в миллисекундах, считая от открытия или последнего увеличения. Null для событий, которые не являются закрытиями.

[]holdingTimeMs.[]Тип: string

- []feeInEvent (string · int32; обязательно)

[]feeInEvent пример: 1000000000

[]feeInEvent.Тип: string · int32

[]feeInEvent.Комиссия, взимаемая по самому последнему событию, fp9 в сыром виде.

[]feeInEvent.format: int32

[]feeInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$

- []fundingInEvent (string · int32; обязательно)

[]fundingInEvent пример: 1000000000

[]fundingInEvent.Тип: string · int32

[]fundingInEvent.Фандинг, урегулированный самым последним событием, fp9 в сыром виде.

[]fundingInEvent.format: int32

[]fundingInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$

- []rolloverFeeInEvent (string · int32; обязательно)

[]rolloverFeeInEvent пример: 1000000000

[]rolloverFeeInEvent.Тип: string · int32

[]rolloverFeeInEvent.Всегда `0`. Сохранено для обратной совместимости.

[]rolloverFeeInEvent.format: int32

[]rolloverFeeInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$

- []executionFeeRate (string · int32; обязательно)

[]executionFeeRate пример: 1000000000

[]executionFeeRate.Тип: string · int32

[]executionFeeRate.Всегда `0`. Сохранено для обратной совместимости.

[]executionFeeRate.format: int32

[]executionFeeRate.pattern: ^(?:-?[1-9][0-9]*|0)$

- []executionFeeInEvent (string · int32; обязательно)

[]executionFeeInEvent пример: 1000000000

[]executionFeeInEvent.Тип: string · int32

[]executionFeeInEvent.Всегда `0`. Сохранено для обратной совместимости.

[]executionFeeInEvent.format: int32

[]executionFeeInEvent.pattern: ^(?:-?[1-9][0-9]*|0)$

- []executionFee (string · int32; обязательно)

[]executionFee пример: 1000000000

[]executionFee.Тип: string · int32

[]executionFee.Всегда `0`. Сохранено для обратной совместимости.

[]executionFee.format: int32

[]executionFee.pattern: ^(?:-?[1-9][0-9]*|0)$

- []timestamp (string · date-time; обязательно)

[]timestamp пример: 2026-05-01T12:30:00.000Z

[]timestamp.Тип: string · date-time

[]timestamp.Временная метка самого последнего события. То же значение, что и `lastUpdatedAt`.

[]timestamp.format: date-time

- []isOnchain (boolean; обязательно)

[]isOnchain пример: true

[]isOnchain.Тип: boolean

[]isOnchain.Всегда `true`. Сохранено для обратной совместимости.

- []roe (string · int32; обязательно)

[]roe пример: 1000000000

[]roe.Тип: string · int32

[]roe.Рентабельность капитала позиции — реализованный pnl относительно внесённой маржи, fp9 в виде необработанной дроби.

[]roe.format: int32

[]roe.pattern: ^(?:-?[1-9][0-9]*|0)$

- []scalpingCoefficient (string · int32; обязательно)

[]scalpingCoefficient пример: 1000000000

[]scalpingCoefficient.Тип: string · int32

[]scalpingCoefficient.Динамический множитель спреда, применённый к позиции, fp9 в необработанном виде (`1000000000` = 1.0). Выше 1, когда сделка попала в окно рыночного скальпинга.

[]scalpingCoefficient.format: int32

[]scalpingCoefficient.pattern: ^(?:-?[1-9][0-9]*|0)$

- []closeReason (string[]; обязательно)

[]closeReason пример: [
  "string"
]

[]closeReason.Тип: string[]

[]closeReason.Почему платформа закрыла позицию (например, `weekly_session_risk_close`). Null для позиций, закрытых трейдером, и для открытых.

[]closeReason.[]Тип: string

- []order (object · nullable; обязательно)

[]order пример: {
  "id": "00000000-0000-4000-8000-000000000000",
  "txId": "string",
  "trader": "00000000-0000-4000-8000-000000000000",
  "market": "00000000-0000-4000-8000-000000000000",
  "status": "active",
  "type": "market",
  "direction": "long",
  "triggerPrice": "1000000000",
  "requestedTriggerPrice": "1000000000",
  "stopPrice": "1000000000",
  "limitPrice": "1000000000",
  "stopTriggerPrice": "1000000000",
  "takeTriggerPrice": "1000000000",
  "trailingStopActivationPrice": "1000000000",
  "trailingStopOffset": "1000000000",
  "trailingStopOffsetPercent": "1000000000",
  "leverage": "1000000000",
  "index": "string",
  "positionId": "string",
  "parentOrderId": "string",
  "expiration": "2026-05-01T12:30:00.000Z",
  "amount": "1000000000",
  "indexPrice": "1000000000",
  "settlementOraclePrice": "1000000000",
  "createdAt": "2026-05-01T12:30:00.000Z",
  "error": "string",
  "realizedPnl": "1000000000",
  "rawRealizedPnl": "1000000000",
  "profitAdjustmentApplied": true,
  "executedAfterPause": true,
  "sizeMode": "quote",
  "baseSize": "1000000000",
  "reservedAmount": "1000000000",
  "errorCode": "string",
  "reason": "force_close"
}

[]order.Тип: object · nullable

[]order.Обязательные поля: id, txId, trader, market, status, type, direction, triggerPrice, requestedTriggerPrice, stopPrice, limitPrice, stopTriggerPrice, takeTriggerPrice, trailingStopActivationPrice, trailingStopOffset, trailingStopOffsetPercent, leverage, index, positionId, parentOrderId, expiration, amount, indexPrice, settlementOraclePrice, createdAt, error, realizedPnl, rawRealizedPnl, profitAdjustmentApplied, executedAfterPause, sizeMode, baseSize, reservedAmount, errorCode, reason

[]order.Типы обязательных полей: id (string · uuid; обязательно), txId (string; обязательно), trader (string · uuid; обязательно), market (string · uuid; обязательно), status (string · enum; обязательно), type (string · enum; обязательно), direction (string · enum; обязательно), triggerPrice (string · int32; обязательно), requestedTriggerPrice (string · int32 · nullable; обязательно), stopPrice (string · int32; обязательно), limitPrice (string · int32; обязательно), stopTriggerPrice (string · int32; обязательно), takeTriggerPrice (string · int32; обязательно), trailingStopActivationPrice (string · int32; обязательно), trailingStopOffset (string · int32; обязательно), trailingStopOffsetPercent (string · int32; обязательно), leverage (string · int32 · nullable; обязательно), index (string; обязательно), positionId (string · nullable; обязательно), parentOrderId (string · nullable; обязательно), expiration (string · date-time · nullable; обязательно), amount (string · int32; обязательно), indexPrice (string · int32 · nullable; обязательно), settlementOraclePrice (string · int32; обязательно), createdAt (string · date-time; обязательно), error (string · nullable; обязательно), realizedPnl (string · int32 · nullable; обязательно), rawRealizedPnl (string · int32 · nullable; обязательно), profitAdjustmentApplied (boolean; обязательно), executedAfterPause (boolean; обязательно), sizeMode (string · enum; обязательно), baseSize (string · int32 · nullable; обязательно), reservedAmount (string · int32 · nullable; обязательно), errorCode (string · nullable; обязательно), reason (string · enum · nullable; обязательно)

[]order.Ордер, создавший это событие; null для событий, которые платформа инициировала самостоятельно, таких как финансирование или принудительное закрытие.

- []order.id (string · uuid; обязательно)

[]order.id пример: 00000000-0000-4000-8000-000000000000

[]order.id.Тип: string · uuid

[]order.id.Идентификатор ордера.

[]order.id.format: uuid

[]order.id.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- []order.txId (string; обязательно)

[]order.txId пример: string

[]order.txId.Тип: string

[]order.txId.Идентификатор ордера. Сохранён для обратной совместимости, всегда равен `id`.

- []order.trader (string · uuid; обязательно)

[]order.trader пример: 00000000-0000-4000-8000-000000000000

[]order.trader.Тип: string · uuid

[]order.trader.Аккаунт трейдера, которому принадлежит ордер.

[]order.trader.format: uuid

[]order.trader.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- []order.market (string · uuid; обязательно)

[]order.market пример: 00000000-0000-4000-8000-000000000000

[]order.market.Тип: string · uuid

[]order.market.Рынок, на котором размещён ордер.

[]order.market.format: uuid

[]order.market.pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$

- []order.status (string · enum; обязательно)

[]order.status пример: active

[]order.status.Тип: string · enum

[]order.status.Состояние жизненного цикла: `active`, пока он ожидает, `executed` после исполнения, `canceled` при отмене трейдером или платформой, `canceled_by_update` при замене в результате редактирования, `canceled_by_position` когда позиция, к которой он был привязан, исчезла, `canceled_by_error` при неудачном исполнении — см. `errorCode`.

[]order.status.Допустимые значения: ["active","canceled","canceled_by_update","canceled_by_error","canceled_by_position","executed"]

- []order.type (string · enum; обязательно)

[]order.type пример: market

[]order.type.Тип: string · enum

[]order.type.Тип ордера. `liquidation` обозначает ордер, который движок выставил сам.

[]order.type.Допустимые значения: ["market","limit","stop","trailing_stop","take","stop_limit","stop_market","liquidation"]

- []order.direction (string · enum; обязательно)

[]order.direction пример: long

[]order.direction.Тип: string · enum

[]order.direction.Направление ордера.

[]order.direction.Допустимые значения: ["long","short"]

- []order.triggerPrice (string · int32; обязательно)

[]order.triggerPrice пример: 1000000000

[]order.triggerPrice.Тип: string · int32

[]order.triggerPrice.Цена, при которой срабатывает ордер, fp9 в необработанном виде. `0`, когда ордер не имеет триггера.

[]order.triggerPrice.format: int32

[]order.triggerPrice.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.requestedTriggerPrice (string · int32 · nullable; обязательно)

[]order.requestedTriggerPrice пример: 1000000000

[]order.requestedTriggerPrice.Тип: string · int32 · nullable

[]order.requestedTriggerPrice.Цена триггера, как запрошено, до того как движок вытолкнул её до минимального стоп-расстояния, fp9 в исходном виде. Null, когда запрошенная цена была оставлена как есть.

[]order.requestedTriggerPrice.format: int32

[]order.requestedTriggerPrice.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.stopPrice (string · int32; обязательно)

[]order.stopPrice пример: 1000000000

[]order.stopPrice.Тип: string · int32

[]order.stopPrice.Цена триггера ордера `stop_market` / `stop_limit`, fp9 в исходном виде; `0` для любого другого типа.

[]order.stopPrice.format: int32

[]order.stopPrice.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.limitPrice (string · int32; обязательно)

[]order.limitPrice пример: 1000000000

[]order.limitPrice.Тип: string · int32

[]order.limitPrice.Цена, по которой ордер размещается при срабатывании, fp9 в исходном виде: цена стоп-лимит, с возвратом к цене триггера.

[]order.limitPrice.format: int32

[]order.limitPrice.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.stopTriggerPrice (string · int32; обязательно)

[]order.stopTriggerPrice пример: 1000000000

[]order.stopTriggerPrice.Тип: string · int32

[]order.stopTriggerPrice.Стоп-лосс, привязанный к ордеру, fp9 в исходном виде. `0`, если он не привязан.

[]order.stopTriggerPrice.format: int32

[]order.stopTriggerPrice.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.takeTriggerPrice (string · int32; обязательно)

[]order.takeTriggerPrice пример: 1000000000

[]order.takeTriggerPrice.Тип: string · int32

[]order.takeTriggerPrice.Тейк-профит, привязанный к ордеру, fp9 в исходном виде. `0`, если он не привязан.

[]order.takeTriggerPrice.format: int32

[]order.takeTriggerPrice.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.trailingStopActivationPrice (string · int32; обязательно)

[]order.trailingStopActivationPrice пример: 1000000000

[]order.trailingStopActivationPrice.Тип: string · int32

[]order.trailingStopActivationPrice.Цена, при которой трейлинг-стоп начинает следовать, fp9 в сыром виде. `0`, когда он следует с момента создания.

[]order.trailingStopActivationPrice.format: int32

[]order.trailingStopActivationPrice.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.trailingStopOffset (string · int32; обязательно)

[]order.trailingStopOffset пример: 1000000000

[]order.trailingStopOffset.Тип: string · int32

[]order.trailingStopOffset.Дистанция трейлинга как абсолютная сумма в котируемой валюте, fp9 в сыром виде. `0`, когда дистанция задана в процентах.

[]order.trailingStopOffset.format: int32

[]order.trailingStopOffset.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.trailingStopOffsetPercent (string · int32; обязательно)

[]order.trailingStopOffsetPercent пример: 1000000000

[]order.trailingStopOffsetPercent.Тип: string · int32

[]order.trailingStopOffsetPercent.Дистанция трейлинга как доля цены, fp9 в сыром виде. `0`, когда дистанция абсолютная.

[]order.trailingStopOffsetPercent.format: int32

[]order.trailingStopOffsetPercent.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.leverage (string · int32 · nullable; обязательно)

[]order.leverage пример: 1000000000

[]order.leverage.Тип: string · int32 · nullable

[]order.leverage.Кредитное плечо ордера, fp9 в сыром виде. Null для ордеров на закрытие, которые наследуют кредитное плечо позиции.

[]order.leverage.format: int32

[]order.leverage.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.index (string; обязательно)

[]order.index пример: string

[]order.index.Тип: string

[]order.index.Идентификатор ордера. Сохранён для обратной совместимости, всегда равен `id`.

- []order.positionId (string · nullable; обязательно)

[]order.positionId пример: string

[]order.positionId.Тип: string · nullable

[]order.positionId.Позиция, к которой привязан ордер на закрытие. Null для ордеров, которые открывают или увеличивают позицию.

- []order.parentOrderId (string · nullable; обязательно)

[]order.parentOrderId пример: string

[]order.parentOrderId.Тип: string · nullable

[]order.parentOrderId.Ордер, из которого был порождён этот: стоп или тейк, созданный из `stopTriggerPrice` / `takeTriggerPrice`, или лимитный ордер, в который превратился `stop_limit`. Null, когда ордер был отправлен напрямую.

- []order.expiration (string · date-time · nullable; обязательно)

[]order.expiration пример: 2026-05-01T12:30:00.000Z

[]order.expiration.Тип: string · date-time · nullable

[]order.expiration.Всегда null. Сохранено для обратной совместимости — ордера не истекают сами по себе.

[]order.expiration.format: date-time

- []order.amount (string · int32; обязательно)

[]order.amount пример: 1000000000

[]order.amount.Тип: string · int32

[]order.amount.Размер ордера, fp9 в сыром виде, в единице, которую использует его класс: для ордера на увеличение — сумма в котируемой валюте — резерв, пока он ожидает, и то, что он фактически потратил после исполнения; для ордера на закрытие (`stop`, `take`, `trailing_stop`) — размер базового актива, который он закрывает, как было запрошено при создании.

[]order.amount.format: int32

[]order.amount.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.indexPrice (string · int32 · nullable; обязательно)

[]order.indexPrice пример: 1000000000

[]order.indexPrice.Тип: string · int32 · nullable

[]order.indexPrice.Цена индекса, по которой был исполнен ордер, fp9 в сыром виде. Null, пока ордер не исполнен.

[]order.indexPrice.format: int32

[]order.indexPrice.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.settlementOraclePrice (string · int32; обязательно)

[]order.settlementOraclePrice пример: 1000000000

[]order.settlementOraclePrice.Тип: string · int32

[]order.settlementOraclePrice.Всегда `1000000000` (1.0). Сохранено для обратной совместимости.

[]order.settlementOraclePrice.format: int32

[]order.settlementOraclePrice.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.createdAt (string · date-time; обязательно)

[]order.createdAt пример: 2026-05-01T12:30:00.000Z

[]order.createdAt.Тип: string · date-time

[]order.createdAt.Когда ордер был принят.

[]order.createdAt.format: date-time

- []order.error (string · nullable; обязательно)

[]order.error пример: string

[]order.error.Тип: string · nullable

[]order.error.Всегда null. Сохранён для обратной совместимости — используйте `errorCode`.

- []order.realizedPnl (string · int32 · nullable; обязательно)

[]order.realizedPnl пример: 1000000000

[]order.realizedPnl.Тип: string · int32 · nullable

[]order.realizedPnl.Pnl, реализованный этим ордером, fp9 в сыром виде. Устанавливается только для исполненного ордера на закрытие; null, пока ордер в ожидании, и для ордеров, которые открывают или увеличивают позицию.

[]order.realizedPnl.format: int32

[]order.realizedPnl.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.rawRealizedPnl (string · int32 · nullable; обязательно)

[]order.rawRealizedPnl пример: 1000000000

[]order.rawRealizedPnl.Тип: string · int32 · nullable

[]order.rawRealizedPnl.Реализованный pnl до 60-секундной корректировки, fp9 в сыром виде. Отличается от `realizedPnl` только тогда, когда корректировка сработала.

[]order.rawRealizedPnl.format: int32

[]order.rawRealizedPnl.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.profitAdjustmentApplied (boolean; обязательно)

[]order.profitAdjustmentApplied пример: true

[]order.profitAdjustmentApplied.Тип: boolean

[]order.profitAdjustmentApplied.Ограничила ли 60-секундная корректировка прибыль этого ордера — в течение минуты после открытия или увеличения позиции pnl позиции не может вырасти выше значения, которое было в тот момент.

- []order.executedAfterPause (boolean; обязательно)

[]order.executedAfterPause пример: true

[]order.executedAfterPause.Тип: boolean

[]order.executedAfterPause.Был ли ордер исполнен после рыночной паузы. Не задаётся текущим движком — всегда `false`.

- []order.sizeMode (string · enum; обязательно)

[]order.sizeMode пример: quote

[]order.sizeMode.Тип: string · enum

[]order.sizeMode.Как был выражен размер при создании: `quote` задаёт размер ордера по `amount`, `base` задаёт его по `baseSize`.

[]order.sizeMode.Допустимые значения: ["quote","base"]

- []order.baseSize (string · int32 · nullable; обязательно)

[]order.baseSize пример: 1000000000

[]order.baseSize.Тип: string · int32 · nullable

[]order.baseSize.Размер ордера в единицах базового актива, fp9 в сыром виде. Null для ордеров с размером `quote`.

[]order.baseSize.format: int32

[]order.baseSize.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.reservedAmount (string · int32 · nullable; обязательно)

[]order.reservedAmount пример: 1000000000

[]order.reservedAmount.Тип: string · int32 · nullable

[]order.reservedAmount.Сумма в котируемой валюте, зарезервированная при создании ордера с sizeMode=base, fp9 в сыром виде. Остаётся равной исходному резерву после исполнения, тогда как `amount` перезаписывается на потраченную сумму. Null для ордеров с размером `quote`, где `amount` — это резерв.

[]order.reservedAmount.format: int32

[]order.reservedAmount.pattern: ^(?:-?[1-9][0-9]*|0)$

- []order.errorCode (string · nullable; обязательно)

[]order.errorCode пример: string

[]order.errorCode.Тип: string · nullable

[]order.errorCode.Почему исполнение не удалось, задаётся вместе со статусом `canceled_by_error` — например, `insufficient_reserve_at_execution`, `order_below_min_notional`, `order_exceeds_market_depth` или `slippage_tolerance`. В остальных случаях Null.

- []order.reason (string · enum · nullable; обязательно)

[]order.reason пример: force_close

[]order.reason.Тип: string · enum · nullable

[]order.reason.Почему платформа сама отменила ордер, например `force_close` или `weekly_session_risk_close`. Null для отмен, инициированных трейдером.

[]order.reason.Допустимые значения: ["force_close","stop_accounts_fail","stop_accounts_freeze","stop_accounts_promote","stop_accounts_manual","weekly_session_risk_close",null]

Пример



```json
[
  {
    "idx": [
      "string"
    ],
    "txId": [
      "string"
    ],
    "version": 0,
    "openedAt": "2026-05-01T12:30:00.000Z",
    "lastUpdatedAt": "2026-05-01T12:30:00.000Z",
    "closedAt": "2026-05-01T12:30:00.000Z",
    "type": "long",
    "status": "opened",
    "market": "00000000-0000-4000-8000-000000000000",
    "trader": "00000000-0000-4000-8000-000000000000",
    "size": "1000000000",
    "notional": "1000000000",
    "fraction": "1000000000",
    "margin": "1000000000",
    "pnl": "1000000000",
    "funding": "1000000000",
    "rolloverFee": "1000000000",
    "settlementOraclePrice": "1000000000",
    "fee": "1000000000",
    "feeRate": "1000000000",
    "exchangedQuote": "1000000000",
    "exchangedBase": "1000000000",
    "direction": "long",
    "eventName": "addMargin",
    "pnlInEvent": "1000000000",
    "rawPnlInEvent": "1000000000",
    "profitAdjustmentApplied": true,
    "holdingTimeMs": [
      "string"
    ],
    "feeInEvent": "1000000000",
    "fundingInEvent": "1000000000",
    "rolloverFeeInEvent": "1000000000",
    "executionFeeRate": "1000000000",
    "executionFeeInEvent": "1000000000",
    "executionFee": "1000000000",
    "timestamp": "2026-05-01T12:30:00.000Z",
    "isOnchain": true,
    "roe": "1000000000",
    "scalpingCoefficient": "1000000000",
    "closeReason": [
      "string"
    ],
    "order": {
      "id": "00000000-0000-4000-8000-000000000000",
      "txId": "string",
      "trader": "00000000-0000-4000-8000-000000000000",
      "market": "00000000-0000-4000-8000-000000000000",
      "status": "active",
      "type": "market",
      "direction": "long",
      "triggerPrice": "1000000000",
      "requestedTriggerPrice": "1000000000",
      "stopPrice": "1000000000",
      "limitPrice": "1000000000",
      "stopTriggerPrice": "1000000000",
      "takeTriggerPrice": "1000000000",
      "trailingStopActivationPrice": "1000000000",
      "trailingStopOffset": "1000000000",
      "trailingStopOffsetPercent": "1000000000",
      "leverage": "1000000000",
      "index": "string",
      "positionId": "string",
      "parentOrderId": "string",
      "expiration": "2026-05-01T12:30:00.000Z",
      "amount": "1000000000",
      "indexPrice": "1000000000",
      "settlementOraclePrice": "1000000000",
      "createdAt": "2026-05-01T12:30:00.000Z",
      "error": "string",
      "realizedPnl": "1000000000",
      "rawRealizedPnl": "1000000000",
      "profitAdjustmentApplied": true,
      "executedAfterPause": true,
      "sizeMode": "quote",
      "baseSize": "1000000000",
      "reservedAmount": "1000000000",
      "errorCode": "string",
      "reason": "force_close"
    }
  }
]
```