Contents
On this page
List Archived Events - Plugixa Activity Log
GET /plugixa-activity-log/v1/archive/events
A page of archived events, newest first: the events that the archive moved out of the live log, wherever the archive is kept.
Needs the view access level (see who can call what). Needs Plugixa Activity Log Pro, with the Archive module on under Plugixa Activity Log -> Monitors.
An archived event keeps the id it had in the live log.
Request
GET https://your-site.example/wp-json/plugixa-activity-log/v1/archive/events?group=authentication&action=failed&per_page=100
Query parameters
The same parameters as List Events: the paging parameters per_page (1 to 200), before_id, after_id and with_total, described under lists and pagination, and every one of the filter parameters. They behave the same way: a paging value out of range is a 400, a filter value the server does not understand is dropped, and on multisite a site administrator only sees their own site.
Responses
200 OK. data is one page of archived events.
{
"success": true,
"data": [
{
"id": 1204,
"occurred_at": "2026-03-02T22:41:09Z",
"event_code": 1003,
"severity": "medium",
"group": "authentication",
"group_label": "Sign-ins",
"site_id": 1,
"user": { "id": 5, "login": "sam", "name": "Sam Lee", "exists": true },
"user_role": "editor",
"ip": "203.0.113.9",
"object": { "type": "user", "id": 5, "label": "sam", "url": "" },
"action": "failed",
"message": "Failed sign-in attempt for “sam”: the password was wrong."
}
],
"meta": { "has_more": false, "next_before_id": 1204, "newest_id": 1204, "gap": false, "source": "archive" }
}
| Field | Type | Meaning |
|---|---|---|
data[] |
array |
Events in the same shape as List Events |
data[].occurred_at |
string |
UTC, ISO 8601 |
meta.has_more |
boolean |
There is another page in the direction you are reading |
meta.next_before_id |
integer|null |
Pass as before_id to get the next, older page. null for an empty page |
meta.newest_id |
integer|null |
The id of the first event on this page |
meta.gap |
boolean |
An after_id request came back full |
meta.source |
string |
Always archive, so a client can tell this page from a live one |
meta.total |
integer |
Only with with_total: the number of matching archived events, with meta.total_capped and meta.total_approximate as on the live log |
Errors
| Status | Code | When |
|---|---|---|
503 |
plugixa_activity_log_archive_unavailable |
The archive is kept in an external database that cannot be reached, or its details are incomplete. The message says why. |
Plus the errors every endpoint can return.
Examples
curl -s "https://your-site.example/wp-json/plugixa-activity-log/v1/archive/events?group=authentication&action=failed&per_page=100" \
-u "admin:$WP_APP_PASSWORD"
<?php
$query = http_build_query(['group' => 'authentication', 'action' => 'failed', 'per_page' => 100]);
$ch = curl_init('https://your-site.example/wp-json/plugixa-activity-log/v1/archive/events?' . $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 auth = Buffer.from(`admin:${process.env.WP_APP_PASSWORD}`).toString('base64');
const query = new URLSearchParams({ group: 'authentication', action: 'failed', per_page: '100' });
const response = await fetch(`https://your-site.example/wp-json/plugixa-activity-log/v1/archive/events?${query}`, {
headers: {
'Authorization': `Basic ${auth}`,
},
});
const { data, meta } = await response.json();
Quick Links
Share