Cahook API documentation

Cahook provides a simple API to list, create, and update your monitors with your API token. The API token can be found in the user menu > My Profile.

You can make API request by sending an HTTP request to our API endpoint at

https://cahook.com/api/v1/{function}

The endpoint accepts both GET and POST method.

  • For GET requests, you can send the payload in query format like name=Example&interval=15.
  • For POST requests, you can send the payload in query format as well as JSON format like {"name":"Example", "interval": 15}.

Authenticate by including your API token in the Authorization header, prefixed with Bearer. For example:

Authorization: Bearer YOUR_API_TOKEN

You can also add the token in the POST payload.


List all monitors

Call monitor_list to receive a list of all monitors in your account.

Example request:

curl --request GET \
    --url "https://cahook.com/api/v1/monitor_list" \
    --header "Authorization: Bearer API-TOKEN"

Example response:

[
  {
    "id": 3,
    "name": "Cahook API",
    "url": "https://cahook.com/api/v1/monitor_list",
    "status": 0,
    "interval": 15,
    "httpMethod": "GET",
    "httpHeaders": "Authorization: Bearer SECRET_GARDEN",
    "httpBody": null,
    "username": null,
    "password": null,
    "successHttpStatus": "2xx",
    "keyword": null
  },
  {
    "id": 2,
    "name": "Cahook App",
    "url": "https://cahook.com/signup",
    "status": 0,
    "interval": 15,
    "httpMethod": "GET",
    "httpHeaders": null,
    "httpBody": null,
    "username": null,
    "password": null,
    "successHttpStatus": "2xx",
    "keyword": null
  }
]

Add a monitor

Call monitor_add to create a monitor.

FieldTypeDescription
urlstringMonitor URL, required.
interval?integerMonitor interval in seconds.
Default is 300 for free plan, and 60 for paid plans. Min 15, max 86400.
name?stringMonitor name. If not provided, the host part of the URL will be used.
httpMethod?stringHTTP method, default GET.
httpHeaders?stringHTTP headers with new lines as delimiters.
httpBody?stringHTTP body, may be in query or JSON format.
username?stringUsername for HTTP basic authentication.
password?stringPassword for HTTP basic authentication.
successHttpStatus?stringComma-separated list of accepted HTTP status, default 2xx (200 to 205).
keyword?stringKeyword to check for in the HTTP response.

Example request:

curl --request POST \
    --url "https://cahook.com/api/v1/monitor_add" \
    --header "Authorization: Bearer API-TOKEN" \
    --header 'Content-Type: application/json' \
    --data '{"name":"Example","url":"https://example.com","interval":60}'

Example success response:

{
    "id": 5,
    "name": "Example",
    "url": "https://example.com",
    "status": 0,
    "interval": 60,
    "httpMethod": "GET",
    "httpHeaders": null,
    "httpBody": null,
    "username": null,
    "password": null,
    "successHttpStatus": "2xx",
    "keyword": null
}

Example failed response:

{"error": "You can only have 10 monitors. Please upgrade your account."}

Edit a monitor

Call monitor_edit with an id to edit a monitor.

Example request:

curl --request POST \
    --url "https://cahook.com/api/v1/monitor_get" \
    --header "Authorization: Bearer API-TOKEN" \
    --data "id=5&interval=15"

Get a monitor

Call monitor_get with an id to get a monitor.

Example request:

curl --request GET \
    --url "https://cahook.com/api/v1/monitor_get?id=5" \
    --header "Authorization: Bearer API-TOKEN"

Pause a monitor

Call monitor_pause with an id to pause a monitor.

Example request:

curl --request POST \
    --url "https://cahook.com/api/v1/monitor_pause" \
    --header "Authorization: Bearer API-TOKEN" \
    --data "id=5"

Resume a monitor

Call monitor_resume with an id to resume a monitor.

Example request:

curl --request GET \
    --url "https://cahook.com/api/v1/monitor_resume?id=5" \
    --header "Authorization: Bearer API-TOKEN"

Check a monitor

Call monitor_check with an id to check a monitor.

Example request:

curl --request GET \
    --url "https://cahook.com/api/v1/monitor_check?id=5" \
    --header "Authorization: Bearer API-TOKEN"

Delete a monitor

Call monitor_delete with an id to delete a monitor.

Example request:

curl --request GET \
    --url "https://cahook.com/api/v1/monitor_delete?id=5" \
    --header "Authorization: Bearer API-TOKEN"

Need help? Reach out to support@cahook.com - we're happy to help.

Start monitoring websites in 30 seconds.

Start with 14-day free trial, no credit card required.

Start free trial

Cahook

Monitor your website every 15 seconds, and notify you instantly.


© 2026 Cahook · All rights reserved · Terms of service · Privacy policy · Status