가동 시간 보장
| 플랜 | 목표 가동 시간 | 위반 시 크레딧 보상 |
|---|---|---|
| Free | 보장 없음 | 보상 없음 |
| Indie | 99 % | 월 요금의 5%를 0.1%당 |
| Starter | 99.9 % | 월 요금의 10%를 0.1%당 |
| Pro | 99.9 % | 월 요금의 25%를 0.1%당 |
| Business | 99.95 % | 월 요금의 50%를 0.1%당 |
| Enterprise | 99.99 % + custom | 계약에 따라, 서면 SLA |
가동 시간은 달력 월 기준으로 https://api.astroway.info/v1/health에 HTTP 200 상태가 1 000 ms 이내로 응답되는지를 기준으로 계산합니다. 예정된 작업은 (최소 48시간 전에 상태 페이지에 공지) 계산에 포함되지 않습니다.
목표 지연시간
api.astroway.info/v1/*에서 단일 지역에서 측정되며, 클라이언트와 네트워크를 제외한 서버 계산 시간만 포함합니다. 전체 분기별 보고서는 상태 페이지에 게시합니다.
표준 엔드포인트
Chart, planets, synastry, transits, progressions, ACG, geodetic, solar-return 등.
| 지표 | 목표 | 실제 (내부 샘플링, 2026-05-09) |
|---|---|---|
| p50 | < 100 ms | ~80 ms |
| p95 | < 500 ms | ~280 ms |
| p99 | < 1 s | ~640 ms |
Disclaimer: 실제 수치는 내부 샘플링이며 api-calc 모니터링에서 나온 것이고, 공개 production-telemetry 대시보드는 로드맵에 있습니다. 참고: p99 = highest extremes, 따라서 시간은 p50보다 크게 됩니다.
무거운 엔드포인트
다일간 집계: transit-calendar, forecast-calendar, moon-aspects, aspect-timeline, group-synastry, eclipse-analysis.
| 지표 | 목표 | 실제 (2026-04-15) |
|---|---|---|
| p95 | < 2 s | 1.9 s (moon-aspects, 30d) |
| p99 | < 4 s | 1.9 s |
보정
POST /v1/rectification (최대 120 s) 및 POST /v1/rectification/trutine
(최대 15 s)는 본질적으로 오래 걸리며 SLA 지연에 포함되지 않습니다.
이들은 Request-Timeout 헤더를 최대 180 s까지 존중합니다.
속도 제한
키에 대한 부드러운 제한은 rateLimitMiddleware에서 적용되며, Retry-After 헤더와 함께 HTTP 429를 반환합니다.
| 플랜 | 분당 요청 수 | 월 크레딧 예산 |
|---|---|---|
| Free | 10 | 10 000 |
| Indie | 30 | 50 000 |
| Starter | 120 | 200 000 |
| Pro | 400 | 800 000 |
| Business | 1 000 | 3 500 000 |
| Enterprise | custom | 제한 없음 |
공개 샌드박스 (POST /v1/public/chart)는 IP당 제한이 있으며, 시간당 30 요청, API 키 없이 사용 가능합니다.
요청 식별
각 응답에는 X-Request-Id (UUID) 헤더가 포함됩니다. 인시던트를 보고할 때 이를 포함해 주세요 - 우리는 액세스 로그를 30일간 보관하며, 해당 request-id만으로 너의 호출을 완전히 재현할 수 있습니다.
HTTP 5xx 응답 시 동일한 식별자가 응답 본문에 복제됩니다:
{ "ok": false, "error": { "code": "INTERNAL_ERROR", "message": "Internal server error", "request_id": "c07b5c55-7637-4add-bd2e-7c7c4deb365f" }}인시던트 대응
| 레벨 | 정의 | 응답 SLA |
|---|---|---|
| SEV-1 | 모든 요청이 실패 / 지역 장애 | 15분 내 확인 |
| SEV-2 | 특정 엔드포인트 장애 또는 오류 5% 초과 | 1시간 내 확인 |
| SEV-3 | 지연 악화 (p95 > 목표의 2배) | 같은 작업일 내 |
| SEV-4 | 경미한 문제 / 단일 고객 문의 | 다음 작업일 |
인시던트는 support@astroway.info 로 request-id와 함께 보고하세요. SEV-1의 경우 상태 페이지도 확인하세요.
버전 관리 및 폐기
- 엔드포인트는
/v1/아래에 존재하며, 주요 버전 내에서는 역호환성을 유지합니다. - Breaking changes는
/v2/에 도입되며,/v1/은 최소 12개월 동안 계속 작동합니다. - 필드 추가는 breaking이 아니며, 클라이언트는 알 수 없는 필드를 무시해야 합니다.
- 폐기는 changelog에 공지되고, 최소 90일 전에 이메일로 계정 소유자에게 전송됩니다.
지원 채널
| 플랜 | 채널 | 응답 |
|---|---|---|
| Free | GitHub issues, community forum | best effort |
| Starter | support@astroway.info | ≤ 1 작업일 |
| Pro | email + 프리오리티 큐 | ≤ 4 작업시간 |
| Enterprise | 전용 Slack / PagerDuty | 계약에 따라 |