Documentation

Learn how to use PulseArc to monitor your APIs, set up alerts, and collaborate with your team.

1. Getting Started

PulseArc monitors your API endpoints and alerts you when something goes wrong. Whether you have one endpoint or hundreds, PulseArc checks them at regular intervals and notifies you via Email, Slack, Discord, or Telegram.

Creating your first monitor

  1. Create an account or sign in.
  2. Click Add Monitor on the dashboard.
  3. Enter the endpoint URL (e.g., https://api.example.com/health).
  4. Set the HTTP method (GET, POST, PUT, DELETE).
  5. Set the expected status code (usually 200).
  6. Choose a check interval (1 min, 3 min, or 15 min).
  7. Click Test Endpoint — the test must pass before you can save.
  8. Click Save Monitor.
The test requirement ensures you don't accidentally create a monitor that immediately reports as down.

3. The Dashboard

The dashboard is your central overview. It shows all your monitors organized in folders, with real-time status indicators:

  • Status icon — green (up), red (down), or gray (pending first check).
  • Response time — last measured response time in milliseconds.
  • Status code — the HTTP status code returned.
  • Sparkline — a tiny graph showing the last 24 hours of response times.
  • Active toggle — pause or resume monitoring without deleting.

The dashboard auto-refreshes every 30 seconds so you always see the latest state.

4. Monitor Configuration

Each monitor tracks a single HTTP endpoint. Here's what you can configure:

FieldDescription
NameA friendly label (e.g., "Production API Health").
URLThe full endpoint URL including protocol.
HTTP MethodGET, POST, PUT, or DELETE.
Expected Status CodeThe status code that means "healthy" (default: 200).
Check IntervalHow often to check: every 1, 3, or 15 minutes.
FolderOptional — organize monitors into folders.
Response AssertionsOptional — validate the JSON response body (see below).
CredentialsOptional — Bearer token or Basic Auth for protected endpoints.

5. Status Codes & Expected Responses

A monitor is considered up when the HTTP response matches the expected status code. If the status code doesn't match, or the request times out, or a connection error occurs, the monitor is marked as down.

Additionally, if the response takes longer than 3000ms, a slow response event is triggered (even if the monitor is technically up).

6. Response Body Assertions

Beyond status codes, you can validate the actual JSON response body. This is useful for APIs that return 200 OK but include error information in the body.

Add one or more rules. Each rule has:

  • JSONPath — which value to extract (e.g., $.status, $.data[0].id).
  • Operator — how to compare.
  • Expected value — what you expect.

Available operators

OperatorExampleWhat it checks
equals$.status equals OkExact string match
not_equals$.env not equals maintenanceNot equal
contains$.message contains successSubstring match (case-insensitive)
greater_than$.count greater than 0Numeric comparison
less_than$.latency less than 1000Numeric comparison
exists$.data existsPath exists and is not null
not_exists$.error not existsPath does not exist
min_length$.items min length 1Array has at least N elements
is_type$.id is type numberType: string, number, boolean, array, object
regex$.version regex ^\d+\.\d+Regular expression match
If any assertion fails, the monitor is marked as down, even if the status code matched. The failed assertion details are shown in the monitor's result history.

7. Authentication & Credentials

For protected endpoints, PulseArc supports two authentication methods:

  • Bearer Token — sends Authorization: Bearer <token> with each request.
  • Basic Auth — sends Authorization: Basic <base64> with each request.

Select the credential type in the monitor settings and provide the token or Base64-encoded credentials.

8. Organizing with Folders

As your number of monitors grows, folders help keep things organized. Folders can be nested (folders inside folders) and you can drag & drop monitors between them.

  • Click New Folder to create one.
  • Drag monitors onto a folder to move them.
  • Drag monitors within a folder to reorder.
  • Click the pencil icon on a folder to rename it.
  • Deleting a folder moves its monitors to "Uncategorized" (monitors are never deleted).

In a team context, folders are shared — all team members see the same folder structure.

9. Notifications

PulseArc can alert you when a monitor changes state. Each notification preference specifies:

  • Channel — how to deliver: Email, Slack, Discord, or Telegram.
  • Events — what triggers it: Down, Recovered, Slow.
  • Monitor scope — all monitors, or a specific one.

You can create multiple notifications with different channels and scopes.

10. Email Notifications

Email alerts are sent via Resend. Enter the email address where you want to receive alerts. Each alert includes the monitor name, URL, status code, response time, and timestamp.

11. Slack

PulseArc integrates as a Slack app. Setup:

  1. In the notification dialog, select Slack as the channel.
  2. Click Add to Slack to install the PulseArc app in your workspace.
  3. Select the workspace from the dropdown.
  4. Select the channel where alerts should be posted.

Alerts are posted as rich Slack attachments with color coding (red = down, green = recovered, yellow = slow).

12. Discord

PulseArc runs a Discord bot. Setup:

  1. In the notification dialog, select Discord.
  2. Click Add Bot to Server to invite the PulseArc bot.
  3. Select the server and text channel.

Alerts are sent as Discord embeds with color-coded borders.

13. Telegram

PulseArc supports three Telegram delivery modes:

  • Direct Message — alerts sent to your personal chat with the bot.
  • Group — alerts posted in a Telegram group.
  • Channel — alerts posted in a Telegram channel.

Setup for DM

  1. Open t.me/pulsarc_bot in Telegram.
  2. Send /start to the bot.
  3. Copy the Chat ID the bot replies with.
  4. Paste it into the PulseArc dashboard.

Setup for Group

  1. Add @pulsarc_bot to your group.
  2. Send /start in the group.
  3. Copy the Group Chat ID (starts with -).

Setup for Channel

  1. Add @pulsarc_bot as a channel administrator.
  2. Use the channel's numeric ID or @channelname.

14. Teams & Collaboration

Teams let you share monitors with colleagues. The user who creates a team is the Admin. Admins can invite members, set permissions, and manage the team.

Use the team switcher in the navigation bar to switch between your personal workspace and team workspaces.

15. Inviting Members

  1. Go to Teams in the navigation.
  2. Select a team (or create one).
  3. Click Invite Member.
  4. Enter their email address and set their permissions.
  5. They'll receive an email with an invite link (valid for 7 days).

If the invited person doesn't have a PulseArc account, they'll be prompted to create a password when accepting the invite. If they already have an account, they simply click accept.

16. Member Permissions

Each team member can be granted granular permissions:

PermissionWhat it allows
Create MonitorsAdd new monitors to the team.
Edit MonitorsModify existing team monitors.
Delete MonitorsRemove team monitors (with confirmation).
Manage NotificationsCreate and edit team notification preferences.

Admins always have full permissions. Permissions can be updated at any time by the admin.

17. Browser Extension

The PulseArc Chrome extension shows your monitor status directly in the browser toolbar.

Installation

  1. Go to chrome://extensions/.
  2. Enable "Developer mode".
  3. Click "Load unpacked" and select the browserextension_chrome folder.

Features

  • Toolbar icon changes based on overall status: green (all up), amber (slow), red (down).
  • Popup shows all monitors with latest status, response time, and last check time.
  • Auto-login — if you're logged into the web dashboard, the extension picks up your session automatically.
  • Click-through — click any monitor to open its detail page.
  • Auto-refresh — polls every 60 seconds.

18. Extension Popup Alerts

Configure browser notification popups in Dashboard → Extension.

  • Toggle alerts for: Down, Recovered, Slow.
  • Choose which monitors are visible in the extension.
  • Drag to reorder monitors in the extension popup.
  • Clicking a notification opens the monitor's detail page.

19. Advanced Features

PulseArc includes several advanced features for power users and larger deployments.

20. Data Retention & Aggregation

PulseArc manages check data with a two-tier approach:

  • Raw results — kept for 24 hours. Every individual check is stored with full detail.
  • Aggregated summaries — kept for 90 days. Daily summaries with uptime %, min/max/avg/median response times, and status code breakdowns.

Aggregation runs automatically at 00:05 UTC each day. Raw data cleanup runs at 00:10 UTC. This keeps the database lean while preserving historical trends.

21. Monitor Detail & History

Click any monitor to open its detail page, which shows:

  • Summary cards — uptime %, average/fastest/slowest response in the last 24h.
  • Response time chart — interactive graph of the last 24 hours.
  • Historical chart — daily average response times for up to 90 days.
  • Historical table — detailed daily breakdown with status code distributions.
  • Recent results — the last 50 raw checks with status, timing, and up/down indicators.

22. API Reference

PulseArc exposes a REST API that powers both the web dashboard and the browser extension. All endpoints require a JWT token in the Authorization: Bearer header (except auth endpoints).

Authentication

POST/api/auth/registerCreate a new account.
POST/api/auth/loginSign in and receive a JWT.
POST/api/auth/refreshRefresh an expiring JWT (requires valid JWT).

Monitors

GET/api/monitorsList all monitors. Use ?teamId=X for team context.
GET/api/monitors/:idGet a single monitor.
POST/api/monitorsCreate a monitor.
PUT/api/monitors/:idUpdate a monitor.
DELETE/api/monitors/:idDelete a monitor and all its history.
POST/api/monitors/testTest an endpoint without saving.
GET/api/monitors/:id/resultsRaw results for the last 24h.
GET/api/monitors/:id/historyAggregated daily summaries (90 days).

Folders

GET/api/foldersList folders. Use ?teamId=X for team context.
POST/api/foldersCreate a folder.
PUT/api/folders/:idRename or move a folder.
DELETE/api/folders/:idDelete a folder.

Notifications

GET/api/notificationsList notification preferences.
POST/api/notificationsCreate a notification preference.
PUT/api/notifications/:idUpdate a notification preference.
DELETE/api/notifications/:idDelete a notification preference.
POST/api/notifications/testSend a test notification.

Teams

GET/api/teamsList teams you belong to.
POST/api/teamsCreate a team.
GET/api/teams/:id/membersList team members.
POST/api/teams/:id/members/inviteInvite a member by email.

Extension

GET/api/extension/settingsGet extension settings.
PUT/api/extension/settingsUpdate extension settings.