---
title: Instatus API Integration on Truto
slug: instatus
category: Incident Management
canonical: "https://truto.one/integrations/detail/instatus/"
---

# Instatus API Integration on Truto



**Category:** Incident Management  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 96 tools for Instatus that AI agents can call directly.

- **list_all_instatus_pages** — List the Instatus status pages in your workspace, one page per element. Returns status page objects including id, subdomain, name, status, language, brandColor, createdAt, and updatedAt. Pagination defaults to page 1 with 50 items per page, maximum 100.
- **create_a_instatus_page** — Create a new status page in Instatus. Returns the created page including id, subdomain, name, status, language, color settings, and the initial components array. Requires email, name, and subdomain.
- **delete_a_instatus_page_by_id** — Delete a status page in Instatus by its id. Returns an empty 204 response on success.
- **update_a_instatus_page_by_id** — Update an existing status page in Instatus by its id. Returns the updated page including id, subdomain, name, status, subscriberConfirmationMode, and translations. Required: id.
- **list_all_instatus_components** — List all components on an Instatus status page. Returns each component's id, name, status, uniqueEmail, description, showUptime, order, group, and translations. Required: page_id. Max 100 items per page.
- **create_a_instatus_component** — Create a component on an Instatus status page. Returns the created component including id, name, status, uniqueEmail, showUptime, order, group, and translations. Required: page_id. Set grouped to true together with group to nest the component under a group.
- **get_single_instatus_component_by_id** — Get a single component on an Instatus status page by id. Returns: id, name, description, status, uniqueEmail, showUptime, order, group, translations. Required: page_id, id.
- **update_a_instatus_component_by_id** — Update a component on an Instatus status page by id. Returns the updated component including id, name, status, uniqueEmail, showUptime, order, group, and translations. Required: page_id, id. Set grouped to true together with groupId to change the component's group.
- **delete_a_instatus_component_by_id** — Delete a component from an Instatus status page by id. Returns: id, name, status, uniqueEmail, showUptime, order. Required: page_id, id.
- **list_all_instatus_incidents** — List all incidents on an Instatus status page. Returns: id, name, status, started, duration, resolved, updates, components, translations, user. Required: page_id. Max 100 items per page.
- **create_a_instatus_incident** — Create a new incident on an Instatus status page. Returns the created incident including id, name, status, started, resolved, updates, components, and user. Required: page_id, name.
- **get_single_instatus_incident_by_id** — Get a single incident on an Instatus status page by id. Returns: id, name, status, started, duration, resolved, updates, components, translations, user. Required: page_id, id.
- **update_a_instatus_incident_by_id** — Update an existing incident on an Instatus status page. Returns the updated incident including id, name, status, started, resolved, updates, components, and user. Required: page_id, id.
- **delete_a_instatus_incident_by_id** — Delete an existing incident on an Instatus status page by id. Returns the deleted incident's id. Required: page_id, id.
- **instatus_incidents_create_from_template** — Create an Instatus incident from a template on a status page. Returns the created incident with its id, name, status, started, impact, notify, automated, and siteId. Required: page_id, template.
- **list_all_instatus_maintenances** — List all maintenances for an Instatus status page. Returns maintenance objects with id, name, status, start, duration, updates, components, and translations. Required: page_id. Up to 100 items per page.
- **create_a_instatus_maintenance** — Create a new maintenance on an Instatus status page. Returns the created maintenance object with id, name, status, start, end, duration, updates, components, and translations. Required: page_id.
- **get_single_instatus_maintenance_by_id** — Get a specific maintenance on an Instatus status page by id. Returns the maintenance object with id, name, status, start, end, duration, updates, components, and translations. Required: id, page_id.
- **update_a_instatus_maintenance_by_id** — Update an existing maintenance on an Instatus status page. Returns the updated maintenance object with id, name, status, start, end, duration, updates, components, and translations. Required: id, page_id.
- **delete_a_instatus_maintenance_by_id** — Delete an existing maintenance on an Instatus status page. Returns: id. Required: id, page_id.
- **list_all_instatus_templates** — List all templates for an Instatus status page. Returns: id, type, name, nameTranslationId, message, messageTranslationId, messageHtml, messageHtmlTranslationId, status, notify, createdAt, siteId, importedFromStatuspage, deletedAt, origin, components, translations, importedFrom. Required: page_id.
- **create_a_instatus_template** — Create a new template for an Instatus status page. Returns the created template including id, type, name, status, message, and components. Required: page_id, type, name.
- **get_single_instatus_template_by_id** — Get a single template on an Instatus status page by id. Returns: id, type, name, nameTranslationId, message, messageTranslationId, messageHtml, messageHtmlTranslationId, status, notify, createdAt, siteId, importedFromStatuspage, deletedAt, origin, components, translations, importedFrom. Required: id, page_id.
- **update_a_instatus_template_by_id** — Update an existing template on an Instatus status page by id. Returns the updated template including id, type, name, status, message, and components. Required: id, page_id, type, name.
- **delete_a_instatus_template_by_id** — Delete an existing template on an Instatus status page by id. Returns the id of the deleted template. Required: id, page_id.
- **list_all_instatus_teams** — List teammates on an Instatus status page. Returns each team member's id and user object with the user's id, name, email, and avatar. Required: page_id. Max 100 per page.
- **create_a_instatus_team** — Add a team member to an Instatus status page. Returns: email, id. Required: page_id and email.
- **delete_a_instatus_team_by_id** — Delete a team member from an Instatus status page by id. Returns the removed member's memberId. Required: page_id and id.
- **list_all_instatus_team_groups** — List team group members for a specific Instatus status page, including their team group assignments. Returns records with id, name, siteId, teammates, and components. Required: page_id. Max 100 items per page.
- **create_a_instatus_team_group** — Add a new team group member to a specific Instatus status page. Returns the created team group record with id, name, siteId, teammates, and components. Required: page_id, name, teammates.
- **delete_a_instatus_team_group_by_id** — Delete a team group member from a specific Instatus status page. Returns: memberId. Required: page_id, member_id, and id (the team group member's id).
- **list_all_instatus_subscribers** — List subscribers for an instatus status page, optionally filtered by email or phone number. Returns each subscriber's id, email, phone, webhook, confirmed, approved, all, and components. Max 100 per page. Required: page_id.
- **create_a_instatus_subscriber** — Add a new subscriber to an instatus status page, identifying the subscriber by email or phone. Returns the created subscriber detail including id, email, phone, confirmed, approved, createdAt, and site. autoConfirm adds the subscriber immediately without confirmation emails (Pro only). Required: page_id.
- **instatus_subscribers_bulk_create** — Add multiple subscribers to an instatus status page in a single request. Returns: success, created, failed, results. Maximum 100 subscribers per request; partial success is supported. Required: page_id, subscribers.
- **delete_a_instatus_subscriber_by_id** — Remove a subscriber from an instatus status page by id. Returns the removed subscriber summary including id, email, phone, webhook, discord, company, and site. Required: page_id, id.
- **list_all_instatus_metrics** — List all metrics for a status page in instatus. Returns metric objects with id, name, active, order, suffix, lastDataAt, and datapoints. Required: page_id. Max 100 per page.
- **create_a_instatus_metric** — Add a metric to a status page in instatus. Returns the created metric object including its id, name, active, order, suffix, lastDataAt, and datapoints. Required: page_id and name.
- **get_single_instatus_metric_by_id** — Get a metric by id on a status page in instatus. Returns: id, timestamp, value, name, active, order, suffix, lastDataAt, data. Required: page_id and id.
- **update_a_instatus_metric_by_id** — Update an existing metric by id on a status page in instatus. Returns the updated metric object including its id, name, active, order, suffix, lastDataAt, and datapoints. Required: page_id and id.
- **delete_a_instatus_metric_by_id** — Delete an existing metric by id from a status page in instatus. Returns a 200 response on success. Required: id and page_id.
- **list_all_instatus_users** — Get the authenticated user's profile in Instatus. Returns: id, email, name, slug, avatar, error.
- **get_single_instatus_summary_by_id** — Get the summary for a single cron monitor in Instatus: availability percentages and last-seen timestamps for the monitor (zeroed availabilities and null timestamps if it has never been pinged). Returns the summary object with id and attributes. Required: id.
- **list_all_instatus_audience_groups** — List all audience groups for an instatus status page. Returns: id, siteId, name, teammates, components, site. Required: page_id. Max 100 items per page.
- **create_a_instatus_audience_group** — Create an audience group on an instatus status page. Returns the created group with id, siteId, name, teammates, and components. Required: page_id.
- **get_single_instatus_audience_group_by_id** — Get a single instatus audience group by id. Returns: id, siteId, name, teammates, components, site. Required: page_id, id.
- **update_a_instatus_audience_group_by_id** — Update an instatus audience group by id, replacing its name, component, and teammate memberships. Returns: id, siteId, name, teammates, components, site. Required: page_id, id.
- **delete_a_instatus_audience_group_by_id** — Delete an instatus audience group by id. Returns the deleted group with id, siteId, name, and site. Required: page_id, id.
- **create_a_instatus_regenerate_secure_link** — Regenerate the secure link for a specific private Instatus status page. Returns the secure link object with its id and secureLink URL. Required: page_id.
- **list_all_instatus_monitors_check_inserted_logs** — Check inserted monitor logs in Instatus. Returns: message, error.g. "Monitor not found").
- **create_a_instatus_monitors_cron** — Create a cron monitor in instatus that tracks a scheduled job via HTTP pings. Returns the created monitor's id, slug, period, grace, state, and onFail/onRecover settings; the slug is the secret used to build the monitor's ping URLs. Requires pageId, name, and period.
- **update_a_instatus_monitors_cron_by_id** — Update a cron monitor in instatus; only the fields you send are changed. Returns the updated monitor's id, name, slug, period, grace, state, and onFail/onRecover settings. Use state with PAUSED, MUTED or ACTIVE to pause, mute or resume the monitor — there is no separate pause endpoint. Required: id.
- **delete_a_instatus_monitors_cron_by_id** — Delete a cron monitor in instatus permanently, including its scheduled check and attached incident templates; any linked component is kept. Returns the deleted monitor's id, name, slug, state, and a confirmation message. Required: id.
- **list_all_instatus_monitors_crons** — List the cron monitors configured on an Instatus status page. Cron monitors track scheduled jobs via HTTP pings. Returns the cron monitor objects in cronMonitors, alongside total, page, totalPages, and limit. Each monitor includes id, name, slug (used to build the job's ping URLs), period and grace in seconds, status, state, siteId, componentId, the onFail/onRecover incident flags, createdAt, and updatedAt. Supports search by name and status filtering (UP, DOWN, DEGRADED, UNKNOWN). Required: page_id.
- **create_a_instatus_monitors_group** — Create a monitor group in Instatus. Returns the new group under monitor — including id, name, siteId, collapsed, monitors, children, order, and createdAt/updatedAt — plus a confirmation message. Required: name.
- **update_a_instatus_monitors_group_by_id** — Update a monitor group by id in Instatus. Returns the updated group under monitor — including id, name, siteId, collapsed, monitors, children, order, and createdAt/updatedAt — plus a confirmation message. Required: id.
- **delete_a_instatus_monitors_group_by_id** — Delete a monitor group by id in Instatus. Returns: message.g. 'Monitor group deleted successfully.'). Required: id.
- **create_a_instatus_monitors_group_monitor** — Add one or more monitors to an existing monitors group in Instatus. Returns a confirmation message on success. Required: monitors_group_id, monitors (array of monitor ids).
- **get_single_instatus_monitors_group_run_by_id** — Run the monitor group check for an Instatus monitors group by id. Returns the check outcome in result (e.g. OK) and the monitorLogId of the monitor log entry produced by the run. Required: id.
- **list_all_instatus_routing_rules** — List the routing rules of an Instatus page. Returns routing rule objects with id, siteId, assertions, actions, createdAt, updatedAt, and order. Required: page_id.
- **create_a_instatus_routing_rule** — Create a routing rule in Instatus. Returns the created routingRule (id, siteId, assertions, actions, order, createdAt, updatedAt) and a confirmation message. Required: routingRule. In actions, targetId is a workspace member email or a team id depending on the action type.
- **update_a_instatus_routing_rule_by_id** — Update a routing rule in Instatus by id. Returns the updated routingRule (id, siteId, assertions, actions, order, createdAt, updatedAt) and a confirmation message. Required: id, routingRule.
- **delete_a_instatus_routing_rule_by_id** — Delete a routing rule in Instatus by id. Returns a confirmation message. Required: id.
- **list_all_instatus_escalation_policies** — List the escalation policies configured on an Instatus status page. Returns each policy's id, siteId, name, description, rules (with condition, delayInMins, and actions), repeat settings, and createdAt/updatedAt timestamps. Required: page_id.
- **create_a_instatus_escalation_policy** — Create an escalation policy in Instatus with ordered notification rules. Returns the created policy under escalationPolicy (including id, pageId, name, rules, repeat, repeatDelay, repeatCount, autoResolveIncidentsAfterRepeat, and revertAcknowledgement) plus a confirmation message. Requires pageId and name.
- **update_a_instatus_escalation_policy_by_id** — Update an Instatus escalation policy by id, replacing its name, description, ordered rules, and repeat settings. Returns the updated policy under escalationPolicy (including id, pageId, name, rules, repeat, repeatDelay, repeatCount, autoResolveIncidentsAfterRepeat, and revertAcknowledgement) plus a confirmation message. Required: id.
- **delete_a_instatus_escalation_policy_by_id** — Delete an Instatus escalation policy by id. Returns: message. Required: id.
- **create_a_instatus_on_call_schedule** — Create an on-call schedule in instatus with on-call shifts, member rotations, and restriction windows. Returns: id, name, description, status, onCallShifts.
- **update_a_instatus_on_call_schedule_by_id** — Update an on-call schedule in instatus by id, including its shifts, member rotations, and restriction windows. Returns: id, name, description, status, onCallShifts. Required: id.
- **delete_a_instatus_on_call_schedule_by_id** — Delete an on-call schedule in instatus by id. Returns an empty 204 response on success. Required: id.
- **list_all_instatus_on_call_schedule_members** — List the members of an Instatus on-call schedule. Returns: id, name, email, phone, avatar. Required: on_call_schedule_id.
- **list_all_instatus_workspaces** — List your Instatus workspaces. Returns each workspace's id, name, slug, avatar, and createdAt. Max 100 per page.
- **create_a_instatus_workspace** — Create a new Instatus workspace. Returns the created workspace including its id, name, slug, createdAt, and notification settings.
- **delete_a_instatus_workspace_by_id** — Delete an Instatus workspace by id. Returns: id. Required: id.
- **create_a_instatus_incident_update** — Add an incident update to an incident in Instatus. Returns the created update with id, message, messageHtml, status, notify, started, its incident with components, and translations. Required: page_id, incident_id.
- **delete_a_instatus_incident_update_by_id** — Delete an incident update in Instatus by id. Returns: id, message, status, notify, started, createdAt, updatedAt, incidentId, messageHtml. Required: page_id, incident_id, id.
- **get_single_instatus_incident_update_by_id** — Get a single incident update in Instatus by id. Returns the update with id, message, messageHtml, status, notify, started, and its incident with components. Required: page_id, incident_id, id.
- **update_a_instatus_incident_update_by_id** — Edit an incident update in Instatus by id. Returns the updated update with id, message, messageHtml, status, notify, started, its incident with components, and translations. Required: page_id, incident_id, id.
- **instatus_incident_updates_resolve** — Resolve an incident in Instatus by creating an incident update generated from a template. Returns the update with id, message, status, notify, started, ended, duration, createdAt, updatedAt, and incidentId. Required: page_id, incident_id, template.
- **create_a_instatus_maintenance_update** — Add a maintenance update to an existing maintenance on an instatus status page. Returns: id, message, messageHtml, notify, started, status, maintenance, translations, error. Required: page_id, maintenance_id.
- **delete_a_instatus_maintenance_update_by_id** — Delete a maintenance update from a maintenance on an instatus status page. Returns: id, error. Required: page_id, maintenance_id, id.
- **get_single_instatus_maintenance_update_by_id** — Get a single maintenance update on an instatus status page by id. Returns: id, message, messageHtml, notify, started, status, maintenance, translations, error. Required: page_id, maintenance_id, id.
- **update_a_instatus_maintenance_update_by_id** — Edit an existing maintenance update on an instatus status page. Returns: id, message, messageHtml, notify, started, status, maintenance, translations, error. Required: page_id, maintenance_id, id.
- **instatus_metric_data_bulk_create** — Add multiple datapoints to a metric in instatus in one call. Returns an array of the ingested datapoints, each with timestamp and value. Required: page_id, metric_id, and a data array of timestamp/value entries.
- **create_a_instatus_metric_datum** — Add a single datapoint to a metric in instatus. Returns the created datapoint with id, timestamp, and value. Required: page_id, metric_id, timestamp, and value.
- **instatus_metric_data_bulk_delete** — Delete all recorded datapoints for a metric in instatus. Returns the metric's name and its site object with id and subdomain. Required: page_id and metric_id.
- **list_all_instatus_cron_monitor_logs** — List ping logs for an Instatus cron monitor, most recent first. Returns log items including id, monitorId, status, requestType, agent, ipAddress, createdAt, and startedAt. Required: cron_monitor_id. Max 127 logs per page; how far back startDate may reach is capped by your plan's log retention.
- **list_all_instatus_monitor_logs** — List the check logs for a monitor in Instatus. Returns monitor log records including httpStatusCode, isSuccessful, status, location, createdAt, and timing metrics such as responseTime and firstByteTime. Required: monitor_id. Limit cannot exceed 1000 per page.
- **create_a_instatus_monitor_alert** — Create an Instatus monitor alert that notifies a channel (email, SMS, Slack, and more) when linked monitors fail or recover. Returns the created alert in monitor (id, type, recipient, monitors, createdAt) plus a confirmation message. Requires type.
- **delete_a_instatus_monitor_alert_by_id** — Delete an Instatus monitor alert by id. Returns: message.
- **list_all_instatus_monitor_alerts** — List monitor alerts configured for an Instatus page. Returns alert objects with id, type, recipient, monitors, and createdAt. Required: page_id.
- **update_a_instatus_monitor_alert_by_id** — Update an Instatus monitor alert by id, e.g. to change the monitors it is attached to. Returns the updated alert in monitor (id, type, recipient, monitors) plus a confirmation message. Required: id.
- **create_a_instatus_monitor** — Create a new monitor in instatus to check the uptime of a website or service. Returns the created monitor object including its pageId, url, name, type, assertions, onFail/onRecover actions, and createdAt/updatedAt timestamps, plus a confirmation message. Required: url.
- **delete_a_instatus_monitor_by_id** — Delete a monitor in instatus by id. Returns a message confirming the monitor was deleted. Required: id.
- **list_all_instatus_monitors** — List the monitors configured for a status page in instatus, filterable by search term and monitor status. Returns monitor records including pageId, url, name, type, status, checksInterval, and createdAt. Required: page_id.
- **instatus_monitors_run** — Run an on-demand availability check for a monitor in instatus by monitor id. Returns: status, message, monitors, total, page, totalPages, limit. Required: monitor_id.
- **update_a_instatus_monitor_by_id** — Update an existing monitor in instatus by id, such as changing its url or name. Returns the updated monitor object including pageId, url, name, assertions, onFail/onRecover actions, and createdAt/updatedAt, plus a confirmation message. Required: id.

