Contents
On this page
List Alert Rules - Plugixa Activity Log
GET /plugixa-activity-log/v1/rules
List every alert rule on the site, oldest first.
Needs settings access (see who can call what). Needs Plugixa Activity Log Pro, with the Alert rules module on under Plugixa Activity Log -> Monitors. Alert rules depend on the Notifications module: with Notifications off, the route does not exist.
Request
GET https://your-site.example/wp-json/plugixa-activity-log/v1/rules
The list is not paged and takes no parameters.
Responses
200 OK. data is every rule.
{
"success": true,
"data": [
{
"id": 4,
"name": "Administrator sign-ins from outside the office",
"enabled": true,
"conditions": {
"codes": [],
"groups": ["authentication"],
"min_severity": "medium",
"severities": [],
"user_roles": ["administrator"],
"user_ids": [],
"ips": ["203.0.113.0/24"],
"object_types": [],
"search": ""
},
"channels": [
{ "type": "email", "target": "security@example.com", "secret": "", "has_secret": false },
{ "type": "webhook", "target": "https://hooks.example.com/activity", "secret": "••••cret", "has_secret": true }
],
"throttle_minutes": 15,
"created_by": 1,
"created_at": "2026-11-12 09:30:00",
"modified_at": "2026-11-12 09:30:00"
}
]
}
| Field | Type | Meaning |
|---|---|---|
data[].id |
integer |
The rule’s id |
data[].name |
string |
The rule’s name |
data[].enabled |
boolean |
Whether the rule is checked against new events |
data[].conditions |
object |
What an event must match. Every condition that is filled in must hold; an empty one does not narrow. See Create Alert Rule |
data[].channels |
array |
Where an alert goes |
data[].channels[].type |
string |
email, slack, discord, teams or webhook |
data[].channels[].target |
string |
An email address, or an https:// address |
data[].channels[].secret |
string |
A webhook’s signing secret, masked: four dots and its last four characters. Empty when there is none |
data[].channels[].has_secret |
boolean |
Whether a signing secret is stored |
data[].throttle_minutes |
integer |
0 sends every match. Otherwise the rule fires at most once in this many minutes |
data[].created_by |
integer |
WordPress user id of whoever created the rule |
data[].created_at |
string |
UTC datetime |
data[].modified_at |
string |
UTC datetime of the last change |
A stored secret never comes back in full.
Errors
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixa-activity-log/v1/rules" \
-u "admin:$WP_APP_PASSWORD"
<?php
$ch = curl_init('https://your-site.example/wp-json/plugixa-activity-log/v1/rules');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_USERPWD => 'admin:' . getenv('WP_APP_PASSWORD'),
]);
$response = json_decode(curl_exec($ch), true);
curl_close($ch);
const auth = Buffer.from(`admin:${process.env.WP_APP_PASSWORD}`).toString('base64');
const response = await fetch('https://your-site.example/wp-json/plugixa-activity-log/v1/rules', {
headers: {
'Authorization': `Basic ${auth}`,
},
});
const { data } = await response.json();
Quick Links
Share