/positions/{accountId}/{asset}/chart-eventsСобытия позиции аккаунта на одном рынке внутри временного диапазона, сначала самые новые — маркеры, которые отрисовывает график.
- Возвращаются только увеличения, закрытия, принудительные закрытия и ликвидации; изменения финансирования и маржи не являются событиями графика.
- Диапазон задаётся в целых секундах через
executedFromиexecutedTo, обе границы включительно. - Ограничено фазой, в которой аккаунт находится в данный момент.
https://api.upscale.tradeПараметры
accountIdstring · uuidобязательноИдентификатор торгового аккаунта. Должен принадлежать вызывающей стороне.
- 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})$
00000000-0000-4000-8000-000000000000assetstringобязательноТикер базового актива рынка, как возвращается GET /v2/markets.
- minLength
- 1
BTCexecutedFromnumberобязательноИсполнено с, временная метка Unix в секундах (включительно)
1735689600executedTonumberобязательноИсполнено по, временная метка Unix в секундах (включительно)
1767225599limitintegerнеобязательноРазмер страницы: сколько событий вернуть.
По умолчанию: 20
- minimum
- 1
- maximum
- 1000
20offsetintegerнеобязательноСколько событий пропустить перед страницей.
По умолчанию: 0
- minimum
- 0
- maximum
- 9007199254740991
0Примеры
curl --request GET 'https://api.upscale.trade/positions/{accountId}/{asset}/chart-events' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY'const response = await fetch("https://api.upscale.trade/positions/{accountId}/{asset}/chart-events", {
method: "GET",
headers: {
"Accept": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
},
});
console.log(response.status, await response.text());import requests
response = requests.request(
"GET",
"https://api.upscale.trade/positions/{accountId}/{asset}/chart-events",
headers={"Accept":"application/json","Authorization":"Bearer YOUR_API_KEY"},
timeout=30,
)
print(response.status_code, response.text)Ответы
Неавторизовано
Аккаунт принадлежит другому пользователю (account_access_denied), или запрос аутентифицирован с помощью API-ключа, тогда как api_trading отключён на аккаунте (api_trading_not_enabled).
Нет аккаунта с этим идентификатором или нет рынка для этого тикера.
Превышен лимит частоты запросов API-ключа (api_key_rate_limit_exceeded). Retry-After указывает, когда вернуться; тело содержит бакет (read / write), окно, которое сработало, его лимит и retryAt.
defaultОтветapplication/json
dataobject[]обязательноRequested page of chart markers, newest first.
Элементы массива · object
assetstringобязательноBase asset ticker of the market the event happened on.
BTCdirectionstring · enumобязательноDirection of the position the event belongs to.
"long" "short"longeventNamestring · enumобязательноWhat the marker stands for: open for the first increase of a position, increase for later ones, decrease for a partial close, close for a full one and liquidation for a liquidation.
"open" "increase" "decrease" "close" "liquidation"openexecutedAtnumberобязательноWhen the event happened, unix timestamp in seconds.
1767225599pricestring · int32обязательноPrice the event executed at, fp9 raw — exchanged quote over exchanged base.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000sizestring · int32обязательноAbsolute size the event moved, in base asset units, fp9 raw.
- pattern
- ^(?:-?[1-9][0-9]*|0)$
1000000000Посмотреть пример
[
{
"asset": "BTC",
"direction": "long",
"eventName": "open",
"executedAt": 1767225599,
"price": "1000000000",
"size": "1000000000"
}
]totalCountnumberобязательноTotal number of events in the requested range, across all pages.
0{
"data": [
{
"asset": "BTC",
"direction": "long",
"eventName": "open",
"executedAt": 1767225599,
"price": "1000000000",
"size": "1000000000"
}
],
"totalCount": 0
}