{"format":"opendoc-document","version":1,"url":"https://docs.upscale.trade/ru/developers/operations/getaccountequityhistory","title":"Получить историю эквити счета трейдера","description":"GET /accounts/{accountId}/equity-history: Эквити счета, замеряемое раз в минуту, сначала самые старые. Окно задается с помощью timestamp и duration; если ни один из них не…","kind":"api-operation","locale":"ru","inLanguage":"ru","translation":{"sourceLanguage":"en","targetLanguage":"ru","status":"complete","translatedUnits":19,"totalUnits":19},"lastModified":"2026-09-28T20:14:21.334Z","revision":"4bcdb0248fec5130d7dca32f21ced4a207c71ff2d711894a920c99e4198fedd7","section":{"title":"Developers","url":"https://docs.upscale.trade/ru/developers"},"representations":{"html":"https://docs.upscale.trade/ru/developers/operations/getaccountequityhistory","markdown":"https://docs.upscale.trade/ru/developers/operations/getaccountequityhistory.md","json":"https://docs.upscale.trade/ru/developers/operations/getaccountequityhistory.json"},"translations":{"en":"https://docs.upscale.trade/developers/operations/getaccountequityhistory","ru":"https://docs.upscale.trade/ru/developers/operations/getaccountequityhistory","es":"https://docs.upscale.trade/es/developers/operations/getaccountequityhistory"},"operation":{"id":"getAccountEquityHistory","method":"GET","path":"/accounts/{accountId}/equity-history","summary":"Получить историю эквити счета трейдера","description":"Эквити счета, замеряемое раз в минуту, сначала самые старые.\n\n- Окно задается с помощью `timestamp` и `duration`; если ни один из них не указан, оно охватывает последние 5 дней и заканчивается текущим балансом, добавленным в качестве последней точки.\n- На сбойном аккаунте окно привязано к моменту сбоя аккаунта, поэтому серия никогда не выходит за него.","tags":["Accounts"],"tagLabels":{"Accounts":"Аккаунты","Config":"Конфигурация","Trading":"Торговля"},"deprecated":false,"parameters":[{"name":"accountId","location":"path","schema":{"type":"string · uuid","types":["string"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"format":"uuid"},"properties":[],"variants":[]},"type":"string · uuid","required":true,"description":"Идентификатор торгового аккаунта. Должен принадлежать вызывающей стороне.","example":"00000000-0000-4000-8000-000000000000"},{"name":"timestamp","location":"query","schema":{"type":"number","types":["number"],"example":1767225599000,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"type":"number","required":false,"description":"Якорь окна, временная метка Unix в миллисекундах. Если не указан: окно заканчивается в текущий момент (или в момент сбоя аккаунта), и актуальный баланс добавляется как последняя точка.","example":"1767225599000"},{"name":"duration","location":"query","schema":{"type":"number","types":["number"],"example":-86400000,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]},"type":"number","required":false,"description":"Длина окна в миллисекундах, по умолчанию 5 дней. Положительное значение: окно начинается в `timestamp` и простирается вперёд. Отрицательное значение: окно заканчивается в `timestamp` (или сейчас) и простирается назад. Ноль отклоняется.","example":"-86400000"}],"bodies":[],"responses":[{"status":"200","description":"Ответ","mediaType":"application/json","properties":[],"schema":{"type":"object[]","types":["array"],"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"items":{"type":"object","types":["object"],"reference":"#/components/schemas/AccountsEquityHistoryResponse","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[{"name":"timestamp","type":"number","required":true,"description":"Минута, к которой относится образец, временная метка Unix в миллисекундах.","example":"1767225599000","schema":{"type":"number","types":["number"],"description":"Минута, к которой относится образец, временная метка Unix в миллисекундах.","example":1767225599000,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"volume","type":"string","required":true,"description":"Эквити счёта на эту минуту — баланс плюс нереализованный PnL открытых позиций, fp9 в исходном виде.","example":"10000000000000","schema":{"type":"string","types":["string"],"description":"Эквити счёта на эту минуту — баланс плюс нереализованный PnL открытых позиций, fp9 в исходном виде.","example":"10000000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}},{"name":"phaseIndex","type":"integer","required":true,"description":"Индекс торговой фазы, к которой относится образец.","example":"1","schema":{"type":"integer","types":["integer"],"description":"Индекс торговой фазы, к которой относится образец.","example":1,"nullable":false,"readOnly":false,"writeOnly":false,"constraints":{"minimum":0,"maximum":9007199254740991},"properties":[],"variants":[]}},{"name":"phaseStartEquity","type":"string","required":true,"description":"Начальное эквити торговой фазы образца, fp9 в исходном виде.","example":"10000000000000","schema":{"type":"string","types":["string"],"description":"Начальное эквити торговой фазы образца, fp9 в исходном виде.","example":"10000000000000","nullable":false,"readOnly":false,"writeOnly":false,"constraints":{},"properties":[],"variants":[]}}],"variants":[]},"variants":[]},"example":"[\n  {\n    \"timestamp\": 1767225599000,\n    \"volume\": \"10000000000000\",\n    \"phaseIndex\": 1,\n    \"phaseStartEquity\": \"10000000000000\"\n  }\n]","headers":[]},{"status":"401","description":"Неавторизовано","properties":[],"headers":[]},{"status":"403","description":"Аккаунт принадлежит другому пользователю (`account_access_denied`), или запрос аутентифицирован с помощью API-ключа, тогда как `api_trading` отключён на аккаунте (`api_trading_not_enabled`).","properties":[],"headers":[]},{"status":"404","description":"Нет аккаунта с этим идентификатором.","properties":[],"headers":[]},{"status":"429","description":"Превышен лимит частоты запросов API-ключа (`api_key_rate_limit_exceeded`). `Retry-After` указывает, когда вернуться; тело содержит бакет (`read` / `write`), окно, которое сработало, его лимит и `retryAt`.","properties":[],"headers":[]}],"security":[{"name":"bearer","type":"http · bearer","description":"Персональный API-ключ с префиксом `usk_`.","required":true,"scopes":[]}],"codeSamples":[{"label":"cURL","language":"bash","source":"curl --request GET 'https://api.upscale.trade/accounts/{accountId}/equity-history' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'"},{"label":"JavaScript","language":"javascript","source":"const response = await fetch(\"https://api.upscale.trade/accounts/{accountId}/equity-history\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());"},{"label":"Python","language":"python","source":"import requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/accounts/{accountId}/equity-history\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)"}]},"breadcrumbs":[{"title":"Что такое проп-трейдинг","url":"https://docs.upscale.trade/ru"},{"title":"Developers","url":"https://docs.upscale.trade/ru/developers"},{"title":"Получить историю эквити счета трейдера","url":"https://docs.upscale.trade/ru/developers/operations/getaccountequityhistory"}],"headings":[{"depth":2,"id":"authorization","title":"Авторизация"},{"depth":2,"id":"parameters","title":"Параметры"},{"depth":2,"id":"examples","title":"Примеры"},{"depth":2,"id":"responses","title":"Ответы"}],"markdown":"# Получить историю эквити счета трейдера\n\n`GET /accounts/{accountId}/equity-history`\n\nЭквити счета, замеряемое раз в минуту, сначала самые старые.\n\n- Окно задается с помощью `timestamp` и `duration`; если ни один из них не указан, оно охватывает последние 5 дней и заканчивается текущим балансом, добавленным в качестве последней точки.\n- На сбойном аккаунте окно привязано к моменту сбоя аккаунта, поэтому серия никогда не выходит за него.\n\n<a id=\"authorization\"></a>\n\n## Авторизация\n\nbearer: http · bearer (обязательно). Персональный API-ключ с префиксом `usk_`.\n\n<a id=\"parameters\"></a>\n\n## Параметры\n\n- path: accountId (string · uuid; обязательно). Идентификатор торгового аккаунта. Должен принадлежать вызывающей стороне.\n\nТип: string · uuid\n\nformat: uuid\n\n- query: timestamp (number; необязательно). Якорь окна, временная метка Unix в миллисекундах. Если не указан: окно заканчивается в текущий момент (или в момент сбоя аккаунта), и актуальный баланс добавляется как последняя точка.\n\nТип: number\n\nПример: 1767225599000\n\n- query: duration (number; необязательно). Длина окна в миллисекундах, по умолчанию 5 дней. Положительное значение: окно начинается в `timestamp` и простирается вперёд. Отрицательное значение: окно заканчивается в `timestamp` (или сейчас) и простирается назад. Ноль отклоняется.\n\nТип: number\n\nПример: -86400000\n\n<a id=\"example-curl\"></a>\n\n## Пример · cURL\n\n```bash\ncurl --request GET 'https://api.upscale.trade/accounts/{accountId}/equity-history' \\\n  --header 'Accept: application/json' \\\n  --header 'Authorization: Bearer YOUR_API_KEY'\n```\n\n<a id=\"example-javascript\"></a>\n\n## Пример · JavaScript\n\n```javascript\nconst response = await fetch(\"https://api.upscale.trade/accounts/{accountId}/equity-history\", {\n  method: \"GET\",\n  headers: {\n    \"Accept\": \"application/json\",\n    \"Authorization\": \"Bearer YOUR_API_KEY\"\n  },\n});\nconsole.log(response.status, await response.text());\n```\n\n<a id=\"example-python\"></a>\n\n## Пример · Python\n\n```python\nimport requests\n\nresponse = requests.request(\n    \"GET\",\n    \"https://api.upscale.trade/accounts/{accountId}/equity-history\",\n    headers={\"Accept\":\"application/json\",\"Authorization\":\"Bearer YOUR_API_KEY\"},\n    timeout=30,\n)\nprint(response.status_code, response.text)\n```\n\n<a id=\"response-200-accountsequityhistoryresponse\"></a>\n\n## Ответ 200 · AccountsEquityHistoryResponse\n\n**200** application/json — Ответ\n\nТип: object[]\n\n[]Схема: AccountsEquityHistoryResponse\n\n[]Тип: object\n\n[]Обязательные поля: timestamp, volume, phaseIndex, phaseStartEquity\n\n[]Типы обязательных полей: timestamp (number; обязательно), volume (string; обязательно), phaseIndex (integer; обязательно), phaseStartEquity (string; обязательно)\n\n- []timestamp (number; обязательно)\n\n[]timestamp пример: 1767225599000\n\n[]timestamp.Тип: number\n\n[]timestamp.Минута, к которой относится образец, временная метка Unix в миллисекундах.\n\n- []volume (string; обязательно)\n\n[]volume пример: 10000000000000\n\n[]volume.Тип: string\n\n[]volume.Эквити счёта на эту минуту — баланс плюс нереализованный PnL открытых позиций, fp9 в исходном виде.\n\n- []phaseIndex (integer; обязательно)\n\n[]phaseIndex пример: 1\n\n[]phaseIndex.Тип: integer\n\n[]phaseIndex.Индекс торговой фазы, к которой относится образец.\n\n[]phaseIndex.minimum: 0\n\n[]phaseIndex.maximum: 9007199254740991\n\n- []phaseStartEquity (string; обязательно)\n\n[]phaseStartEquity пример: 10000000000000\n\n[]phaseStartEquity.Тип: string\n\n[]phaseStartEquity.Начальное эквити торговой фазы образца, fp9 в исходном виде.\n\nПример\n\n\n\n```json\n[\n  {\n    \"timestamp\": 1767225599000,\n    \"volume\": \"10000000000000\",\n    \"phaseIndex\": 1,\n    \"phaseStartEquity\": \"10000000000000\"\n  }\n]\n```\n\n<a id=\"response-401\"></a>\n\n## Ответ 401\n\n**401**  — Неавторизовано\n\n<a id=\"response-403\"></a>\n\n## Ответ 403\n\n**403**  — Аккаунт принадлежит другому пользователю (`account_access_denied`), или запрос аутентифицирован с помощью API-ключа, тогда как `api_trading` отключён на аккаунте (`api_trading_not_enabled`).\n\n<a id=\"response-404\"></a>\n\n## Ответ 404\n\n**404**  — Нет аккаунта с этим идентификатором.\n\n<a id=\"response-429\"></a>\n\n## Ответ 429\n\n**429**  — Превышен лимит частоты запросов API-ключа (`api_key_rate_limit_exceeded`). `Retry-After` указывает, когда вернуться; тело содержит бакет (`read` / `write`), окно, которое сработало, его лимит и `retryAt`.","text":"Получить историю эквити счета трейдера Эквити счета, замеряемое раз в минуту, сначала самые старые. - Окно задается с помощью `timestamp` и `duration`; если ни один из них не указан, оно охватывает последние 5 дней и заканчивается текущим балансом, добавленным в качестве последней точки. - На сбойном аккаунте окно привязано к моменту сбоя аккаунта, поэтому серия никогда не выходит за него. GET /accounts/{accountId}/equity-history Accounts accountId Идентификатор торгового аккаунта. Должен принадлежать вызывающей стороне. string · uuid timestamp Якорь окна, временная метка Unix в миллисекундах. Если не указан: окно заканчивается в текущий момент (или в момент сбоя аккаунта), и актуальный баланс добавляется как последняя точка. number duration Длина окна в миллисекундах, по умолчанию 5 дней. Положительное значение: окно начинается в `timestamp` и простирается вперёд. Отрицательное значение: окно заканчивается в `timestamp` (или сейчас) и простирается назад. Ноль отклоняется. number 200 Ответ 401 Неавторизовано 403 Аккаунт принадлежит другому пользователю (`account_access_denied`), или запрос аутентифицирован с помощью API-ключа, тогда как `api_trading` отключён на аккаунте (`api_trading_not_enabled`). 404 Нет аккаунта с этим идентификатором. 429 Превышен лимит частоты запросов API-ключа (`api_key_rate_limit_exceeded`). `Retry-After` указывает, когда вернуться; тело содержит бакет (`read` / `write`), окно, которое сработало, его лимит и `retryAt`.","api":{"title":"Публичный API Upscale","version":"d796ac9","documentation":"https://docs.upscale.trade/ru/developers","playgroundServer":"https://api.upscale.trade"}}