Edit an API Endpoint Monitor

Last modified on May 14, 2021

To modify an API endpoint monitor, send a PATCH request to /monitors/website-api/{id} or /monitors/website-ssl-api/{id}, where {id} is the monitor ID.

Request URL

PATCH https://api.alertsite.com/api/v3/monitors/website-api/{id}

-- or --

PATCH https://api.alertsite.com/api/v3/monitors/website-ssl-api/{id}

Authentication

The request must include the Authorization header containing a user’s access token:

Authorization: Bearer ACCESS_TOKEN

See Authentication for more information.

Request body

The request body is a JSON object containing the monitor configuration fields you want to update.

For example, enable full-page object alerts and keyword validation settings and change the SSL certificate version:

{
  "check_fullpage_missing_objects":true,
  "check_fullpage_object_sizes":true,
  "fullpage_object_timeout":10,
  "keyword_match_invert":false,
  "keyword_match_type":"Plain Text",
  "keyword_string":"Featured products",
  "notify_on_fullpage_errors":false,
  "use_ssl_version":2
}

Response body

On success, the operation returns the ID of the updated monitor.

{
  "id": "123456"
}

Error responses have a non-200 status code and contain the errors list, such as:

{
  "errors": [
    {
      "code": 400,
      "message": "invalid_request - User authentication failed."
    }
  ]
}

Try it out

You can test the operations in AlertSite’s interactive API console:

Code examples

This code updates the monitor with ID 123456, enables full-page object alerts, adds keyword validation, and changes the SSL certificate version.

cURL (Windows)

curl -X PATCH https://api.alertsite.com/api/v3/monitors/website-api/123456
  -H "Authorization: Bearer ACCESS_TOKEN"
  -H "Content-Type: application/json"
  -d '{\"check_fullpage_missing_objects\":true, \"check_fullpage_object_sizes\":true, \"fullpage_object_timeout\":10, \"keyword_match_invert\":false, \"keyword_match_type\":\"Plain Text\", \"keyword_string\":\"Featured products\", \"notify_on_fullpage_errors\":true, \"use_ssl_version\":2}'


Note: New lines are added for readability.
The actual command should be one continuous line.

cURL (bash)

curl -X PATCH https://api.alertsite.com/api/v3/monitors/website-api/123456 \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-type: application/json" \
  -d '{"check_fullpage_missing_objects":true, "check_fullpage_object_sizes":true, "fullpage_object_timeout":10, "keyword_match_invert":false, "keyword_match_type":"Plain Text", "keyword_string":"Featured products", "notify_on_fullpage_errors":true, "use_ssl_version":2}'

Python

import requests # Requests library http://docs.python-requests.org
import json

baseUrl = 'https://api.alertsite.com/api/v3'
username = 'demo@example.com'  # Replace with your AlertSite login email
password = 'pa55w0rd'          # Replace with your AlertSite password

monitor_params = {
  'check_fullpage_missing_objects': True,
  'check_fullpage_object_sizes': True,
  'fullpage_object_timeout': 10,
  'keyword_match_invert': False,
  'keyword_match_type': 'Plain Text',
  'keyword_string': 'Featured products',
  'notify_on_fullpage_errors': False,
  'use_ssl_version': 2
}

# Login
payload = {'username': username, 'password': password}
r = requests.post(baseUrl+'/access-tokens', data=json.dumps(payload), headers={'Content-Type': 'application/json'})
token = r.json()['access_token']

# Update the monitor
headers = {
  'Authorization': 'Bearer ' + token,
  'Content-Type': 'application/json'
}
r = requests.patch(baseUrl+'/monitors/website-api/123456', data=json.dumps(monitor_params), headers=headers)
result = r.json()
if r.status_code == requests.codes.ok:
    monitor_id = result['id']
    print('Successfully updated the monitor. ID:{}'.format(monitor_id))
else:
    print('Could not update the monitor. The following error(s) occurred:', *result['errors'], sep='\n')

See Also

Monitor Operations
Create a Website Monitor
Convert API Endpoint Monitors to SoapUI
Delete Monitor

Highlight search results