Skip to main content

Axiom

@john/axiomv2026.05.26.1· 4d agoMODELS·WORKFLOWS
01README

Query and interrogate Axiom datasets from swamp — list datasets, describe schemas, and run APL queries with results stored as model data.

02Models18
@john/axiom-annotationv2026.05.26.1axiom-annotation.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringUnused for annotations but kept for cross-model consistency.
orgId?string
fn list(datasets?: array, start?: string, end?: string, _client?: unknown)
List every annotation visible to AXIOM_TOKEN — one resource per annotation (factory).
ArgumentTypeDescription
datasets?arrayFilter annotations to those attached to the given dataset names.
start?stringISO-8601 lower bound.
end?stringISO-8601 upper bound.
_client?unknown
fn get(id: string, _client?: unknown)
Fetch one annotation by ID.
ArgumentTypeDescription
idstringAnnotation ID (e.g. `ann_…`).
_client?unknown
fn create(type: string, datasets: array, time?: string, endTime?: string, title?: string, description?: string, url?: string, _client?: unknown)
Create a new annotation. `type` and `datasets` are required.
ArgumentTypeDescription
typestringAnnotation type slug, alphanumeric or hyphens (e.g. `production-deployment`).
datasetsarrayDatasets the annotation should overlay onto.
time?stringISO-8601 timestamp for the annotation. Defaults to server-side request time.
endTime?stringOptional end time for span annotations.
title?string
description?string
url?string
_client?unknown
fn update(id: string, type?: string, datasets?: array, time?: string, endTime?: string, title?: string, description?: string, url?: string, _client?: unknown)
Update mutable fields on an existing annotation.
ArgumentTypeDescription
idstring
type?string
datasets?array
time?string
endTime?string
title?string
description?string
url?string
_client?unknown
fn delete(id: string, _client?: unknown)
Delete an annotation by ID. Destructive — confirm before running.
ArgumentTypeDescription
idstring
_client?unknown

Resources

annotation(infinite)— An Axiom annotation record.
@john/axiom-dashboardv2026.05.26.1axiom-dashboard.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringUnused for dashboards but kept for cross-model consistency.
orgId?string
fn list(_client?: unknown)
List every dashboard visible to AXIOM_TOKEN — one resource per dashboard (factory).
ArgumentTypeDescription
_client?unknown
fn get(uid: string, _client?: unknown)
Fetch one dashboard by UID.
ArgumentTypeDescription
uidstringDashboard UID (1-128 alphanumeric/underscore/hyphen).
_client?unknown
fn create(uid?: string, message?: string, overwrite?: boolean, _client?: unknown)
Create a new dashboard. Returns the newly assigned UID on the resource.
ArgumentTypeDescription
uid?stringOptional stable UID. If omitted, Axiom generates one server-side.
message?stringOptional change-log message for this revision.
overwrite?boolean
_client?unknown
fn update(uid: string, message?: string, overwrite?: boolean, version?: number, _client?: unknown)
Update a dashboard by UID. Pass `version` (or `overwrite: true`) for optimistic concurrency.
ArgumentTypeDescription
uidstring
message?string
overwrite?boolean
version?numberCurrent dashboard version. Required when `overwrite` is false.
_client?unknown
fn delete(uid: string, _client?: unknown)
Delete a dashboard by UID. Destructive — confirm before running.
ArgumentTypeDescription
uidstring
_client?unknown

Resources

dashboard(infinite)— An Axiom dashboard record (full DashboardResource envelope).
@john/axiom-datasetv2026.05.26.1axiom-dataset.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset for get/update/delete/trim/vacuum. Falls back to AXIOM_DATASET env var.
orgId?string
fn list(_client?: unknown)
List every dataset visible to AXIOM_TOKEN — one resource per dataset (factory).
ArgumentTypeDescription
_client?unknown
fn get(dataset?: string, _client?: unknown)
Fetch one dataset by name (or globalArguments.dataset).
ArgumentTypeDescription
dataset?string
_client?unknown
fn create(name: string, description?: string, retentionDays?: number, useRetentionPeriod?: boolean, edgeDeployment?: string, _client?: unknown)
Create a new dataset.
ArgumentTypeDescription
namestringUnique dataset name.
description?string
retentionDays?number
useRetentionPeriod?boolean
edgeDeployment?string
_client?unknown
fn update(dataset?: string, description?: string, retentionDays?: number, useRetentionPeriod?: boolean, _client?: unknown)
Update mutable fields (description, retention) on an existing dataset.
ArgumentTypeDescription
dataset?string
description?string
retentionDays?number
useRetentionPeriod?boolean
_client?unknown
fn delete(dataset?: string, _client?: unknown)
Delete a dataset and all its events. Destructive — confirm before running.
ArgumentTypeDescription
dataset?string
_client?unknown
fn trim(dataset?: string, maxDuration: string, _client?: unknown)
Drop events older than `maxDuration` from a dataset (e.g. maxDuration="7d").
ArgumentTypeDescription
dataset?string
maxDurationstringCompact duration string accepted by Axiom (e.g. "1h", "24h", "7d"). Data older than this is trimmed.
_client?unknown
fn vacuum(dataset?: string, _client?: unknown)
Reclaim storage space by vacuuming the dataset's block store.
ArgumentTypeDescription
dataset?string
_client?unknown

