<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Introduction on Tenpm Uptime Docs</title><link>https://docs.10pmuptime.com/</link><description>Recent content in Introduction on Tenpm Uptime Docs</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://docs.10pmuptime.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Shared vs. private monitors, and restricted checks</title><link>https://docs.10pmuptime.com/docs/guides/shared-and-private-monitors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/shared-and-private-monitors/</guid><description>&lt;h1 id="shared-vs-private-monitors-and-restricted-checks"&gt;Shared vs. private monitors, and restricted checks&lt;a class="anchor" href="#shared-vs-private-monitors-and-restricted-checks"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;This page ties together three ideas that show up throughout the other&#10;guides: what a &lt;strong&gt;private&lt;/strong&gt; monitor is versus a &lt;strong&gt;shared&lt;/strong&gt; one, what makes a&#10;check &lt;strong&gt;restricted&lt;/strong&gt;, and how the two interact when you&amp;rsquo;re deciding what&#10;runs where.&lt;/p&gt;&#10;&lt;h2 id="private-monitors-yours-on-your-own-terms"&gt;Private monitors: yours, on your own terms&lt;a class="anchor" href="#private-monitors-yours-on-your-own-terms"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;A private monitor is one you enrolled yourself — the agent binary running on&#10;hardware you control. It has no restrictions placed on it by Tenpm Uptime: if it&#10;can reach &lt;code&gt;10.0.0.5&lt;/code&gt; or an internal admin panel, that&amp;rsquo;s the product working&#10;as intended. The blast radius of that reach is entirely your own network, so&#10;there&amp;rsquo;s nothing for the platform to guard against here.&lt;/p&gt;</description></item><item><title>Creating an account</title><link>https://docs.10pmuptime.com/docs/getting-started/creating-an-account/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/getting-started/creating-an-account/</guid><description>&lt;h1 id="creating-an-account"&gt;Creating an account&lt;a class="anchor" href="#creating-an-account"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Tenpm Uptime accounts are self-serve: you sign up with just an email address, and&#10;nothing is created until you confirm you own it.&lt;/p&gt;&#10;&lt;h2 id="1-sign-up"&gt;1. Sign up&lt;a class="anchor" href="#1-sign-up"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;Go to the login page and choose &lt;strong&gt;Create an account&lt;/strong&gt;.&lt;/li&gt;&#10;&lt;li&gt;Enter your email address and submit.&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;You&amp;rsquo;ll see the same confirmation either way, whether or not that address&#10;already has an account — this is deliberate, so the page can&amp;rsquo;t be used to&#10;check who else is a Tenpm Uptime customer.&lt;/p&gt;</description></item><item><title>Monitor API reference</title><link>https://docs.10pmuptime.com/docs/reference/api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/reference/api/</guid><description>&lt;h1 id="monitor-api-reference"&gt;Monitor API reference&lt;a class="anchor" href="#monitor-api-reference"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;The JSON API a &lt;code&gt;monitor&lt;/code&gt; agent uses to enroll with a &lt;code&gt;tenpm uptime&lt;/code&gt; server, sync&#10;its assigned check set, and report results and status back. Generated from&#10;&lt;code&gt;docs-site/assets/tenpmuptime-monitor.yaml&lt;/code&gt; — see that file&amp;rsquo;s header for how&#10;it&amp;rsquo;s kept in sync with the code.&lt;/p&gt;&#10;&lt;a href="https://docs.10pmuptime.com/tenpmuptime-monitor.yaml" download class="book-btn"&gt;Download the raw OpenAPI spec (tenpmuptime-monitor.yaml)&lt;/a&gt;&#10;&lt;p&gt;The JSON API a &lt;code&gt;monitor&lt;/code&gt; agent uses to enroll with a &lt;code&gt;tenpm uptime&lt;/code&gt; server, sync its assigned check set, and report results and status back. This is the wire contract described in &lt;code&gt;agent/model&lt;/code&gt; and implemented by &lt;code&gt;internal/server/api_handlers.go&lt;/code&gt;; both binaries build against the same Go structs today, so treat this document as generated-by-hand from that code, not the other way around — if the two disagree, the code is right and this file is stale.&#10;Every route except &lt;code&gt;POST /monitor-api/v1/enroll&lt;/code&gt; requires the monitor's own API key, minted at enrollment. &lt;code&gt;POST /monitor-api/v1/enroll&lt;/code&gt; requires an &lt;em&gt;enrollment token&lt;/em&gt; instead (an org token or a platform token — see the security scheme below), since no monitor exists yet at that point.&#10;Error responses across every endpoint are a &lt;strong&gt;plain-text body&lt;/strong&gt; (one line) with a non-2xx status, not a JSON envelope — the handlers use Go's &lt;code&gt;http.Error&lt;/code&gt;. The &lt;code&gt;4xx&lt;/code&gt;/&lt;code&gt;5xx&lt;/code&gt; responses below document status code and body meaning; there is no shared error schema.&#10;Every route here is rate-limited per client address (about 10 requests a second with a burst of 30) and answers &lt;code&gt;429 rate limit exceeded&lt;/code&gt; beyond that. A monitor that syncs and reports every 45 seconds is nowhere near it.&#10;&lt;strong&gt;Versioning (2026-09-22, path moved again 2026-09-27):&lt;/strong&gt; every path below moved under &lt;code&gt;/api/v1/&lt;/code&gt; in the first pass, then to &lt;code&gt;/monitor-api/v1/&lt;/code&gt; in a second, unrelated to versioning itself - a new, separate customer-facing account API (&lt;code&gt;/account-api/v1/...&lt;/code&gt;, not documented in this file) needed a path of its own and collided with this one's &lt;code&gt;/api/v1/checks&lt;/code&gt; and &lt;code&gt;/api/v1/status&lt;/code&gt;, so the monitor API got a distinct prefix instead of a third segment under a shared one. The rule from here on: a JSON change within &lt;code&gt;v1&lt;/code&gt; is additive only - a removed field or a changed meaning gets a new &lt;code&gt;/monitor-api/v2/&lt;/code&gt; path instead of changing what &lt;code&gt;v1&lt;/code&gt; means.&#10;Neither the fully unversioned form (&lt;code&gt;/api/...&lt;/code&gt;, no version segment at all) nor &lt;code&gt;/api/v1/...&lt;/code&gt; itself exists any more - both were renamed with no permanent alias, since every monitor deployed at each point in time was ours to redeploy. The &lt;code&gt;/api/v1/...&lt;/code&gt; → &lt;code&gt;/monitor-api/v1/...&lt;/code&gt; move was briefly served from both prefixes during the fleet's own migration window; that temporary routing was removed once every deployed monitor (this project's own fleet, and any private monitor a customer runs) was confirmed redeployed on a build calling the new path. Treating a prefix rename as a standing policy a third time should not be expected: the next breaking change bumps the version segment (&lt;code&gt;/monitor-api/v2/...&lt;/code&gt;), not the prefix.&lt;/p&gt;</description></item><item><title>Writing checks</title><link>https://docs.10pmuptime.com/docs/guides/writing-checks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/writing-checks/</guid><description>&lt;h1 id="writing-checks"&gt;Writing checks&lt;a class="anchor" href="#writing-checks"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;&lt;a href="../../getting-started/creating-your-first-check/"&gt;Creating your first check&lt;/a&gt;&#10;covers the basics: a name, a target, and a schedule. This guide covers the&#10;rest of the check form — the options that decide exactly what &amp;ldquo;healthy&amp;rdquo;&#10;means for a given target, and when you&amp;rsquo;re told about it.&lt;/p&gt;&#10;&lt;p&gt;If instead you want to be alerted when &lt;em&gt;your own&lt;/em&gt; system &lt;strong&gt;stops calling us&lt;/strong&gt;&#10;— a cron job, a backup script — that&amp;rsquo;s a&#10;&lt;a href="../heartbeat-checks/"&gt;heartbeat check&lt;/a&gt;, not one of these.&lt;/p&gt;</description></item><item><title>Heartbeat checks</title><link>https://docs.10pmuptime.com/docs/guides/heartbeat-checks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/heartbeat-checks/</guid><description>&lt;h1 id="heartbeat-checks"&gt;Heartbeat checks&lt;a class="anchor" href="#heartbeat-checks"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;An ordinary check is &lt;strong&gt;polled&lt;/strong&gt;: a monitor dials your target on a schedule and&#10;reports what it found. A &lt;strong&gt;heartbeat&lt;/strong&gt; is the reverse. &lt;em&gt;Your&lt;/em&gt; system calls a&#10;URL that Tenpm Uptime gives it, on a schedule, and you&amp;rsquo;re alerted when the&#10;calls &lt;strong&gt;stop&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;p&gt;That makes it the right tool when there&amp;rsquo;s nothing for a monitor to dial:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;A &lt;strong&gt;cron job or backup script&lt;/strong&gt; — call the URL when the job finishes. If the&#10;job fails, hangs, or never starts, the call never happens and you&amp;rsquo;re told.&lt;/li&gt;&#10;&lt;li&gt;An &lt;strong&gt;Uptime Kuma&lt;/strong&gt; (or similar) running on an internal network that can&#10;reach out to the internet but can&amp;rsquo;t be reached from it. Point an HTTP(s)&#10;monitor in Kuma at your heartbeat URL; each time Kuma runs it, that&amp;rsquo;s a&#10;heartbeat. If Kuma or its network goes quiet, you hear about it.&lt;/li&gt;&#10;&lt;li&gt;Any system that can make an HTTP request when something happens.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;No monitor is involved anywhere. A heartbeat is never assigned to one, and&#10;nothing about it is sent to any monitor.&lt;/p&gt;</description></item><item><title>Account API reference</title><link>https://docs.10pmuptime.com/docs/reference/account-api/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/reference/account-api/</guid><description>&lt;h1 id="account-api-reference"&gt;Account API reference&lt;a class="anchor" href="#account-api-reference"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;The read-only, customer-facing JSON API for a person&amp;rsquo;s own account data —&#10;checks, monitors, results, heartbeats, notification channels, members, and&#10;plan settings — plus a full data-export endpoint. This is a different&#10;surface from the &lt;a href="../api/"&gt;monitor API&lt;/a&gt;: that one is what a&#10;&lt;code&gt;monitor&lt;/code&gt; agent uses to talk to the server, authenticated as a monitor;&#10;this one is what a person (or a script acting on their behalf) uses to&#10;read their own org&amp;rsquo;s data, authenticated with their own bearer token&#10;minted from the organisation settings page. Generated from&#10;&lt;code&gt;docs-site/assets/tenpmuptime-account.yaml&lt;/code&gt; — see that file&amp;rsquo;s header for&#10;how it&amp;rsquo;s kept in sync with the code.&lt;/p&gt;</description></item><item><title>Adding your first monitor</title><link>https://docs.10pmuptime.com/docs/getting-started/adding-your-first-monitor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/getting-started/adding-your-first-monitor/</guid><description>&lt;h1 id="adding-your-first-monitor"&gt;Adding your first monitor&lt;a class="anchor" href="#adding-your-first-monitor"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;A &lt;strong&gt;monitor&lt;/strong&gt; is the small agent that actually runs your checks. It&amp;rsquo;s a&#10;standalone, open-source binary that you run on your own infrastructure —&#10;a home server, a VPS, a container, wherever you&amp;rsquo;d like your checks to run&#10;from. The Tenpm Uptime server never runs your checks itself; it just hands the&#10;monitor a list of what to check and collects the results back.&lt;/p&gt;&#10;&lt;p&gt;Because the monitor runs on hardware you control, it can reach targets the&#10;public internet can&amp;rsquo;t — internal admin pages, LAN devices, anything behind a&#10;firewall.&lt;/p&gt;</description></item><item><title>Notification channels</title><link>https://docs.10pmuptime.com/docs/guides/notification-channels/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/notification-channels/</guid><description>&lt;h1 id="notification-channels"&gt;Notification channels&lt;a class="anchor" href="#notification-channels"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;A notification channel is a destination an alert can be sent to. Your&#10;organisation can have any number of them, and each check or monitor decides&#10;which of them it actually uses.&lt;/p&gt;&#10;&lt;h2 id="adding-a-channel"&gt;Adding a channel&lt;a class="anchor" href="#adding-a-channel"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;From &lt;strong&gt;Organisation settings&lt;/strong&gt;, under &lt;strong&gt;Notification channels&lt;/strong&gt;:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Add ntfy channel&lt;/strong&gt; — sends a push notification via&#10;&lt;a href="https://ntfy.sh"&gt;ntfy&lt;/a&gt; to a topic you choose.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Add email channel&lt;/strong&gt; — sends to a single email address.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Add webhook channel&lt;/strong&gt; — sends an HTTP POST with a plain JSON body of&#10;your own to any endpoint you control. See &lt;a href="#webhook-channels"&gt;Webhook channels&lt;/a&gt;&#10;below for the payload shape and how to verify it came from tenpm uptime.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Add Slack channel&lt;/strong&gt; — sends to a Slack incoming webhook. See&#10;&lt;a href="#slack-channels"&gt;Slack channels&lt;/a&gt; below.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;How many channels you can have, and which kinds, depends on your plan — a kind&#10;your plan doesn&amp;rsquo;t include shows a disabled &lt;em&gt;Upgrade to enable&lt;/em&gt; button. See&#10;&lt;a href="../plans-and-billing/"&gt;Plans and billing&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Creating your first check</title><link>https://docs.10pmuptime.com/docs/getting-started/creating-your-first-check/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/getting-started/creating-your-first-check/</guid><description>&lt;h1 id="creating-your-first-check"&gt;Creating your first check&lt;a class="anchor" href="#creating-your-first-check"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;A &lt;strong&gt;check&lt;/strong&gt; is the thing you want watched — a URL, a TCP port, a TLS&#10;endpoint — and the rule that decides whether it&amp;rsquo;s healthy. Your monitors run&#10;it on the schedule you set and report the result back.&lt;/p&gt;&#10;&lt;h2 id="1-open-the-check-form"&gt;1. Open the check form&lt;a class="anchor" href="#1-open-the-check-form"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Go to &lt;strong&gt;Checks&lt;/strong&gt; and choose &lt;strong&gt;Add a check&lt;/strong&gt;.&lt;/p&gt;&#10;&lt;h2 id="2-describe-the-target"&gt;2. Describe the target&lt;a class="anchor" href="#2-describe-the-target"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Name&lt;/strong&gt; — how it shows up on your Dashboard.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;URL / target&lt;/strong&gt;, prefixed with a scheme that tells Tenpm Uptime how to reach&#10;it:&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;code&gt;http://&lt;/code&gt; or &lt;code&gt;https://&lt;/code&gt; — a web endpoint. This is the common case.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;tcp://host:port&lt;/code&gt; — a raw TCP connection, with an optional banner to&#10;match against.&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;tls://host:port&lt;/code&gt; — a bare TLS handshake, for services that expect TLS&#10;as the very first bytes on the wire (an SMTPS or IMAPS port, for&#10;example), where an &lt;code&gt;https://&lt;/code&gt; check would fail and a &lt;code&gt;tcp://&lt;/code&gt; check&#10;would just time out waiting for a plaintext banner.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Check interval&lt;/strong&gt; — how often it should run. Your plan sets the shortest&#10;interval you can choose (see &lt;a href="../../guides/plans-and-billing/"&gt;Plans and billing&lt;/a&gt;).&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Every scheme also supports pass/fail rules beyond &amp;ldquo;did it connect&amp;rdquo; — matching&#10;response content, requiring a specific status code, and more. Start simple&#10;here; those options are covered in a dedicated guide once you&amp;rsquo;re ready for&#10;them.&lt;/p&gt;</description></item><item><title>Managing monitors</title><link>https://docs.10pmuptime.com/docs/guides/managing-monitors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/managing-monitors/</guid><description>&lt;h1 id="managing-monitors"&gt;Managing monitors&lt;a class="anchor" href="#managing-monitors"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;The &lt;strong&gt;Monitors&lt;/strong&gt; page lists every monitor available to your organisation —&#10;the ones you&amp;rsquo;ve enrolled yourself, plus the shared fleet if you&amp;rsquo;re using it.&lt;/p&gt;&#10;&lt;h2 id="adding-more-monitors"&gt;Adding more monitors&lt;a class="anchor" href="#adding-more-monitors"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Each additional monitor needs its own enrollment token. On the &lt;strong&gt;Add a&#10;monitor&lt;/strong&gt; page, give the token a &lt;strong&gt;label&lt;/strong&gt; (e.g. &amp;ldquo;home NAS&amp;rdquo;) so you can tell&#10;which agent it belongs to, and create it. One token per machine means you&#10;can revoke a single agent&amp;rsquo;s ability to (re-)enroll without touching anyone&#10;else&amp;rsquo;s.&lt;/p&gt;</description></item><item><title>Organisation and account settings</title><link>https://docs.10pmuptime.com/docs/guides/organisation-and-account-settings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/organisation-and-account-settings/</guid><description>&lt;h1 id="organisation-and-account-settings"&gt;Organisation and account settings&lt;a class="anchor" href="#organisation-and-account-settings"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Tenpm Uptime has two separate settings pages: &lt;strong&gt;Account settings&lt;/strong&gt; for you&#10;personally, and &lt;strong&gt;Organisation settings&lt;/strong&gt; for things every member of your&#10;org shares. Both — along with &lt;strong&gt;Plan&lt;/strong&gt; and &lt;strong&gt;Billing&lt;/strong&gt; — are in the menu under&#10;your email address in the top right of the navigation bar.&lt;/p&gt;&#10;&lt;h2 id="account-settings"&gt;Account settings&lt;a class="anchor" href="#account-settings"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&#10;&lt;p&gt;&lt;strong&gt;Display timezone&lt;/strong&gt; — timestamps on results and notifications pages show&#10;alongside UTC in this timezone. Leave it on &lt;strong&gt;Server default&lt;/strong&gt; to use&#10;whatever the server itself is configured with.&lt;/p&gt;</description></item><item><title>Reading the dashboard</title><link>https://docs.10pmuptime.com/docs/getting-started/reading-the-dashboard/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/getting-started/reading-the-dashboard/</guid><description>&lt;h1 id="reading-the-dashboard"&gt;Reading the dashboard&lt;a class="anchor" href="#reading-the-dashboard"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;The Dashboard is a grid: your checks down the side, your monitors across the&#10;top, and each cell showing whether that check passed the last time that&#10;monitor ran it. It refreshes on its own every 30 seconds.&lt;/p&gt;&#10;&lt;h2 id="layouts"&gt;Layouts&lt;a class="anchor" href="#layouts"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;Use the view switcher at the top of the page to change how monitors are&#10;grouped:&lt;/p&gt;&#10;&lt;ul&gt;&#10;&lt;li&gt;&lt;strong&gt;Collapsed&lt;/strong&gt; (the default) — every monitor merged into a single column&#10;per check, so you see an up/down count rather than a wall of cells. Good&#10;for a quick glance across a lot of checks.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;Grid&lt;/strong&gt; — one column per monitor, so you can see exactly which monitor is&#10;reporting a failure.&lt;/li&gt;&#10;&lt;li&gt;&lt;strong&gt;By class&lt;/strong&gt; — splits your own monitors from the shared fleet into two&#10;groups, useful once you&amp;rsquo;re using both.&lt;/li&gt;&#10;&lt;/ul&gt;&#10;&lt;p&gt;Your choice is remembered in the page&amp;rsquo;s own link as you navigate, so paging&#10;or filtering won&amp;rsquo;t silently reset it back to the default.&lt;/p&gt;</description></item><item><title>Members and invitations</title><link>https://docs.10pmuptime.com/docs/guides/members-and-invitations/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/members-and-invitations/</guid><description>&lt;h1 id="members-and-invitations"&gt;Members and invitations&lt;a class="anchor" href="#members-and-invitations"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;An organisation can have more than one person in it. Everyone in the&#10;organisation sees the same checks, heartbeats, monitors, notification channels&#10;and results, and can change any of them. The one exception is &lt;strong&gt;who is in the&#10;organisation&lt;/strong&gt;, which only its owner can change.&lt;/p&gt;&#10;&lt;p&gt;The &lt;strong&gt;owner&lt;/strong&gt; is the account that created the organisation at signup. Ownership&#10;can&amp;rsquo;t be transferred yet, and the owner can&amp;rsquo;t be removed from their own&#10;organisation.&lt;/p&gt;</description></item><item><title>Public status page</title><link>https://docs.10pmuptime.com/docs/guides/public-status-page/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/public-status-page/</guid><description>&lt;h1 id="public-status-page"&gt;Public status page&lt;a class="anchor" href="#public-status-page"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;A public status page is a page anyone can open, with no login, showing whether&#10;the things you choose to publish are up. It&amp;rsquo;s for your customers or team to&#10;check &amp;ldquo;is it down, or is it just me?&amp;rdquo; without asking you.&lt;/p&gt;&#10;&lt;p&gt;It&amp;rsquo;s &lt;strong&gt;off by default&lt;/strong&gt;, and publishing is a deliberate two-step choice: you&#10;turn the page on for the organisation, and then you opt in each individual&#10;check you want listed on it.&lt;/p&gt;</description></item><item><title>Plans and billing</title><link>https://docs.10pmuptime.com/docs/guides/plans-and-billing/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/plans-and-billing/</guid><description>&lt;h1 id="plans-and-billing"&gt;Plans and billing&lt;a class="anchor" href="#plans-and-billing"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Every organisation is on a &lt;strong&gt;plan&lt;/strong&gt;, which sets what it&amp;rsquo;s limited to. Your own&#10;monitors are unlimited on every plan — plans meter &lt;strong&gt;checks&lt;/strong&gt;, not agents.&lt;/p&gt;&#10;&lt;p&gt;The current prices are on the &lt;a href="https://tenpmuptime.com/pricing"&gt;pricing page&lt;/a&gt;.&#10;This page covers what each plan&amp;rsquo;s limits are and what happens when they bite.&lt;/p&gt;&#10;&lt;h2 id="what-each-plan-includes"&gt;What each plan includes&lt;a class="anchor" href="#what-each-plan-includes"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;table&gt;&#10;&#9;&lt;thead&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Free&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Solo&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Double&lt;/th&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;th&gt;Team&lt;/th&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/thead&gt;&#10;&#9;&lt;tbody&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Checks&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;10&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;20&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;40&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;100&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Heartbeat checks&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;5&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;10&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;25&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Shortest check interval&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2 min&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1 min&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;45 s&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;30 s&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Longest check timeout&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;10 s&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;30 s&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;45 s&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;60 s&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Notification channels&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;5&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;10&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Unlimited&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Channel types&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ntfy, email&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;ntfy, email&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;+ webhook&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;+ Slack&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Members&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;1&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;2&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Unlimited&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Certificate-expiry warnings&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;No&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Yes&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Yes&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Yes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Public status page&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;No&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Yes&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Yes&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Yes&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&#9;&#9;&lt;tr&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;Result history&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;30 days&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;6 months&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;9 months&lt;/td&gt;&#10;&#9;&#9;&#9;&#9;&#9;&lt;td&gt;12 months&lt;/td&gt;&#10;&#9;&#9;&#9;&lt;/tr&gt;&#10;&#9;&lt;/tbody&gt;&#10;&lt;/table&gt;&#10;&lt;p&gt;A few notes on the rows:&lt;/p&gt;</description></item><item><title>Check history and charts</title><link>https://docs.10pmuptime.com/docs/guides/check-history-and-charts/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/check-history-and-charts/</guid><description>&lt;h1 id="check-history-and-charts"&gt;Check history and charts&lt;a class="anchor" href="#check-history-and-charts"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Click through from the Dashboard to a check&amp;rsquo;s own page for its full history:&#10;a response-time chart, an uptime table, and individual recent results.&lt;/p&gt;&#10;&lt;h2 id="time-range"&gt;Time range&lt;a class="anchor" href="#time-range"&gt;#&lt;/a&gt;&lt;/h2&gt;&#10;&lt;p&gt;The chart has a range picker: &lt;strong&gt;1h, 24h, 7d, 30d, 6mo, 12mo, all&lt;/strong&gt;. Your&#10;choice carries through everything else on the page — paging through recent&#10;results or switching which monitor you&amp;rsquo;re looking at won&amp;rsquo;t reset it.&lt;/p&gt;&#10;&lt;p&gt;Longer ranges use pre-aggregated hourly or daily data rather than every raw&#10;result, which changes what the &lt;strong&gt;Max / Min / Avg&lt;/strong&gt; caption under the chart&#10;means: at 1h/24h it&amp;rsquo;s computed from actual response times; at 7d and beyond,&#10;each point is an average across &lt;em&gt;every&lt;/em&gt; attempt in that period — including&#10;failed ones, since aggregated data has no separate record of which attempts&#10;actually got a response back. A response time of 0 always means the target&#10;sent nothing back at all (timeout or connection failure), not a genuinely&#10;instant response.&lt;/p&gt;</description></item><item><title>Private-definition checks</title><link>https://docs.10pmuptime.com/docs/guides/private-definition-checks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/private-definition-checks/</guid><description>&lt;h1 id="private-definition-checks"&gt;Private-definition checks&lt;a class="anchor" href="#private-definition-checks"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;An ordinary check&amp;rsquo;s URL, match rule, headers, and other details live on the&#10;server, which is what lets the server show them to you, run &lt;strong&gt;Test&lt;/strong&gt; on&#10;demand, and hand them to any monitor you assign. Sometimes that&amp;rsquo;s the wrong&#10;trade — the target is an internal admin URL with credentials baked in, say,&#10;and you don&amp;rsquo;t want that sitting on a server at all, even one you trust.&lt;/p&gt;</description></item><item><title>Running the monitor as a service</title><link>https://docs.10pmuptime.com/docs/guides/running-the-monitor-as-a-service/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://docs.10pmuptime.com/docs/guides/running-the-monitor-as-a-service/</guid><description>&lt;h1 id="running-the-monitor-as-a-service"&gt;Running the monitor as a service&lt;a class="anchor" href="#running-the-monitor-as-a-service"&gt;#&lt;/a&gt;&lt;/h1&gt;&#10;&lt;p&gt;Running &lt;code&gt;monitor&lt;/code&gt; in a foreground terminal is fine for trying it out, but&#10;for anything ongoing you want it to survive reboots, restart itself if it&#10;crashes, and log somewhere you can check later. Two straightforward ways to&#10;get that: a systemd unit, or a Docker container. Pick whichever fits how you&#10;already manage the machine it&amp;rsquo;ll run on.&lt;/p&gt;&#10;&lt;p&gt;Either way you&amp;rsquo;ll need: the &lt;code&gt;monitor&lt;/code&gt; binary (or, for Docker, the published image),&#10;your server&amp;rsquo;s URL, and an enrollment token from &lt;strong&gt;Monitors → Add a monitor&lt;/strong&gt;&#10;(see &lt;a href="../../getting-started/adding-your-first-monitor/"&gt;Adding your first monitor&lt;/a&gt;&#10;if you haven&amp;rsquo;t done this yet).&lt;/p&gt;</description></item></channel></rss>