Skip to Content
API ReferenceUpdate Check

Update Check

Update an existing monitoring check. Only the fields you include in the request body will be changed.

Required scope: checks:write

Endpoint

PATCH /v1/public/checks/{id}

Path Parameters

ParameterTypeDescription
idstringThe unique check identifier

Request Body

All fields are optional. Only include the fields you want to change. No Idempotency-Key is needed.

FieldTypeDescription
urlstringThe URL, host or domain to monitor. Ignored for domain checks
namestringDisplay name (max 200 characters)
typestringCheck type: website, rest_endpoint, redirect, ping, tcp, udp, websocket, dns or heartbeat. A check can’t be converted to or from domain, dns or heartbeat; delete and re-create it instead
checkFrequencynumberMinutes between checks (subject to plan limits)
checkRegionOverridestringRegion to run the check from: vps-eu-1 or vps-us-1. Only honored on plans with region choice (Nano and Pro). On other plans the check stays on vps-eu-1
httpMethodstringHTTP method: GET, POST, PUT, PATCH, DELETE or HEAD
expectedStatusCodesnumber[]Status codes that count as up, integers from 100 to 599
requestHeadersobjectCustom request headers as string key-value pairs (max 20 entries). Replaces the existing headers. Same restrictions as Create Check
requestBodystringRequest body (max 65,536 characters). Must be valid JSON for rest_endpoint checks using POST, PUT or PATCH
responseValidationobjectResponse validation rules. Replaces the existing rules
redirectValidationobject | nullFor redirect checks: { "expectedTarget": "...", "matchMode": "contains" }, where matchMode is contains or exact. Send null to clear it
maxRedirectsinteger | nullMaximum redirects to follow (0 to 10). Send null to clear it
cacheControlNoCachebooleanSend Cache-Control: no-cache header
ignoreSslErrorsbooleanAccept invalid certificates and turn off SSL alerts for this check
immediateRecheckEnabledbooleanEnable immediate recheck on failure
responseTimeLimitnumberMax response time in milliseconds (max 30,000)
downConfirmationAttemptsnumberConsecutive failures before the check is marked down (1 to 99)
pingPacketsnumberNumber of ping packets for ping checks (1 to 5). Other values are ignored
timezonestringIANA timezone for the check. Send an empty string or null to clear it

Note: When you update fields that affect check behavior (URL, type, frequency, method, status codes, headers, body, validation, redirects, region, cache control or ping packets), the check schedule is reset and the next check runs immediately.

Response

200 OK

{ "data": { "success": true } }

The updated check is not returned. Use Get Check to read it.

Error Responses

StatusDescription
400Invalid check ID, invalid field value, validation failure, or an attempted conversion to or from domain
403API key missing checks:write scope, or the check belongs to another account
404Check not found
409A check already exists for this URL
429Rate limit exceeded

Code Examples

cURL

curl -X PATCH \ -H "X-Api-Key: ek_live_your_key_here" \ -H "Content-Type: application/json" \ -d '{"name": "Updated Name", "checkFrequency": 10}' \ "https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/CHECK_ID"

JavaScript

const checkId = "CHECK_ID"; const response = await fetch( `https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/${checkId}`, { method: "PATCH", headers: { "X-Api-Key": process.env.EXIT1_API_KEY, "Content-Type": "application/json", }, body: JSON.stringify({ name: "Updated Name", checkFrequency: 10, }), } ); const data = await response.json(); console.log(data);

Python

import os, requests check_id = "CHECK_ID" response = requests.patch( f"https://us-central1-exit1-dev.cloudfunctions.net/publicApi/v1/public/checks/{check_id}", headers={"X-Api-Key": os.environ["EXIT1_API_KEY"]}, json={"name": "Updated Name", "checkFrequency": 10}, ) response.raise_for_status() print(response.json())
Last updated on