The Activity Logs API provides read-only access to your account's activity log through the Quicknode Admin API. It's the same log you see at Account → Activity in the dashboard, so you can pipe it into a SIEM, an audit report, or your own tooling.
The Admin API is available on paid plans. The activity log must be turned on for your account; if it isn't, every route returns 403. Use an Admin API key with the Admin role—Viewer keys can't read the activity log.
Available methods
| Method | Description |
|---|---|
| GET /v0/activity_logs | Returns activity log entries, newest first, with filters and pagination. |
| GET /v0/activity_logs/filters | Returns the actors and types you can filter by. |
| GET /v0/activity_logs/{id} | Returns a single activity log entry by ID. |
Authentication and examples
Authenticate requests to https://api.quicknode.com with your Admin API key in the x-api-key header. Set the QN_API_KEY environment variable before running the method examples. See Admin API authentication for how to obtain a key.
Replace YOUR_QUICKNODE_ADMIN_API_KEY with your Admin API key, then run this example to retrieve the two most recent activity log entries:
export QN_API_KEY="YOUR_QUICKNODE_ADMIN_API_KEY"
curl --get 'https://api.quicknode.com/v0/activity_logs' \
--header "x-api-key: ${QN_API_KEY}" \
--header 'accept: application/json' \
--data-urlencode 'limit=2'
Entry fields
Each activity log entry contains the following fields:
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | Stable ID for the entry. Use it with /v0/activity_logs/{id}. |
occurred_at | string (ISO 8601, UTC) | When the change happened. |
action | string | What happened, such as created, updated, deleted, paused, invited, member_removed. |
description | string | Human-readable summary, the same text the dashboard shows. |
target | object | What was changed. See below. |
actor | object | Who made the change. See below. |
Target object
| Field | Notes |
|---|---|
id | ID of the thing that changed, such as an endpoint ID, team ID, or API key ID. |
kind | One of the filter type values: endpoint, team, member, role, billing, add_on, or api_key. null for entries that don't fall under one of those types. |
label | Display name of the kind, such as Endpoint or API key. |
name | Current name where there is one: endpoint subdomain, team or role name, or API key ID. null when there's no name, for example for billing. |
Actor object
| type | When | id | name | |
|---|---|---|---|---|
user | A member of your account made the change in the dashboard | user uuid | member's name, or their email if they have no name | member's email |
api_key | The change came through the Admin API | API key ID | null | null |
quicknode | Quicknode made the change: support, billing operations, or an automated system job | null | Quicknode | null |
deleted_user | The member who made the change no longer exists | null | Deleted user | null |