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 usUse Cases
Why integrate with Instatus
Common scenarios for SaaS companies building Instatus integrations for their customers.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.