API 키 생성
CometAPI POST /api/token/을 사용하여 인증된 계정의 API 키를 생성합니다.
curl https://api.cometapi.com/api/token/ \
-H "Authorization: your-access-token" \
-H "Content-Type: application/json" \
-d '{
"name": "production",
"expired_time": -1,
"remain_quota": 100000,
"unlimited_quota": false,
"model_limits_enabled": false,
"model_limits": "",
"allow_ips": null,
"group": "",
"cross_group_retry": false
}'{
"success": true,
"message": "",
"data": {
"id": 1234,
"user_id": 5678,
"key": "<COMETAPI_KEY>",
"status": 1,
"name": "production",
"created_time": 1766102400,
"accessed_time": 1766102400,
"expired_time": -1,
"remain_quota": 100000,
"unlimited_quota": false,
"model_limits_enabled": false,
"model_limits": "",
"allow_ips": "",
"used_quota": 0,
"group": "",
"cross_group_retry": false
}
}api_key:write 권한이 있는 개인 액세스 토큰을 다음 위치에서 생성하세요: 콘솔 → 개인 설정토큰을 원시 Authorization 헤더 값으로 전송하세요. Bearer 접두사를 추가하지 마세요.data에 포함되며, 숫자 ID는 data.id에, 전체 API 키는 data.key에 포함됩니다.
data.key을 즉시 저장하세요. 이후의 목록, 세부 정보 및 업데이트 응답에는 모델 요청을 인증할 수 없는 마스킹된 API 키가 포함됩니다.data.key을 Authorization: Bearer <COMETAPI_KEY>로 변경 없이 사용하세요. sk- 접두사를 추가하지 마세요.
전체 API 키를 저장하지 않았다면 다음을 여세요: 콘솔 → API 키.
생성한 API 키를 찾아 복사를 선택하고 신원 확인을 완료하세요.
생성 응답
| 필드 | 유형 | 설명 |
|---|---|---|
success | boolean | API 키가 생성되었는지 여부입니다. |
message | string | 상태 메시지입니다. 성공 시 비어 있습니다. |
data | object | 설정 및 할당량을 포함한 생성된 API 키 레코드입니다. 성공 시 제공됩니다. |
data.id | integer | 숫자 API 키 ID입니다. 이 ID를 사용하여 레코드를 조회, 업데이트 또는 삭제합니다. |
data.key | string | 생성 중 반환되는 전체 API 키입니다. 모델 요청에 사용할 수 있도록 이 값을 저장하세요. |
요청 본문
| 필드 | 유형 | 설명 |
|---|---|---|
name | string | 사용자가 읽을 수 있는 키 표시 이름입니다. 50자 이하여야 합니다. |
expired_time | integer | 키가 만료되는 시점의 Unix 타임스탬프(초)입니다. 만료가 없으면 -1을 사용하세요. |
remain_quota | integer | CometAPI 내부 할당량 단위의 시작 할당량입니다. 이 값이 0에 도달하고 unlimited_quota이 false이면, 이 키를 사용하는 모델 요청은 할당량 소진으로 거부됩니다. |
unlimited_quota | boolean | 키가 남은 할당량 검사를 우회하는지 여부입니다. 키가 true이더라도 remain_quota 0. |
model_limits_enabled | boolean | 이 키를 특정 모델로 제한할지 여부입니다. false이면 model_limits은 무시됩니다. |
model_limits | string | model_limits_enabled가 true인 경우 이 키에서 허용되는 쉼표로 구분된 모델 ID입니다. /v1/models에서 반환된 모델 ID를 사용하세요. 모델 제한이 없으면 빈 문자열을 사용하세요. |
allow_ips | string 또는 null | 선택적 IP 허용 목록입니다. 줄바꿈 문자 \n로 항목을 구분한 하나의 JSON 문자열을 제공하세요. 각 항목은 단일 IPv4 주소, 단일 IPv6 주소, IPv4 CIDR 또는 IPv6 CIDR일 수 있습니다. IP 제한을 비활성화하려면 null 또는 ""를 사용하세요. |
group | string | 선택적 계정 그룹 제한입니다. 명시적 그룹을 지정하지 않으려면 빈 문자열을 사용하세요. 비어 있지 않은 값은 계정에서 사용할 수 있어야 하며, 그렇지 않으면 API가 반환합니다. success: false. |
cross_group_retry | boolean | 자동 그룹 라우팅을 위한 교차 그룹 재시도가 활성화되어 있는지 여부입니다. 이는 키가 자동 라우팅된 그룹을 사용하는 경우에만 의미가 있습니다. |
허용 목록 형식
여러 IP 또는 CIDR 범위를 허용하려면 항목 사이에\n를 넣은 하나의 JSON 문자열로 전송하세요:
{
"allow_ips": "198.51.100.10\n203.0.113.0/24\n2001:db8::/32"
}
인증
Personal access token with the api_key:write permission, generated in CometAPI Console > Personal Settings. Send the raw token value; do not prefix it with Bearer.
본문
User-readable display name for the API key. The backend accepts up to 50 Unicode characters; longer names return success: false with token name is too long.
50"production"
Unix timestamp in seconds when the key expires. Use -1 for no expiration. A past timestamp blocks model requests with this key.
-1
Starting quota for the new key in CometAPI internal quota units. If this reaches 0 while unlimited_quota is false, model requests with this key are rejected as quota exhausted.
100000
Whether the key bypasses remaining-quota checks. Set true only when the key should keep working even if remain_quota is 0.
false
Whether to restrict this key to specific models. When true, only model IDs listed in model_limits are allowed. When false, model_limits is ignored.
false
Comma-separated model IDs allowed by this key when model_limits_enabled is true. Use model IDs returned by /v1/models, for example <model-id-1>,<model-id-2>. Use an empty string for no model restriction.
""
Optional IP allowlist. Provide one JSON string with entries separated by newline characters (\n). Each entry can be a single IPv4 address, single IPv6 address, IPv4 CIDR, or IPv6 CIDR. Example for three allowlist entries: 198.51.100.10\n203.0.113.0/24\n2001:db8::/32. CometAPI compares the model request client IP to this list. Use null or "" to disable IP restrictions.
"198.51.100.10\n203.0.113.0/24\n2001:db8::/32"
Optional account group restriction. Use an empty string for no explicit group restriction. Non-empty values must be available to the account, or the API returns success: false with a no access to group message.
""
Whether cross-group retry is enabled for automatic group routing. This is only meaningful when the key uses an auto-routed group such as auto.
false
응답
Creation result. Successful responses include the created record and complete API key in data.
curl https://api.cometapi.com/api/token/ \
-H "Authorization: your-access-token" \
-H "Content-Type: application/json" \
-d '{
"name": "production",
"expired_time": -1,
"remain_quota": 100000,
"unlimited_quota": false,
"model_limits_enabled": false,
"model_limits": "",
"allow_ips": null,
"group": "",
"cross_group_retry": false
}'{
"success": true,
"message": "",
"data": {
"id": 1234,
"user_id": 5678,
"key": "<COMETAPI_KEY>",
"status": 1,
"name": "production",
"created_time": 1766102400,
"accessed_time": 1766102400,
"expired_time": -1,
"remain_quota": 100000,
"unlimited_quota": false,
"model_limits_enabled": false,
"model_limits": "",
"allow_ips": "",
"used_quota": 0,
"group": "",
"cross_group_retry": false
}
}