#Список токенов сервера
GET /v1/infra/servers/:id/access-tokens
Возвращает токены сервера с фильтрацией по статусу. По умолчанию — только активные.
#Параметры
| Параметр | В | Тип | Обяз. | Описание |
|---|---|---|---|---|
id |
path | string (UUID) | да | ID BLACKHOLE-сервера |
status |
query | string | нет | Фильтр: active (по умолч.) | expired | revoked | all |
#Примеры
#curl — личный ключ
curl -H "X-Api-Key: YOUR_API_KEY" \
"https://vibecode.bitrix24.tech/v1/infra/servers/SERVER_ID/access-tokens?status=active"
#curl — OAuth-приложение
curl -H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN" \
"https://vibecode.bitrix24.tech/v1/infra/servers/SERVER_ID/access-tokens?status=all"
#JavaScript — личный ключ
const res = await fetch(
`https://vibecode.bitrix24.tech/v1/infra/servers/${serverId}/access-tokens?status=active`,
{ headers: { 'X-Api-Key': 'YOUR_API_KEY' } }
)
const { data } = await res.json()
console.log(`Активных токенов: ${data.tokens.length} / ${data.limits.activeCountMax}`)
#JavaScript — OAuth-приложение
const res = await fetch(
`https://vibecode.bitrix24.tech/v1/infra/servers/${serverId}/access-tokens`,
{
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
}
)
const { data } = await res.json()
#Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data.tokens |
array | Массив токенов |
data.tokens[].id |
string | ID токена |
data.tokens[].mode |
string | "api-bearer" или "share-url" |
data.tokens[].name |
string | null | Метка токена |
data.tokens[].identityBound |
boolean | Для api-bearer всегда true; для share-url — требуется ли вход через Битрикс24 |
data.tokens[].shortcode |
string | null | Код ссылки для share-url; null для api-bearer |
data.tokens[].expiresAt |
string (ISO 8601) | Момент истечения |
data.tokens[].revokedAt |
string (ISO 8601) | null | Момент отзыва; null если не отозван |
data.tokens[].createdAt |
string (ISO 8601) | Момент выпуска |
data.tokens[].lastUsedAt |
string (ISO 8601) | null | Последнее использование |
data.tokens[].sessionCount |
number | Число сессий, созданных через этот токен |
data.tokens[].createdBy.id |
string | ID пользователя, выпустившего токен |
data.tokens[].createdBy.name |
string | Имя пользователя |
data.tokens[].createdBy.email |
string | Email пользователя |
data.limits.activeCount |
number | Текущее число активных токенов сервера |
data.limits.activeCountMax |
number | Лимит активных токенов на сервер (100) |
data.limits.mintRateLimitPerHour |
number | Лимит выпусков в час на API-ключ (50) |
data.limits.mintsLastHour |
number | Количество выпущенных токенов за последний час по данному API-ключу |
#Пример ответа
{
"success": true,
"data": {
"tokens": [
{
"id": "tk_7d3fa2b1",
"mode": "api-bearer",
"name": "ci-smoke",
"identityBound": true,
"shortcode": null,
"expiresAt": "2026-05-18T10:50:00.000Z",
"revokedAt": null,
"createdAt": "2026-05-18T10:40:00.000Z",
"lastUsedAt": "2026-05-18T10:41:30.000Z",
"sessionCount": 1,
"createdBy": { "id": "usr_abc123", "name": "Иван Петров", "email": "ivan@example.bitrix24.ru" }
},
{
"id": "tk_8e4gb3c2",
"mode": "share-url",
"name": "предпросмотр",
"identityBound": false,
"shortcode": "R8k3Zm2P",
"expiresAt": "2026-06-17T08:44:00.000Z",
"revokedAt": null,
"createdAt": "2026-05-18T08:44:00.000Z",
"lastUsedAt": null,
"sessionCount": 0,
"createdBy": { "id": "usr_abc123", "name": "Иван Петров", "email": "ivan@example.bitrix24.ru" }
}
],
"limits": {
"activeCount": 2,
"activeCountMax": 100,
"mintRateLimitPerHour": 50,
"mintsLastHour": 1
}
}
}
#Пример ответа при ошибке
404 — сервер не найден:
{
"success": false,
"error": {
"code": "SERVER_NOT_FOUND",
"message": "Server not found"
}
}
#Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 401 | MISSING_API_KEY |
Не передан заголовок X-Api-Key |
| 401 | INVALID_API_KEY |
Неверный или просроченный API-ключ |
| 403 | TOKEN_OWNER_MISMATCH |
Сервер принадлежит другому API-ключу |
| 404 | SERVER_NOT_FOUND |
Сервер не найден или удалён |
Полный список общих ошибок API — Ошибки.
#Известные особенности
- Поле
token(JWT) не включается в список. Значение JWT возвращается только при выпуске токена. status=allвозвращает истёкшие и отозванные токены. Статус токена выводится из полейrevokedAt(неnull→ отозван) иexpiresAt(меньше текущего времени → истёк).- Список ограничен 500 токенами. Фильтр
statusсужает выборку до нужной категории.