// legal · service level agreement
SLA для платних тарифів
Зобов'язання з аптайму, час відповіді на інциденти, схема компенсації service credits. Чітко і коротко. Чим вищий тариф — тим жорсткіші гарантії.
Гарантії аптайму
| План | Цільовий аптайм | Компенсація кредитами при порушенні |
|---|---|---|
| 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 мс. Планові роботи (анонсуємо щонайменше за 48 год
через сторінку статусу) до розрахунку не входять.
Цільові затримки
Вимірюються на api.astroway.info/v1/* з одного регіону, лише серверний час обчислення
(без урахування клієнта і мережі). Повний квартальний звіт публікуємо на
сторінці статусу.
Стандартні ендпоінти
Chart, planets, synastry, transits, progressions, ACG, geodetic, solar-return та подібні.
| Метрика | Ціль | Фактично (внутрішній sampling, 2026-05-09) |
|---|---|---|
| p50 | < 100 мс | ~80 мс |
| p95 | < 500 мс | ~280 мс |
| p99 | < 1 с | ~640 мс |
Disclaimer: числа фактично — внутрішній sampling з моніторингу api-calc, публічний production-telemetry dashboard у roadmap. Зверну увагу: p99 = highest extremes, тому час значно вищий за p50.
Важкі ендпоінти
Багатоденні агрегати: transit-calendar, forecast-calendar, moon-aspects, aspect-timeline, group-synastry, eclipse-analysis.
| Метрика | Ціль | Фактично (2026-04-15) |
|---|---|---|
| p95 | < 2 с | 1.9 с (moon-aspects, 30d) |
| p99 | < 4 с | 1.9 с |
Ректифікація
POST /v1/rectification (до 120 с) і POST /v1/rectification/trutine
(до 15 с) за своєю природою довготривалі й не підпадають під SLA затримок.
Вони поважають заголовок Request-Timeout до 180 с.
Обмеження частоти
М’яке обмеження на ключ у rateLimitMiddleware, повертає HTTP 429 із
заголовком Retry-After.
| План | Запитів / хвилину | Місячний бюджет кредитів |
|---|---|---|
| Free | 10 | 10 000 |
| Indie | 30 | 50 000 |
| Starter | 120 | 200 000 |
| Pro | 400 | 800 000 |
| Business | 1 000 | 3 500 000 |
| Enterprise | custom | без ліміту |
Публічний sandbox (POST /v1/public/chart) обмежений по IP — 30 запитів / годину,
без API-ключа.
Ідентифікація запиту
Кожна відповідь містить заголовок X-Request-Id (UUID). Додавай його, коли
повідомляєш про інцидент — ми зберігаємо access-логи 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
також перевір сторінку статусу.
Версіонування та deprecation
- Ендпоінти живуть під
/v1/і залишаються зворотно сумісними в межах основної версії. - Breaking changes виходять під
/v2/, а/v1/продовжує працювати ≥ 12 місяців. - Додавання полів не вважається breaking; клієнти мають ігнорувати невідомі поля.
- Deprecation анонсується в changelog і надсилається власникам акаунтів по email мінімум за 90 днів.
Канали підтримки
| План | Канал | Відповідь |
|---|---|---|
| Free | GitHub issues, community forum | best effort |
| Starter | support@astroway.info | ≤ 1 робочий день |
| Pro | email + пріоритетна черга | ≤ 4 робочі години |
| Enterprise | виділений Slack / PagerDuty | за контрактом |