Setting Email Notifications

Alert settings specify whether email alerts are sent and the events that trigger emails. This is a global setting for all clusters. Authentication is required to read this value.

Getting Alert Settings

Email alerts can be dispatched automatically when a significant error occurs — see Email Alerts.

HTTP method and URI

GET /settings/alerts

Syntax

Curl request syntax:

curl -u [admin]:[password ]
    http://[localhost]:8091/settings/alerts

Raw HTTP request syntax:

GET /settings/alerts HTTP/1.1
Host: [localhost]:8091
Authorization: Basic YWRtaW46YWRtaW4= Accept: */*

Example

Curl request example:

curl -u Administrator:password
    http://10.5.2.54:8091/settings/alerts

Raw HTTP request example:

GET /settings/alerts HTTP/1.1
Host: 10.5.2.54:8091
Authorization: Basic YWRtaW46YWRtaW4= Accept: */*

Response

{
    "alerts": [
        "auto_failover_node",
        "auto_failover_maximum_reached",
        "auto_failover_other_nodes_down",
        "auto_failover_cluster_too_small",
        "ip",
        "disk",
        "overhead",
        "ep_oom_errors",
        "ep_item_commit_failed"
    ],
    "emailServer": {
        "encrypt": false,
        "host": "localhost",
        "pass": "",
        "port": 25,
        "user": ""
    },
    "enabled": false,
    "recipients": [
        "root@localhost"
    ],
    "sender": "couchbase@localhost"
}
For security reasons, the pass field of the emailServer is always empty.

Response codes

Possible errors include:

This endpoint isn't available yet.

Enabling and disabling email notifications

HTTP method and URI

This is a global setting for all clusters. Authentication is required to change this value. If this is enabled, Couchbase Server sends an email when certain events occur. Only events related to auto-failover trigger notification.

POST /settings/alerts

Possible parameters include:

  • alerts (string) (optional, default: auto_failover_node, auto_failover_maximum_reached, auto_failover_other_nodes_down, auto_failover_cluster_too_small). Comma separated list of alerts that should cause an email to be sent. Possible values are: auto_failover_node, auto_failover_maximum_reached, auto_failover_other_nodes_down, auto_failover_cluster_too_small.

  • enabled : (true | false) (required). Whether to enable or disable email notifications

  • sender (string) (optional, default: couchbase@localhost). Email address of the sender.

  • recipients (string) (required). A comma separated list of recipients of the of the emails.

  • emailServer host (string) (optional, default: localhost). Host address of the SMTP server

  • emailServer port (integer) (optional, default: 25). Port of the SMTP server

  • emailServer encrypt (true | false) (optional, default: false). Whether you want to use TLS or not

  • emailServer user (string) (optional, default: ""): Username for the SMTP server

  • emailServer pass (string) (optional, default: ""): Password for the SMTP server

Syntax

Curl request syntax:

curl -i -u [admin]:[password]
    http://[localhost]:8091/settings/alerts
    -d [parameter]

Example

Curl request example:

curl -i -u Administrator:password \
    http://10.5.2.54:8091/settings/alerts \
    -d 'enabled=true&sender=couchbase@10.5.2.54&recipients=admin@10.5.2.54,membi@10.5.2.54&emailHost= \
    10.5.2.54&emailPort=25&emailEncrypt=false'

Raw request example:

POST /settings/alerts HTTP/1.1
Host: 10.5.2.54:8091
Content-Type: application/x-www-form-urlencoded
Authorization: Basic YWRtaW46YWRtaW4=
Content-Length: 14 enabled=true&sender=couchbase@10.5.2.54&recipients=admin@10.5.2.54,membi@localhost&emailHost= \
10.5.2.54&emailPort=25&emailEncrypt=false�

Response codes

HTTP/1.1 200 OK

Possible HTTP errors include:

400 Bad Request
401 Unauthorized
JSON object ({"errors": {"key": "error"}}) with errors.

Possible errors returned in a JSON document include:

  • alerts: alerts contained invalid keys. Valid keys are: [list_of_keys].

  • email_encrypt: emailEncrypt must be either true or false.

  • email_port: emailPort must be a positive integer less than 65536.

  • enabled: enabled must be either true or false.

  • recipients: recipients must be a comma separated list of valid email addresses.

  • sender: sender must be a valid email address.

  • general: No valid parameters given.

Sending test emails

HTTP method and URI

POST /settings/alerts/sendTestEmail

Syntax

Curl request syntax:

curl -i -u admin:password
    http://localhost:8091/settings/alerts/testEmail \
    -d [parameter]

Raw HTTP request syntax

POST /settings/alerts/sendTestEmail HTTP/1.1
Host: [localhost]:8091
Content-Type: application/x-www-form-urlencoded
Authorization: Basic YWRtaW46YWRtaW4=

Example

Curl request example:

curl -i -u Administrator:password \
    http://10.5.2.54:8091/settings/alerts/testEmail \
    -d 'subject=Test+email+from+Couchbase& \
    body=This+email+was+sent+to+you+to+test+the+email+alert+email+server+settings.&enabled=true& \
    recipients=vmx%4010.5.2.54&sender=couchbase%4010.5.2.54& \
    emailUser=&emailPass=&emailHost=10.5.2.54&emailPort=25&emailEncrypt=false& \
    alerts=auto_failover_node%2Cauto_ \
    failover_maximum_reached%2Cauto_failover_other_nodes_down%2Cauto_failover_cluster_too_small'

Raw HTTP request example:

POST /settings/alerts/sendTestEmail HTTP/1.1
Host: 10.5.2.54:8091
Content-Type: application/x-www-form-urlencoded
Authorization: Basic YWRtaW46YWRtaW4=

Response codes

Possible response code include:

200 OK
400 Bad Request: Unknown macro: {"error"} 401 Unauthorized
This endpoint isn't available yet.