API-referens
Bas-adress https://api.upfinity.app/api/v1. Alla svar är JSON. Tider anges i UTC (ISO 8601), svarstider i millisekunder.
Hela API:et finns också som OpenAPI 3.1.
Bas-adressen
Bas-adressen beskriver API:et och kräver ingen nyckel.
/
ingen nyckel
Om API:et
Returnerar bas-adress, länk till dokumentationen, hur man autentiserar och vilka endpoints som finns.
Exempel
curl "https://api.upfinity.app/api/v1"
Svar 200
{
"name": "Upfinity API",
"version": "v1",
"baseUrl": "https://api.upfinity.app/api/v1",
"documentation": "https://developer.upfinity.app",
"authentication": "Authorization: Bearer upf_...",
"endpoints": [
"GET /sites",
"GET /sites/:siteId",
"…"
]
}
Checkar
En check är något Upfinity övervakar: en webbadress, en port, en värd eller ett jobb som pingar. I API:et heter resursen sites.
/sites
read:sites
Lista checkar
Alla checkar i organisationen, sorterade på namn, med senaste kontroll och upptid de senaste 24 timmarna.
Exempel
curl "https://api.upfinity.app/api/v1/sites" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 200
{
"sites": [
{
"id": "6f1c2b0e-8a4d-4c1e-9b7a-2d5f3e8c1a90",
"organizationId": "a3e5c7d9-1b2f-4a6c-8e0d-9f7b5c3a1e2d",
"name": "dizweb.se",
"url": "https://dizweb.se",
"method": "GET",
"expectedStatusCode": 200,
"checkInterval": 60,
"isActive": true,
"isPaused": false,
"resolvedIp": "46.62.255.136",
"lastIpChange": null,
"createdAt": "2026-10-01T08:12:44.000Z",
"checkType": "http",
"protocol": "https",
"port": null,
"projectId": "c0ffee00-1111-4222-8333-444455556666",
"folderId": null,
"tags": [
{
"id": "b1d2e3f4-0000-4000-8000-000000000001",
"name": "produktion",
"color": "#1D7A46"
}
],
"lastCheck": {
"isUp": true,
"responseTime": 212,
"checkedAt": "2026-11-12T13:40:02.000Z"
},
"slowSince": null,
"uptime24h": 99.98,
"avgResponseTime24h": 208,
"lighthouseMobile": null,
"lighthouseDesktop": null
}
],
"total": 1
}
Före version 1.13 låg listan i sites.sites. Nu ligger den direkt i sites.
lastCheck är null om checken inte har kontrollerats de senaste två timmarna. uptime24h är i procent.
/sites/:siteId
read:sites
Hämta en check
Alla inställningar för checken. Lösenord och tokens returneras aldrig, bara has-fält som visar om de är satta.
Sökvägsparametrar
| Namn | Typ | Beskrivning |
|---|---|---|
siteId krävs | uuid | Checkens id. |
Exempel
curl "https://api.upfinity.app/api/v1/sites/SITE_ID" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 200
{
"site": {
"id": "6f1c2b0e-8a4d-4c1e-9b7a-2d5f3e8c1a90",
"organizationId": "a3e5c7d9-1b2f-4a6c-8e0d-9f7b5c3a1e2d",
"name": "dizweb.se",
"url": "https://dizweb.se",
"method": "GET",
"expectedStatusCode": 200,
"checkInterval": 60,
"isActive": true,
"isPaused": false,
"resolvedIp": "46.62.255.136",
"lastIpChange": null,
"createdAt": "2026-10-01T08:12:44.000Z",
"checkType": "http",
"protocol": "https",
"port": null,
"projectId": "c0ffee00-1111-4222-8333-444455556666",
"folderId": null,
"tags": [
{
"id": "b1d2e3f4-0000-4000-8000-000000000001",
"name": "produktion",
"color": "#1D7A46"
}
],
"lastCheck": {
"isUp": true,
"responseTime": 212,
"checkedAt": "2026-11-12T13:40:02.000Z",
"sslValid": true,
"sslExpiresAt": "2027-01-03T09:37:55.000Z",
"sslIssuer": "Let's Encrypt"
},
"slowSince": null,
"uptime24h": 99.98,
"avgResponseTime24h": 208,
"lighthouseMobile": null,
"lighthouseDesktop": null,
"headers": null,
"body": null,
"timeout": 30,
"sslCheckEnabled": true,
"sslExpiryWarningDays": 14,
"notifyAfterMinutes": 0,
"notifyOnIpChange": false,
"responseTimeThresholdMs": 1500,
"responseTimeConsecutiveChecks": 3,
"responseTimeRecoveryChecks": 3,
"checkRegions": [
"eu-north"
],
"contentValidationType": "none",
"authType": "none",
"hasAuthPassword": false,
"hasAuthToken": false,
"notificationMode": "inherit",
"notificationChannels": []
}
}
Heartbeat-checkar har dessutom heartbeatUrl, adressen som jobbet ska anropa.
/sites
write:sites
Skapa en check
Skapar en check och börjar kontrollera den direkt. Fälten beskrivs under "Fält för checkar".
Fälten beskrivs under Fält för checkar. Bara name och adressen (url eller host) krävs.
Exempel
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,"expectedStatusCode":200,"responseTimeThresholdMs":1500,"projectId":"c0ffee00-1111-4222-8333-444455556666"}'
Svar 201
{
"site": {
"id": "6f1c2b0e-8a4d-4c1e-9b7a-2d5f3e8c1a90",
"organizationId": "a3e5c7d9-1b2f-4a6c-8e0d-9f7b5c3a1e2d",
"name": "Kundportal",
"url": "https://portal.example.com/health",
"method": "GET",
"expectedStatusCode": 200,
"checkInterval": 60,
"isActive": true,
"isPaused": false,
"resolvedIp": "46.62.255.136",
"lastIpChange": null,
"createdAt": "2026-10-01T08:12:44.000Z",
"checkType": "http",
"protocol": "https",
"port": null,
"projectId": "c0ffee00-1111-4222-8333-444455556666",
"folderId": null,
"tags": [
{
"id": "b1d2e3f4-0000-4000-8000-000000000001",
"name": "produktion",
"color": "#1D7A46"
}
],
"lastCheck": {
"isUp": true,
"responseTime": 212,
"checkedAt": "2026-11-12T13:40:02.000Z",
"sslValid": true,
"sslExpiresAt": "2027-01-03T09:37:55.000Z",
"sslIssuer": "Let's Encrypt"
},
"slowSince": null,
"uptime24h": 99.98,
"avgResponseTime24h": 208,
"lighthouseMobile": null,
"lighthouseDesktop": null,
"headers": null,
"body": null,
"timeout": 30,
"sslCheckEnabled": true,
"sslExpiryWarningDays": 14,
"notifyAfterMinutes": 0,
"notifyOnIpChange": false,
"responseTimeThresholdMs": 1500,
"responseTimeConsecutiveChecks": 3,
"responseTimeRecoveryChecks": 3,
"checkRegions": [
"eu-north"
],
"contentValidationType": "none",
"authType": "none",
"hasAuthPassword": false,
"hasAuthToken": false,
"notificationMode": "inherit",
"notificationChannels": []
}
}
Valideringsfel ger 400 med details per fält.
Heartbeat-checkar kräver plan Standard eller högre, annars 403 med requiredTier.
Planens gränser gäller: fler checkar än planen tillåter ger 403 (Site limit reached), och ett kortare intervall än planens minsta ger 400 med minAllowed.
/sites/:siteId
write:sites
Ändra en check
Ändrar de fält som skickas med. Övriga fält behåller sina värden. Tomma lösenordsfält betyder oförändrat.
Sökvägsparametrar
| Namn | Typ | Beskrivning |
|---|---|---|
siteId krävs | uuid | Checkens id. |
Samma fält som när en check skapas, alla valfria. Se Fält för checkar.
Exempel
curl -X PUT "https://api.upfinity.app/api/v1/sites/SITE_ID" \
-H "Authorization: Bearer $UPFINITY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Kundportal (produktion)","checkInterval":30}'
Svar 200
{
"site": {
"id": "6f1c2b0e-8a4d-4c1e-9b7a-2d5f3e8c1a90",
"organizationId": "a3e5c7d9-1b2f-4a6c-8e0d-9f7b5c3a1e2d",
"name": "Kundportal (produktion)",
"url": "https://dizweb.se",
"method": "GET",
"expectedStatusCode": 200,
"checkInterval": 30,
"isActive": true,
"isPaused": false,
"resolvedIp": "46.62.255.136",
"lastIpChange": null,
"createdAt": "2026-10-01T08:12:44.000Z",
"checkType": "http",
"protocol": "https",
"port": null,
"projectId": "c0ffee00-1111-4222-8333-444455556666",
"folderId": null,
"tags": [
{
"id": "b1d2e3f4-0000-4000-8000-000000000001",
"name": "produktion",
"color": "#1D7A46"
}
],
"lastCheck": {
"isUp": true,
"responseTime": 212,
"checkedAt": "2026-11-12T13:40:02.000Z",
"sslValid": true,
"sslExpiresAt": "2027-01-03T09:37:55.000Z",
"sslIssuer": "Let's Encrypt"
},
"slowSince": null,
"uptime24h": 99.98,
"avgResponseTime24h": 208,
"lighthouseMobile": null,
"lighthouseDesktop": null,
"headers": null,
"body": null,
"timeout": 30,
"sslCheckEnabled": true,
"sslExpiryWarningDays": 14,
"notifyAfterMinutes": 0,
"notifyOnIpChange": false,
"responseTimeThresholdMs": 1500,
"responseTimeConsecutiveChecks": 3,
"responseTimeRecoveryChecks": 3,
"checkRegions": [
"eu-north"
],
"contentValidationType": "none",
"authType": "none",
"hasAuthPassword": false,
"hasAuthToken": false,
"notificationMode": "inherit",
"notificationChannels": []
}
}
Ett kortare intervall än planens minsta ger 400 med minAllowed.
/sites/:siteId
write:sites
Ta bort en check
Tar bort checken med kontroller, incidenter och statistik. Går inte att ångra.
Sökvägsparametrar
| Namn | Typ | Beskrivning |
|---|---|---|
siteId krävs | uuid | Checkens id. |
Exempel
curl -X DELETE "https://api.upfinity.app/api/v1/sites/SITE_ID" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 204
Inget innehåll.
/sites/:siteId/pause
write:sites
Pausa en check
Stoppar kontrollerna och larmen tills checken återupptas.
Sökvägsparametrar
| Namn | Typ | Beskrivning |
|---|---|---|
siteId krävs | uuid | Checkens id. |
Exempel
curl -X POST "https://api.upfinity.app/api/v1/sites/SITE_ID/pause" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 200
{
"site": {
"id": "6f1c2b0e-8a4d-4c1e-9b7a-2d5f3e8c1a90",
"organizationId": "a3e5c7d9-1b2f-4a6c-8e0d-9f7b5c3a1e2d",
"name": "dizweb.se",
"url": "https://dizweb.se",
"method": "GET",
"expectedStatusCode": 200,
"checkInterval": 60,
"isActive": true,
"isPaused": true,
"resolvedIp": "46.62.255.136",
"lastIpChange": null,
"createdAt": "2026-10-01T08:12:44.000Z",
"checkType": "http",
"protocol": "https",
"port": null,
"projectId": "c0ffee00-1111-4222-8333-444455556666",
"folderId": null,
"tags": [
{
"id": "b1d2e3f4-0000-4000-8000-000000000001",
"name": "produktion",
"color": "#1D7A46"
}
],
"lastCheck": {
"isUp": true,
"responseTime": 212,
"checkedAt": "2026-11-12T13:40:02.000Z",
"sslValid": true,
"sslExpiresAt": "2027-01-03T09:37:55.000Z",
"sslIssuer": "Let's Encrypt"
},
"slowSince": null,
"uptime24h": 99.98,
"avgResponseTime24h": 208,
"lighthouseMobile": null,
"lighthouseDesktop": null,
"headers": null,
"body": null,
"timeout": 30,
"sslCheckEnabled": true,
"sslExpiryWarningDays": 14,
"notifyAfterMinutes": 0,
"notifyOnIpChange": false,
"responseTimeThresholdMs": 1500,
"responseTimeConsecutiveChecks": 3,
"responseTimeRecoveryChecks": 3,
"checkRegions": [
"eu-north"
],
"contentValidationType": "none",
"authType": "none",
"hasAuthPassword": false,
"hasAuthToken": false,
"notificationMode": "inherit",
"notificationChannels": []
},
"message": "Site monitoring paused"
}
/sites/:siteId/resume
write:sites
Återuppta en check
Startar kontrollerna igen.
Sökvägsparametrar
| Namn | Typ | Beskrivning |
|---|---|---|
siteId krävs | uuid | Checkens id. |
Exempel
curl -X POST "https://api.upfinity.app/api/v1/sites/SITE_ID/resume" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 200
{
"site": {
"id": "6f1c2b0e-8a4d-4c1e-9b7a-2d5f3e8c1a90",
"organizationId": "a3e5c7d9-1b2f-4a6c-8e0d-9f7b5c3a1e2d",
"name": "dizweb.se",
"url": "https://dizweb.se",
"method": "GET",
"expectedStatusCode": 200,
"checkInterval": 60,
"isActive": true,
"isPaused": false,
"resolvedIp": "46.62.255.136",
"lastIpChange": null,
"createdAt": "2026-10-01T08:12:44.000Z",
"checkType": "http",
"protocol": "https",
"port": null,
"projectId": "c0ffee00-1111-4222-8333-444455556666",
"folderId": null,
"tags": [
{
"id": "b1d2e3f4-0000-4000-8000-000000000001",
"name": "produktion",
"color": "#1D7A46"
}
],
"lastCheck": {
"isUp": true,
"responseTime": 212,
"checkedAt": "2026-11-12T13:40:02.000Z",
"sslValid": true,
"sslExpiresAt": "2027-01-03T09:37:55.000Z",
"sslIssuer": "Let's Encrypt"
},
"slowSince": null,
"uptime24h": 99.98,
"avgResponseTime24h": 208,
"lighthouseMobile": null,
"lighthouseDesktop": null,
"headers": null,
"body": null,
"timeout": 30,
"sslCheckEnabled": true,
"sslExpiryWarningDays": 14,
"notifyAfterMinutes": 0,
"notifyOnIpChange": false,
"responseTimeThresholdMs": 1500,
"responseTimeConsecutiveChecks": 3,
"responseTimeRecoveryChecks": 3,
"checkRegions": [
"eu-north"
],
"contentValidationType": "none",
"authType": "none",
"hasAuthPassword": false,
"hasAuthToken": false,
"notificationMode": "inherit",
"notificationChannels": []
},
"message": "Site monitoring resumed"
}
Projekt
Projekt grupperar checkar, med en nivå mappar. Checkar pekar på sitt projekt med projectId och folderId.
/projects
read:sites
Lista projekt
Alla projekt med mappar och antal checkar.
Exempel
curl "https://api.upfinity.app/api/v1/projects" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 200
{
"projects": [
{
"id": "c0ffee00-1111-4222-8333-444455556666",
"organizationId": "a3e5c7d9-1b2f-4a6c-8e0d-9f7b5c3a1e2d",
"name": "DizWeb",
"color": "#2563eb",
"description": null,
"sortOrder": 0,
"createdAt": "2026-10-27T10:00:00.000Z",
"updatedAt": "2026-10-27T10:00:00.000Z",
"defaultChannelIds": [],
"checkCount": 6,
"folders": [
{
"id": "f01de700-aaaa-4bbb-8ccc-ddddeeeeffff",
"projectId": "c0ffee00-1111-4222-8333-444455556666",
"name": "API",
"sortOrder": 0,
"createdAt": "2026-10-27T10:00:00.000Z",
"checkCount": 2
}
]
}
]
}
Kontroller
Varje gång en prob kontrollerar en check sparas ett resultat. Resultaten sparas i 30 dagar. Längre tillbaka finns daglig statistik.
/sites/:siteId/checks
read:checks
Lista kontroller
Kontrollerna för en check, nyast först.
Sökvägsparametrar
| Namn | Typ | Beskrivning |
|---|---|---|
siteId krävs | uuid | Checkens id. |
Query-parametrar
| Namn | Typ | Beskrivning |
|---|---|---|
limit | integer | Antal poster, högst 1000. Standard 100. |
offset | integer | Antal poster att hoppa över. Standard 0. |
Exempel
curl "https://api.upfinity.app/api/v1/sites/SITE_ID/checks" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 200
{
"checks": [
{
"id": "0b8e1d2c-3f4a-4b5c-9d6e-7f8091a2b3c4",
"siteId": "6f1c2b0e-8a4d-4c1e-9b7a-2d5f3e8c1a90",
"probeId": "9634ba23-eed0-4195-9feb-c75927b94871",
"isUp": true,
"statusCode": 200,
"responseTime": 212,
"errorMessage": null,
"resolvedIp": "46.62.255.136",
"sslValid": true,
"sslExpiresAt": "2027-01-03T09:37:55.000Z",
"checkedAt": "2026-11-12T13:40:02.000Z"
}
],
"limit": 100,
"offset": 0
}
För heartbeat-checkar är probeId null och varje rad är en ping eller ett uteblivet ping.
Incidenter
En incident öppnas när en check bekräftats nere och stängs när den är uppe igen.
/sites/:siteId/incidents
read:incidents
Incidenter för en check
Incidenterna för en check, nyast först.
Sökvägsparametrar
| Namn | Typ | Beskrivning |
|---|---|---|
siteId krävs | uuid | Checkens id. |
Query-parametrar
| Namn | Typ | Beskrivning |
|---|---|---|
limit | integer | Antal poster, högst 500. Standard 50. |
offset | integer | Antal poster att hoppa över. Standard 0. |
Exempel
curl "https://api.upfinity.app/api/v1/sites/SITE_ID/incidents" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 200
{
"incidents": [
{
"id": "e1c2d3b4-a5f6-4e7d-8c9b-0a1b2c3d4e5f",
"siteId": "6f1c2b0e-8a4d-4c1e-9b7a-2d5f3e8c1a90",
"cause": "HTTP 502",
"startedAt": "2026-11-10T09:45:12.000Z",
"resolvedAt": "2026-11-10T10:15:40.000Z",
"duration": 1828,
"errorMessage": "Expected status 200, got 502",
"createdAt": "2026-11-10T09:45:12.000Z",
"status": "resolved"
}
],
"limit": 50,
"offset": 0
}
duration är i sekunder och null så länge incidenten pågår. status är active eller resolved.
/incidents
read:incidents
Alla incidenter
Incidenter för alla checkar i organisationen, nyast först.
Query-parametrar
| Namn | Typ | Beskrivning |
|---|---|---|
limit | integer | Antal poster, högst 500. Standard 50. |
offset | integer | Antal poster att hoppa över. Standard 0. |
status | string | active för pågående, resolved för avslutade. Utan värde: alla. |
Exempel
curl "https://api.upfinity.app/api/v1/incidents" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 200
{
"incidents": [
{
"id": "e1c2d3b4-a5f6-4e7d-8c9b-0a1b2c3d4e5f",
"siteId": "6f1c2b0e-8a4d-4c1e-9b7a-2d5f3e8c1a90",
"cause": "HTTP 502",
"startedAt": "2026-11-12T13:37:00.000Z",
"resolvedAt": null,
"duration": null,
"errorMessage": "Expected status 200, got 502",
"createdAt": "2026-11-12T13:37:00.000Z",
"status": "active"
}
],
"limit": 50,
"offset": 0
}
Statistik
Daglig statistik räknas fram varje natt. Endpointen ger upp till 90 dagar bakåt.
/sites/:siteId/stats
read:stats
Statistik för en check
Sammanfattning och en rad per dag för perioden.
Sökvägsparametrar
| Namn | Typ | Beskrivning |
|---|---|---|
siteId krävs | uuid | Checkens id. |
Query-parametrar
| Namn | Typ | Beskrivning |
|---|---|---|
days | integer | Antal dagar bakåt, högst 90. Standard 30. |
Exempel
curl "https://api.upfinity.app/api/v1/sites/SITE_ID/stats" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 200
{
"siteId": "6f1c2b0e-8a4d-4c1e-9b7a-2d5f3e8c1a90",
"period": {
"days": 30,
"startDate": "2026-10-13T13:40:00.000Z"
},
"summary": {
"totalChecks": 43180,
"successfulChecks": 43171,
"uptime": 99.979,
"avgResponseTime": 209
},
"dailyStats": [
{
"siteId": "6f1c2b0e-8a4d-4c1e-9b7a-2d5f3e8c1a90",
"date": "2026-11-11",
"totalChecks": 1440,
"successfulChecks": 1440,
"failedChecks": 0,
"avgResponseTime": 207.4,
"minResponseTime": 151,
"maxResponseTime": 640,
"p95ResponseTime": 289,
"uptimePercentage": 100,
"totalDowntime": 0
}
]
}
uptime och uptimePercentage är i procent, totalDowntime i sekunder. Dagens datum finns med först efter nattens körning.
/stats/overview
read:stats
Översikt
Läget just nu för hela organisationen.
Exempel
curl "https://api.upfinity.app/api/v1/stats/overview" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 200
{
"overview": {
"totalSites": 126,
"sitesUp": 124,
"sitesDown": 1,
"sitesPaused": 1,
"activeIncidents": 1
}
}
Probar
Probarna är de servrar som gör kontrollerna. Anropen kommer från deras IP-adresser och har user agenten Upfinity/1.0 (Uptime Monitoring Service; +https://upfinity.se).
/probes
read:probes
Lista probar
Aktiva probar.
Exempel
curl "https://api.upfinity.app/api/v1/probes" \
-H "Authorization: Bearer $UPFINITY_API_KEY"
Svar 200
{
"probes": [
{
"id": "9634ba23-eed0-4195-9feb-c75927b94871",
"name": "Main Server",
"location": "Helsinki, Finland",
"continent": "eu-north",
"isActive": true,
"lastHeartbeat": "2026-11-12T13:40:11.000Z"
},
{
"id": "615d8871-5755-425f-874e-ae01828e0f20",
"name": "Stockholm Probe",
"location": "Stockholm, Sweden",
"continent": "eu-north",
"isActive": true,
"lastHeartbeat": "2026-11-12T13:40:05.000Z"
}
]
}
Fält för checkar
Fälten används när en check skapas med POST /sites och ändras med PUT /sites/:siteId. Fält som inte gäller checktypen ignoreras.
Grundinställningar
| Fält | Typ | Beskrivning | Checktyper |
|---|---|---|---|
name krävs | string | Namn som visas i listor och notiser. Max 255 tecken. | alla |
checkType | string | Typ av check: http, tcp, ping, ftp, ssh eller heartbeat. Standard: http | alla |
url | string | Adressen som ska kontrolleras, t.ex. https://example.com/health. Krävs för http. | http |
host | string | Värdnamn eller IP-adress. Krävs för tcp, ping, ftp och ssh. | tcp, ping, ftp, ssh |
port | integer | Port 1–65535. Krävs för tcp. Standard 21 för ftp, 990 för ftps och 22 för ssh. | tcp, ftp, ssh |
protocol | string | https eller http för http-checkar, ftp eller ftps för ftp-checkar. Standard: https | alla |
checkInterval | integer | Sekunder mellan kontroller, 30–3600. Standard: 60 | alla |
timeout | integer | Sekunder innan en kontroll räknas som misslyckad, 5–60. Standard: 30 | alla |
checkRegions | string[] | Regioner att kontrollera från: eu-north, na, asia. I dag finns probar bara i eu-north. Standard: ["eu-north","na"] | alla |
tagIds | uuid[] | Taggar att sätta på checken. | alla |
projectId | uuid | null | Projekt checken ska ligga i. Se GET /projects. | alla |
folderId | uuid | null | Mapp i projektet. En mapp räcker, projektet följer med. | alla |
HTTP
Gäller checkType http.
| Fält | Typ | Beskrivning | Checktyper |
|---|---|---|---|
method | string | GET, POST, PUT, PATCH, DELETE, HEAD eller OPTIONS. Standard: GET | http |
headers | object | Egna headers, t.ex. { "X-Api-Key": "…" }. Ersätter standardvärdena, även User-Agent. | http |
body | string | Body som skickas med anropet. | http |
expectedStatusCode | integer | Statuskod som räknas som uppe, 100–599. Omdirigeringar följs upp till fem steg först. Standard: 200 | http |
sslCheckEnabled | boolean | Kontrollera certifikatet och varna innan det går ut. Standard: true | http |
sslExpiryWarningDays | integer | Dagar före utgång då varningen skickas, 1–90. Standard: 14 | http |
contentValidationType | string | none, contains_string eller json_path. Standard: none | http |
contentValidationRule | string | Strängen som ska finnas, eller JSON-sökvägen, t.ex. data.status. | http |
contentValidationExpected | string | Värdet som JSON-sökvägen ska ha. Krävs för json_path. | http |
authType | string | none, basic, bearer, api_key eller custom. Standard: none | http |
authUsername | string | Användarnamn för basic. | http |
authPassword | string | Lösenord för basic. Sparas krypterat och returneras aldrig. | http |
authToken | string | Token för bearer, api_key och custom. Sparas krypterat och returneras aldrig. | http |
authHeaderName | string | Header-namn för api_key och custom, t.ex. X-Api-Key. | http |
loginEnabled | boolean | Logga in via ett formulär före varje kontroll och skicka med sessionens cookies. | http |
loginUrl | string | Adressen inloggningsformuläret skickas till. | http |
loginMethod | string | GET eller POST. Standard: POST | http |
loginUsernameField | string | Fältnamn för användarnamnet. Standard: username | http |
loginPasswordField | string | Fältnamn för lösenordet. Standard: password | http |
loginUsername | string | Användarnamn för inloggningen. | http |
loginPassword | string | Lösenord för inloggningen. Sparas krypterat och returneras aldrig. | http |
loginExtraFields | object | Övriga formulärfält, t.ex. { "remember": "1" }. | http |
TCP, FTP och SSH
| Fält | Typ | Beskrivning | Checktyper |
|---|---|---|---|
tcpExpectResponse | string | Text som servern ska svara med efter uppkoppling. | tcp |
ftpUsername | string | Användarnamn för FTP-inloggningen. | ftp |
ftpPassword | string | Lösenord. Sparas krypterat och returneras aldrig. | ftp |
ftpPath | string | Katalog som ska listas efter inloggningen. | ftp |
ftpPassive | boolean | Använd passivt läge. | ftp |
sshUsername | string | Användarnamn för SSH-inloggningen. | ssh |
sshPassword | string | Lösenord. Sparas krypterat och returneras aldrig. | ssh |
sshCommand | string | Kommando som körs efter inloggningen. | ssh |
sshExpectedExitCode | integer | Förväntad exit-kod för kommandot, -1–255. | ssh |
Heartbeat
En heartbeat kontrolleras inte av probar. Ditt jobb anropar i stället heartbeatUrl, som finns i svaret när checken skapats. Uteblir anropet larmar Upfinity. Heartbeat kräver plan Standard eller högre.
| Fält | Typ | Beskrivning | Checktyper |
|---|---|---|---|
heartbeatIntervalSeconds | integer | Förväntad tid mellan pingar, 60 sekunder–30 dagar. Ange detta eller heartbeatSchedule. | heartbeat |
heartbeatSchedule | object | null | Schema i stället för intervall: { freq, every, weekdays, monthDays, times, cron, startDate, timezone }. freq är minute, hour, day, week, month eller cron. | heartbeat |
heartbeatGraceSeconds | integer | Marginal innan larm, 0–7 dagar. Utan värde: 10 % av intervallet, minst 1 minut. | heartbeat |
Lighthouse
Mätning av prestanda, tillgänglighet och SEO med Google Lighthouse. Kan bara slås på när en check ändras, inte när den skapas.
| Fält | Typ | Beskrivning | Checktyper |
|---|---|---|---|
lighthouseEnabled | boolean | Slå på Lighthouse-mätning. Första mätningen görs direkt. Bara vid ändring (PUT). | http |
lighthouseSchedule | string | daily eller weekly. Bara vid ändring (PUT). | http |
lighthouseStrategy | string | mobile, desktop eller both. Standard: both Bara vid ändring (PUT). | http |
lighthouseThreshold | integer | Larma när performance-poängen går under värdet, 0–100. Bara vid ändring (PUT). | http |
Notiser
| Fält | Typ | Beskrivning | Checktyper |
|---|---|---|---|
notifyAfterMinutes | integer | Minuter checken ska vara nere innan larm, 0–60. Standard: 0 | alla |
notifyOnIpChange | boolean | Larma när domänen pekar om till en okänd IP-adress. Standard: false | http |
responseTimeThresholdMs | integer | null | Larma när svarstiden överstiger värdet (100–60000 ms). null stänger av. | http, tcp, ping |
responseTimeConsecutiveChecks | integer | Långsamma kontroller i rad innan larm, 1–30. Standard: 3 | http, tcp, ping |
responseTimeRecoveryChecks | integer | Normala kontroller i rad innan det räknas som återställt, 1–30. Standard: 3 | http, tcp, ping |
notificationMode | string | inherit följer projektets eller organisationens standardkanaler. custom använder notificationChannels. Standard: inherit | alla |
notificationChannels | object[] | Egna kanaler: [{ channelId, notifyOnDown, notifyOnUp, notifyOnSlow, notifyOnSslExpiry }]. Händelsefälten är true om de utelämnas. | alla |
reminderEnabled | boolean | Skicka påminnelser medan checken är nere. Kräver plan Standard eller högre. Utelämnat = organisationens standard. | alla |
reminderIntervalMinutes | integer | Minuter mellan påminnelser, 5–1440. Utelämnat = organisationens standard. | alla |
maxReminders | integer | null | Högst så här många påminnelser per incident, 0 = obegränsat. null = organisationens gräns. | alla |
notificationChannelIds | uuid[] | Äldre sätt att ange egna kanaler, alla händelser. En lista som inte är tom sätter notificationMode till custom. | alla |
Exempel per checktyp
TCP-port:
{
"name": "Databas",
"checkType": "tcp",
"host": "db.example.com",
"port": 5432
}
Heartbeat som körs varje natt 02:00. Svaret innehåller heartbeatUrl, som jobbet anropar med GET eller POST när det är klart. Skicka {"status":"fail","message":"…"} som POST för att rapportera ett fel.
{
"name": "Nattlig backup",
"checkType": "heartbeat",
"heartbeatSchedule": {
"freq": "day",
"every": 1,
"times": [
"02:00"
],
"startDate": "2026-11-12",
"timezone": "Europe/Stockholm"
},
"heartbeatGraceSeconds": 900
}