POST /ping
Request
POST /pingAuthorization: Bearer <api_key>Content-Type: application/jsonPola body
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
event_type | string | tak | ping, stream_event lub własny |
monitor | string | tak | Nazwa monitora (litery, cyfry, - i _, 1-64 znaki) |
status | string | tak* | Status zdarzenia, zobacz Typy zdarzeń i statusy |
duration | float | nie | Czas wykonania w sekundach |
exit_code | int | nie | Exit code procesu |
host | string | nie | Hostname maszyny, na której leciał job |
message | string | nie | Dowolna wiadomość lub wycinek logu |
timestamp | int | nie | Unix timestamp (domyślnie now) |
*Dla event_type: "ping" nazwa pola to status. Dozwolone wartości: run, complete, fail, skip.
Przykład: lifecycle zadania
// Job started{ "event_type": "ping", "monitor": "db-backup", "status": "run", "host": "server-01"}
// Job finished successfully{ "event_type": "ping", "monitor": "db-backup", "status": "complete", "duration": 47.3, "exit_code": 0}Przykład: skip (maintenance window)
{ "event_type": "ping", "monitor": "payment-service", "status": "skip"}Dla szybkich jednolinijkowych komend shell bez body JSON, użyj GET /ping. Przyjmuje te same wartości status i wspiera autentykację ?api_key= w URL.
Response
200 OK
{ "status": "success" }400 Bad Request
{ "error": "required field missing: status" }401 Unauthorized
{ "error": "unauthorized" }403 Forbidden
Zwracane, gdy ping utworzyłby nowy monitor, a konto jest już na limicie monitorów swojego planu. Zdarzenia dla monitorów, które już istnieją, są zawsze przyjmowane - osiągnięcie limitu ani zmiana planu na niższy nigdy nie zatrzymują monitoringu, który już działa.
{ "status": "error", "code": "monitor_limit_reached", "message": "Monitor limit reached (30). Delete unused monitors or upgrade your plan."}429 Too Many Requests
Limit żądań albo wyczerpany miesięczny limit zdarzeń w planie ("code": "quota_exceeded").