Contents
On this page
List Activity - Plugixa Advanced User Role Editor
GET /plugixa-aure/v1/activity
A page of activity log entries, newest first: every change to roles, people and the plugin’s rules, with who made it, where it came from, and the state before and after.
Needs the Edit roles permission: plugixa_aure_edit_roles. Needs Plugixa Advanced User Role Editor Pro with the Activity log feature switched on in Settings: otherwise the route is not registered and answers 404.
Request
GET https://your-site.example/wp-json/plugixa-aure/v1/activity?operation=role.capabilities&from=2026-11-01
Query parameters
| Name | Type | Default | Description |
|---|---|---|---|
actor |
integer |
Entries made by this account id. | |
source |
string |
Where the change came from: screen, restore, import, revert, cli, background, rescue, api or admin. See the table below. |
|
operation |
string |
An exact kind of change, such as role.capabilities or user.roles. |
|
target |
string |
An exact target: a role slug, an account id or a capability. | |
from |
string |
From this UTC date, YYYY-MM-DD. |
|
to |
string |
Up to and including this UTC date, YYYY-MM-DD. |
|
page |
integer |
1 |
Page to return, from 1. |
per_page |
integer |
25 |
Rows per page, 1 to 100. |
source |
The change came from |
|---|---|
screen |
Any request to this plugin’s routes, so also a script using this API |
restore |
Restore From History |
import |
Import Roles |
revert |
Revert Activity Entry |
cli |
WP-CLI |
background |
WP-Cron, such as the later batches of a role migration |
rescue |
The emergency rescue link |
api |
Another REST route, such as WordPress’s own users endpoint |
admin |
Anything else, such as the WordPress Users screen |
operation is one of role.create, role.rename, role.delete, role.capabilities, capability.purge, user.roles, user.capabilities, user.rescue, users.migrate, settings, modules, redirects, menu.rules and cleanup.rules. The totals come inside data, and there is no page count: work it out from total.
Responses
200 OK. data is one page of entries.
{
"success": true,
"data": {
"items": [
{
"id": 318,
"createdAt": "2026-11-12T09:30:00Z",
"actorId": 1,
"source": "screen",
"operation": "role.capabilities",
"target": "editor",
"before": {
"edit_posts": true,
"publish_posts": true,
"read": true
},
"after": {
"edit_posts": true,
"install_plugins": true,
"publish_posts": true,
"read": true
},
"context": {
"granted": [
"install_plugins"
],
"revoked": [],
"denied": [],
"cleared": []
},
"restorePoint": 42,
"revertedAt": null,
"revertedBy": 0,
"actor": "Sam Carter",
"revertible": true
},
{
"id": 317,
"createdAt": "2026-11-12T09:12:03Z",
"actorId": 1,
"source": "screen",
"operation": "user.roles",
"target": "12",
"before": {
"roles": [
"author"
]
},
"after": {
"roles": [
"author",
"editor"
]
},
"context": [],
"restorePoint": 41,
"revertedAt": null,
"revertedBy": 0,
"actor": "Sam Carter",
"revertible": true,
"targetLabel": "Maria Lopez"
}
],
"total": 2
}
}
| Field | Type | Meaning |
|---|---|---|
data.items[].id |
integer |
The entry’s id |
data.items[].createdAt |
string |
UTC time, ISO 8601 |
data.items[].actorId |
integer |
Who made the change. 0 when nobody was signed in |
data.items[].actor |
string |
Their display name, #<id> for a deleted account, empty for nobody |
data.items[].source |
string |
Where it came from, see above |
data.items[].operation |
string |
The kind of change |
data.items[].target |
string |
What it changed. Empty for the rule and settings operations |
data.items[].targetLabel |
string |
For user.* operations only: the account’s display name |
data.items[].before, after |
object |
The state before and after, in the operation’s own shape |
data.items[].context |
object|array |
Extra detail, such as the change lists or how many people a migration moved |
data.items[].restorePoint |
integer |
The restore point that covers it. 0 when none |
data.items[].revertedAt |
string|null |
When it was undone, ISO 8601 |
data.items[].revertedBy |
integer |
Who undid it. 0 when not undone |
data.items[].revertible |
boolean |
Whether Revert Activity Entry can undo it on its own |
data.total |
integer |
Entries matching, before paging |
Errors
| Status | Code | When |
|---|---|---|
400 |
rest_invalid_param |
source is not one of the values above, or from/to is not YYYY-MM-DD. |
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixa-aure/v1/activity?operation=role.capabilities&from=2026-11-01" \
-u "admin:$WP_APP_PASSWORD"
<?php
$query = http_build_query([
'operation' => 'role.capabilities',
'from' => '2026-11-01',
]);
$ch = curl_init('https://your-site.example/wp-json/plugixa-aure/v1/activity?' . $query);
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 query = new URLSearchParams({ operation: 'role.capabilities', from: '2026-11-01' });
const response = await fetch(`https://your-site.example/wp-json/plugixa-aure/v1/activity?${query}`, {
headers: {
'Authorization': 'Basic ' + btoa(`admin:${process.env.WP_APP_PASSWORD}`),
},
});
const { data } = await response.json();
Quick Links
Share