Schemas
Advisory
idOSV ID of the advisory.
familyDistribution family: debian, ubuntu, almalinux, rocky or rhel. New values may be added.
kindcve for a distribution's record of one CVE across its releases (DEBIAN-CVE, UBUNTU-CVE), notice for a security notice that ships fixed packages (DSA, DLA, USN, ALSA, RLSA, RHSA).
cve A distribution's record of one CVE across its releases, including unfixed ones: DEBIAN-CVE-… or UBUNTU-CVE-…. |
notice A security notice that ships fixed packages, usually for several CVEs: DSA, DLA, USN, ALSA, RLSA or RHSA. |
advisory A package ecosystem's advisory of a vulnerable package: a GitHub (GHSA), Drupal or Packagist (PKSA) security advisory. |
malware A package published with malicious code, every listed version is affected: MAL-…. |
summaryShort title, null for CVE records.
detailsDescription, cut to a few hundred characters.
severitySeverity normalised across distributions: the distribution's rating when it has one, otherwise the CVSS v3 band. Debian and Ubuntu notices take the highest rating of the CVEs they fix.
critical Ubuntu critical, Red Hat Critical, or a CVSS base score of 9.0 or higher. |
high Ubuntu high, Red Hat Important, Debian high, or a CVSS base score from 7.0. |
medium Ubuntu medium, Red Hat Moderate, Debian medium, or a CVSS base score from 4.0. |
low Ubuntu low, Red Hat Low, Debian low, or a CVSS base score below 4.0. |
negligible Ubuntu negligible or Debian unimportant: no practical impact on the distribution's builds. |
unknown Not rated yet. |
cvssThe highest CVSS v3 base score and its vector, null without a CVSS v3 vector.
CVE IDs the advisory covers.
aliasesCVE IDs and related advisories of the same distribution, such as the DEBIAN-CVE records a DSA fixes, or the RHSA an AlmaLinux erratum rebuilds.
A few references, advisories and fixes first.
urlThe distribution's page of the advisory, or its OSV.dev page.
published_atISO 8601 publication timestamp, null when unknown.
modified_atISO 8601 timestamp of the last change to the advisory.
Affected packages per imported release with their version range.
AdvisoryKind
cve A distribution's record of one CVE across its releases, including unfixed ones: DEBIAN-CVE-… or UBUNTU-CVE-…. |
notice A security notice that ships fixed packages, usually for several CVEs: DSA, DLA, USN, ALSA, RLSA or RHSA. |
advisory A package ecosystem's advisory of a vulnerable package: a GitHub (GHSA), Drupal or Packagist (PKSA) security advisory. |
malware A package published with malicious code, every listed version is affected: MAL-…. |
AdvisoryPackage
releaseRelease such as debian:12, ubuntu:22.04, ubuntu-pro:16.04 (Ubuntu Pro fixes), almalinux:9, rocky:9 or rhel:9.
namePackage name as the distribution publishes it: the source package for Debian, Ubuntu and Rocky Linux, the binary package for AlmaLinux and Red Hat.
introducedFirst affected version, null when every earlier version is affected.
fixedFirst fixed version, null when no fix is released for the release.
last_affectedLast affected version for a range without a fix, usually null.
AdvisorySeverity
Advisory severity normalised across distributions and package ecosystems: the distribution's own rating when it has one (Ubuntu priority, the Red Hat rating of AlmaLinux and Rocky errata, Debian's unimportant) or GitHub's rating of a package advisory, otherwise the CVSS v3 base score band. Malicious packages are critical.
critical Ubuntu critical, Red Hat Critical, or a CVSS base score of 9.0 or higher. |
high Ubuntu high, Red Hat Important, Debian high, or a CVSS base score from 7.0. |
medium Ubuntu medium, Red Hat Moderate, Debian medium, or a CVSS base score from 4.0. |
low Ubuntu low, Red Hat Low, Debian low, or a CVSS base score below 4.0. |
negligible Ubuntu negligible or Debian unimportant: no practical impact on the distribution's builds. |
unknown Not rated yet. |
AgentRelease
versionStable semantic version.
tagGit tag of the release.
urlRelease notes on GitHub, null for a release added by hand.
is_latestWhether this is the newest release, the version an agent update installs.
published_atISO 8601 timestamp of the publication.
rollout_starts_atISO 8601 timestamp after which the release is rolled out automatically, 24 hours after its publication by default.
AgentUpdateResult
The code an agent reports in the result of an update_agent command, see "Agent updates" in the agent protocol.
updated The target version is installed and running. |
install_failed The package manager failed, the previous version is still installed. |
readiness_failed_rolled_back The new version did not become ready, the previous version was reinstalled and runs again. |
rollback_failed The new version did not become ready and reinstalling the previous version failed too. |
target_unavailable The package repository does not offer the target version. |
rollback_unavailable The package repository does not offer the installed version, which a rollback needs, so the update was not attempted. |
package_manager_busy Another process held the package manager lock for an hour. |
unsupported_install The agent was not installed from the Server Chief package and repository. |
Alert
idFormatted alert ID.
statusfiring until two evaluations in a row no longer breach the rule, then resolved.
The server the alert is about.
rule_idFormatted ID of the rule that raised it, null once the rule was deleted.
rule_descriptionWhat the rule said when the alert fired.
metricWhat a metric alert rule watches. Each reads one or more stored metrics (see the metrics protocol catalog) and combines the samples of one moment into a value in the unit people set thresholds in: load_per_core divides the 5-minute load by the number of cores, disk_operations adds reads and writes.
conditionduration_minutesinstanceThe mount point, disk or interface, null for a server-wide value.
unitUnit of the values, such as %, Mbit/s or minutes. Empty for a plain number.
baseline_valueThe normal level the value was compared to when the alert fired, null for a fixed threshold.
threshold_valueThe value the metric had to stay above or below when the alert fired, null for alerts from before it was kept.
valueThe newest value of the rule's window while it fired.
peak_valueThe worst value while it was firing: the highest for above rules, the lowest for below rules.
descriptionThe alert in words.
fired_atISO 8601 time the rule fired.
resolved_atISO 8601 time the alert resolved, null while it fires.
closed_reasonWhy it closed without the metric recovering, null when it recovered or still fires.
AlertBaseline
The normal level a metric alert rule compares to instead of a fixed value. time_of_day averages the metric over the same time of day, half an hour either side, on each of the past seven days, so daily busy hours and nightly jobs count as normal.
AlertFiredEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA metric alert rule fired.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
AlertMetric
What a metric alert rule watches. Each reads one or more stored metrics (see the metrics protocol catalog) and combines the samples of one moment into a value in the unit people set thresholds in: load_per_core divides the 5-minute load by the number of cores, disk_operations adds reads and writes.
AlertResolvedEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA firing alert resolved.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
AlertResolvedReason
Why a metric alert closed, sent as data.reason of the alert.resolved webhook.
recovered The metric stayed within the rule for two checks in a row, the only reason the problem went away. |
out_of_scope The rule no longer covers the server, or the server stopped collecting metrics. |
rule_changed Someone changed the rule, alerts it opens from now on follow the new rule. |
rule_disabled Someone turned the rule off. |
rule_deleted Someone deleted the rule. |
AlertRule
idFormatted alert rule ID.
metricWhat the rule watches.
conditionthresholdThreshold in the metric's unit, or for a baseline rule the percentage above or below the normal level.
minimum_differenceFor a baseline rule: how much the value must at least differ from normal, in the metric's unit. Null for any difference.
unitUnit of the threshold and alert values, such as %, Mbit/s or minutes. Empty for a plain number.
duration_minutesMinutes the metric must stay above or below the threshold (or the normal level) before the rule fires.
scopeall for every server of the team, tag for the servers with a tag, servers for the chosen servers.
excludeFor tag and servers rules: watch the servers without the tag, or all servers except the chosen ones.
The chosen servers of a servers rule, empty for other rules.
instanceThe mount point, disk or interface the rule watches, null for all mount points or the host total of disks and interfaces.
enabledWhether the rule is evaluated. Turning it off closes its open alerts.
descriptionThe rule in words.
scope_descriptionWhere the rule applies, in words.
firing_alerts_countAlerts of the rule that are firing.
created_atISO 8601 creation timestamp.
updated_atISO 8601 last-update timestamp.
AlertScope
Which of the team's servers a metric alert rule watches. A tag or server rule can also exclude them: all servers without the tag, or all servers except the chosen ones.
Application
idFormatted application ID.
pathThe application root, the directory at or above a document root with its manifests or WordPress core, through symbolic links such as a deploy's current/.
kindWhat the application is: the first of WordPress, Laravel and Symfony that matches, else a Composer or npm project.
versionThe WordPress, Laravel (laravel/framework) or Symfony (symfony/http-kernel) version, null for other kinds or when it cannot be read.
end_of_lifeWhether the WordPress, Laravel or Symfony release is past its end of life according to endoflife.date.
end_of_life_atDate the release reaches or reached its end of life, null when endoflife.date has no date.
latest_versionThe latest WordPress release, null for other kinds or while it is unknown.
outdatedWhether WordPress is older than its latest release, null for other kinds or when it cannot be told.
sitesNames of the sites it serves, sorted.
ownerThe Plesk subscription, DirectAdmin user or home directory owner of its first site, null when unknown.
lockfilesThe lockfiles read at the application root.
packages_countComposer and npm packages of its lockfiles, development dependencies included.
plugins_countWordPress plugins, must-use plugins included.
themes_countWordPress themes.
truncatedWhether packages, plugins or themes were left out because the agent's limits were reached.
detected_atISO 8601 timestamp the agent first reported the application.
The server the application runs on.
open_vulnerabilities_countOpen vulnerabilities of packages it needs in production.
malicious_packages_countOpen malicious packages, in production or development dependencies.
ApplicationEcosystem
Where an application's package comes from: its Composer or npm lockfile, or a WordPress install's plugin and theme directories. wordpress-core is WordPress itself, never a package row: vulnerabilities of a WordPress release carry it.
ApplicationKind
What a web application is, from the agent's applications dataset: the first of WordPress, Laravel and Symfony that matches, else a Composer or npm project.
ApplicationPackage
ecosystemcomposer or npm for a package of a lockfile, wordpress-plugin or wordpress-theme for a WordPress plugin or theme.
nameThe package name, or a plugin's or theme's directory (its slug).
versionThe installed version, null when a plugin or theme header names none.
titleA plugin's or theme's name from its header, null for packages.
directWhether composer.json or package.json requires the package itself rather than another package.
devWhether only development dependencies need the package.
must_useWhether the plugin is a must-use plugin, which WordPress always loads.
parentThe parent theme of a child theme.
latest_versionThe newest stable release on Packagist, npm or WordPress.org, null when the registry does not have the package or it was not looked up yet.
latest_released_atISO 8601 timestamp the latest stable release was published, when the registry tells.
outdatedWhether the installed version is older than the latest stable release, null when it cannot be told.
ApplicationVulnerability
vulnerability_idThe CVE ID, or the advisory ID for an advisory that names no CVE, such as a malicious package's MAL ID. A CVE that GitHub and Drupal both publish is listed once.
advisory_idThe most severe advisory covering it.
advisory_idsEvery advisory that covers this vulnerability for the package: GitHub (GHSA), Drupal and malicious package advisories from OSV.dev, and Wordfence Intelligence's for WordPress (WORDFENCE- and the record's ID).
advisory_urlThe page of the most severe advisory. Wordfence's records are copyright Defiant Inc. and licensed on the condition that copies link to the record and reproduce the copyright and license, see https://www.wordfence.com/wordfence-intelligence-terms-and-conditions/.
summarySummary of the deciding advisory, or the start of its description.
ecosystemcomposer, npm, wordpress-plugin, wordpress-theme, or wordpress-core for WordPress itself (package wordpress).
packageinstalled_versionfixed_versionThe lowest release that fixes it above the installed version, null without a fix and always for a malicious package.
fix_statusavailable when a fixed release exists, none without one.
available The package manager offers an update to the fixed version or later, installing pending updates fixes it. |
reboot A newer installed kernel fixes it, rebooting into that kernel does. |
released A fix was released, but the server's package manager does not offer it yet: it waits for a point release (Debian's proposed-updates), its package lists are stale, or the fix needs a subscription such as Ubuntu Pro (ESM). |
none The distribution has not released a fix for the server's release. |
severityGitHub's or Wordfence's rating of the advisory, otherwise the CVSS v3 band. Malicious packages are critical.
critical Ubuntu critical, Red Hat Critical, or a CVSS base score of 9.0 or higher. |
high Ubuntu high, Red Hat Important, Debian high, or a CVSS base score from 7.0. |
medium Ubuntu medium, Red Hat Moderate, Debian medium, or a CVSS base score from 4.0. |
low Ubuntu low, Red Hat Low, Debian low, or a CVSS base score below 4.0. |
negligible Ubuntu negligible or Debian unimportant: no practical impact on the distribution's builds. |
unknown Not rated yet. |
cvss_scoreHighest CVSS v3 base score of the advisories, null without a CVSS v3 vector.
maliciousWhether the package was published with malicious code: remove it and check the server.
devWhether only development dependencies need the package. Such vulnerabilities are not counted or alerted on.
known_exploitedWhether CISA lists the CVE in its Known Exploited Vulnerabilities catalog.
known_exploited_atDate CISA added the CVE to its Known Exploited Vulnerabilities catalog, null when it is not listed.
epss_scoreFIRST's EPSS score: the probability of exploitation activity in the next 30 days, 0 to 1.
epss_percentileHow the EPSS score ranks among all scored CVEs, 0 to 1.
public_exploitWhether Metasploit, Nuclei or Exploit-DB has a public exploit of the CVE, so attacking it takes little skill.
metasploit_moduleFull name of a Metasploit Framework exploit or auxiliary module attacking the CVE, null when there is none.
nuclei_templatePath of a Nuclei template detecting the CVE in ProjectDiscovery's nuclei-templates repository, null when there is none.
exploit_db_idID of an exploit or proof of concept of the CVE on Exploit-DB, null when there is none.
first_seen_atISO 8601 timestamp the vulnerability was first found in the application.
resolved_atISO 8601 timestamp the vulnerability was resolved, null while it is open.
resolved_versionVersion of the package when the vulnerability was resolved, null when the package was removed or it is open.
CertificateIssue
A check a certificate fails, computed on ingest by Services\Certificates\Checks.
expiring_unmanaged Expires within the warning window, or expired, and no renewal automation was found. |
renewal_missing Issued by certbot or acme.sh, but no timer or cron job renews it. |
staging_ca Issued by a staging CA such as Let's Encrypt staging, which browsers do not trust. |
self_signed_public Self-signed and used by a site with a public domain name. |
incomplete_chain The leaf does not verify to a trusted root with the intermediates found next to it. |
weak_key An RSA key below 2048 bits or an EC curve below P-256. |
names_not_covered Names of a site using it that the certificate does not cover. |
duplicate Another certificate on the server covers the same names and is newer. |
CertificateIssueDetails
issueThe check the certificate fails.
expiring_unmanaged Expires within the warning window, or expired, and no renewal automation was found. |
renewal_missing Issued by certbot or acme.sh, but no timer or cron job renews it. |
staging_ca Issued by a staging CA such as Let's Encrypt staging, which browsers do not trust. |
self_signed_public Self-signed and used by a site with a public domain name. |
incomplete_chain The leaf does not verify to a trusted root with the intermediates found next to it. |
weak_key An RSA key below 2048 bits or an EC curve below P-256. |
names_not_covered Names of a site using it that the certificate does not cover. |
duplicate Another certificate on the server covers the same names and is newer. |
severityHow urgent it is.
high Visitors or mail clients get errors now or soon: an expiring certificate nobody renews, an untrusted CA. |
medium Some clients fail or the certificate is weaker than it should be. |
low Housekeeping, nothing breaks. |
labelexplanationWhat is wrong and what to do about it.
CertificateIssueSeverity
high Visitors or mail clients get errors now or soon: an expiring certificate nobody renews, an untrusted CA. |
medium Some clients fail or the certificate is weaker than it should be. |
low Housekeeping, nothing breaks. |
CertificateManager
The tool that issued and renews a certificate, from the agent's managed_by.tool.
CertificateRenewal
The renewal automation the agent found for a certificate, from managed_by.renewal.
timer A systemd timer, such as certbot.timer. |
cron A cron job, such as certbot renew or acme.sh --cron. |
panel The hosting panel renews it. |
none No renewal automation was found. |
CertificateUsage
What uses a certificate, from the agent's used_by[].kind.
site A site, its ref is the vhost key source/name. |
postfix |
dovecot |
exim |
panel The hosting panel's own interface. |
other Another service, named by its ref. |
CertificateUsedBy
kindWhat uses the certificate.
site A site, its ref is the vhost key source/name. |
postfix |
dovecot |
exim |
panel The hosting panel's own interface. |
other Another service, named by its ref. |
refThe vhost key (source/name) for a site, the service name otherwise.
site_urlThe site's page in Server Chief, null for services.
CreateInstallCommandRequest
single_useWhether the command adds one server, or any number of servers until it expires.
valid_for_hoursHours the command can add servers, at most 24.
descriptionWhat the command is for, shown with the active install commands.
tagsTags of the team every added server gets, by formatted ID or by name.
CreateWebhookEndpointRequest
urlHTTPS URL that receives the events, it must resolve to a public address.
eventsEvent types the endpoint receives, * for every event including types added later.
descriptionWhat the endpoint is for, shown in the dashboard.
InstallCommand
idFormatted install command ID.
statusactive while it can add servers, used once a single-use command added its server, or expired or revoked.
descriptionsingle_useWhether it adds one server, or any number of servers until it expires.
servers_addedServers added with it.
Tags every added server gets.
expires_atISO 8601 timestamp after which it no longer adds servers.
last_used_atISO 8601 timestamp of the last server it added, null before the first.
revoked_atISO 8601 timestamp it was revoked, null unless revoked.
created_atISO 8601 creation timestamp.
tokenOne-time view of the enrollment token, only in the response that creates the command. Store it or run the command right away.
install_commandShell command that installs the agent and adds the server, run as root on each server. Only in the response that creates it.
InventoryDataset
Inventory datasets readable as the agent reported them. Packages, sites, certificates and repositories have their own paginated endpoints instead.
system Hostname, operating system, kernel, virtualization, boot time, timezone and PHP builds. |
hardware CPU, memory, swap, disks and file systems. |
storage Software RAID arrays with their members, ZFS pools with their vdevs, scrubs and volumes, and the state of NVMe and SCSI disks. |
network Network interfaces, addresses and default routes. |
resolvers Nameservers and search domains. |
cloud Cloud provider, region and instance type from the provider's metadata service. |
updates Pending updates, whether a reboot is required and when the package lists were refreshed. |
MetricPoint
atISO 8601 start of the bucket.
avgAverage of the bucket's samples.
minLowest sample of the bucket.
maxHighest sample of the bucket.
MetricSeries
metricStored metric name.
instanceThe mount point, disk or interface, null for a server-wide value or the host total of disks and interfaces.
Buckets oldest first: the average, lowest and highest sample of each. Buckets without samples are left out.
MetricValue
metricStored metric name. New metrics may be added.
instanceThe mount point, disk or interface, null for a server-wide value or the host total of disks and interfaces.
valueatISO 8601 time of the sample.
MetricsResumedEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server delivers metrics again.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
MetricsStalledEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeAn online server stopped delivering metrics.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
PackageOriginKind
Where an installed package version comes from, derived from its origins and the server's repositories.
distro A distribution repository offers the installed version, security advisories cover it. |
third_party Only third-party repositories offer it, distribution advisories do not cover it. |
none No configured repository offers it: a manually installed package, a removed repository or a superseded version. |
unknown The agent could not tell, or the repositories are not known yet. |
PackageUpgradeResult
The code an agent reports in the result of an upgrade_packages command, see "Package updates" in the agent protocol.
upgraded The updates of the scope were installed. |
nothing_to_upgrade No update of the scope was pending. |
upgrade_failed The package manager failed, the output shows why. Some updates may have been installed. |
dpkg_interrupted dpkg reports an interrupted install, which someone has to finish with dpkg --configure -a first. |
security_unavailable The repositories have no security metadata, so security updates cannot be told apart. |
package_manager_busy A package manager held its lock for an hour. |
too_late The updates were not started before the not_after deadline, such as the end of a maintenance window. |
disabled The server's operator turned installing updates off with serverchief disable upgrade_packages. |
unsupported The agent cannot install updates on this server, the detail says why. |
PackageUpgradeScope
Which pending updates an upgrade_packages command installs, see "Package updates" in the agent protocol.
security The pending updates the agent marks as security updates. |
all Every pending update. |
RebootResult
The code an agent reports in the result of a reboot command, see "Reboots" in the agent protocol.
rebooted The server rebooted and the agent started again. |
disabled The server's operator turned reboots off with serverchief disable reboot. |
unsupported The agent cannot reboot this server, the detail says why. |
package_manager_busy A package manager held its lock for 15 minutes, the server was not rebooted. |
reboot_failed Scheduling the reboot failed, the output shows why. |
not_rebooted The reboot was scheduled but the server did not reboot within 10 minutes, someone may have cancelled it. |
too_late The reboot was not started before its not_after deadline, such as the end of a maintenance window. |
not_required A reboot only when required found the server did not need one, so it did not reboot. |
required_unknown A reboot only when required could not tell whether the server needs one, so it did not reboot. |
RefreshServerRequest
datasetsDatasets to collect, or null for every enabled dataset.
RemoteAction
An action that changes the server, which its operator can turn off on the server with serverchief disable <name>, see "Operator opt-out" in the agent protocol. The agent then lists it in capabilities.disabled.
reboot Reboot the server. |
upgrade_packages Install package updates, the agent's own package first. |
ReplaceServerTagsRequest
tagsThe complete set of tags, by formatted ID or by name. Tags of the server missing from the list are detached, an empty list removes every tag.
RepositoryIssue
A check an enabled package repository fails, computed on ingest by Services\Repositories\Checks.
insecure_trusted apt [trusted=yes]: signatures are not checked at all. |
unsigned rpm gpgcheck=0: package signatures are not checked. |
plain_http Fetched over plain HTTP. Signed indexes still protect the content, but not against replaying old indexes or watching what is installed. |
eol_mirror An archive of an end-of-life release, which receives no updates. Informational. |
RepositoryIssueDetails
issueThe check the repository fails.
insecure_trusted apt [trusted=yes]: signatures are not checked at all. |
unsigned rpm gpgcheck=0: package signatures are not checked. |
plain_http Fetched over plain HTTP. Signed indexes still protect the content, but not against replaying old indexes or watching what is installed. |
eol_mirror An archive of an end-of-life release, which receives no updates. Informational. |
informationalWhether it only informs, such as an end-of-life archive, and is not counted as a problem.
labelexplanationWhat is wrong and what to do about it.
RepositoryVendorKind
Who publishes a package repository, from the vendor classification in serverchief.repositories.vendors.
distro The distribution's own archives, security advisories cover their packages. |
third_party Anyone else: Sury, NodeSource, Docker, PPAs, a vendor's own repository or an unknown host. |
ResendWebhookEventRequest
endpointID of the endpoint to send the event to. It gets the event even when it did not receive it before, or does not subscribe to its type.
RotateWebhookSecretRequest
replace_previousRotate even though the secret from the last rotation still signs deliveries. That secret stops signing right away, receivers that only know it start rejecting deliveries.
SaveAlertRuleRequest
metricWhat the rule watches.
conditionFire when the metric stays above or below the threshold.
thresholdThreshold in the metric's unit: a percentage for percentages, Mbit/s for network traffic, MB/s for disk throughput and minutes for uptime. For a baseline rule, the percentage above or below the normal level instead.
duration_minutesMinutes the metric must stay above or below the threshold, 1 to 1440.
baselineCompare to the metric's normal level instead of a fixed value: time_of_day is the average at the same time of day over the past week. Null for a fixed threshold. Not for disk space, inodes and uptime.
minimum_differenceFor a baseline rule: how much the value must at least differ from normal, in the metric's unit, so a metric that is normally close to zero does not alert on a small change. Null for any difference.
scopeWhich of the team's servers the rule watches: all, the servers with tag, or the chosen servers.
excludeFor tag and servers rules: watch the servers without the tag, or all servers except the chosen ones.
tagFormatted ID of one of the team's tags, required for tag rules.
serversFormatted IDs of the team's servers, required for servers rules.
instance^[^\x00-\x1F\x7F]*$The mount point, disk or interface to watch, for metrics that have them. Without one, disk space and inode rules watch every mount point separately, and disk and network rules the host total.
enabledWhether the rule is evaluated. Turning it off closes its open alerts.
SaveServerRequest
nameHuman-readable server name.
hostnameHostname of the server, or null to clear it.
Metadata to merge into the server's metadata. Keys are strings of up to 40 characters without [, ], ", \ or ->, values strings of up to 500 characters, and a server has at most 50 keys. Keys starting with serverchief: are read-only system metadata: they are returned in responses, ignored in write requests and do not count towards the limit.
To remove a key, set its value to an empty string. To remove all metadata, send an empty object: {}.
tagsReplace the server's tags with these tags of the team, by formatted ID or by name.
Override detected location fields, merged into the current overrides. A null field clears its override and falls back to the detected value, null clears every override.
Whether the agent refreshes the package lists (apt-get update, yum/dnf makecache) on its own, it never installs packages. Null resets the setting to the default.
Whether the agent is updated automatically when a new release has soaked. Null follows the team setting.
SaveTagRequest
name^[\pL\pN][\pL\pN _.:… · requiredTag name, unique within the team. Letters, digits, spaces and . _ - : /, starting with a letter or digit.
colorColour of the tag in the dashboard.
Server
idFormatted server ID.
namehostnameHostname of the server, or null when it is not known yet.
The team that owns the server, installed its agent and is billed for it.
accessowner for the team's own servers, viewer for a server shared with the team through a tag. Viewers cannot change the server.
owner The team owns the server or tag: it manages it, and owns and is billed for servers. |
viewer Shared with the team through a tag: the team can view but not change it. |
Tags of the server the team can see: all tags for the owner, the shared tags for a viewer.
Custom key/value metadata, one map per server shared with every team that can see it. Keys starting with serverchief: are read-only system metadata.
statusAgent status: pending until the agent enrolls, then active, or offline after 15 minutes without contact.
pending Created in the dashboard, the agent has not enrolled yet. |
active The agent enrolled and reported in within the offline threshold. |
offline The agent has not reported in within the offline threshold. |
agent_versionVersion of the installed agent, or null before enrollment.
The agent and its self-updates.
last_contact_atISO 8601 timestamp of the last agent contact, or null when the agent never reported in.
fqdnFully qualified domain name reported by the server.
os_familyOperating system family.
os_idOperating system ID from os-release.
os_nameos_versionFull operating system version.
os_codenamekernel_releasearchCPU architecture.
virtualizationVirtualization role and technology, or null on bare metal.
boot_timeISO 8601 timestamp of the last boot.
cpu_modelcpu_coresPhysical CPU cores, or logical CPUs when the core count is unknown.
cpu_threadsLogical CPUs.
memory_bytesTotal memory in bytes.
swap_bytesTotal swap in bytes.
disk_bytesCombined size of the non-removable physical disks in bytes, without RAID arrays, ZFS volumes and other devices built on them.
storage_unhealthy_sinceWhen the storage stopped being healthy, null while it is healthy.
public_ipv4Primary public IPv4 address.
public_ipv6Primary public IPv6 address.
observed_ipThe address the agent's requests come from, used to locate servers behind NAT.
nameserversConfigured DNS resolvers, or null when not reported yet.
IP addresses on the server's network interfaces.
is_os_eolWhether the operating system release is past its end of life according to endoflife.date.
os_eol_atEnd-of-life date of the operating system release, or null when unknown.
pending_updates_countNumber of packages with a pending update, or null before the agent reported updates.
security_updates_countNumber of pending security updates, or null before the agent reported updates.
reboot_requiredWhether the server needs a reboot, null when the agent cannot tell.
updates_checked_atISO 8601 timestamp of the package manager's metadata cache the update counts are based on, the agent refreshes it when package_metadata_refresh is enabled.
Whether the agent refreshes the package lists itself (apt-get update, yum or dnf makecache). It never installs, upgrades or removes packages.
Software products detected from the installed packages, one entry per product and major.minor.
providerHosting provider slug, such as hetzner, aws, digitalocean, gcp, azure or ovh, from cloud metadata, the network of the server's IP address, or a manual override. New values may be added.
cityCity derived from the provider region or set manually, IP lookups give no city.
countryISO 3166-1 alpha-2 country code.
continentContinent code: AF, AN, AS, EU, NA, OC or SA.
cloud_regionProvider region as reported by the agent, such as fsn1 or eu-central-1.
cloud_zoneProvider zone as reported by the agent.
instance_typeInstance type, null where the provider does not expose it.
asnAutonomous system number of the server's IP address.
asn_orgName of the autonomous system.
Location fields the owner set manually, they win over detected values. Null fields use the detected value.
vhosts_countNumber of sites (virtual hosts) on the server, or null before the agent reported them.
certificates_countCertificates of the server's sites and services, null before the agent reported them.
certificate_issues_countCertificates failing at least one check, null before the agent reported certificates.
repositoriesPackage repositories and where the installed packages come from, null before the agent reported repositories.
vulnerabilitiesOpen vulnerabilities from security advisories, each CVE counted once with its highest severity. Null when the server's release has no advisory data (an unsupported or end-of-life release without a feed, such as CentOS 7) or its packages were not matched yet.
created_atISO 8601 creation timestamp.
updated_atISO 8601 last-update timestamp.
ServerAddress
interfaceName of the network interface.
addressprefixPrefix length of the network.
familyIP version, 4 or 6.
scopeScope of the address as classified by the agent, such as public, private, link-local or loopback.
ServerCertificate
idFormatted certificate ID.
fingerprintSHA-256 of the leaf certificate's DER encoding, lowercase hex. Sites link to it by the fingerprint of their certificate.
serialSerial number, hex.
The subject's common name and organisation.
The issuer's common name and organisation.
not_beforeISO 8601 timestamp the certificate is valid from.
not_afterISO 8601 timestamp the certificate expires at.
expiredWhether the certificate has expired.
days_leftWhole days until the certificate expires, negative once it expired, null without an expiry.
namesDNS names and IP addresses the certificate covers, sorted and in lower case.
The public key.
signature_algorithmself_signedWhether the certificate is self-signed.
The intermediate chain found next to the certificate.
pathsCertificate files the certificate was found in, sorted.
Sites and services configured with the certificate.
The tool that issued the certificate and renews it. Its fields are null when no tool was detected.
The checks the certificate fails, the most severe first.
first_seen_atISO 8601 timestamp the certificate was first reported on the server.
urlThe certificate's page in Server Chief.
The server using the certificate.
ServerChange
idFormatted change ID.
datasetDataset the change belongs to: an inventory dataset, vulnerabilities or agent. New values may be added.
kindchanged A value was replaced, both old and new are set. |
added An item appeared, only new is set. |
removed An item disappeared, only old is set. |
subjectWhat changed within the dataset: a field path such as os.version_full, a package name, or a site or certificate followed by its changed field.
labelReadable description of the subject.
oldValue before the change, null when added. Its shape depends on the dataset and subject.
newValue after the change, null when removed. Its shape depends on the dataset and subject.
detected_atISO 8601 timestamp the change was detected.
ServerChangeKind
changed A value was replaced, both old and new are set. |
added An item appeared, only new is set. |
removed An item disappeared, only old is set. |
ServerCommand
idFormatted command ID.
kindrefresh_inventory Collect the listed datasets, or all enabled ones, now and push whatever changed. |
resync Send the listed datasets, or all enabled ones, in full on the next push. |
refresh_config Fetch the agent configuration now. |
update_agent Install another agent version from the Server Chief package repository, with a rollback when it does not start. |
reboot Reboot the server in one minute, after waiting for the package manager, unless its operator turned reboots off. |
upgrade_packages Install the pending package updates, the agent's own package first, unless the operator turned this off. |
disable_capability Turn a remote action off on the server, only serverchief enable on the server turns it on again. |
statusAgent status of the command.
queued Waiting for a slot: the team already runs as many commands of its kind at once as it may, see ServerCommandKind::concurrency(). The agent does not see it yet. |
pending Waiting for the agent to fetch it. |
delivered Returned to the agent, not acknowledged yet. |
acknowledged The agent accepted the command and is working on it. |
succeeded The agent finished the command successfully. |
failed The agent reported that the command failed. |
cancelled Someone cancelled it before the agent fetched it. |
expired The agent did not acknowledge the command within 24 hours, or reported no result within an hour of acknowledging it (three hours for update_agent and upgrade_packages). |
datasetsDatasets the command applies to, or null for every enabled dataset.
versionAgent version an update_agent command installs, null for other kinds.
detailResult detail reported by the agent.
update_resultOutcome of an update_agent command, null for other kinds and before the agent reported a result.
reboot_resultOutcome of a reboot command, null for other kinds and before the agent reported a result.
upgrade_resultOutcome of an upgrade_packages command, null for other kinds and before the agent reported a result.
created_atISO 8601 creation timestamp.
expires_atISO 8601 timestamp after which an unacknowledged command expires.
finished_atISO 8601 timestamp of the agent's result, or null while the command is outstanding.
ServerCommandKind
refresh_inventory Collect the listed datasets, or all enabled ones, now and push whatever changed. |
resync Send the listed datasets, or all enabled ones, in full on the next push. |
refresh_config Fetch the agent configuration now. |
update_agent Install another agent version from the Server Chief package repository, with a rollback when it does not start. |
reboot Reboot the server in one minute, after waiting for the package manager, unless its operator turned reboots off. |
upgrade_packages Install the pending package updates, the agent's own package first, unless the operator turned this off. |
disable_capability Turn a remote action off on the server, only serverchief enable on the server turns it on again. |
ServerCommandOrigin
Where a command came from, recorded with the user who asked for it.
panel Someone asked for it in the web app. |
api An API or MCP client asked for it. |
system Server Chief queued it on its own, such as the automatic agent rollout. |
ServerCommandStatus
queued Waiting for a slot: the team already runs as many commands of its kind at once as it may, see ServerCommandKind::concurrency(). The agent does not see it yet. |
pending Waiting for the agent to fetch it. |
delivered Returned to the agent, not acknowledged yet. |
acknowledged The agent accepted the command and is working on it. |
succeeded The agent finished the command successfully. |
failed The agent reported that the command failed. |
cancelled Someone cancelled it before the agent fetched it. |
expired The agent did not acknowledge the command within 24 hours, or reported no result within an hour of acknowledging it (three hours for update_agent and upgrade_packages). |
ServerCreatedEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server was added and waits for its agent.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
ServerDeletedEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server was removed.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
ServerEnrolledEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server's agent enrolled for the first time.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
ServerEnrollment
tokenOne-time enrollment token. It is only returned once, store it or run the install command right away.
install_commandShell command that installs the agent and enrolls it with the token, run it as root on the server.
expires_atISO 8601 timestamp after which the token can no longer be used.
ServerInventory
datasetInventory datasets readable as the agent reported them. Packages, sites, certificates and repositories have their own paginated endpoints instead.
system Hostname, operating system, kernel, virtualization, boot time, timezone and PHP builds. |
hardware CPU, memory, swap, disks and file systems. |
storage Software RAID arrays with their members, ZFS pools with their vdevs, scrubs and volumes, and the state of NVMe and SCSI disks. |
network Network interfaces, addresses and default routes. |
resolvers Nameservers and search domains. |
cloud Cloud provider, region and instance type from the provider's metadata service. |
updates Pending updates, whether a reboot is required and when the package lists were refreshed. |
collectedWhether the agent collects the dataset, false when the team or server turned it off.
received_atISO 8601 timestamp of the agent's last report of the dataset, null before the first.
The dataset as the agent reported it, see the agent protocol for its fields. Null before the first report.
ServerLocationSource
agent Reported by the agent from cloud metadata or DMI, mapped from the provider region. |
ip Looked up from the server's public or observed IP address in the IPInfo database: provider and country, no city. |
manual Set by the owner team, it wins over agent and IP data. |
ServerMetricSeries
rangecollectingWhether the server collects metrics: its agent sends them and the owner did not turn them off.
sinceISO 8601 time of the oldest kept sample: a range reaching further back has no buckets before it.
One series per metric and instance, sorted by metric and instance.
ServerMetrics
collectingWhether the server collects metrics: its agent sends them and the owner did not turn them off.
sinceISO 8601 time of the oldest kept sample, or when collection started while there is none yet.
The newest value of every metric and instance the server sent in the last 10 minutes, by metric name. CPU use is 100 minus cpu.idle.
ServerOfflineEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server stopped checking in.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
ServerOnlineEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeAn offline server checks in again.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
ServerPackage
managerPackage manager, dpkg or rpm.
namearchversionInstalled version as reported by the package manager, including epoch and revision. Version filters compare it like dpkg or rpm.
upstream_versionUpstream part of the version, without epoch and revision.
sourceSource package, when it differs from the package name.
source_versionVersion of the source package, when it differs from the version. Security advisories compare it.
candidate_versionVersion an update would install, or null when the package is up to date.
is_securityWhether the pending update is a security update.
originsIDs of the server's repositories that offer the installed version, see the server's repositories. Empty when none does, null when the agent could not tell.
origin_vendorVendor slug of the repository the installed version comes from, a distribution repository first, such as debian-security, sury or ppa:ondrej/php. Null without a known origin. New values may be added.
origin_kinddistro, third_party (only third-party repositories offer it, distribution advisories are not matched against it), none (no configured repository offers it) or unknown (no origin data).
distro A distribution repository offers the installed version, security advisories cover it. |
third_party Only third-party repositories offer it, distribution advisories do not cover it. |
none No configured repository offers it: a manually installed package, a removed repository or a superseded version. |
unknown The agent could not tell, or the repositories are not known yet. |
The server the package is installed on, only included when searching packages across servers.
ServerRebootStalledEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server did not come back after a reboot.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
ServerRepository
idThe repository ID the agent reports, as listed in package origins: a suite-prefixed hash for apt, the section name for rpm.
fileThe file defining it.
typedeb, deb-src or rpm.
enabledWhether the package manager uses it. Disabled repositories have no issues.
urisThe configured URIs without credentials or query strings, mirror lists prefixed with mirrorlist: or metalink: and keeping their identifying parameters such as repo.
suiteThe apt suite, null for rpm.
componentsThe apt components, empty for rpm.
nameThe rpm repository name, null for apt.
How the package manager verifies it.
transportThe scheme of the first URI: https, http, file, cdrom, tor or mirror.
packagesInstalled packages whose installed version this repository offers.
Who publishes it, classified from the URIs.
Checks the repository fails, insecure ones first.
first_seen_atISO 8601 timestamp the repository was first reported.
ServerSoftware
productNormalised product name, such as php, mysql, mariadb, nginx, apache, openssl, kernel, nodejs, redis or postgresql. New products may be added.
versionUpstream version without epoch or distribution revision, product filters such as php:7.4 match on it.
package_versionFull version of the package the product was detected from, including epoch and revision: distributions backport security fixes as new revisions of the same upstream version.
managerPackage manager of that package, dpkg or rpm. Null for a PHP build without a package.
majorminorpatchpackagePackage the version was derived from, or for a PHP build without a package the directory it is installed in, such as /usr/local/php74.
sourcepackage when a package provides it, build for PHP built without one, such as a DirectAdmin custombuild or a source build.
is_eolWhether this release cycle is past its end of life according to endoflife.date.
eol_atEnd-of-life date of the release cycle, or null when unknown.
ServerStatus
pending Created in the dashboard, the agent has not enrolled yet. |
active The agent enrolled and reported in within the offline threshold. |
offline The agent has not reported in within the offline threshold. |
ServerStorageHealthyEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server's storage is healthy again.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
ServerStorageUnhealthyEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA RAID array or ZFS pool degraded, or a disk failed.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
ServerTag
idFormatted tag ID.
namecolorServerUpdatedEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA server's name, metadata, location or settings changed.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
ServerVhost
sourceWhere the vhost was found: apache, nginx, plesk or directadmin. A domain served by a panel and its web server appears once per source, all with the same url. New values may be added.
namePrimary server name, in lower case.
aliasesOther names the vhost answers to, sorted and in lower case. Wildcards are kept as configured.
portsPorts the vhost listens on, sorted.
sslWhether any of the ports serves TLS.
document_rootDocument root, or null when the vhost has none.
php_versionPHP version the site runs as major.minor, or null when unknown or not PHP.
php_handlerHow PHP runs: fpm, fastcgi, cgi, module or lsapi. New values may be added.
phpThe PHP the site runs with its full installed version, null when unknown or not PHP.
certificateThe TLS certificate the vhost is configured with, null without one.
config_fileAbsolute path of the configuration file defining the vhost, null for panel entries without one.
ownerPanel subscription or user owning the site, or on a plain web server the user whose home directory holds the document root, null otherwise.
http2Whether the vhost offers HTTP/2.
http3Whether the vhost offers HTTP/3, over a QUIC listener.
https_redirectWhether plain HTTP requests for the site redirect to HTTPS.
redirectWhere the vhost redirects every request, null when it serves the site itself.
urlThe site's page in Server Chief, shared by every source reporting the site.
The server hosting the site, only included when searching sites across servers.
ServerVulnerability
vulnerability_idThe CVE ID, or the advisory ID for an advisory that names no CVE. A CVE that several advisories cover (a Debian CVE record and a DSA) is listed once.
advisory_idThe advisory that decided the match, its fixed version applies. The distribution's CVE record when it has one, otherwise the notice that fixes it.
advisory_idsEvery advisory of the server's releases that covers this vulnerability for the package.
summarySummary of the deciding advisory, or the start of its description.
packageSource package the advisory names. Debian and Ubuntu advisories name source packages, so one source covers all binary packages built from it.
binary_packageThe installed binary package with the lowest affected version, null once it was removed.
installed_versionInstalled version compared with the advisory: the source version when the agent reports it, otherwise the binary version.
fixed_versionFirst version with the fix, null when the distribution has not released one for the server's release.
fixed_releaseRelease the fix was published for, such as debian:12 or ubuntu-pro:16.04 for an Ubuntu Pro (ESM) fix. Null without a fix.
requires_subscriptionWhether the fix needs a subscription, Ubuntu Pro (ESM).
fix_statusavailable when a pending update installs the fix, released when a fix exists that the package manager does not offer (stale package lists, or a subscription such as Ubuntu Pro), none without a fix.
available The package manager offers an update to the fixed version or later, installing pending updates fixes it. |
reboot A newer installed kernel fixes it, rebooting into that kernel does. |
released A fix was released, but the server's package manager does not offer it yet: it waits for a point release (Debian's proposed-updates), its package lists are stale, or the fix needs a subscription such as Ubuntu Pro (ESM). |
none The distribution has not released a fix for the server's release. |
severitySeverity normalised across distributions: the distribution's rating when it has one, otherwise the CVSS v3 band.
critical Ubuntu critical, Red Hat Critical, or a CVSS base score of 9.0 or higher. |
high Ubuntu high, Red Hat Important, Debian high, or a CVSS base score from 7.0. |
medium Ubuntu medium, Red Hat Moderate, Debian medium, or a CVSS base score from 4.0. |
low Ubuntu low, Red Hat Low, Debian low, or a CVSS base score below 4.0. |
negligible Ubuntu negligible or Debian unimportant: no practical impact on the distribution's builds. |
unknown Not rated yet. |
cvss_scoreHighest CVSS v3 base score of the deciding advisories, null without a CVSS v3 vector.
known_exploitedWhether CISA lists the CVE in its Known Exploited Vulnerabilities catalog: it is exploited in the wild, fix it first.
known_exploited_atDate CISA added the CVE to its Known Exploited Vulnerabilities catalog, null when it is not listed.
epss_scoreFIRST's EPSS score: the probability of exploitation activity in the next 30 days, 0 to 1. Null when the CVE has no score, or for an advisory without a CVE.
epss_percentileHow the EPSS score ranks among all scored CVEs, 0 to 1: 0.95 is a higher score than 95% of them.
public_exploitWhether Metasploit, Nuclei or Exploit-DB has a public exploit of the CVE, so attacking it takes little skill.
metasploit_moduleFull name of a Metasploit Framework exploit or auxiliary module attacking the CVE, null when there is none.
nuclei_templatePath of a Nuclei template detecting the CVE in ProjectDiscovery's nuclei-templates repository, null when there is none.
exploit_db_idID of an exploit or proof of concept of the CVE on Exploit-DB, null when there is none.
first_seen_atISO 8601 timestamp the vulnerability was first found on the server.
resolved_atISO 8601 timestamp the vulnerability was resolved, null while it is open.
resolved_versionVersion of the source package when the vulnerability was resolved, null when the package was removed or it is open.
The affected server, only included when searching vulnerabilities across servers.
ShareTagRequest
teamSlug of the team to share the tag with. The team must use Server Chief.
roleWhat the team can do with the tagged servers. viewer is read-only.
StorageHealth
Health of a server's software RAID arrays, ZFS pools and disks, from the agent's storage dataset.
healthy Every array and pool has all its devices without errors and every disk works. |
degraded An array or pool lost a device or reports device errors, a disk in one failed, or a disk's SMART data says it is failing: the data is still there, but at risk. |
failed An array or pool stopped, files have permanent errors, or a disk outside any array or pool failed: data is unavailable. |
Tag
idFormatted tag ID.
namecolorThe team that owns the tag and the servers carrying it.
accessowner for the team's own tags, viewer for a tag another team shared with it.
owner The team owns the server or tag: it manages it, and owns and is billed for servers. |
viewer Shared with the team through a tag: the team can view but not change it. |
servers_countNumber of the owner's servers carrying the tag.
created_atISO 8601 creation timestamp.
updated_atISO 8601 last-update timestamp.
TagShare
The team the tag is shared with.
roleWhat the team can do with the tagged servers, viewer is read-only.
viewer Read-only access to the tagged servers: inventory, packages, software and metadata. |
created_atISO 8601 timestamp of when the tag was shared.
TagShareRole
viewer Read-only access to the tagged servers: inventory, packages, software and metadata. |
TeamAccess
owner The team owns the server or tag: it manages it, and owns and is billed for servers. |
viewer Shared with the team through a tag: the team can view but not change it. |
UpdateServerTagsRequest
attachTags to attach, by formatted ID or by name. Tags the server already carries are kept.
detachTags to detach, by formatted ID or by name.
UpdateWebhookEndpointRequest
urlHTTPS URL that receives the events, it must resolve to a public address.
descriptionWhat the endpoint is for, shown in the dashboard. Null removes it.
eventsEvent types the endpoint receives, * for every event including types added later. Replaces the current list.
UpgradeServerPackagesRequest
scopeWhich pending updates to install: the security updates or every update.
restart_servicesRestart the services that use updated libraries afterwards, so the updates take effect without a reboot.
reboot_if_requiredReboot the server afterwards when the agent reports that a reboot is required, such as after a kernel update. Needs agent.reboot.available.
VulnerabilityFixStatus
available The package manager offers an update to the fixed version or later, installing pending updates fixes it. |
reboot A newer installed kernel fixes it, rebooting into that kernel does. |
released A fix was released, but the server's package manager does not offer it yet: it waits for a point release (Debian's proposed-updates), its package lists are stale, or the fix needs a subscription such as Ubuntu Pro (ESM). |
none The distribution has not released a fix for the server's release. |
WebhookAttemptError
Why an attempt failed without a usable response, an attempt with a non-2xx response has no error.
timeout The endpoint did not answer within 15 seconds. |
connection The connection failed: DNS, refused, TLS. |
blocked The URL resolves to a private or reserved address. |
redirect The endpoint answered with a redirect, which is not followed. |
WebhookDelivery
idFormatted delivery ID.
endpoint_idID of the endpoint it is sent to.
event_idID of the event it sends.
event_typeType of the event it sends.
server.created A server was added and waits for its agent. |
server.enrolled A server's agent enrolled for the first time. |
server.updated A server's name, metadata, location or settings changed. |
server.deleted A server was removed. |
server.offline A server stopped checking in. |
server.online An offline server checks in again. |
server.reboot_stalled A server did not come back after a reboot. |
alert.fired A metric alert rule fired. |
alert.resolved A firing alert resolved. |
metrics.stalled An online server stopped delivering metrics. |
metrics.resumed A server delivers metrics again. |
server.storage_unhealthy A RAID array or ZFS pool degraded, or a disk failed. |
server.storage_healthy A server's storage is healthy again. |
webhook_endpoint.test A test event sent from the dashboard. |
statuspending Waiting for its first attempt or for a retry. |
succeeded The endpoint answered with a 2xx status. |
failed Every attempt failed. |
cancelled The endpoint was disabled or deleted before it succeeded. |
attemptsAttempts made so far, resends included.
next_attempt_atISO 8601 time the next automatic attempt is due, null when none is scheduled.
last_attempted_atISO 8601 time of the last attempt, null before the first.
last_response_statusHTTP status of the last response, null before the first attempt or when no response came.
created_atISO 8601 creation timestamp.
Every attempt with its request and response, oldest first. Only returned for a single delivery.
WebhookDeliveryAttempt
numberNumber of the attempt within its delivery, from 1.
manualWhether someone resent it, instead of an automatic attempt.
succeededWhether the endpoint answered with a 2xx status in time.
attempted_atISO 8601 time the request was sent.
duration_msHow long the request took, null when it could not be sent.
error_messageWhat went wrong, for people.
responseThe endpoint's response, null when none came.
WebhookDeliveryStatus
pending Waiting for its first attempt or for a retry. |
succeeded The endpoint answered with a 2xx status. |
failed Every attempt failed. |
cancelled The endpoint was disabled or deleted before it succeeded. |
WebhookEndpoint
idFormatted endpoint ID.
urlHTTPS URL that receives the events.
descriptionWhat the endpoint is for.
Event types the endpoint receives, * for every event including types added later.
statusWhether deliveries are sent. A disabled endpoint receives nothing until it is enabled again.
enabled Receives the events it subscribed to. |
disabled Receives nothing until someone enables it again, disabled_reason tells why. |
disabled_atISO 8601 time the endpoint was disabled, null while it is enabled.
failing_sinceISO 8601 time the endpoint started failing every delivery, null while deliveries succeed. It is disabled after five days.
secretSigning secret, only set in the response that creates the endpoint or rotates its secret, null otherwise. Store it with your other secrets.
previous_secret_expires_atISO 8601 time until which the secret from before the last rotation still signs deliveries next to the current one, null when only one secret signs.
created_atISO 8601 creation timestamp.
updated_atISO 8601 timestamp of the last change.
WebhookEndpointDisabledReason
manual Someone disabled it. |
failing Every delivery failed for five days, so it was disabled automatically. |
WebhookEndpointStatus
enabled Receives the events it subscribed to. |
disabled Receives nothing until someone enables it again, disabled_reason tells why. |
WebhookEndpointTestEvent
idIdentifies the event, the same as the webhook-id header. It stays the same on retries and resends, use it to skip events you processed.
typeA test event sent from the dashboard.
timestampWhen the event happened, in UTC. It does not change on retries.
api_versionThe version of the payload format.
WebhookEvent
idFormatted event ID, the same as id in the payload and the webhook-id header.
typeEvent type.
server.created A server was added and waits for its agent. |
server.enrolled A server's agent enrolled for the first time. |
server.updated A server's name, metadata, location or settings changed. |
server.deleted A server was removed. |
server.offline A server stopped checking in. |
server.online An offline server checks in again. |
server.reboot_stalled A server did not come back after a reboot. |
alert.fired A metric alert rule fired. |
alert.resolved A firing alert resolved. |
metrics.stalled An online server stopped delivering metrics. |
metrics.resumed A server delivers metrics again. |
server.storage_unhealthy A RAID array or ZFS pool degraded, or a disk failed. |
server.storage_healthy A server's storage is healthy again. |
webhook_endpoint.test A test event sent from the dashboard. |
api_versionVersion of the payload format.
created_atISO 8601 time the event happened.
The body every delivery of the event sends, see the event's schema for its fields.
The event's deliveries, one per endpoint. Only returned for a single event.
WebhookEventType
server.created A server was added and waits for its agent. |
server.enrolled A server's agent enrolled for the first time. |
server.updated A server's name, metadata, location or settings changed. |
server.deleted A server was removed. |
server.offline A server stopped checking in. |
server.online An offline server checks in again. |
server.reboot_stalled A server did not come back after a reboot. |
alert.fired A metric alert rule fired. |
alert.resolved A firing alert resolved. |
metrics.stalled An online server stopped delivering metrics. |
metrics.resumed A server delivers metrics again. |
server.storage_unhealthy A RAID array or ZFS pool degraded, or a disk failed. |
server.storage_healthy A server's storage is healthy again. |
webhook_endpoint.test A test event sent from the dashboard. |
WebhookEventTypeDetails
typeEvent type, as type in the payload and in an endpoint's events.
server.created A server was added and waits for its agent. |
server.enrolled A server's agent enrolled for the first time. |
server.updated A server's name, metadata, location or settings changed. |
server.deleted A server was removed. |
server.offline A server stopped checking in. |
server.online An offline server checks in again. |
server.reboot_stalled A server did not come back after a reboot. |
alert.fired A metric alert rule fired. |
alert.resolved A firing alert resolved. |
metrics.stalled An online server stopped delivering metrics. |
metrics.resumed A server delivers metrics again. |
server.storage_unhealthy A RAID array or ZFS pool degraded, or a disk failed. |
server.storage_healthy A server's storage is healthy again. |
webhook_endpoint.test A test event sent from the dashboard. |
groupHeading the event is listed under in the dashboard.
descriptionWhen the event is sent.