Skip to content

Incident Management

Instatus
API integration

Ship Incident Management features without building the integration. Full Instatus API access via Proxy and 90+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Talk to us
Instatus

Use Cases

Why integrate with Instatus

Common scenarios for SaaS companies building Instatus integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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

Ship these features with Truto + Instatus

Concrete product features your team can ship faster by leveraging Truto’s Instatus integration instead of building from scratch.

01

Incident lifecycle automation

Programmatically create incidents, post status updates, and resolve them from inside your product using Instatus incidents and incident update endpoints.

02

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.

03

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.

04

Scheduled maintenance scheduler

Create and update maintenance windows directly from your deployment flow or product UI without users leaving your app.

05

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.

06

Subscriber and audience sync

Bulk-create Instatus subscribers from your CRM, billing, or customer records so the right users get notified during incidents automatically.

SuperAI

Instatus AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

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.

Why Truto

Why use Truto’s MCP server for Instatus

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with Instatus in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s Instatus account

Use Truto’s frontend SDK to connect your customer’s Instatus account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call Instatus

Truto’s Proxy API is a 1-to-1 mapping of the Instatus API. You call us, we call Instatus, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate Instatus’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about Instatus on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

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.

Instatus

Get Instatus integrated into your app

Our team understands what it takes to make a Instatus integration successful. A short, crisp 30 minute call with folks who understand the problem.