> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Better Stack

> Connect Better Stack to your Atako agents — 10 read and 6 write actions.

Let your agents monitor uptime, manage incidents and status pages via the Better Stack Uptime API.

## Connection

* **Authentication**: API key (Uptime API token).

<Note>
  Sign in at betterstack.com → Settings → API tokens → Team-based tokens → select your team → create a Uptime API token. Copy the token.

  See [Better Stack's documentation](https://betterstack.com/docs/uptime/api/getting-started-with-uptime-api/).
</Note>

## Read actions (10)

| Action                       | Description                                                                                                                                                                                   |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_incident`               | Retrieve a single incident by its ID.                                                                                                                                                         |
| `get_monitor`                | Retrieve a single monitor by its ID.                                                                                                                                                          |
| `get_monitor_availability`   | Get availability summary (SLA) for a monitor. Optionally filter by date range with from/to (YYYY-MM-DD). Values for total\_downtime, longest\_incident, and average\_incident are in seconds. |
| `get_monitor_response_times` | Get response times for a monitor over the last 24 hours, grouped by region.                                                                                                                   |
| `list_heartbeats`            | List all heartbeats (cron / scheduled job monitors).                                                                                                                                          |
| `list_incidents`             | List all incidents. Supports pagination (max 50 per page). Filter by date range (from/to YYYY-MM-DD), monitor\_id, heartbeat\_id, resolved, or acknowledged.                                  |
| `list_monitor_groups`        | List all monitor groups.                                                                                                                                                                      |
| `list_monitors`              | List all monitors. Returns a paginated list of monitors with their status, URL, name, check frequency, and regions.                                                                           |
| `list_status_page_reports`   | List all reports (incidents / maintenance) on a status page.                                                                                                                                  |
| `list_status_pages`          | List all status pages.                                                                                                                                                                        |

## Write actions (6)

| Action                      | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| --------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `acknowledge_incident`      | Acknowledge an ongoing incident to prevent further escalations. Body: \{ acknowledged\_by: string } — user email or custom identifier (string, not an object). incident\_id is a string (the incident ID).                                                                                                                                                                                                                                                                                                                        |
| `create_monitor`            | Create a new uptime monitor. monitor\_type: enum string (status, expected\_status\_code, keyword, keyword\_absence, ping, tcp, udp, smtp, pop, imap, dns, playwright). url: string (the URL or host to monitor). pronounceable\_name: string (human-readable name). check\_frequency: integer in seconds (minimum 30). regions: array of enum strings (us, eu, as, au) or subset. email: optional boolean (send email alerts). push: optional boolean (send push notification to on-call). Do NOT pass call or sms (not exposed). |
| `create_status_page_report` | Create a status page report (incident or maintenance). Body: title: string (report title), message: string (first status update message), report\_type: string enum ("manual" or "maintenance", default "manual"), affected\_resources: array of objects (each with status\_page\_resource\_id: string and status: string enum "resolved"/"degraded"/"downtime"/"maintenance"). status\_page\_id is a string (the status page ID).                                                                                                |
| `pause_monitor`             | Pause a monitor. Sends body \{ paused: true }. The monitor\_id is a string (the monitor ID).                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `resolve_incident`          | Resolve an ongoing incident. Body: \{ resolved\_by: string } — user email or custom identifier (string, not an object). incident\_id is a string (the incident ID).                                                                                                                                                                                                                                                                                                                                                               |
| `resume_monitor`            | Resume a paused monitor. Sends body \{ paused: false }. The monitor\_id is a string (the monitor ID).                                                                                                                                                                                                                                                                                                                                                                                                                             |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.
