Notify API

Use the Notify API to ask CheckYout to send a WhatsApp message to a specific phone number — typically the cleaner for a given property.

Endpoint

POST/api/v1/notify

Request

HeaderValueRequired
Content-Typeapplication/jsonYes
X-API-KeyYour API keyYes

Request body

FieldTypeRequiredDescription
device_idstringYesUUID of the CheckYout device. Must belong to your account.
phonestringYesPhone number in E.164 format. Must match ^\+[1-9]\d{6,15}$, e.g. +41791234567.
namestringNoDisplay name of the property in the WhatsApp message. Falls back to the device property_name.

Response

Success response (200)

{
  "success": true,
  "message_sid": "SMxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Error responses

StatusCauseExample
400Validation failed (e.g. missing required fields, invalid phone format){"error":"Validation error","issues":[{"path":"phone","message":"Phone must be in E.164 format…","code":"invalid_string"}]}
400Body is not valid JSON{"error":"Invalid JSON body"}
401Invalid or missing API key{"error":"Invalid or missing API key"}
404Device not found or does not belong to your account{"error":"Device not found or does not belong to your account"}
429Rate limit exceeded (30 requests/minute per IP){"error":"Too many requests"}
500WhatsApp delivery failed{"error":"Failed to send WhatsApp","details":"..."}

Code examples

curl -X POST https://checkyout.app/api/v1/notify \
  -H "Content-Type: application/json" \
  -H "X-API-Key: cyo_YourApiKey" \
  -d '{
    "device_id": "d4f8a2b1-3c5e-4f6a-8b9c-1d2e3f4a5b6c",
    "phone": "+41791234567",
    "name": "Alpenblick Vacation Rental"
  }'

Notes

WhatsApp template

The message uses a CheckYout-defined WhatsApp template. Templates are available in nine languages: DE, EN, FR, ES, IT, NL, HR, EL, PT. The language is selected automatically from the host's settings.

Notification channels

Beyond WhatsApp, CheckYout also supports email and webhook channels. Channels are configured per property in the CheckYout dashboard.