## How it works

1. **Link your customer's Instatus account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Instatus.** The Proxy API is a 1-to-1 mapping of the Instatus API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Auto-sync observability alerts to public status pages** — APM, monitoring, and error-tracking platforms can let customers connect their Instatus account so detected anomalies automatically open incidents and flip component statuses — eliminating manual status updates during active outages.
- **Deflect support tickets during active incidents** — Helpdesk and live chat tools can pull unresolved Instatus incidents into their widgets and ticket flows, surfacing outage banners to end users before they file duplicate tickets about known issues.
- **Automate maintenance windows from CI/CD pipelines** — Deployment and DevOps platforms can let users auto-create scheduled maintenances in Instatus whenever a release or infrastructure change is queued, keeping end users informed without extra engineering work.
- **Publish SLA metrics for transparent reliability reporting** — Billing, analytics, and SLA management tools can push time-series data (uptime, latency, success rates) directly into customer Instatus pages, turning backend telemetry into public proof of SLA adherence.
- **Provision monitors and on-call policies on behalf of users** — Infrastructure and workflow platforms can spin up HTTP monitors, cron monitors, escalation policies, and on-call schedules in a customer’s Instatus workspace as part of onboarding or service provisioning.

## What you can build

- **Incident lifecycle automation** — Programmatically create incidents, post status updates, and resolve them from inside your product using Instatus incidents and incident update endpoints.
- **Component status mapping** — Let users map their services or resources in your app to Instatus components and automatically toggle statuses between Operational, Degraded, and Outage.
- **Live outage banners in your UI** — List unresolved Instatus incidents for a connected account and render them as banners, alerts, or chat widget notices for your end users.
- **Scheduled maintenance scheduler** — Create and update maintenance windows directly from your deployment flow or product UI without users leaving your app.
- **Metric ingestion for public dashboards** — Bulk-push custom time-series datapoints into Instatus metrics so your customers can display real-time performance graphs on their status page.
- **Subscriber and audience sync** — Bulk-create Instatus subscribers from your CRM, billing, or customer records so the right users get notified during incidents automatically.

