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
- Create an account or sign in.
- Click Add Monitor on the dashboard.
- Enter the endpoint URL (e.g.,
https://api.example.com/health). - Set the HTTP method (GET, POST, PUT, DELETE).
- Set the expected status code (usually
200). - Choose a check interval (1 min, 3 min, or 15 min).
- Click Test Endpoint — the test must pass before you can save.
- Click Save Monitor.
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:
| Field | Description |
|---|---|
| Name | A friendly label (e.g., "Production API Health"). |
| URL | The full endpoint URL including protocol. |
| HTTP Method | GET, POST, PUT, or DELETE. |
| Expected Status Code | The status code that means "healthy" (default: 200). |
| Check Interval | How often to check: every 1, 3, or 15 minutes. |
| Folder | Optional — organize monitors into folders. |
| Response Assertions | Optional — validate the JSON response body (see below). |
| Credentials | Optional — 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
| Operator | Example | What it checks |
|---|---|---|
equals | $.status equals Ok | Exact string match |
not_equals | $.env not equals maintenance | Not equal |
contains | $.message contains success | Substring match (case-insensitive) |
greater_than | $.count greater than 0 | Numeric comparison |
less_than | $.latency less than 1000 | Numeric comparison |
exists | $.data exists | Path exists and is not null |
not_exists | $.error not exists | Path does not exist |
min_length | $.items min length 1 | Array has at least N elements |
is_type | $.id is type number | Type: string, number, boolean, array, object |
regex | $.version regex ^\d+\.\d+ | Regular expression match |
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:
- In the notification dialog, select Slack as the channel.
- Click Add to Slack to install the PulseArc app in your workspace.
- Select the workspace from the dropdown.
- 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:
- In the notification dialog, select Discord.
- Click Add Bot to Server to invite the PulseArc bot.
- 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
- Open t.me/pulsarc_bot in Telegram.
- Send
/startto the bot. - Copy the Chat ID the bot replies with.
- Paste it into the PulseArc dashboard.
Setup for Group
- Add @pulsarc_bot to your group.
- Send
/startin the group. - Copy the Group Chat ID (starts with
-).
Setup for Channel
- Add @pulsarc_bot as a channel administrator.
- 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
- Go to Teams in the navigation.
- Select a team (or create one).
- Click Invite Member.
- Enter their email address and set their permissions.
- 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:
| Permission | What it allows |
|---|---|
| Create Monitors | Add new monitors to the team. |
| Edit Monitors | Modify existing team monitors. |
| Delete Monitors | Remove team monitors (with confirmation). |
| Manage Notifications | Create 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
- Go to
chrome://extensions/. - Enable "Developer mode".
- Click "Load unpacked" and select the
browserextension_chromefolder.
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
/api/auth/registerCreate a new account./api/auth/loginSign in and receive a JWT./api/auth/refreshRefresh an expiring JWT (requires valid JWT).Monitors
/api/monitorsList all monitors. Use ?teamId=X for team context./api/monitors/:idGet a single monitor./api/monitorsCreate a monitor./api/monitors/:idUpdate a monitor./api/monitors/:idDelete a monitor and all its history./api/monitors/testTest an endpoint without saving./api/monitors/:id/resultsRaw results for the last 24h./api/monitors/:id/historyAggregated daily summaries (90 days).Folders
/api/foldersList folders. Use ?teamId=X for team context./api/foldersCreate a folder./api/folders/:idRename or move a folder./api/folders/:idDelete a folder.Notifications
/api/notificationsList notification preferences./api/notificationsCreate a notification preference./api/notifications/:idUpdate a notification preference./api/notifications/:idDelete a notification preference./api/notifications/testSend a test notification.Teams
/api/teamsList teams you belong to./api/teamsCreate a team./api/teams/:id/membersList team members./api/teams/:id/members/inviteInvite a member by email.Extension
/api/extension/settingsGet extension settings./api/extension/settingsUpdate extension settings.