API 키 목록 조회
시스템 액세스 토큰으로 자신의 계정 데이터 조회
중국 본토 사용자 안내: 중국 본토 사용자는 https://toapis.cn 를 API 엔드포인트(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" 을 가정합니다. 실제 환산에는 응답 값을 사용하세요.
결과는 data.items 에 있습니다. has_more 와 next_cursor 로 페이지를 조회합니다. 마지막 커서는 null 이며 총 개수는 반환하지 않습니다.
codeinteger결과 코드. 0 은 성공입니다.
messagestring성공 시 빈 문자열이며 오류 메시지는 현지화됩니다.
dataobject현재 조회의 결과 객체입니다.
data.itemsobject[]현재 페이지의 기록 목록이며 빈 결과는 [] 입니다.
data.items[].idstring모델 API 키 ID 이며 비밀 키 자체가 아닙니다. 10 진수 ID 문자열로 반환합니다.
data.items[].namestringAPI 키 이름입니다.
data.items[].key_hintstring | null고정 마스크와 키의 마지막 4 문자입니다. 전체 키는 반환하지 않으며 짧으면 null 입니다.
data.items[].statusstringAPI 키의 현재 상태. 자신의 소프트 삭제 키도 상세 조회할 수 있습니다. 허용 값: 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"
}
}
}