## FAQs

### How does authentication work for connecting a user's Instatus account?

Instatus uses API key authentication. Through Truto, your end users supply their Instatus API key during the connection flow, and Truto stores and injects it on every request so you never handle credentials directly.

### Which Instatus resources can we read and write via Truto?

Truto exposes tools for pages, components, incidents, incident updates, maintenances, templates, metrics and metric data, subscribers, teams, audience groups, workspaces, users, monitors (HTTP and cron), monitor alerts, routing rules, escalation policies, and on-call schedules.

### Can we create incidents from templates instead of composing them from scratch?

Yes. Truto supports creating incidents from pre-defined Instatus templates via a dedicated endpoint, so your product can trigger consistent, pre-approved incident messaging.

### How do we push large volumes of metric data efficiently?

Use the bulk metric data endpoints to insert or delete many datapoints in a single call, which is the recommended path for high-frequency telemetry rather than creating datapoints one at a time.

### Is incident data real-time or do we need to poll?

Truto exposes Instatus's REST endpoints, so incident, component, and monitor state is retrieved via polling the list endpoints. You can tune polling frequency based on your freshness needs.

### Can we support customers who manage multiple status pages or workspaces?

Yes. Instatus supports multiple pages and workspaces per account, and Truto exposes list and create endpoints for both, so your integration can let users pick which page or workspace to sync with.
