Список API-ключей
Чтение данных своего аккаунта с системным токеном доступа
Для пользователей из материкового Китая: используйте https://toapis.cn в качестве эндпоинта (Base URL). Замените https://toapis.com на https://toapis.cn во всех примерах этого документа.
Аутентификация, пагинация и ошибки описаны в разделе Начало работы.
Поведение
Читаются только метаданные собственных обычных ключей моделей. Список сортируется по числовому ID убывающе и по умолчанию исключает мягко удаленные ключи и stats:read. Детали доступны и для своих удаленных ключей. key_hint содержит маску и последние 4 символа либо null для коротких ключей. Безлимит: unlimited=true, remaining_credits=null; отсутствие дневного/месячного лимита также равно null. Полный ключ и секрет Webhook не возвращаются. Чужой и отсутствующий ключ возвращают 404.
Аутентификация
AuthorizationstringзаголовокобязательноИспользуйте Bearer YOUR_SYSTEM_ACCESS_TOKEN. API-ключ модели не подходит. Заголовок X-User-Id не требуется.
Параметры
limitintegerзапроспо умолчанию: 50Максимальное число элементов на странице.
Ограничения: minimum=1; maximum=100; По умолчанию: 50.
cursorstringзапросПередавайте предыдущий next_cursor без изменений и сохраняйте фильтры. При изменении условий начните заново.
Ограничения: maxLength=2048.
statusstringзапросСтатус API-ключа.
Ограничения: enabled, disabled, expired, exhausted, deleted.
Пример запроса
curl --request GET \
--url 'https://toapis.com/api/v1/account/api-keys?status=enabled&limit=20' \
--header 'Authorization: Bearer YOUR_SYSTEM_ACCESS_TOKEN'import requests
response = requests.get(
"https://toapis.com/api/v1/account/api-keys",
headers={"Authorization": "Bearer YOUR_SYSTEM_ACCESS_TOKEN"},
params={
"status": "enabled",
"limit": "20"
},
timeout=30,
)
response.raise_for_status()
print(response.json())const url = new URL("https://toapis.com/api/v1/account/api-keys");
url.search = new URLSearchParams({
"status": "enabled",
"limit": "20"
}).toString();
const response = await fetch(url, {
headers: { Authorization: "Bearer YOUR_SYSTEM_ACCESS_TOKEN" },
signal: AbortSignal.timeout(30_000),
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${await response.text()}`);
}
console.log(await response.json());Поля ответа
Данные примеров вымышлены и предполагают credits_per_usd="100". Используйте коэффициент из ответа API.
Результаты находятся в data.items. Используйте has_more и next_cursor для пагинации. Последний курсор равен null. Общее число записей не возвращается.
codeintegerЧисловой код результата; 0 означает успех.
messagestringСообщение ответа; пустое при успехе. Сообщения об ошибках локализуются.
dataobjectОбъект результата текущего запроса.
data.itemsobject[]Записи текущей страницы; [] при отсутствии результатов.
data.items[].idstringID ключа модели, не секретный ключ. Возвращается как десятичная строка ID.
data.items[].namestringИмя API-ключа.
data.items[].key_hintstring | nullМаска и последние 4 символа ключа. Полный секрет не возвращается; короткие ключи дают null.
data.items[].statusstringТекущий статус API-ключа. Детали доступны и для собственных мягко удаленных ключей. Значения: enabled, disabled, expired, exhausted, deleted, unknown.
data.items[].created_atstring | nullВремя создания. Время в RFC 3339 с часовым поясом. null, если значение неизвестно или неприменимо.
data.items[].expires_atstring | nullВремя истечения ключа; null, если срок не задан. Время в RFC 3339 с часовым поясом.
data.items[].unlimitedbooleanБезлимитная ли квота ключа. При true поле remaining_credits=null.
data.items[].remaining_creditsstring | nullОставшиеся credits. Для безлимитного API-ключа равны null. Десятичная строка для сохранения точности.
data.items[].daily_limit_creditsstring | nullДневной лимит в credits; null без ограничения. Десятичная строка для сохранения точности.
data.items[].monthly_limit_creditsstring | nullМесячный лимит в credits; null без ограничения. Десятичная строка для сохранения точности.
data.has_morebooleanЕсть ли следующая страница.
data.next_cursorstring | nullПередавайте без изменений как cursor с теми же фильтрами. На последней странице равен null.
data.metaobjectМетаданные об источнике, диапазоне и принципах учета.
data.meta.scopestringОбласть владельца данных: сам аутентифицированный аккаунт.
Пример ответа
{
"code": 0,
"message": "",
"data": {
"items": [
{
"id": "42",
"name": "Example Key",
"key_hint": "****abcd",
"status": "enabled",
"created_at": "2026-10-01T00:00:00Z",
"expires_at": null,
"unlimited": false,
"remaining_credits": "500",
"daily_limit_credits": "100",
"monthly_limit_credits": null
}
],
"has_more": false,
"next_cursor": null,
"meta": {
"scope": "self"
}
}
}