Dokumentacija
Pridobi incident
GET /api/v1/incidents/{id}
En potrjen incident, po id iz seznama incidentov. Incident druge ekipe ali sum, ki ni bil nikoli potrjen, vrne 404.
Primer
cURL
curl http://pulsekeeper.io/api/v1/incidents/3f9a1c0e7b2d4a58 \
-H "Authorization: Bearer $PULSEKEEPER_TOKEN"
PHP
<?php
// composer require guzzlehttp/guzzle
$client = new GuzzleHttp\Client([
'base_uri' => 'http://pulsekeeper.io/api/v1/',
'headers' => ['Authorization' => 'Bearer '.getenv('PULSEKEEPER_TOKEN')],
]);
$incident = json_decode($client->get('incidents/3f9a1c0e7b2d4a58')->getBody(), true)['data'];
JavaScript
const response = await fetch('http://pulsekeeper.io/api/v1/incidents/3f9a1c0e7b2d4a58', {
headers: { Authorization: `Bearer ${process.env.PULSEKEEPER_TOKEN}` },
});
const { data: incident } = await response.json();
Go
req, _ := http.NewRequest("GET", "http://pulsekeeper.io/api/v1/incidents/3f9a1c0e7b2d4a58", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("PULSEKEEPER_TOKEN"))
res, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer res.Body.Close()
var body struct {
Data map[string]any `json:"data"`
}
json.NewDecoder(res.Body).Decode(&body)
Odgovor
{
"data": {
"id": "3f9a1c0e7b2d4a58",
"type": "downtime",
"title": "Site unreachable",
"severity": "critical",
"state": "resolved",
"monitor": { "id": "a81c27e05f3d9b64", "type": "http", "name": "HTTP", "target": "shop.example.com" },
"client": { "id": "c4e0b9a17d2f6385", "name": "Example Shop" },
"started_at": "2026-09-30T21:14:05Z",
"confirmed_at": "2026-09-30T21:14:41Z",
"acknowledged_at": null,
"resolved_at": "2026-09-30T21:42:10Z",
"duration_seconds": 1685,
"excluded_from_sla": false,
"affected_locations": ["fra", "lon"],
"error": { "code": "http_5xx", "detail": "HTTP 502" },
"cause": { "text": "Outage at the hosting provider", "in_report": true }
}
}
Polja
| Polje | Pomen |
|---|---|
type |
Kaj se je zgodilo: downtime, timeout, blocked (požarni zid blokira naša preverjanja), auth (stran zahteva geslo), ssl_expiring, ssl_invalid, domain_expiring, tag_missing (sledilna koda je izginila s strani), health_regressed (checklista strani se je poslabšala, npr. noindex), heartbeat_missed in drugi. title pove isto z besedami. |
severity |
critical (izpad), warning ali info. |
state |
confirmed, acknowledged (nekdo iz vaše ekipe ga je prevzel), resolved ali suppressed. Suppressed pomeni, da se je zgodil med oknom vzdrževanja: je resničen, a ne zniža razpoložljivosti. |
monitor |
Monitor, na katerem se je zgodil. target je ime gostitelja; null pri heartbeatih. |
client |
Stranka, ki ji tarča pripada; null pri heartbeatih. |
started_at |
Prvo neuspelo preverjanje. |
confirmed_at |
Ko ga je potrdila druga lokacija. Izpad se šteje od tu. |
resolved_at |
Prvo uspešno preverjanje po njem; null, dokler traja. |
duration_seconds |
Nastavljeno ob razrešitvi. Pri odprtem incidentu je null: štejte od started_at do trenutka, ki ga potrebujete. |
excluded_from_sla |
true, kadar ne zniža razpoložljivosti, na primer med vzdrževanjem. |
affected_locations |
Lokacije, ki so zaznale napako. |
error |
Prva napaka: koda, kot je http_5xx, timeout ali dns_fail, in njene podrobnosti. |
cause |
Kar je vaša ekipa zapisala pod Dodaj vzrok. Z in_report: false je bil vzrok označen kot interen: izpustite ga iz vsega, kar vidi vaša stranka. |