Edit a Perfecto Monitor

Last modified on August 24, 2020

To update an existing Perfecto monitor, send a PATCH request to /monitors/perfecto/{id}, where {id} is the monitor ID.

Request URL

PATCH https://api.alertsite.com/api/v3/monitors/perfecto/{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, change the monitor offset and the Perfecto repository location of the script:

{
  "monitor_offset":10,
  "perfecto_script_value":"PUBLIC:BestBuy Mobile Web.xml"
}
}

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

Click here to test this operation in AlertSite’s interactive API console.

Code examples

This code updates the monitor with ID 123456 and changes the monitor offset and the Perfecto repository location of the script.

cURL (Windows)

curl -X POST https://api.alertsite.com/api/v3/monitors/perfecto/123456
  -H "Authorization: Bearer ACCESS_TOKEN"
  -H "Content-Type: application/json"
  -d '{\"monitor_offset\":10, \"perfecto_script_value\":\"PUBLIC:BestBuy Mobile Web.xml\"}'


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

cURL (bash)

curl -X POST https://api.alertsite.com/api/v3/monitors/api/123456 \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-type: application/json" \
  -d '{"monitor_offset":10, "perfecto_script_value":"PUBLIC:BestBuy Mobile Web.xml"}'

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 = {
  'monitor_offset': 10,
  'perfecto_script_value': 'PUBLIC:BestBuy Mobile Web.xml'
}

# 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/perfecto/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 Perfecto Monitor
Delete Monitor

Highlight search results