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