Назад к документации
Аутентификация
Аутентификация
Аутентификация API
Все запросы к API требуют аутентификации с помощью API key. Передавайте ключ в заголовкеx-api-keyв каждом запросе.
Получить API key
- Откройте нашу страницу тарифов и выберите тариф
- Выберите подписку, которая подходит под ваш объем
- Перейдите в панель
- Ваш API key будет показан в секции API Key
Base URL
https://api.freeastroapi.comОбязательные заголовки
| Заголовок | Значение | Обязательно |
|---|---|---|
| x-api-key | Ваш API key | Да |
| Content-Type | application/json | Да (для POST) |
| Idempotency-Key | Уникальный ключ операции, созданный клиентом | Нет (рекомендуется для повторов платных POST) |
Безопасные повторы с Idempotency-Key
Аутентифицированные платные астрологические POST запросы принимают Idempotency-Key: <Уникальный ключ операции, созданный клиентом>. Создавайте один ключ на одну операцию. Повторно используйте тот же ключ только при повторе точно такого же запроса после timeout или сетевой ошибки.
Node.js
const idempotencyKey = crypto.randomUUID();
await fetch("https://api.freeastroapi.com/api/v1/natal/calculate", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": process.env.FREE_ASTRO_API_KEY,
"Idempotency-Key": idempotencyKey
},
body: JSON.stringify(payload)
});Python
import uuid
idempotency_key = str(uuid.uuid4())
headers = {
"Content-Type": "application/json",
"x-api-key": "YOUR_API_KEY",
"Idempotency-Key": idempotency_key
}Примеры аутентификации
curl -X POST "https://api.freeastroapi.com/api/v1/natal/calculate" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"year": 1990, "month": 5, "day": 15, "hour": 10, "minute": 30, "city": "New York", "lat": 40.7128, "lng": -74.006}'Лучшие практики безопасности
- •Никогда не раскрывайте API key в клиентском коде. Выполняйте вызовы API со своего сервера.
- •Используйте переменные окружения для хранения API key вместо hardcoded строк.
- •Ротируйте API key если есть подозрение, что он скомпрометирован.
- •Отслеживайте использование в панели, чтобы заметить необычную активность.
Ошибки аутентификации
| Статус | Сообщение | Описание |
|---|---|---|
| 401 | Missing API key | Заголовок x-api-key не передан |
| 401 | Invalid API key | API key не существует или был отозван |
| 429 | Rate limit exceeded | Превышен лимит запросов вашего тарифа |
| 403 | Subscription required | Подписка истекла или не активна |
Лимиты запросов
Лимиты зависят от тарифа. В каждый ответ включаются следующие заголовки:
| Заголовок | Описание |
|---|---|
| X-RateLimit-Limit | Общее число запросов, разрешенных за период |
| X-RateLimit-Remaining | Сколько запросов осталось в текущем периоде |
| X-RateLimit-Reset | Timestamp, когда лимит будет сброшен |