API управления
Аккаунт и сессии
Профиль, смена почты и пароля, список входов в кабинет, аварийный выход отовсюду и удаление аккаунта.
На этой странице · 7
Единственный домен, где два способа входа отличаются не только удобством: у серверного ключа своей сессии нет, поэтому смена пароля из скрипта гасит вообще все сессии кабинета, а из браузера — все, кроме своей.
GET /account
Владелец ключа или сессии, которой пришёл запрос. Область: account:read.
curl -s "$STEND/api/v1/account" -H "Authorization: Bearer $STEND_KEY"
{
"id": "cmtt67iv2000053m3t7mn1qu8",
"login": "demo",
"email": "demo@apistend.ru",
"name": "Игорь Герасимов",
"initials": "ИГ",
"planLabel": "Бесплатный доступ",
"createdAt": "2026-09-08T21:17:25.694Z",
"sandboxCount": 1,
"access": {
"via": "key",
"apiKeyId": "cmtt67iwi000753m3a3omagx3",
"scopes": [],
"defaultSandboxId": "cmtt67ivj000153m3oir9dc6f"
}
}
Блок access — самое полезное здесь для скрипта: scopes: [] означает полный
доступ, defaultSandboxId — песочницу, которая подставится без ?sandboxId=.
PATCH /account
Область: account:write. Меняет name, initials, login, email.
Имя, инициалы и почту можно менять без подтверждения: почта — способ связи,
вход по ней не идёт, а email: null её стирает. Смена ЛОГИНА требует поля
currentPassword: логин — это вход, и подменивший его получает аккаунт целиком.
Тот же логин, что уже стоит у аккаунта, сменой не считается. Сессии и ключи
после смены логина продолжают работать: он не участвует в проверке
ни того, ни другого.
curl -s -X PATCH "$STEND/api/v1/account" \
-H "Authorization: Bearer $STEND_KEY" -H 'Content-Type: application/json' \
-d '{"name":"Игорь Герасимов","initials":"ИГ"}'
Занятый логин отвечает 409 — как и почта, уже указанная в другом аккаунте.
POST /account/password
Область: account:write. Тело — currentPassword и newPassword.
Требует текущего пароля: одной украденной cookie или одного ключа не должно хватать, чтобы отобрать аккаунт. После смены гаснут остальные сессии — ровно ради этого пароль обычно и меняют.
Ответ
По серверному ключу своей сессии нет, и гаснут все, включая браузер владельца.
Ключи доступа смена пароля не трогает: это отдельные секреты, они отзываются
через /keys.
GET /account/sessions
Область: account:read. Входы в кабинет, свежие сверху; просроченные не
показываются. Ключи сюда не попадают — их список отдаёт /keys.
curl -s "$STEND/api/v1/account/sessions?limit=2" -H "Authorization: Bearer $STEND_KEY"
{
"items": [
{
"id": "cmttxzbtn000f7am3ifnc4ujd",
"device": "скрипт",
"userAgent": "curl/8.7.1",
"ip": "127.0.0.1",
"createdAt": "2026-09-09T10:14:52.571Z",
"expiresAt": "2026-09-23T10:14:52.571Z",
"current": false
}
],
"nextCursor": null
}
device — короткая узнаваемая подпись («Chrome на macOS»), собранная из
User-Agent без библиотеки; неизвестное остаётся null, а не превращается
в «Другое устройство». Флаг current стоит у сессии, которой пришёл запрос;
при входе по ключу он не стоит ни у одной.
DELETE /account/sessions/{id}
Область: account:write. Сессия перестаёт работать сразу: токен проверяется
по записи в базе, а не только по подписи.
Ответ — { ok, id, wasCurrent }. Погасить можно и текущую — это выход из кабинета: cookie в ответе очищается,
следующий запрос по ней получит 401. Чужой или уже погашенный идентификатор — 404.
POST /account/sessions/revoke-all
Область: account:write. Аварийная кнопка на случай украденного ноутбука.
Ответ — { ok, revoked, currentSessionKept }, где revoked — число погашенных
сессий. Своя сессия остаётся, чтобы не выкидывать из кабинета того, кто нажал кнопку.
По серверному ключу своей сессии нет — тогда гаснут все. Пароль при этом
не меняется: если скомпрометирован он, начинать надо с POST /account/password,
который гасит сессии сам.
DELETE /account
Область: account:write.
Восстановления нет
Вместе с аккаунтом каскадом уходят все песочницы, а с ними ключи, журнал запросов, вебхуки и доставки, сценарии, серии событий, свои моки, локальные приложения Bitrix24 и изменения поверх демо-данных. Копий данных мы не храним. Тот же адрес почты после удаления можно зарегистрировать заново — это будет пустой аккаунт.
Подтверждение — точный логин удаляемого аккаунта в поле login. При входе
по cookie-сессии дополнительно требуется password: оставленный без присмотра
браузер не должен уметь стереть аккаунт одним запросом. По серверному ключу
пароль не нужен — сам ключ уже даёт полный доступ.
curl -s -X DELETE "$STEND/api/v1/account" \
-H "Authorization: Bearer $STEND_KEY" -H 'Content-Type: application/json' \
-d '{"login":"demo"}'
Ответ — сводка того, что именно и в каком количестве исчезло: ok, deletedAt,
account с идентификатором и почтой, stoppedBursts и объект removed
со счётчиками sandboxes, apiKeys, requestLogs, webhooks,
webhookDeliveries, scenarios, eventBursts, customMocks,
sandboxOverlays, b24Apps, sessions.