Resources

dataset(infinite)— An Axiom dataset record.
trim(30d)— Result metadata from a dataset trim call.
vacuum(30d)— Result metadata from a dataset vacuum call.
@john/axiom-fieldv2026.05.26.1axiom-field.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset for list/get/update. Falls back to AXIOM_DATASET env var.
orgId?string
fn list(dataset?: string, _client?: unknown)
List every field on a dataset — one resource per field (factory).
ArgumentTypeDescription
dataset?string
_client?unknown
fn get(dataset?: string, fieldId: string, _client?: unknown)
Fetch a single field by id (its name) from a dataset.
ArgumentTypeDescription
dataset?string
fieldIdstringField identifier (the field's name as returned by `list`).
_client?unknown
fn update(dataset?: string, fieldId: string, name: string, type: string, description?: string, unit?: string, hidden?: boolean, _client?: unknown)
Update mutable metadata (description, unit, hidden, type) on a single dataset field.
ArgumentTypeDescription
dataset?string
fieldIdstringField identifier (the field's name as returned by `list`).
namestringField name. Required by the API even on update.
typestringField type. Required by the API even on update.
description?string
unit?string
hidden?boolean
_client?unknown

Resources

field(infinite)— An Axiom dataset field (column) record.
@john/axiom-ingestv2026.05.26.1axiom-ingest.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset for ingest methods. Falls back to AXIOM_DATASET env var.
orgId?string

Resources

ingest(30d)— Result metadata from one Axiom ingest call.
@john/axiom-mapfieldv2026.05.26.1axiom-mapfield.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset for all map-field methods. Falls back to AXIOM_DATASET env var.
orgId?string
fn list(dataset?: string, _client?: unknown)
List every map field on a dataset — one resource per field (factory).
ArgumentTypeDescription
dataset?string
_client?unknown
fn create(dataset?: string, name: string, _client?: unknown)
Create a new map field on a dataset.
ArgumentTypeDescription
dataset?string
namestringName of the map field to create.
_client?unknown
fn delete(dataset?: string, name: string, _client?: unknown)
Delete a map field from a dataset by name. Destructive — confirm before running.
ArgumentTypeDescription
dataset?string
namestringName of the map field to delete.
_client?unknown

Resources

mapfield(infinite)— An Axiom dataset map-field record.
@john/axiom-metrics-infov2026.05.26.1axiom-metrics-info.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset for every introspection method. Falls back to AXIOM_DATASET env var.
orgId?string

Resources

metric(7d)— A metric descriptor discovered in an Axiom metrics dataset.
tag(7d)— A tag attached to a metric or to the dataset as a whole.
tagValue(7d)— A single observed value of a metric- or dataset-scoped tag.
@john/axiom-monitorv2026.05.26.1axiom-monitor.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset — unused by monitor methods, retained for cross-model consistency.
orgId?stringOrganization ID for personal-token requests in multi-org accounts.
fn list(_client?: unknown)
List every monitor visible to AXIOM_TOKEN — one resource per monitor (factory).
ArgumentTypeDescription
_client?unknown
fn get(id: string, _client?: unknown)
Fetch one monitor by id.
ArgumentTypeDescription
idstringMonitor identifier (e.g. `mon_xyz789`).
_client?unknown
fn create(name: string, description?: string, aplQuery?: string, mplQuery?: string, alertOnNoData?: boolean, columnName?: string, compareDays?: number, disabled?: boolean, disabledUntil?: string, intervalMinutes?: number, rangeMinutes?: number, notifierIds?: array, notifyByGroup?: boolean, notifyEveryRun?: boolean, resolvable?: boolean, secondDelay?: number, skipResolved?: boolean, threshold?: number, tolerance?: number, triggerAfterNPositiveResults?: number, triggerFromNRuns?: number, _client?: unknown)
Create a new monitor.
ArgumentTypeDescription
namestringHuman-readable monitor name.
description?string
aplQuery?stringAPL query string. At least one of aplQuery or mplQuery is required server-side.
mplQuery?string
alertOnNoData?boolean
columnName?string
compareDays?number
disabled?boolean
disabledUntil?string
intervalMinutes?number
rangeMinutes?number
notifierIds?array
notifyByGroup?boolean
notifyEveryRun?boolean
resolvable?boolean
secondDelay?number
skipResolved?boolean
threshold?number
tolerance?number
triggerAfterNPositiveResults?number
triggerFromNRuns?number
_client?unknown
fn update(id: string, name: string, description?: string, aplQuery?: string, mplQuery?: string, alertOnNoData?: boolean, columnName?: string, compareDays?: number, disabled?: boolean, disabledUntil?: string, intervalMinutes?: number, rangeMinutes?: number, notifierIds?: array, notifyByGroup?: boolean, notifyEveryRun?: boolean, resolvable?: boolean, secondDelay?: number, skipResolved?: boolean, threshold?: number, tolerance?: number, triggerAfterNPositiveResults?: number, triggerFromNRuns?: number, _client?: unknown)
Replace a monitor's configuration. `name` and `type` are required by the API.
ArgumentTypeDescription
idstringMonitor identifier to update.
namestringMonitor name (required by the API on PUT).
description?string
aplQuery?string
mplQuery?string
alertOnNoData?boolean
columnName?string
compareDays?number
disabled?boolean
disabledUntil?string
intervalMinutes?number
rangeMinutes?number
notifierIds?array
notifyByGroup?boolean
notifyEveryRun?boolean
resolvable?boolean
secondDelay?number
skipResolved?boolean
threshold?number
tolerance?number
triggerAfterNPositiveResults?number
triggerFromNRuns?number
_client?unknown
fn delete(id: string, _client?: unknown)
Delete a monitor. Destructive — confirm before running.
ArgumentTypeDescription
idstringMonitor identifier to delete. Destructive.
_client?unknown
fn history(id: string, startTime: string, endTime: string, _client?: unknown)
Fetch alert-history entries for a monitor within a [startTime, endTime] window.
ArgumentTypeDescription
idstringMonitor identifier whose history to fetch.
startTimestringISO-8601 lower bound for the history window (required by the API).
endTimestringISO-8601 upper bound for the history window (required by the API).
_client?unknown

Resources

monitor(infinite)— An Axiom monitor configuration.
monitor-history(30d)— Alert state-change history for a monitor over a time window.
@john/axiom-notifierv2026.05.26.1axiom-notifier.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset — unused by notifier methods, retained for cross-model consistency.
orgId?stringOrganization ID for personal-token requests in multi-org accounts.
fn list(_client?: unknown)
List every notifier visible to AXIOM_TOKEN — one resource per notifier (factory).
ArgumentTypeDescription
_client?unknown
fn get(id: string, _client?: unknown)
Fetch one notifier by id.
ArgumentTypeDescription
idstringNotifier identifier (e.g. `notify_slack_prod`).
_client?unknown
fn create(name: string, type: string, config: record, disabledUntil?: string, _client?: unknown)
Create a new notifier for the given channel `type`.
ArgumentTypeDescription
namestringHuman-readable notifier name.
typestringChannel discriminator — one of `slack`, `email`, `pagerduty`, `opsgenie`, `discord`, `discordWebhook`, `microsoftTeams`, `webhook`, `customWebhook`. Becomes the key under `properties`.
configrecordChannel-specific configuration object (e.g. `{ url: '…' }` for slack).
disabledUntil?string
_client?unknown
fn update(id: string, name: string, type: string, config: record, disabledUntil?: string, _client?: unknown)
Replace a notifier's configuration. `name` and `type` are required by the API.
ArgumentTypeDescription
idstringNotifier identifier to update.
namestringNotifier name (required by the API on PUT).
typestringChannel discriminator (required on PUT so the correct `properties.<type>` key is sent).
configrecordChannel-specific configuration object that replaces the existing settings.
disabledUntil?string
_client?unknown
fn delete(id: string, _client?: unknown)
Delete a notifier. Destructive — confirm before running.
ArgumentTypeDescription
idstringNotifier identifier to delete. Destructive.
_client?unknown

Resources

notifier(infinite)— An Axiom notifier configuration.
@john/axiom-orgv2026.05.26.1axiom-org.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset — unused by org methods, retained for cross-model consistency.
orgId?string
fn list(_client?: unknown)
List every organization visible to AXIOM_TOKEN — one resource per org (factory).
ArgumentTypeDescription
_client?unknown
fn create(name: string, edgeDeployment?: string, _client?: unknown)
Create a new organization.
ArgumentTypeDescription
namestringName of the new organization.
edgeDeployment?stringOptional default edge deployment for the org.
_client?unknown
fn get(id: string, _client?: unknown)
Fetch a single organization by ID.
ArgumentTypeDescription
idstringOrg ID to fetch.
_client?unknown
fn update(id: string, name: string, _client?: unknown)
Update the name of an existing organization.
ArgumentTypeDescription
idstringOrg ID to update.
namestringUpdated organization name.
_client?unknown

Resources

org(infinite)— An Axiom organization record.
@john/axiom-queryv2026.05.26.1axiom-query.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset for tail. Falls back to AXIOM_DATASET env var.
orgId?string
fn apl(apl: string, startTime?: string, endTime?: string, lookback?: string, name?: string, cursor?: string, defaultLimit?: number, _client?: unknown)
Run an APL query. Embed the dataset in the query string itself.
ArgumentTypeDescription
aplstringAPL query. Reference the dataset inside the query, e.g. ['my_dataset'] | where ... | limit 100.
startTime?string
endTime?string
lookback?stringCompact duration window ("30s", "5m", "24h", "7d") used to derive startTime. Ignored if startTime is set.
name?string
cursor?stringPagination cursor returned by a previous APL query.
defaultLimit?number
_client?unknown
fn tail(dataset?: string, limit: number, filter?: string, startTime?: string, endTime?: string, lookback?: string, name?: string, _client?: unknown)
Fetch the most recent N events from a dataset, optionally filtered by an APL where-clause fragment.
ArgumentTypeDescription
dataset?string
limitnumber
filter?stringOptional APL fragment placed in a `where` clause, e.g. severity == 'error'.
startTime?string
endTime?string
lookback?string
name?string
_client?unknown
fn mpl(mpl: string, startTime?: string, endTime?: string, lookback?: string, quickRange?: string, name?: string, _client?: unknown)
Run an MPL (Metrics Pipeline Language) query. Use for metrics datasets.
ArgumentTypeDescription
mplstringMPL (Metrics Pipeline Language) query string.
startTime?string
endTime?string
lookback?string
quickRange?stringShortcut for common ranges (e.g. "last-1h", "last-24h"). Mutually exclusive with explicit start/end/lookback.
name?string
_client?unknown
fn batch(queries: array, startTime?: string, endTime?: string, lookback?: string, name?: string, _client?: unknown)
Run multiple legacy-format queries in a single batch.
ArgumentTypeDescription
queriesarrayArray of raw legacy-query bodies as documented for /v1/query/batch.
startTime?string
endTime?string
lookback?string
name?string
_client?unknown

Resources

result(7d)— Result rows from an APL or MPL query.
batch(7d)— Result envelope from a batch query.
@john/axiom-rbac-groupv2026.05.26.1axiom-rbac-group.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset — unused by RBAC methods, retained for cross-model consistency.
orgId?string
fn list(_client?: unknown)
List every RBAC group in the organization — one resource per group (factory).
ArgumentTypeDescription
_client?unknown
fn create()
Create a new RBAC group.
fn get(id: string, _client?: unknown)
Fetch a single RBAC group by ID.
ArgumentTypeDescription
idstringGroup ID to fetch.
_client?unknown
fn update()
Replace an existing RBAC group's configuration (name, members, roles).
fn delete(id: string, _client?: unknown)
Delete an RBAC group. Destructive — verify the ID before running.
ArgumentTypeDescription
idstringGroup ID to delete.
_client?unknown

Resources

group(infinite)— An Axiom RBAC group record.
@john/axiom-rbac-rolev2026.05.26.1axiom-rbac-role.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset — unused by RBAC methods, retained for cross-model consistency.
orgId?string
fn list(_client?: unknown)
List every RBAC role in the organization — one resource per role (factory).
ArgumentTypeDescription
_client?unknown
fn create()
Create a new RBAC role with the specified permissions.
fn get(id: string, _client?: unknown)
Fetch a single RBAC role by ID.
ArgumentTypeDescription
idstringRole ID to fetch.
_client?unknown
fn update()
Replace an existing RBAC role's configuration (name, members, capabilities).
fn delete(id: string, _client?: unknown)
Delete an RBAC role. Destructive — verify the ID before running.
ArgumentTypeDescription
idstringRole ID to delete.
_client?unknown

Resources

role(infinite)— An Axiom RBAC role record.
@john/axiom-starred-queryv2026.05.26.1axiom-starred-query.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringUnused for starred queries but kept for cross-model consistency.
orgId?string
fn list(who?: string, dataset?: string, _client?: unknown)
List every APL starred query visible to AXIOM_TOKEN — one resource per query (factory).
ArgumentTypeDescription
who?stringFilter by owner user ID.
dataset?stringFilter by dataset name.
_client?unknown
fn get(id: string, _client?: unknown)
Fetch one starred query by ID.
ArgumentTypeDescription
idstringStarred query ID.
_client?unknown
fn create(name: string, kind: literal, who: string, dataset?: string, metadata: record, _client?: unknown)
Create a new starred APL query.
ArgumentTypeDescription
namestringHuman-readable name for the saved query.
kindliteralQuery kind. Only `apl` is supported by this endpoint.
whostringOwner user ID.
dataset?string
metadatarecord
_client?unknown
fn update(id: string, name?: string, kind?: literal, who?: string, dataset?: string, metadata?: record, _client?: unknown)
Update fields on an existing starred query. Sends a full replacement body.
ArgumentTypeDescription
idstring
name?string
kind?literal
who?string
dataset?string
metadata?record
_client?unknown
fn delete(id: string, _client?: unknown)
Delete a starred query by ID. Destructive — confirm before running.
ArgumentTypeDescription
idstring
_client?unknown

Resources

starred(infinite)— An Axiom APL starred query record.
@john/axiom-tokenv2026.05.26.1axiom-token.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset — unused by token methods, retained for cross-model consistency.
orgId?string
fn list(_client?: unknown)
List every API token visible to AXIOM_TOKEN — one resource per token (factory).
ArgumentTypeDescription
_client?unknown
fn get(id: string, _client?: unknown)
Fetch a single API token by ID.
ArgumentTypeDescription
idstringToken ID to fetch.
_client?unknown
fn create(name: string, description?: string, expiresAt?: string, datasetCapabilities?: record, orgCapabilities?: record, viewCapabilities?: record, _client?: unknown)
Create an API token. Response includes the cleartext token value, which is routed through the vault.
ArgumentTypeDescription
namestringHuman-readable token name.
description?string
expiresAt?stringISO-8601 expiration. Pass null/omit for non-expiring.
datasetCapabilities?record
orgCapabilities?record
viewCapabilities?record
_client?unknown
fn delete(id: string, _client?: unknown)
Delete an API token. Destructive — verify the ID before running.
ArgumentTypeDescription
idstringToken ID to delete.
_client?unknown
fn regenerate(id: string, existingTokenExpiresAt: string, newTokenExpiresAt?: string, _client?: unknown)
Regenerate an API token. Returns a fresh secret value (vaulted) and grace-period metadata for the previous one.
ArgumentTypeDescription
idstringToken ID to regenerate.
existingTokenExpiresAtstringISO-8601 time at which the existing token becomes invalid (grace period).
newTokenExpiresAt?stringISO-8601 expiration for the new token. Null/omitted means non-expiring.
_client?unknown

Resources

token(infinite)— Axiom API token metadata (no secret value).
tokenWithSecret(infinite)— Axiom API token including the cleartext secret. Secret is vaulted.
@john/axiom-userv2026.05.26.1axiom-user.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset — unused by user methods, retained for cross-model consistency.
orgId?string
fn list(_client?: unknown)
List every user in the organization — one resource per user (factory).
ArgumentTypeDescription
_client?unknown
fn create(name: string, email: string, role: string, _client?: unknown)
Create a new user in the organization.
ArgumentTypeDescription
namestringFull name of the new user.
emailstringEmail address of the new user.
rolestringRole identifier to assign (e.g. "member", "admin").
_client?unknown
fn get(id: string, _client?: unknown)
Fetch a single user by ID.
ArgumentTypeDescription
idstringUser ID to fetch.
_client?unknown
fn whoami(_client?: unknown)
Fetch the user record associated with AXIOM_TOKEN. Writes the singleton `user-current` instance.
ArgumentTypeDescription
_client?unknown

Resources

user(infinite)— An Axiom user record.
@john/axiom-vfieldv2026.05.26.1axiom-vfield.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringDefault dataset for `list` and `create`. Falls back to AXIOM_DATASET env var.
orgId?string
fn list(dataset?: string, _client?: unknown)
List every virtual field for a dataset — one resource per field (factory).
ArgumentTypeDescription
dataset?string
_client?unknown
fn create(dataset?: string, name: string, expression: string, description?: string, type?: string, unit?: string, _client?: unknown)
Create a new virtual field on a dataset.
ArgumentTypeDescription
dataset?string
namestringDisplay name of the virtual field.
expressionstringAPL expression that derives the field's value.
description?string
type?string
unit?string
_client?unknown
fn get(id: string, _client?: unknown)
Fetch a single virtual field by id.
ArgumentTypeDescription
idstringServer-issued virtual-field id.
_client?unknown
fn update(id: string, dataset: string, name: string, expression: string, description?: string, type?: string, unit?: string, _client?: unknown)
Update an existing virtual field's expression and metadata.
ArgumentTypeDescription
idstringServer-issued virtual-field id.
datasetstringDataset the virtual field belongs to. Required by the API on update.
namestringDisplay name of the virtual field.
expressionstringAPL expression that derives the field's value.
description?string
type?string
unit?string
_client?unknown
fn delete(id: string, _client?: unknown)
Delete a virtual field by id. Destructive — confirm before running.
ArgumentTypeDescription
idstringServer-issued virtual-field id.
_client?unknown

Resources

vfield(infinite)— An Axiom virtual-field (derived expression) record.
@john/axiom-viewv2026.05.26.1axiom-view.ts

Global Arguments

ArgumentTypeDescription
apiUrlstringAxiom API base URL. Override for self-hosted or staging endpoints.
dataset?stringUnused for views but kept for cross-model consistency.
orgId?string
fn list(_client?: unknown)
List every view visible to AXIOM_TOKEN — one resource per view (factory).
ArgumentTypeDescription
_client?unknown
fn get(id: string, _client?: unknown)
Fetch one view by ID.
ArgumentTypeDescription
idstringView ID.
_client?unknown
fn create(name: string, aplQuery: string, description?: string, datasets?: array, _client?: unknown)
Create a new view. `name` and `aplQuery` are required.
ArgumentTypeDescription
namestringHuman-readable name for the view.
aplQuerystringAPL query body that the view persists.
description?string
datasets?arrayDatasets referenced by the view's APL query.
_client?unknown
fn update(id: string, name?: string, aplQuery?: string, description?: string, datasets?: array, _client?: unknown)
Update an existing view by ID. Sends a full replacement body.
ArgumentTypeDescription
idstring
name?string
aplQuery?string
description?string
datasets?array
_client?unknown
fn delete(id: string, _client?: unknown)
Delete a view by ID. Destructive — confirm before running.
ArgumentTypeDescription
idstring
_client?unknown

Resources

view(infinite)— An Axiom saved-view record.
03Workflows14
@john/axiom-deploy-window-diff137bbee5-985e-48d7-89b7-06034843f51e

Compare service health metrics from a window *before* a deploy against a matching window *after* it. Produces four parallel queries — request rate, error rate, p95 latency, and unique error fingerprints — so a reviewer can see the deploy's blast radius in one place. Wire it into your release pipeline as a post-deploy check, or run it manually when triaging a suspected regression. The four result resources can be fed into a diff/report workflow or an LLM call for narrative output.

beforeSnapshot the window leading up to the deploy.
1.volume-beforeaxiom-query.apl
2.errors-beforeaxiom-query.apl
3.latency-beforeaxiom-query.apl
afterSnapshot the window after the deploy in parallel.
1.volume-afteraxiom-query.apl
2.errors-afteraxiom-query.apl
3.latency-afteraxiom-query.apl
@john/axiom-monitor-coverage-audit23e4889b-39b1-4913-bad9-6c2e003d08ed

Cross-reference monitors, notifiers, and datasets to surface alerting gaps: datasets with no monitors at all, monitors targeting non-existent datasets, and monitors with no notifiers attached (silent alerts). Produces three resource families a reviewer can read at a glance. Use this monthly to keep monitor hygiene tight, or after a large dataset migration to ensure alerts followed the move.

inventoryInventory datasets, monitors, and notifiers in parallel.
1.datasetsaxiom-dataset.list— Every dataset visible to the token.
2.monitorsaxiom-monitor.list— Every monitor — name, type, target dataset(s), notifier IDs.
3.notifiersaxiom-notifier.list— Every notifier — name, type, channel config (sensitive bits vaulted).
@john/axiom-cardinality-explorer4064637a-a16d-4217-abb0-0deeb2abd6d5

Measure the cardinality (distinct value count) of selected fields over a recent window. High-cardinality dimensions are the usual suspect when queries get slow, dashboards lag, or storage costs spike. Use this to spot fields that exploded in cardinality between releases — common with un-bucketed request IDs leaking into a tag. Supply a comma-separated list of fields. The workflow emits one count per field as a single rollup row plus a top-N values listing per field.

exploreTotal distinct count + top-N value distribution for the field.
1.cardinalityaxiom-query.apl— Single distinct count via APL `dcount`.
2.top-valuesaxiom-query.apl— Top N most-frequent values — quick visual on whether the field is bucketed or unbounded.
@john/axiom-noisy-monitor-finder51f788ca-b5f3-4c8a-a7a1-069b01211828

Find monitors that fired more than `thresholdFires` times in the supplied lookback window. Alert fatigue is the silent killer of an on-call rotation; this workflow surfaces the worst offenders so you can tune thresholds, add hysteresis, or retire stale monitors. Pulls the full monitor list, then fetches per-monitor history for the monitorId given. (Per-monitor history requires an explicit ID — the API doesn't expose a fleet-wide history endpoint.) For fleet-wide auditing, invoke this workflow N

inspectLook up the monitor + pull its alert history.
1.monitoraxiom-monitor.get— Monitor definition (name, query, threshold, notifier IDs).
2.historyaxiom-monitor.history— Alert state transitions in the lookback window.
@john/axiom-retention-audit5929cf8d-8a47-4ff3-abe0-78d98b88f3c3

Snapshot the retention configuration of every dataset in the workspace so governance/finops can see at a glance which datasets are unbounded, which carry costly long retention, and which are correctly capped. List-datasets returns one resource per dataset; downstream reports/CEL can filter on `retentionDays`, `useRetentionPeriod`, and `kind`.

auditList every dataset and capture its retention configuration.
1.listaxiom-dataset.list— One `dataset` resource per dataset, including retentionDays and useRetentionPeriod.
@john/axiom-quiet-dataset-detector6049e56d-2ec2-4631-a8a4-4c4d5e500039

Detect datasets that have stopped ingesting in a recent window. The most common cause is a broken collector — a service was redeployed, IAM was rotated, or the OTel endpoint changed. This workflow finds the gap before someone notices missing data in a dashboard the next morning. Step 1 lists every dataset, step 2 counts events per dataset over the configured window. A dataset with zero events in the window is a candidate outage — chain into a notifier workflow or open a ticket.

checkCount events in the target dataset's recent window.
1.volumeaxiom-query.apl— Event count over the lookback window — zero = candidate outage.
2.last-event-timeaxiom-query.apl— When was the most recent event? Helps distinguish "never ingested" from "stopped ingesting".
@john/axiom-error-triage6f1c58a7-2ef6-4bad-a978-20d93e292e43

Triage errors in an Axiom dataset over a recent window. Runs two queries: a count-by-group rollup so you can see which services/scopes are noisy, and a sorted sample of the most-recent matching events (with trace_ids you can feed into `axiom-trace-lookup`). The error predicate is configurable because every team encodes "error" differently — pick whichever APL fragment matches your conventions.

triageCount errors by group, then pull recent samples in parallel.
1.countsaxiom-query.apl— Errors bucketed by the configured group field, top 50 by count.
2.samplesaxiom-query.apl— Most-recent matching events, including trace_id and span_id for chaining into axiom-trace-lookup.
@john/axiom-ingest-health-check817c147e-8c16-4a61-a742-6d6c01a3020c

End-to-end probe of Axiom's ingestion path. Writes a single tagged event, waits a configurable settle period, then queries for it. Use as a synthetic check after collector upgrades, network reconfigurations, or as a scheduled heartbeat (combine with `swamp serve` + a `trigger.schedule`).

writeIngest the probe event.
1.ingestaxiom-ingest.ingest-events— POST a single tagged event so we can prove ingestion works end-to-end.
verifyQuery for the probe event we just wrote.
1.read-backaxiom-query.apl— Count rows tagged with the probeId in the last 15 minutes.
@john/axiom-explore87598695-611e-445d-9b30-2819a9637cba

Quick interrogation of an Axiom dataset: list everything visible to the token, tail the most recent events, and run a one-shot APL summary.

catalogList every dataset the token can see.
1.listaxiom-dataset.list— List datasets.
interrogateTail recent events and run a one-shot summary against the dataset.
1.tailaxiom-query.tail— Most-recent events sorted by _time desc.
2.summaryaxiom-query.apl— Run an APL rollup so users see the shape of the data, not just rows.
@john/axiom-schema-audit8e8f4c8e-2426-44a8-9e63-570115d6a566

Audit an Axiom dataset for schema sanity. Dumps every column via APL `getschema`, then runs follow-up rollups so a human reviewer can spot dotted-vs-nested collisions (e.g. `service.name` vs `service\.name`), unusually sparse columns, and the per-group event volume distribution.

auditSchema + volume + literal-dot detection.
1.schemaaxiom-query.apl— Dump every column the dataset currently exposes.
2.literal-dot-columnsaxiom-query.apl— Find columns whose name was ingested with a literal `.` (escaped as `\.` by `getschema`). These appear when an event sends a top-level key like `"service.name"` instead of nesting it as `{service: {name: ...}}` and cause silent shadowing of the real flattened column.
3.volume-by-groupaxiom-query.apl— Event volume bucketed by the user-supplied group field — surfaces dead services and dominators.
4.totalsaxiom-query.apl— One-row sanity check — total events in the window.
@john/axiom-top-services-rollupb2098071-a6f9-4f50-840d-c156a461775e

Golden-signals rollup over a configurable window: top N services by event volume, top N by p95 latency, and top N by error count. Three parallel APL queries grouped by the user-supplied service field — the canonical "Where's the noise coming from?" weekly review.

rollupThree parallel queries — volume, latency, errors.
1.by-volumeaxiom-query.apl— Top N services by event count.
2.by-latencyaxiom-query.apl— Top N services by p95 latency.
3.by-errorsaxiom-query.apl— Top N services by error count.
@john/axiom-trace-lookupcce127d6-7395-4d8f-bf1a-b2fb7c8e6d3b

Fetch every span belonging to a single trace_id and write the ordered result so a workflow can chain off it (e.g. send to an LLM for explanation, or open a trace viewer URL). Lookback defaults to 24h so cold traces still resolve; widen with `lookback=7d` when investigating older incidents.

fetchPull every span tagged with the trace_id, oldest first.
1.spansaxiom-query.apl— APL `where trace_id == '<id>' | sort by _time asc`.
@john/axiom-rbac-snapshote8ea3868-d81b-439a-b659-418c5d075618

Compliance / security snapshot: lists every user, role, and group in the workspace. Run this on a schedule and diff successive runs to detect unexpected privilege grants, stale accounts, or role creep. Combine with a report extension for a quarterly access review.

snapshotInventory users, roles, groups in parallel.
1.usersaxiom-user.list— Every user — id, email, role assignment, last login (if exposed).
2.rolesaxiom-rbac-role.list— Every RBAC role and its capability map.
3.groupsaxiom-rbac-group.list— Every RBAC group and its member list / role assignments.
@john/axiom-saved-query-backupeabb3b38-79d9-45fe-b5c4-78a56163b79d

Bulk-export every starred (saved) APL query in the workspace into swamp data. Use this for: - disaster-recovery snapshots (datasets can be rebuilt; the institutional knowledge in saved queries cannot) - GitOps — diff this workflow's output against a previous run to surface unauthorised changes to shared queries - migrations between Axiom workspaces (pair with `swamp data get` + a corresponding axiom-starred-query create call on the target) Each starred query is written as its

exportPull every starred query.
1.listaxiom-starred-query.list— One `starredQuery` resource per saved query — full APL body, metadata, owner.
04Stats
B
85 / 100
Downloads
3
Archive size
76.7 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository0/2missing
05Platforms