Create a SoapUI Monitor

Last modified on August 16, 2021

To add a new SoapUI monitor, send a POST request to /monitors/api with a JSON body containing the monitor configuration.

Request URL

POST https://api.alertsite.com/api/v3/monitors/api

Authentication

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

Authorization: Bearer ACCESS_TOKEN

See Authentication for more information.

The authenticating user must have permissions to create monitors.

Request body

The request body is a JSON object containing the monitor configuration parameters. The required data fields for a SoapUI monitor are:

  • billing_plancode

  • name

  • script

  • test_case

  • test_suite

For the full list and description of available fields, see SoapUI monitor fields.

Parameters that are not specified in the request body will take the values specified in AlertSite defaults and your account defaults. For example, if you do not specify locations for the monitor, it will use your account's default monitoring locations.

Below is the minimal example of SoapUI monitor parameters:

{
  "billing_plancode": "UBM - A/A",
  "name": "Petstore",
  "script": "Place the script XML here",
  "test_case": "Petstore Test",
  "test_suite": "Petstore TestSuite"
}

Response body

On success, the operation returns the ID of the created 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 creates a 15-minute SoapUI monitor.

cURL (Windows)

curl -X POST https://api.alertsite.com/api/v3/monitors/api
  -H "Authorization: Bearer ACCESS_TOKEN"
  -H "Content-Type: application/json"
  -d '{\"billing_plancode\":\"UBM - A/A\", \"name\":\"Petstore\", \"script\":\"Place the script XML here\", \"test_case\":\"Petstore Test\", \"test_suite\":\"Petstore TestSuite\"}'


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 \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-type: application/json" \
  -d '{"billing_plancode":"UBM - A/A", "name":"Petstore", "script":"Place the script XML here", "test_case":"Petstore Test", "test_suite":"Petstore TestSuite"}'

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 = {
  'billing_plancode': 'UBM - A/A',
  'name': 'Petstore',
  'script': 'Place the script XML here',
  'interval': 15,
  'test_case': 'Petstore Test',
  'test_suite': 'Petstore TestSuite'
}

# 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']

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

See Also

Monitor Operations
Edit a SoapUI Monitor
Delete Monitor

Highlight search results