Edit an Email Server (POP/SMTP/IMAP) Monitor

Last modified on May 14, 2021

With AlertSite Management API, you can edit email server monitors that monitor your POP3, IMAP, and SMTP servers.

To modify an email monitor, send a PATCH request with a JSON body containing the monitor configuration to the appropriate endpoint which depends on the type of your tested email server and where {id} is the monitor ID:

Email server Endpoint
IMAP /monitors/email-imap/{id}
POP3 /monitors/email-pop/{id}
SMTP /monitors/email-smtp/{id}

Request URL

IMAP email monitor

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

POP3 email monitor

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

SMTP email monitor

PATCH https://api.alertsite.com/api/v3/monitors/email-smtp/{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 SMTP server port number and the IP address of the tested server:

{
    "ipv4":"74.125.28.108"
    "port":587
}

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

PATCH /monitors/email-imap/{id}

PATCH /monitors/email-pop/{id}

PATCH /monitors/email-smtp/{id}

Code examples

This code updates the SMTP monitor with ID 123456 and changes the port number and the IP address of the tested server:

cURL (Windows)

curl -X PATCH https://api.alertsite.com/api/v3/monitors/email-smtp/123456
  -H "Authorization: Bearer ACCESS_TOKEN"
  -H "Content-Type: application/json"
  -d '{\"ipv4\":\"74.125.28.108\", \"port\":587}'


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/email-smtp/123456 \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-type: application/json" \
  -d '{"ipv4":"74.125.28.108", "port":587}'

Python

import requests # Requests library https://requests.kennethreitz.org/en/master/
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 = {
  'ipv4': '74.125.28.108',
  'port': 587
}

# 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/email-smtp/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 an Email Server (POP/SMTP/IMAP) Monitor
Delete Monitor

Highlight search results