API Rate Limit 안내
기본 정책
Violz API는 서비스 안정성을 위해 모든 요청에 Rate Limit(요청 제한)을 적용합니다.
| 요청 종류 | 제한 |
|---|---|
| GET (조회) | 5초당 10회 |
| POST / PUT / DELETE (변경) | 5초당 30회 |
제한은 IP 주소 기준으로 적용됩니다.
제한 초과 시
Rate Limit을 초과하면 HTTP 429 (Too Many Requests) 응답이 반환됩니다.
{
"statusCode": 429,
"message": "Too many requests. Please try again later.",
"retryAfter": 3
}
응답 헤더
모든 API 응답에는 Rate Limit 관련 헤더가 포함됩니다.
| 헤더 | 설명 |
|---|---|
| X-RateLimit-Limit | 현재 윈도우의 최대 허용 요청 수 |
| X-RateLimit-Remaining | 남은 요청 수 |
| Retry-After | 429 응답 시, 재시도까지 대기해야 할 시간(초) |
커스텀 규칙
특정 IP, 사용자, 경로에 대해 별도의 Rate Limit 규칙을 적용할 수 있습니다.
우선순위
여러 규칙이 동시에 해당될 경우, 아래 우선순위에 따라 하나의 규칙만 적용됩니다.
- 사용자 키(userKey) — 가장 높은 우선순위
- IP 주소 — 특정 IP에 대한 규칙
- 경로(Path) — 특정 API 경로에 대한 규칙
- 기본 규칙 — 위 규칙에 해당하지 않는 경우
규칙 유형
IP 규칙
특정 IP 주소에 대해 별도의 제한을 설정합니다.
- 예: 사내 IP에 대해 더 높은 제한 허용
사용자 키 규칙
특정 사용자(userKey)에 대해 별도의 제한을 설정합니다.
- 예: PRO 요금제 사용자에게 더 높은 제한 허용
경로 규칙
특정 API 경로에 대해 별도의 제한을 설정합니다.
- 경로는 prefix 매칭으로, 더 긴(구체적인) 경로가 우선 적용됩니다.
- 예:
/messages/v1/send경로에 더 엄격한 제한 적용
권장 사항
- 재시도 로직: 429 응답 수신 시
Retry-After헤더 값만큼 대기 후 재시도하세요. - 요청 최적화: 불필요한 반복 호출을 줄이고, 가능하면 배치 API를 활용하세요.
- 제한 상향 요청: 기본 제한이 부족한 경우, 관리자에게 커스텀 규칙 설정을 요청하세요.
문의
Rate Limit 관련 문의는 관리자에게 연락해 주세요.
