ToAPIsToAPIs
API 키

API 키 교체

비밀 키를 교체하고 새 전체 key를 반환합니다

POST
/api/v1/api-keys/{api_key_id}/rotate

중국 본토 사용자 안내: 중국 본토 사용자는 https://api.toapis.cn 를 API 엔드포인트(Base URL)로 사용해 주세요. 본 문서의 예시에서 https://api.toapis.com 을 https://api.toapis.cn 로 바꿔 주세요.

동작

지정 키에 새 비밀 키를 발급합니다. 비밀 키 유출이나 정기 교체에 사용합니다. 성공 시 전체 key를 반환하고 원래 ID, 이름, 상태, 만료 시각, 할당량, 제한은 그대로입니다. 비활성·만료·소진된 키도 교체할 수 있지만 자동으로 다시 활성화되지는 않습니다. 폐기된 키는 404입니다.

교체 성공 후 기존 비밀 키는 즉시 무효가 되며 구/신 비밀 키를 동시에 쓸 수 있는 과도기가 없습니다. 같은 키에 여러 교체를 동시에 보내면 마지막으로 제출한 비밀 키만 유효하고 나머지는 즉시 무효가 되므로, 교체는 직렬로 수행하세요.

인증

Authorizationstring헤더필수

Bearer YOUR_SYSTEM_ACCESS_TOKEN을 사용합니다. 모델 키는 허용하지 않으며 X-User-Id는 필요하지 않습니다. 공통 규칙은 시작하기를 참조하세요.

요청 매개변수

api_key_idstring경로필수

소유한 일반 모델 키의 십진 문자열 ID. sk- 비밀 키가 아닙니다.

빈 본문이 아니면 Content-Type: application/json이 필요하며 최대 16384바이트입니다. 최상위는 JSON 객체여야 하며 알 수 없거나 중복된 필드와 쿼리 매개변수는 거부합니다. 본문 읽기 제한 시간은 10초입니다.

본문은 비어 있거나 {}여야 합니다.

요청 예제

요청 예시

curl --request POST \
  --url 'https://api.toapis.com/api/v1/api-keys/43/rotate' \
  --header 'Authorization: Bearer YOUR_SYSTEM_ACCESS_TOKEN' \
  --header 'Content-Type: application/json' \
  --data '{}'
import requests

response = requests.post(
    "https://api.toapis.com/api/v1/api-keys/43/rotate",
    headers={"Authorization": "Bearer YOUR_SYSTEM_ACCESS_TOKEN"},
    json={},
    timeout=30,
)
response.raise_for_status()
print(response.json())
const response = await fetch("https://api.toapis.com/api/v1/api-keys/43/rotate", {
  method: "POST",
  headers: { Authorization: "Bearer YOUR_SYSTEM_ACCESS_TOKEN", "Content-Type": "application/json" },
  body: JSON.stringify({}),
  signal: AbortSignal.timeout(30_000),
});
if (!response.ok) {
  throw new Error(`HTTP ${response.status}: ${await response.text()}`);
}
console.log(await response.json());

응답 필드

예제는 가상 데이터입니다. 메타데이터는 키 상세, 공통 응답과 오류는 시작하기를 참조하세요.

data.keystring

sk- 접두사가 포함된 전체 비밀 키로, 이번 생성 또는 교체 응답에서만 반환합니다.

응답 예제

응답 예시

{
  "code": 0,
  "message": "",
  "data": {
    "id": "43",
    "name": "Example Key",
    "key_hint": "****new4",
    "status": "enabled",
    "created_at": "2026-11-01T08:00:00Z",
    "expires_at": "2027-01-01T00:00:00Z",
    "unlimited": false,
    "remaining_credits": "500",
    "daily_limit_credits": null,
    "monthly_limit_credits": null,
    "key": "sk-example11111111111111111111111111111111111111new4",
    "model_limits": [],
    "allow_ips": []
  }
}