Kom igång
Med API:et kan du göra det mesta som finns under Checkar i appen: skapa, ändra, pausa och ta bort checkar och läsa kontroller, incidenter och statistik.
1. Skapa en API-nyckel
- Logga in på my.upfinity.app.
- Gå till Inställningar › API Keys och skapa en nyckel.
- Välj de scopes nyckeln behöver, se Scopes.
- Kopiera nyckeln. Den visas bara en gång.
Nyckeln ger tillgång till organisationens checkar. Lägg den i en miljövariabel, aldrig i kod som körs i webbläsaren eller i ett git-repo.
2. Gör ditt första anrop
export UPFINITY_API_KEY=upf_live_...
curl "https://api.upfinity.app/api/v1/sites" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svaret innehåller organisationens checkar. Listan ligger i sites.sites:
const res = await fetch('https://api.upfinity.app/api/v1/sites', {
headers: { Authorization: `Bearer ${process.env.UPFINITY_API_KEY}` },
});
const { sites } = await res.json();
for (const site of sites.sites) {
console.log(site.name, site.lastCheck?.isUp ? 'uppe' : 'nere', site.uptime24h);
}
3. Skapa en check
curl -X POST "https://api.upfinity.app/api/v1/sites" \
-H "Authorization: Bearer $UPFINITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Kundportal","url":"https://portal.example.com/health","checkInterval":60}'
Checken kontrolleras direkt och larmar via organisationens standardkanaler. Alla fält finns under Fält för checkar.
Fel
Fel returneras som JSON med en HTTP-statuskod. Fältet error finns alltid.
| Kod | När |
|---|---|
| 400 | Fel i det som skickats. details visar vad som är fel per fält. |
| 401 | Nyckel saknas, är fel, avstängd eller har gått ut. |
| 403 | Nyckeln saknar scope för endpointen, planen saknar funktionen eller planens antal checkar är uppnått. |
| 402 | Organisationens provperiod har gått ut eller abonnemanget är inte aktivt. |
| 404 | Checken finns inte eller tillhör en annan organisation. |
| 429 | För många anrop. Vänta det antal sekunder som Retry-After anger. |
| 500 | Fel hos Upfinity. Försök igen senare. |
{
"error": "Validation failed",
"details": {
"url": [
"URL is required for HTTP checks"
]
}
}