Rate Limits API
Rate Limits API
Rate Limits API는 조직과 그 워크스페이스에 구성된 속도 제한(rate limit)을 프로그래밍 방식으로 조회하게 해 주는 API예요. Claude Console의 Rate limits 페이지에 표시되는 것과 같은 정보를 제공하지요.
이 API를 활용하면 어떻게 쓸 수 있을까요?
- 게이트웨이와 프록시 동기화 상태 유지: Anthropic이 조정할 때 흔들리는 값을 하드코딩하는 대신, 시작 시와 주기적으로 현재 제한을 읽을 수 있어요.
- 내부 알림 강화: Usage and Cost API의 사용 데이터를 구성된 제한과 비교할 수 있어요.
- 워크스페이스 구성 감사: 워크스페이스 재정의가 프로비저닝 자동화가 기대하는 값과 일치하는지 확인할 수 있어요.
Admin API 자격 증명 필요 이 엔드포인트들은 Admin API에 속해요. Admin API 키,
org:admin범위의 OAuth 토큰, 또는 워크스페이스에 범위가 제한되지 않은 개인·서비스 계정 키로 접근할 수 있어요. 워크스페이스 API 키는 작동하지 않아요. 자세한 내용은 인증을 참고하세요.
이 페이지의 SDK·CLI 예시는 기본 클라이언트를 생성하며, ANTHROPIC_API_KEY 환경 변수에서 Admin API 키를 읽어요. SDK는 이 엔드포인트들을 client.beta.organization.rate_limits와 client.beta.organization.workspaces.rate_limits로 노출하고, Python·TypeScript·C#·Go·Java의 list 메서드는 next_page를 따라가는 이터레이터를 반환하는 반면 PHP·Ruby·curl 예시는 한 페이지를 읽어요.
출처: 문서
본문
빠른 시작
조직에 구성된 속도 제한을 나열해 볼게요:
curl "https://api.anthropic.com/v1/organizations/rate_limits" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01"
ant beta:organization:rate-limits list
client = anthropic.Anthropic()
rate_limits = client.beta.organization.rate_limits.list()
for group in rate_limits:
models = f" ({', '.join(group.models)})" if group.models else ""
print(f"{group.group_type}{models}")
for limit in group.limits:
print(f" {limit.type}: {limit.value}")
const client = new Anthropic();
const rateLimits = await client.beta.organization.rateLimits.list();
for await (const group of rateLimits) {
const models = group.models ? ` (${group.models.join(", ")})` : "";
console.log(`${group.group_type}${models}`);
for (const limit of group.limits) {
console.log(` ${limit.type}: ${limit.value}`);
}
}
AnthropicClient client = new();
var rateLimits = await client.Beta.Organization.RateLimits.List();
await foreach (var group in rateLimits.Paginate())
{
var models = group.Models is null ? "" : $" ({string.Join(", ", group.Models)})";
Console.WriteLine($"{group.GroupType.Raw()}{models}");
foreach (var limit in group.Limits)
{
Console.WriteLine($" {limit.Type}: {limit.Value}");
}
}
client := anthropic.NewClient()
rateLimits := client.Beta.Organization.RateLimits.ListAutoPaging(context.Background(), anthropic.BetaOrganizationRateLimitListParams{})
for rateLimits.Next() {
group := rateLimits.Current()
models := ""
if len(group.Models) > 0 {
models = fmt.Sprintf(" (%s)", strings.Join(group.Models, ", "))
}
fmt.Printf("%s%s\n", group.GroupType, models)
for _, limit := range group.Limits {
fmt.Printf(" %s: %d\n", limit.Type, limit.Value)
}
}
if err := rateLimits.Err(); err != nil {
log.Fatal(err)
}
AnthropicClient client = AnthropicOkHttpClient.fromEnv();
var rateLimits = client.beta().organization().rateLimits().list();
for (var group : rateLimits.autoPager()) {
var models = group.models()
.map(modelIds -> " (" + String.join(", ", modelIds) + ")")
.orElse("");
IO.println(group.groupType().asString() + models);
for (var limit : group.limits()) {
IO.println(" " + limit.type() + ": " + limit.value());
}
}
$client = new Client();
$rateLimits = $client->beta->organization->rateLimits->list();
foreach ($rateLimits->data as $group) {
$models = $group->models ? ' (' . implode(', ', $group->models) . ')' : '';
echo "{$group->groupType}{$models}\n";
foreach ($group->limits as $limit) {
echo " {$limit->type}: {$limit->value}\n";
}
}
client = Anthropic::Client.new
rate_limits = client.beta.organization.rate_limits.list
rate_limits.data.each do |group|
models = group.models ? " (#{group.models.join(", ")})" : ""
puts "#{group.group_type}#{models}"
group.limits.each do |limit|
puts " #{limit.type}: #{limit.value}"
end
end
조직 속도 제한
/v1/organizations/rate_limits 엔드포인트는 Messages API와 그 지원 리소스에 조직 수준에서 적용되는 속도 제한을 반환해요. Claude Managed Agents 같은 다른 제품의 제한은 포함되지 않아요.
핵심 개념
- 속도 제한 그룹(Rate limit groups): 응답의 각 항목은 하나의 속도 제한 그룹을 나타내요. 모델 속도 제한은 여러 모델 버전이 단일 제한 세트를 공유하도록 그룹화되고, 다른 그룹은 Message Batches API, Files API, Token Counting API, agent skills, 웹 검색 툴 같은 리소스를 포괄해요.
group_type: 항목이 어떤 범주의 제한을 다루는지 식별해요. 값 목록은 그룹 타입으로 필터링을 참고하세요.models리스트:model_group항목에서models필드는 그 그룹의 제한에 집계되는 모든 모델 ID와 별칭을 나열해요. 이 리스트로 어떤 모델 문자열이 어떤 그룹에 속하는지 찾을 수 있어요. 다른 그룹 타입에서models는null이에요.limits리스트: 각 그룹은{type, value}쌍 리스트를 나르며,type필드는 리미터(예:requests_per_minute,input_tokens_per_minute,output_tokens_per_minute)를,value는 구성된 제한을 식별해요. 각 리미터가 어떻게 측정되고 집행되는지는 Rate limits를 참고하세요.
전체 파라미터 세부사항과 응답 스키마는 Organization Rate Limits API reference를 참고하세요.
모든 조직 속도 제한 나열하기
curl "https://api.anthropic.com/v1/organizations/rate_limits" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01"
ant beta:organization:rate-limits list
client = anthropic.Anthropic()
rate_limits = client.beta.organization.rate_limits.list()
for group in rate_limits:
models = f" ({', '.join(group.models)})" if group.models else ""
print(f"{group.group_type}{models}")
for limit in group.limits:
print(f" {limit.type}: {limit.value}")
const client = new Anthropic();
const rateLimits = await client.beta.organization.rateLimits.list();
for await (const group of rateLimits) {
const models = group.models ? ` (${group.models.join(", ")})` : "";
console.log(`${group.group_type}${models}`);
for (const limit of group.limits) {
console.log(` ${limit.type}: ${limit.value}`);
}
}
AnthropicClient client = new();
var rateLimits = await client.Beta.Organization.RateLimits.List();
await foreach (var group in rateLimits.Paginate())
{
var models = group.Models is null ? "" : $" ({string.Join(", ", group.Models)})";
Console.WriteLine($"{group.GroupType.Raw()}{models}");
foreach (var limit in group.Limits)
{
Console.WriteLine($" {limit.Type}: {limit.Value}");
}
}
client := anthropic.NewClient()
rateLimits := client.Beta.Organization.RateLimits.ListAutoPaging(context.Background(), anthropic.BetaOrganizationRateLimitListParams{})
for rateLimits.Next() {
group := rateLimits.Current()
models := ""
if len(group.Models) > 0 {
models = fmt.Sprintf(" (%s)", strings.Join(group.Models, ", "))
}
fmt.Printf("%s%s\n", group.GroupType, models)
for _, limit := range group.Limits {
fmt.Printf(" %s: %d\n", limit.Type, limit.Value)
}
}
if err := rateLimits.Err(); err != nil {
log.Fatal(err)
}
AnthropicClient client = AnthropicOkHttpClient.fromEnv();
var rateLimits = client.beta().organization().rateLimits().list();
for (var group : rateLimits.autoPager()) {
var models = group.models()
.map(modelIds -> " (" + String.join(", ", modelIds) + ")")
.orElse("");
IO.println(group.groupType().asString() + models);
for (var limit : group.limits()) {
IO.println(" " + limit.type() + ": " + limit.value());
}
}
$client = new Client();
$rateLimits = $client->beta->organization->rateLimits->list();
foreach ($rateLimits->data as $group) {
$models = $group->models ? ' (' . implode(', ', $group->models) . ')' : '';
echo "{$group->groupType}{$models}\n";
foreach ($group->limits as $limit) {
echo " {$limit->type}: {$limit->value}\n";
}
}
client = Anthropic::Client.new
rate_limits = client.beta.organization.rate_limits.list
rate_limits.data.each do |group|
models = group.models ? " (#{group.models.join(", ")})" : ""
puts "#{group.group_type}#{models}"
group.limits.each do |limit|
puts " #{limit.type}: #{limit.value}"
end
end
{
"data": [
{
"type": "rate_limit",
"group_type": "model_group",
"models": ["claude-opus-5-5"],
"limits": [
{ "type": "requests_per_minute", "value": 4000 },
{ "type": "input_tokens_per_minute", "value": 10000000 },
{ "type": "output_tokens_per_minute", "value": 800000 }
]
},
{
"type": "rate_limit",
"group_type": "model_group",
"models": [
"claude-opus-4-5",
"claude-opus-4-5-20251101",
"claude-opus-4-6",
"claude-opus-4-7",
"claude-opus-4-8"
],
"limits": [
{ "type": "requests_per_minute", "value": 4000 },
{ "type": "input_tokens_per_minute", "value": 10000000 },
{ "type": "output_tokens_per_minute", "value": 800000 }
]
},
{
"type": "rate_limit",
"group_type": "batch",
"models": null,
"limits": [{ "type": "enqueued_batch_requests", "value": 500000 }]
}
],
"next_page": null
}
특정 모델의 제한 조회하기
model 쿼리 파라미터로 어떤 모델 ID나 별칭을 전달하면 그것을 포함하는 항목만 반환해요:
curl "https://api.anthropic.com/v1/organizations/rate_limits?model=claude-opus-5" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01"
ant beta:organization:rate-limits list --model claude-opus-5
client = anthropic.Anthropic()
rate_limits = client.beta.organization.rate_limits.list(model="claude-opus-5")
for group in rate_limits:
models = f" ({', '.join(group.models)})" if group.models else ""
print(f"{group.group_type}{models}")
for limit in group.limits:
print(f" {limit.type}: {limit.value}")
const client = new Anthropic();
const rateLimits = await client.beta.organization.rateLimits.list({ model: "claude-opus-5" });
for await (const group of rateLimits) {
const models = group.models ? ` (${group.models.join(", ")})` : "";
console.log(`${group.group_type}${models}`);
for (const limit of group.limits) {
console.log(` ${limit.type}: ${limit.value}`);
}
}
AnthropicClient client = new();
var rateLimits = await client.Beta.Organization.RateLimits.List(new()
{
Model = "claude-opus-5"
});
await foreach (var group in rateLimits.Paginate())
{
var models = group.Models is null ? "" : $" ({string.Join(", ", group.Models)})";
Console.WriteLine($"{group.GroupType.Raw()}{models}");
foreach (var limit in group.Limits)
{
Console.WriteLine($" {limit.Type}: {limit.Value}");
}
}
client := anthropic.NewClient()
rateLimits := client.Beta.Organization.RateLimits.ListAutoPaging(context.Background(), anthropic.BetaOrganizationRateLimitListParams{
Model: anthropic.String(anthropic.ModelClaudeOpus5),
})
for rateLimits.Next() {
group := rateLimits.Current()
models := ""
if len(group.Models) > 0 {
models = fmt.Sprintf(" (%s)", strings.Join(group.Models, ", "))
}
fmt.Printf("%s%s\n", group.GroupType, models)
for _, limit := range group.Limits {
fmt.Printf(" %s: %d\n", limit.Type, limit.Value)
}
}
if err := rateLimits.Err(); err != nil {
log.Fatal(err)
}
import com.anthropic.models.beta.organization.ratelimits.RateLimitListParams;
import com.anthropic.models.messages.Model;
void main() {
AnthropicClient client = AnthropicOkHttpClient.fromEnv();
var params = RateLimitListParams.builder()
.model(Model.CLAUDE_OPUS_5.asString())
.build();
var rateLimits = client.beta().organization().rateLimits().list(params);
for (var group : rateLimits.autoPager()) {
var models = group.models()
.map(modelIds -> " (" + String.join(", ", modelIds) + ")")
.orElse("");
IO.println(group.groupType().asString() + models);
for (var limit : group.limits()) {
IO.println(" " + limit.type() + ": " + limit.value());
}
}
}
use Anthropic\Messages\Model;
$client = new Client();
$rateLimits = $client->beta->organization->rateLimits->list(
model: Model::CLAUDE_OPUS_5->value,
);
foreach ($rateLimits->data as $group) {
$models = $group->models ? ' (' . implode(', ', $group->models) . ')' : '';
echo "{$group->groupType}{$models}\n";
foreach ($group->limits as $limit) {
echo " {$limit->type}: {$limit->value}\n";
}
}
client = Anthropic::Client.new
rate_limits = client.beta.organization.rate_limits.list(model: Anthropic::Model::CLAUDE_OPUS_5)
rate_limits.data.each do |group|
models = group.models ? " (#{group.models.join(", ")})" : ""
puts "#{group.group_type}#{models}"
group.limits.each do |limit|
puts " #{limit.type}: #{limit.value}"
end
end
모델 문자열이 어떤 그룹과도 일치하지 않으면 엔드포인트는 404 오류를 반환해요. model 파라미터는 조직 엔드포인트에서만 지원되고, 워크스페이스 엔드포인트는 이를 받지 않아요.
워크스페이스 속도 제한
/v1/organizations/workspaces/{workspace_id}/rate_limits 엔드포인트는 단일 워크스페이스에 구성된 속도 제한 재정의를 반환해요.
응답은 재정의만 포함하므로, 응답에서 빠진 것은 조직에서 상속돼요:
data에서 없는 그룹은 워크스페이스 재정의가 전혀 없다는 뜻이에요. 워크스페이스는 그 그룹의 조직 수준 제한을 상속해요(무제한이 아니에요).- 존재하는 그룹 내에서
limits[]에 없는 리미터 타입은 그 리미터에 대한 워크스페이스 재정의가 없다는 뜻이에요. 워크스페이스는 그 값에 조직 값을 상속해요. - 존재하는 각 리미터에 대해
org_limit은 같은 리미터의 조직 수준 값이며, 조직이 그 리미터 타입에 대해 구성된 제한이 없으면null이에요.
전체 파라미터 세부사항과 응답 스키마는 Workspace Rate Limits API reference를 참고하세요.
팁 조직의 워크스페이스 ID를 가져오려면 List Workspaces 엔드포인트를 사용하거나 Claude Console에서 찾을 수 있어요. 기본 워크스페이스는 속도 제한 재정의를 가질 수 없으므로 이 엔드포인트에 항목이 없어요. 그 제한을 읽으려면 조직 엔드포인트를 사용하세요.
curl "https://api.anthropic.com/v1/organizations/workspaces/wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ/rate_limits" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01"
ant beta:organization:workspaces:rate-limits list \
--workspace-id wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ
client = anthropic.Anthropic()
rate_limits = client.beta.organization.workspaces.rate_limits.list(
"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
)
for group in rate_limits:
models = f" ({', '.join(group.models)})" if group.models else ""
print(f"{group.group_type}{models}")
for limit in group.limits:
print(f" {limit.type}: {limit.value}")
const client = new Anthropic();
const rateLimits = await client.beta.organization.workspaces.rateLimits.list(
"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
);
for await (const group of rateLimits) {
const models = group.models ? ` (${group.models.join(", ")})` : "";
console.log(`${group.group_type}${models}`);
for (const limit of group.limits) {
console.log(` ${limit.type}: ${limit.value}`);
}
}
AnthropicClient client = new();
var rateLimits = await client.Beta.Organization.Workspaces.RateLimits.List(
"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
);
await foreach (var group in rateLimits.Paginate())
{
var models = group.Models is null ? "" : $" ({string.Join(", ", group.Models)})";
Console.WriteLine($"{group.GroupType.Raw()}{models}");
foreach (var limit in group.Limits)
{
Console.WriteLine($" {limit.Type}: {limit.Value}");
}
}
client := anthropic.NewClient()
rateLimits := client.Beta.Organization.Workspaces.RateLimits.ListAutoPaging(
context.Background(),
"wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ",
anthropic.BetaOrganizationWorkspaceRateLimitListParams{},
)
for rateLimits.Next() {
group := rateLimits.Current()
models := ""
if len(group.Models) > 0 {
models = fmt.Sprintf(" (%s)", strings.Join(group.Models, ", "))
}
fmt.Printf("%s%s\n", group.GroupType, models)
for _, limit := range group.Limits {
fmt.Printf(" %s: %d\n", limit.Type, limit.Value)
}
}
if err := rateLimits.Err(); err != nil {
log.Fatal(err)
}
AnthropicClient client = AnthropicOkHttpClient.fromEnv();
var rateLimits = client.beta().organization().workspaces().rateLimits()
.list("wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ");
for (var group : rateLimits.autoPager()) {
var models = group.models()
.map(modelIds -> " (" + String.join(", ", modelIds) + ")")
.orElse("");
IO.println(group.groupType().asString() + models);
for (var limit : group.limits()) {
IO.println(" " + limit.type() + ": " + limit.value());
}
}
$client = new Client();
$rateLimits = $client->beta->organization->workspaces->rateLimits->list(
workspaceID: 'wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ',
);
foreach ($rateLimits->data as $group) {
$models = $group->models ? ' (' . implode(', ', $group->models) . ')' : '';
echo "{$group->groupType}{$models}\n";
foreach ($group->limits as $limit) {
echo " {$limit->type}: {$limit->value}\n";
}
}
client = Anthropic::Client.new
workspace_id = "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
rate_limits = client.beta.organization.workspaces.rate_limits.list(workspace_id)
rate_limits.data.each do |group|
models = group.models ? " (#{group.models.join(", ")})" : ""
puts "#{group.group_type}#{models}"
group.limits.each do |limit|
puts " #{limit.type}: #{limit.value}"
end
end
{
"data": [
{
"type": "workspace_rate_limit",
"group_type": "model_group",
"models": ["claude-opus-5-5"],
"limits": [
{ "type": "requests_per_minute", "value": 1000, "org_limit": 4000 },
{ "type": "input_tokens_per_minute", "value": 500000, "org_limit": 10000000 }
]
},
{
"type": "workspace_rate_limit",
"group_type": "model_group",
"models": [
"claude-opus-4-5",
"claude-opus-4-5-20251101",
"claude-opus-4-6",
"claude-opus-4-7",
"claude-opus-4-8"
],
"limits": [
{ "type": "requests_per_minute", "value": 1000, "org_limit": 4000 },
{ "type": "input_tokens_per_minute", "value": 500000, "org_limit": 10000000 }
]
}
],
"next_page": null
}
그룹 타입으로 필터링하기
두 엔드포인트 모두 응답을 단일 범주로 제한하는 선택적 group_type 쿼리 파라미터를 받아요:
curl "https://api.anthropic.com/v1/organizations/rate_limits?group_type=batch" \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01"
ant beta:organization:rate-limits list --group-type batch
client = anthropic.Anthropic()
rate_limits = client.beta.organization.rate_limits.list(group_type="batch")
for group in rate_limits:
models = f" ({', '.join(group.models)})" if group.models else ""
print(f"{group.group_type}{models}")
for limit in group.limits:
print(f" {limit.type}: {limit.value}")
const client = new Anthropic();
const rateLimits = await client.beta.organization.rateLimits.list({ group_type: "batch" });
for await (const group of rateLimits) {
const models = group.models ? ` (${group.models.join(", ")})` : "";
console.log(`${group.group_type}${models}`);
for (const limit of group.limits) {
console.log(` ${limit.type}: ${limit.value}`);
}
}
using Anthropic.Models.Beta.Organization.RateLimits;
AnthropicClient client = new();
var rateLimits = await client.Beta.Organization.RateLimits.List(new()
{
GroupType = GroupType.Batch
});
await foreach (var group in rateLimits.Paginate())
{
var models = group.Models is null ? "" : $" ({string.Join(", ", group.Models)})";
Console.WriteLine($"{group.GroupType.Raw()}{models}");
foreach (var limit in group.Limits)
{
Console.WriteLine($" {limit.Type}: {limit.Value}");
}
}
client := anthropic.NewClient()
rateLimits := client.Beta.Organization.RateLimits.ListAutoPaging(context.Background(), anthropic.BetaOrganizationRateLimitListParams{
GroupType: anthropic.BetaOrganizationRateLimitListParamsGroupTypeBatch,
})
for rateLimits.Next() {
group := rateLimits.Current()
models := ""
if len(group.Models) > 0 {
models = fmt.Sprintf(" (%s)", strings.Join(group.Models, ", "))
}
fmt.Printf("%s%s\n", group.GroupType, models)
for _, limit := range group.Limits {
fmt.Printf(" %s: %d\n", limit.Type, limit.Value)
}
}
if err := rateLimits.Err(); err != nil {
log.Fatal(err)
}
import com.anthropic.models.beta.organization.ratelimits.RateLimitListParams;
void main() {
AnthropicClient client = AnthropicOkHttpClient.fromEnv();
var params = RateLimitListParams.builder()
.groupType(RateLimitListParams.GroupType.BATCH)
.build();
var rateLimits = client.beta().organization().rateLimits().list(params);
for (var group : rateLimits.autoPager()) {
var models = group.models()
.map(modelIds -> " (" + String.join(", ", modelIds) + ")")
.orElse("");
IO.println(group.groupType().asString() + models);
for (var limit : group.limits()) {
IO.println(" " + limit.type() + ": " + limit.value());
}
}
}
use Anthropic\Beta\Organization\RateLimits\RateLimitListParams\GroupType;
// ...
$client = new Client();
$rateLimits = $client->beta->organization->rateLimits->list(
groupType: GroupType::BATCH,
);
foreach ($rateLimits->data as $group) {
$models = $group->models ? ' (' . implode(', ', $group->models) . ')' : '';
echo "{$group->groupType}{$models}\n";
foreach ($group->limits as $limit) {
echo " {$limit->type}: {$limit->value}\n";
}
}
client = Anthropic::Client.new
rate_limits = client.beta.organization.rate_limits.list(group_type: :batch)
rate_limits.data.each do |group|
models = group.models ? " (#{group.models.join(", ")})" : ""
puts "#{group.group_type}#{models}"
group.limits.each do |limit|
puts " #{limit.type}: #{limit.value}"
end
end
유효한 값은 model_group, batch, token_count, files, skills, web_search이에요.
페이지네이션
두 엔드포인트 모두 page 쿼리 파라미터를 받고 next_page 필드를 반환해요. 응답은 현재 항상 단일 페이지이므로 next_page는 null이에요. 응답이 커져도 변경 없이 클라이언트가 올바르게 페이지네이션하도록 next_page에서 반복하세요.
자주 묻는 질문
models 리스트에는 어떤 모델 문자열이 나타나나요?
그룹에 집계되는 모든 모델 ID와 별칭이요. 날짜가 있는 ID(예: claude-sonnet-4-5-20250929)와 날짜 없는 별칭(예: claude-sonnet-4-5)을 포함해요. Messages API에 전달하는 어떤 모델 문자열을 조회해도 정확히 하나의 model_group 항목에서 찾을 수 있어요.
워크스페이스 응답에서 그룹이 빠져 있다면 무슨 의미인가요?
워크스페이스에 그 그룹에 대한 재정의가 없고 조직 수준 제한을 상속한다는 뜻이에요. 상속된 값을 보려면 조직 엔드포인트를 조회하세요.
이 API로 속도 제한을 업데이트할 수 있나요?
아니요. 워크스페이스 속도 제한을 설정하려면 Claude Console에서 워크스페이스를 열고 Rate limits 탭을 사용하세요.