API Guide
AI-LB 통합 퍼지 API
AI-LB 통합 퍼지 API는 복수의 CDN 벤더에 대한 캐시 Purge를 단일 API 인터페이스로 통합 실행할 수 있는 외부 연동 API입니다.
Agenda
01
개요
API 소개 및 X-API-Key 인증 방식
API 소개 및 X-API-Key 인증 방식
02
Create Purge
POST /api/expose/purge
POST /api/expose/purge
03
Get Purge Status
GET /api/expose/purge/{purge_group_id}
GET /api/expose/purge/{purge_group_id}
04
Response Codes
응답 코드 및 에러 처리
응답 코드 및 에러 처리
Base URL & Authentication
| 항목 | 값 |
|---|---|
| Base URL | https://ai.speedylb.net/api/expose |
| Authentication | X-API-Key 헤더 (API Key 인증) |
인증 방식: 모든 API 요청에는
X-API-Key 헤더에 https://ai.speedylb.net의 CDN관리 > Purge API Key 에서 발급받은 API Key를 포함해야 합니다. API Key는 AI LB 관리 콘솔에서 확인할 수 있습니다.
API Guide
Create Purge
외부 Purge API — Purge 실행
HEADER PARAMETERS
X-API-Key
required
string (X-Api-Key)
REQUEST BODY SCHEMA
application/json
service_domain >
required
Service Domain (string) or null — (Service Domain)
cdn_target_id >
Cdn Target Id (string) or null — (Cdn Target Id)
purge_range
required
string (Purge Range) — Enum:
"all" "item"purge_list >
Array of strings or null — (Purge List)
callback_url >
Callback Url (string) or null — (Callback Url)
Responses
> 202 Purge 요청 접수
> 401 인증 실패
> 404 도메인/타겟을 찾을 수 없음
> 422 요청 형식 오류
> 429 요청 한도 초과
Request example
cURL
curl -X POST https://ai.speedylb.net /api/expose/purge -H "X-API-Key: <key>" -H "Content-Type: application/json" -d '{ "service_domain": "www.speedy-scdn.shop", "cdn_target_id": "ccc47068-7914-....", "purge_range": "all", "purge_list": [ "https://.../*.png" ], "callback_url": "https://your.api/cb" }'
Response (202)
{
"purge_group_id":
"a1b2c3d4-e5f6-...",
"status": "accepted"
}
API Guide
Get Purge Status
외부 Purge API — Purge 상태 조회
PATH PARAMETERS
purge_group_id
required
string <uuid> — (Purge Group Id)
HEADER PARAMETERS
X-API-Key
required
string (X-Api-Key)
Responses
> 200 Purge 상태 조회 성공
> 401 인증 실패
> 404 Purge 요청을 찾을 수 없음
> 422 Validation Error
Request example
cURL
curl -X GET https://ai.speedylb.net /api/expose/purge/ {purge_group_id} -H "X-API-Key: <key>"
Response (200)
{
"purge_group_id":
"d7d379fe-5b34-...",
"status": "completed",
"purge_range": "all",
"created_at":
"2026-04-02T02:15...",
"results": [
{
"cdn_type": "Tencent",
"cdn_target":
"www.speedy-scdn
.shop.eo.dnse3
.com",
"status": "SUCCESS",
"progress_rate": 100,
"completed_at":
"2026-04-02T02..."
},
{
"cdn_type": "Speedy",
"cdn_target":
"www-speedy-scdn
.cache.cdn
.cloudn.co.kr",
"status": "SUCCESS",
"progress_rate": 100,
"completed_at":
"2026-04-02T02..."
}
]
}
API Guide
Response Codes & Workflow
Response Codes
| Code | Status | Description |
|---|---|---|
| 200 | OK | 요청 성공 (상태 조회) |
| 202 | Accepted | 퍼지 요청 접수 완료 (비동기 처리) |
| 401 | Unauthorized | X-API-Key 누락 또는 유효하지 않음 |
| 404 | Not Found | 서비스 도메인/CDN 타겟/퍼지 요청 미존재 |
| 422 | Unprocessable | 요청 본문 형식 오류 (필수 필드 누락 등) |
| 429 | Too Many Requests | 요청 한도 초과 (Rate Limit) |
Workflow
1. 배포 완료 후 POST /api/expose/purge 호출
→ 202 응답 수신 = 퍼지 요청 접수 완료 (비동기 처리)
2. purge_group_id로 GET /api/expose/purge/{id} 상태 조회
→ Polling 또는 callback_url 활용하여 완료 확인
→ 202 응답 수신 = 퍼지 요청 접수 완료 (비동기 처리)
2. purge_group_id로 GET /api/expose/purge/{id} 상태 조회
→ Polling 또는 callback_url 활용하여 완료 확인
Note
purge_range = "item"
→ purge_list 필드에 삭제 대상 URL을 배열로 전달합니다.
purge_range = "all"
→ 해당 서비스 도메인의 전체 캐시가 삭제됩니다.
→ purge_list 필드에 삭제 대상 URL을 배열로 전달합니다.
purge_range = "all"
→ 해당 서비스 도메인의 전체 캐시가 삭제됩니다.
활용 예시: CI/CD 파이프라인에 Purge API 호출을 통합하면, 배포 완료 후 자동으로 CDN 캐시를 갱신하여 최신 콘텐츠가 즉시 반영됩니다.
© 2026 Speedy · AI LB 서비스 셋업 가이드 · v.20260403 · ai.speedylb.net