API 키
API 키 목록
CometAPI GET /api/token/을 사용해 인증된 계정의 API 키를 페이지네이션과 함께 조회합니다.
GET
/
api
/
token
/
cURL
curl "https://api.cometapi.com/api/token/?p=1&page_size=20" \
-H "Authorization: your-access-token"import requests
url = "https://api.cometapi.com/api/token/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.cometapi.com/api/token/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cometapi.com/api/token/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cometapi.com/api/token/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cometapi.com/api/token/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cometapi.com/api/token/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "",
"data": {
"page": 1,
"page_size": 20,
"total": 1,
"items": [
{
"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": null,
"used_quota": 0,
"group": "",
"cross_group_retry": false
}
]
}
}이 엔드포인트를 사용해 인증된 CometAPI 계정에 속한 API 키를 조회할 수 있습니다. 가장 최근에 생성된 키가 먼저 반환됩니다.
Console → Personal Settings에서 personal access token을 생성한 다음, 이를 가공하지 않은
Authorization 헤더 값으로 전송하세요. Bearer 접두사는 붙이지 마세요.페이지네이션
| Query parameter | Description |
|---|---|
p | 페이지 번호입니다. 기본값은 1입니다. |
page_size | 페이지당 항목 수입니다. 100을 초과하는 값은 100으로 제한됩니다. |
API 키 상태
| Status | Meaning |
|---|---|
1 | 활성화됨 |
2 | 비활성화됨 |
3 | 만료됨 |
4 | 소진됨 |
반환 필드
| Field | Type | Description |
|---|---|---|
id | integer | 숫자형 API 키 ID입니다. 이 값은 단일 API 키 조회, API 키 업데이트, API 키 삭제와 함께 사용합니다. |
key | string | 관리 API에서 반환되는 API 키 값입니다. 비밀 값으로 취급하고, 모델 요청에는 Authorization: Bearer $COMETAPI_KEY로 사용하세요. |
status | integer | 운영 상태입니다. 1인 경우에만 해당 키가 모델 요청에 대해 활성화되어 있음을 의미합니다. |
name | string | 사용자가 읽을 수 있는 키의 표시 이름입니다. |
created_time | integer | 키가 생성된 시점의 초 단위 Unix timestamp입니다. |
accessed_time | integer | 키가 마지막으로 사용된 시점의 초 단위 Unix timestamp입니다. |
expired_time | integer | 키가 만료되는 시점의 초 단위 Unix timestamp입니다. -1은 만료되지 않음을 의미합니다. |
remain_quota | integer | CometAPI 내부 quota 단위 기준 남은 quota입니다. |
used_quota | integer | 이 키가 이미 사용한 CometAPI 내부 quota 단위 기준 quota입니다. |
unlimited_quota | boolean | 이 키가 남은 quota 검사 우회 여부입니다. |
model_limits_enabled | boolean | 이 키에 대해 모델 제한이 활성화되어 있는지 여부입니다. |
model_limits | string | model_limits_enabled가 true일 때 이 키에 허용된 model ID의 쉼표로 구분된 목록입니다. 비어 있으면 구성된 모델 목록이 없음을 의미합니다. |
allow_ips | string or null | IP 허용 목록으로, 줄바꿈으로 구분된 하나의 문자열입니다. 각 항목은 단일 IPv4 주소, 단일 IPv6 주소, IPv4 CIDR 또는 IPv6 CIDR일 수 있습니다. null 또는 ""는 IP 제한이 없음을 의미합니다. |
group | string | 계정 그룹 제한입니다. 비어 있으면 명시적인 그룹 제한이 없음을 의미합니다. |
cross_group_retry | boolean | 자동 그룹 라우팅을 위한 cross-group retry 활성화 여부입니다. |
인증
Personal access token copied from CometAPI Console > Personal Settings. Send the raw token value; do not prefix it with Bearer.
쿼리 매개변수
Page number to return. Defaults to 1.
필수 범위:
x >= 1Number of keys per page. Values above 100 are capped at 100 by the backend.
필수 범위:
1 <= x <= 100⌘I
cURL
curl "https://api.cometapi.com/api/token/?p=1&page_size=20" \
-H "Authorization: your-access-token"import requests
url = "https://api.cometapi.com/api/token/"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.cometapi.com/api/token/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.cometapi.com/api/token/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.cometapi.com/api/token/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.cometapi.com/api/token/")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.cometapi.com/api/token/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": "",
"data": {
"page": 1,
"page_size": 20,
"total": 1,
"items": [
{
"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": null,
"used_quota": 0,
"group": "",
"cross_group_retry": false
}
]
}
}