Автентифікація
Усі запити до API Cronitorex мають бути автентифіковані. Підтримуються два методи.
Header (рекомендовано)
Authorization: Bearer <api_key>Це рекомендований метод для продакшн cron задач, регулярних клієнтів та будь-якого трафіку, що проходить через спільну інфраструктуру. Токен ніколи не з’являється в URL, логах доступу, історії браузера чи заголовках Referer.
Параметр запиту в URL (для зручності)
Для одноразових curl команд, IoT пристроїв, GitHub Actions, або будь-де, де налаштувати заголовок незручно, ви можете передати ключ як ?api_key=<token>:
curl "https://api.cronitorex.com/ping/my-job?api_key=<api_key>&status=complete"Працює як для GET, так і для POST ендпоінтів.
Якщо заголовок Authorization присутній, але некоректно сформований або невалідний, запит відхиляється. Параметр запиту не використовується як тихий резервний варіант. Це запобігає випадковому обходу, коли перехоплений запит відтворюється з доданим ?api_key=.
Компроміси безпеки
Токени, вбудовані в URL, видимі:
- у логах доступу HTTP на кожному проксі, балансувальнику навантаження та на самому сервері
- в історії браузера (якщо використовується з браузера)
- у заголовку
Referer, який браузер надсилає будь-якому стороньому ресурсу на отриманій сторінці - будь-якому інструменту звітування про помилки чи аналітики, що фіксує URL
Використовуйте метод з URL лише для разових команд. Ротуйте ключ, якщо підозрюєте, що він потрапив у логи.
Отримання вашого ключа
- Відкрийте app.cronitorex.com
- Перейдіть у Profile → API Key
- Скопіюйте ключ, він показується лише один раз після генерації
Область дії ключа
Кожен API ключ прив’язаний до одного облікового запису користувача. Події, надіслані з певним ключем, з’являються лише в дашборді цього користувача.
Помилки
| Статус | Значення |
|---|---|
401 Unauthorized | Відсутній або невалідний API ключ |
403 Forbidden | Ключ існує, але не має прав доступу |
{ "error": "unauthorized" }