Skip to content
Site Qwality Docs
Search
Ctrl
K
Cancel
siteqwality.com
Dashboard
Select theme
Dark
Light
Auto
Getting Started
Introduction
Sign up & first monitor
Account & team setup
Plans & limits
Sign-in & security
Concepts & glossary
Uptime Monitoring
Overview
Our bot: Site Qwality Monitor
HTTP checks
Overview
Quickstart
Reference
Allowlisting our checks
How-to guides
Require N failed checks before alerting
Get alerted when page speed drops
Confirm recoveries and hold flapping alerts
TCP port checks
Ping checks
Import from a CSV
Import from another tool
SSL/TLS checks
Overview
Quickstart
Reference
Domain expiry checks
Overview
Quickstart
Reference
DNS record monitors
Overview
Quickstart
Reference
Cron checks
Overview
Quickstart
Reference
How-to guides
Set a grace period
Send heartbeats reliably
Browser checks
Overview
Quickstart
Reference
Observability
Overview
Send data
Choose a language or platform
Node.js
Python
Java
.NET
PHP
Go
Rust
Ruby
Platforms and forwarders
Kubernetes
Docker
OpenTelemetry Collector
AWS Lambda
Vercel
Cloudflare Workers
Prometheus
Fluent Bit
Vector
Heroku
Render
Fly.io
Amazon Data Firehose
Cloudflare Logpush
StatsD
curl or any HTTP client
Syslog
Ingest routes and limits
Query language
Billing and retention
Processing pipelines
Services
Errors
Telemetry alerts and SLOs
Access, exports and erasure
Metrics
Overview
Quickstart
Reference
How-to guides
Query histograms
Save and share views
Logs
Overview
Quickstart
Reference
How-to guides
Parse and redact logs
Analyze log patterns
Save and share views
Traces
Overview
Quickstart
Reference
How-to guides
Correlate traces, logs and browser sessions
Configure OTLP HTTP protobuf
Control trace sampling
RUM
Overview
Quickstart
Reference
How-to guides
Alert on browser errors
Investigate performance with RUM analytics
Save investigations and discuss sessions
Configure CSP and intake endpoints
Segment by browser, OS, device and country
Delete a subject's RUM data
Change SDK behavior without redeploying
Configure recording rules
Upload source maps
Session Replay
Overview
Quickstart
Reference
Incident Management
Overview
Incidents
Overview
Quickstart
Reference
How-to guides
Track affected monitors and impact
Manage incidents from the CLI
Create manual incidents
Merge incidents
Acknowledge from the alert itself
Add participants to an incident
Write a postmortem and track follow-ups
Services
Overview
Reference
On-call schedules
Overview
Quickstart
Reference
How-to guides
Cover holidays with rotation overrides
Escalation policies
Overview
Quickstart
Reference
Check readiness
Notifications
Overview
Who gets notified
Notification settings
Channels reference
How-to guides
Acknowledge a monitor outage
Add and verify contact methods
Check what was sent
Set up personal notification rules
Maintenance windows
Overview
Quickstart
Reference
How-to guides
Schedule recurring maintenance
Status Pages
Overview
Quickstart
Reference
How-to guides
Brand your status page
Use a custom domain
Feeds, badge and embed
Group and order status page components
Publish a status page maintenance
Manage subscribers
Dashboards
Overview
Quickstart
Templates
Widgets
Data sources
Queries, formulas & variables
Sharing & TV mode
Reference
Reports
Overview
Scheduled emails
Integrations
Overview
AI assistants (MCP)
Alert coverage
Alert sources
Slack
Microsoft Teams
Discord
Telegram
Google Chat
Mattermost
PagerDuty
OpsGenie
Pushover
Pushbullet
Webhooks
Partners
Partner program
Client accounts
Working in a client account
Monthly client reports
Enterprise
Overview
SAML single sign-on
SCIM role mapping
M2M API clients
Customer audit log
CSV exports
SLA reports
SDK Reference
Overview
SDK reference
API Reference
Overview
HTTP Monitors
Overview
Create an uptime monitor (HTTP, TCP port or ping).
Pre-signed URL for the full response body of a failed HTTP check.
Get details for a single HTTP check result.
Get an HTTP monitor by ID.
Update an uptime monitor (HTTP, TCP port or ping).
Delete an HTTP monitor (and its paired TLS, DNS, and page-speed monitors).
List status-transition events for an HTTP monitor.
Get the latest page-speed scores for an HTTP monitor.
Get historical page-speed run results for an HTTP monitor.
Get aggregated response-time performance over a window for an HTTP monitor.
List the most recent HTTP check response times for a monitor.
List the most recent HTTP check results for a monitor, including headers, response body, request/response metadata, and failure reason.
Export a monitor's check results as CSV (chronological). Columns: timestamp, region, status, http_code, total_ms, dns_ms, tcp_connect_ms, tls_ms, ttfb_ms, download_ms, failure_reason, then the ping statistics packets_sent, packets_received, rtt_min_us, rtt_avg_us, rtt_max_us, rtt_mdev_us.
Get the uptime percentage for an HTTP monitor.
List HTTP monitors for the authenticated account.
Create monitors from a CSV: HTTP, TCP, ping, heartbeat and DNS rows. Each row goes through its type's create endpoint, so schedules and plan limits apply as usual. Rows that repeat an existing monitor or an earlier row are skipped, and a bad row does not stop the rest. `dry_run` reports the outcome without creating anything.
List distinct HTTP monitor tags for the authenticated account.
List HTTP, TCP port and ping monitors.
Create an HTTP, TCP port or ping monitor.
Get an HTTP, TCP port or ping monitor.
Delete an HTTP, TCP port or ping monitor.
Change an HTTP, TCP port or ping monitor.
Run an HTTP, TCP port or ping check now.
TLS Monitors
Overview
Get a TLS monitor.
Get the most recent TLS check result.
DNS Monitors
Overview
Get a DNS monitor.
Set or clear the renewal date for a domain monitor.
Get the most recent DNS check result.
Create a DNS record monitor.
Read one DNS record monitor.
Edit a DNS record monitor.
Delete a DNS record monitor, its baselines and its history.
Accept one or more observed changes as the new baseline.
Pin an RRset to values the customer DECLARES rather than to values we observed.
The monitor's current baselines, one per watched RRset.
The monitor's check history, newest first.
List every DNS record monitor on the account.
List DNS record monitors.
Create a DNS record monitor.
Get a DNS record monitor.
Delete a DNS record monitor.
Change a DNS record monitor.
Heartbeat Monitors
Overview
Create a heartbeat (cron) monitor.
Get a heartbeat (cron) monitor by ID.
Update a heartbeat (cron) monitor.
Delete a heartbeat (cron) monitor.
List status-transition events for a heartbeat (cron) monitor.
List recently received heartbeats for a cron monitor.
Get the uptime percentage for a heartbeat (cron) monitor.
List heartbeat monitors for the authenticated account.
List heartbeat monitors.
Create a heartbeat monitor.
Get a heartbeat monitor.
Delete a heartbeat monitor.
Change a heartbeat monitor.
Browser Monitors
Overview
List browser monitors for the authenticated account.
Create a synthetic browser monitor.
Get a browser monitor by ID.
Update a browser monitor.
Delete a browser monitor.
List recent run results for a browser monitor.
Generate a pre-signed S3 URL for a browser run artifact (HAR or video).
Trigger an immediate run of a browser monitor across its configured regions.
Get trending Web Vitals for a browser monitor.
List browser monitors.
Create a browser monitor.
Get a browser monitor.
Delete a browser monitor.
Change a browser monitor.
Run a browser monitor now.
Monitors Overview
Overview
One filtered, sorted, paged view of every monitor on the account: HTTP checks, heartbeats and browser checks together.
List prioritized attention items for the dashboard: unresolved incidents, down monitors, expiring TLS certificates and domains, and monitors trending slow.
Import monitors from UptimeRobot, Pingdom, StatusCake or Better Stack with an API key for that tool. HTTP, keyword, TCP port, ping, heartbeat and DNS monitors come across with their settings; paused ones stay paused. Intervals the plan does not allow are slowed, and each row says what changed. Monitors already here are skipped, so running the import again is safe. A long list takes several calls: repeat the request with `next_offset` until it is null. `dry_run` reports without creating anything.
List both HTTP and heartbeat monitors for the authenticated account.
Response-time samples for a whole page of monitors, keyed by monitor id.
Get account-wide HTTP response-time aggregates (avg + p95) for the last 24 hours in 15-minute buckets, feeding the dashboard trends chart.
Active monitors whose outage would reach no one: no attached notification group has a channel, and no linked service opens incidents automatically with someone to page.
Hide the silent-monitors banner for the whole account, for good.
Get aggregate counts of monitors and their statuses for the account, plus 24h uptime and response-time aggregates with previous-24h values for trend deltas.
Check Locations
Overview
List check locations. `live` ones can go in `check_regions`; `draining` and `retired` ones label older results.
Default locations for a new uptime monitor.
Notifications
Overview
Create a notification destination (email/sms/slack/webhook/etc) within a notification group.
The account's delivery history, newest first.
Get a notification destination by ID.
Update a notification destination.
Delete a notification destination.
List notification groups (with their notifications) for the account.
Create a notification group.
Get a notification group by ID.
Update a notification group.
Delete a notification group.
List notification groups.
Create a notification group.
Get a notification group.
Delete a notification group.
Change a notification group.
List notification channels.
Create a notification channel.
Get a notification channel.
Delete a notification channel.
Change a notification channel.
Send a test to a notification channel.
API Keys
Overview
List API keys for the authenticated account.
Create a new API key for the authenticated account.
Revoke an API key.
Rotate an API key: mint a replacement and revoke the predecessor, in one transaction.
Roll an API key.
M2M API Clients
Overview
OAuth2 authorization server metadata (RFC 8414).
List the account's active M2M API clients. Secrets are never included; they are only shown at create/rotate time.
Create an M2M API client. The response contains the full client secret. This is the ONLY time it is ever shown; it is not stored anywhere.
Revoke an M2M API client. The local row is revoked FIRST (that is what cuts access, because the auth middleware rejects tokens for revoked rows immediately), then the Stytch client is deleted best-effort. A Stytch cleanup failure is logged at ERROR (routed to the internal error notifier) but does not fail the request: access is already cut.
Rotate an M2M client's secret. Runs Stytch's start + complete in one call: the old secret stops validating immediately and the new one is returned exactly once. If completing fails after start, the rotation is canceled best-effort so the old secret keeps working and the client can retry.
Exchange M2M client credentials for an access token (RFC 6749 section 4.4).
AI Assistants
Overview
List the apps the signed-in member has granted access to.
Revoke the signed-in member's grant to an app. Its tokens stop working.
Record the member's consent decision and get the redirect back to the app.
Check an OAuth authorization request and describe it for the consent screen.
Audit Log
Overview
Customer-facing audit log: every mutating API request on the account with its actor (user session, M2M client, API key, or impersonating staff), newest first. Reads are capped to the last 90 days. Super admin, admin, or auditor role required, since the log exposes other members' actions and request IPs; audit read is the whole point of the auditor role (Datadog's Audit Trail Read is the precedent).
List audit events.
SLA Reports
Overview
Monthly SLA attainment for one HTTP monitor: uptime (from the daily performance rollup) vs the monitor's SLA target. The target comes from the monitor's status-page links when configured (strictest wins), else defaults to 99.9. The current month is partial; a month with no check data has `attained = null`.
Account-wide monthly SLA report: every HTTP monitor with its attainment per calendar month and breach flags. Targets come from status-page links where configured (strictest wins), else the 99.9 default.
Reports
Overview
Opening a report confirmation link: shows who asks, what the address would receive and a button that confirms. Reads only.
Confirming a report recipient: from now on the address receives the schedule's reports.
Reports the account's schedules sent, or tried to, newest first.
One run, with the report it sent (`null` for a client uptime report). A scoped key or token gets the report trimmed as `GET /reports/summary` trims it.
The report a run sent, as a printable HTML page. A client uptime report is its branded document.
Every report schedule of the account, oldest first, with its recipients.
Creates a report schedule.
One report schedule with its recipients.
Replaces a report schedule, recipients included.
Deletes a report schedule, its recipients and its sent history.
Sends a pending outside recipient a new confirmation link. The old link stops working.
Emails the schedule's last complete period to you only, marked as a test.
The account's executive summary or operations report for one period, compared with the period before it.
Opening an unsubscribe link: asks to confirm. Reads only.
Unsubscribing a recipient. Also the one-click target of the `List-Unsubscribe` header (RFC 8058), so any body unsubscribes, except the form field `action=resubscribe`, which the result page's button posts to undo it.
A delivered report as a web page, from what was sent. The link works for 90 days while the address still receives the report and the account is in good standing. A copy sent outside the account shows on-call totals without names.
Security
Overview
Get the authenticated member's available sign-in methods.
Stop a provider signing in to the authenticated member.
Attach the provider after confirming the same member, organization and email.
Start attaching Google or GitHub to the currently signed-in member.
passkey_register_complete
passkey_register_start
passkey_delete
Remove the member's password. Magic-link auth is always available, so the account never becomes locked out from this. We still verify the authenticated session before proceeding.
Change a password. Verifies the current password before applying the new one.
Set a password on an account that doesn't have one yet (magic-link / OAuth signups).
totp_delete
totp_complete
recovery_codes
totp_start
start_step_up
verify_step_up
Incidents
Overview
List the account's incidents, newest first.
Create an incident.
Opening an incident link: shows a confirmation page whose button POSTs back to this URL. Reads only, so a mail scanner fetching it is harmless. Unauthenticated: the single-use token is the credential.
Confirming an incident link: uses it up, acknowledges or resolves the incident as the recipient, revokes the incident's other links and cancels escalation. This is the button on the GET page. Unauthenticated: the single-use token is the credential.
Action items across every incident, soonest due first and undated last.
incident_metrics
Get a standalone (non-status-page) incident.
Update a standalone (non-status-page) incident.
Delete a standalone (non-status-page) incident.
Acknowledge an incident (responder takes ownership).
list_incident_action_items
create_incident_action_item
Edit, close (`done`, `wont_do`) or reopen an action item. A new due date or owner re-arms the overdue reminder.
delete_incident_action_item
Merge incidents into this one.
Add a monitor to an incident.
Set what status pages show for one of an incident's monitors.
Remove a monitor from an incident.
List the people working an incident, the lead first.
Add people to an incident and page them.
Change a participant's role. A new lead makes the old one a responder.
Remove a participant from an incident.
get_incident_postmortem
Edit the body, move it through review, or change its owner.
Start the incident's postmortem as a draft. Without a body it starts from a template prefilled with the impact window, the affected monitors and the timeline.
Delete the postmortem. The incident's action items stay.
Publish an incident to a status page.
Take an incident off a status page.
Reopen a resolved incident.
Mark an incident as resolved.
Add an update to an incident.
edit_incident_note
delete_incident_note
List incidents for a status page.
Create an incident on the status page in the path.
Get an incident scoped to a status page.
Update an incident scoped to a status page.
Delete an incident scoped to a status page.
Post an update to an incident on a status page.
List incidents.
Create an incident.
Get an incident.
Delete an incident.
Change an incident.
Acknowledge an incident.
List an incident's changes.
Reopen an incident.
Resolve an incident.
Post an update to an incident.
Status Pages
Overview
List status pages for the account, ordered by name.
Create a new status page.
Import status pages from UptimeRobot or Better Stack with an API key for that tool. Each page is created with the same name, groups and components, showing the monitors already in this account that match the tool's by URL or heartbeat name: import the monitors first. Pages whose name is taken are skipped. Custom domains, passwords and branding do not carry over; each page lists what did not. `dry_run` reports without creating anything.
Get one status page.
Update a status page.
Delete a status page.
Get branding configuration for a status page.
Update branding configuration for a status page.
Delete a branding asset (logo, dark logo, favicon or OG image) from a status page.
Generate a pre-signed S3 URL for uploading a branding asset (logo, dark logo, favicon, OG image).
List browser monitors attached to a status page, ordered by display name.
Get one browser monitor's entry on a status page.
Update a browser-monitor mapping on a status page.
Attach a browser monitor to a status page.
Detach a browser monitor from a status page.
Add a manual component: one with no monitor, whose status the owner sets. It goes last in its group.
Delete a manual component. Monitors and heartbeats leave a page through their own routes.
Rename a manual component, change its description, or set its status. Its place, group and visibility are part of the layout.
Force the public status of any component on the page, with an optional note and expiry.
Clear a component's status override, so the page shows what its monitor says again.
List the cron jobs shown on a status page as heartbeats, ordered by display name.
Get one heartbeat on a status page: the name the page shows and its cron job.
Rename a heartbeat component on a status page.
Show a cron job on a status page as a heartbeat component. Attaching one already there renames it.
Take a heartbeat component off a status page. The cron job itself is kept.
Get the custom domain configuration for a status page.
Provision a custom domain for a status page.
Remove the custom domain configuration for a status page.
List HTTP monitors attached to a status page, ordered by display name.
Get one HTTP monitor's entry on a status page.
Update an HTTP-monitor mapping on a status page.
Attach an HTTP monitor to a status page.
Detach an HTTP monitor from a status page.
How the page's components are grouped and ordered.
Replace the page layout: the groups, their order, and which components sit in each.
List maintenance windows for a status page.
Schedule a maintenance window on a status page.
Get one maintenance window on a status page.
Update a maintenance window on a status page.
Delete a maintenance window on a status page.
List the people subscribed to a status page, newest first.
Ask an address to subscribe. It stays pending until its owner clicks the emailed link.
Download every subscriber of a status page as CSV (default) or JSON.
Import addresses from a CSV file. Each new one gets a confirmation email and receives nothing until it confirms. Confirmations beyond the hourly limit are queued and go out later.
Remove a subscriber, for an erasure request or a mistaken address. Nothing more is mailed to it.
List status pages.
Create a status page.
Get a status page.
Delete a status page.
Rename a status page.
Get a status page's branding.
Change a status page's branding.
Remove a branding image.
Get a URL to upload a branding image to.
List the browser monitors a status page shows.
Get a browser monitor on a status page.
Show a browser monitor on a status page.
Take a browser monitor off a status page.
Change how a status page shows a browser monitor.
Add a manual component to a status page.
Delete a manual component.
Change a manual component.
Override a component's status.
Clear a component's status override.
Get a status page's custom domain.
Serve a status page on your own domain.
Remove a status page's custom domain.
List the heartbeat monitors a status page shows.
Get a heartbeat monitor on a status page.
Show a heartbeat monitor on a status page.
Take a heartbeat monitor off a status page.
Change how a status page shows a heartbeat monitor.
List the HTTP monitors a status page shows.
Get an HTTP monitor on a status page.
Show an HTTP monitor on a status page.
Take an HTTP monitor off a status page.
Change how a status page shows an HTTP monitor.
List the incidents a status page shows.
Get a status page's layout.
Replace a status page's layout.
List a status page's maintenance announcements.
Announce maintenance on a status page.
Get a maintenance announcement.
Delete a maintenance announcement.
Change a maintenance announcement.
List a status page's subscribers.
Ask an address to subscribe.
Import subscribers.
Remove a subscriber.
Escalation Policies
Overview
List escalation policies for the account.
Create an escalation policy.
Check levels before they are saved, such as a level being added in the dashboard.
Get an escalation policy by ID.
Update an escalation policy.
Delete an escalation policy.
List the levels of an escalation policy in order.
Add a level to an escalation policy.
Reorder the levels of an escalation policy.
Delete a level from an escalation policy.
Whether each level of a saved escalation policy reaches someone, per urgency.
List escalation policies.
Create an escalation policy.
Get an escalation policy.
Delete an escalation policy.
Change an escalation policy.
List an escalation policy's levels.
Add a level to an escalation policy.
Reorder an escalation policy's levels.
Delete a level of an escalation policy.
On-Call Schedules
Overview
Who is on call across the account's schedules: with no range, right now; with `user_id`, that person's shifts ("my shifts"). Shifts overlapping `since` to `until` (at most 90 days).
The calendar feed itself, for calendar apps. No sign-in: the token in the address is the key.
The account's calendar feeds, revoked ones included, without their tokens.
Create a calendar feed. The response holds the address with its token; it is never shown again.
Revoke a calendar feed; its address stops working at once.
List on-call schedules for the account.
Create an on-call schedule.
Get an on-call schedule by ID.
Update an on-call schedule. A new time zone re-anchors the layers that follow it, so whoever is on call now stays on until their next handoff; layers that have started keep their past in the old zone as an ended version.
Delete an on-call schedule.
List the layers of an on-call schedule.
Add a layer to an on-call schedule. The first participant covers from `effective_from` (or now) to the next handoff.
Edit a layer and keep its id. A layer that has started keeps its history: the current version ends now and the new one starts now, anchored so whoever the layer has on call stays on until the new rotation's next handoff. A layer that has not started is changed in place. The body is the create body; an absent `layer_number` keeps the layer's.
Delete a layer from an on-call schedule.
A layer's history: every version an edit ended, oldest first, then the current one.
Who a schedule has on call at an instant (default now), until when, and who is next.
List on-call overrides for a schedule.
Create an on-call override (one-off coverage swap).
Delete an on-call override.
A schedule's final timeline: consecutive shifts from `since` (default now) to `until` (default 14 days later, at most 90), overrides applied and gaps included.
Who carried the on-call load: per person, shifts, on-call time, the part covered by overrides, the part outside business hours (09:00 to 18:00 Monday to Friday in each schedule's zone) and the pages they got; per schedule, covered time and gaps. Defaults to the last 30 days.
Services
Overview
List services for the account, with their health.
Create a service.
Get a service by ID, with its health.
Update a service.
Delete a service.
service_metrics
List the monitors associated with a service.
Replace the service's HTTP and heartbeat links. Deprecated: it clears every HTTP and heartbeat link the body leaves out, so a stale form clobbers the set. Use `POST /service/{service_id}/monitors` and `DELETE /service/{service_id}/monitors/{monitor_type}/{monitor_id}`.
Add monitors of any type to a service. Monitors already on it stay; nothing else on the service changes.
Remove one monitor from a service. Its other links are untouched.
List notification targets attached to a service.
Add a notification target to a service.
Change a notification target's severity and event filters, or a Slack target's channel.
Remove a notification target from a service.
List services.
Create a service.
Get a service.
Delete a service.
Change a service.
User Contact Methods
Overview
List contact methods for a user.
Add a contact method (email, sms, slack DM, etc.) for a user.
Link your Slack account with the token from the link `/oncall` replied with in Slack.
Delete a contact method.
Change a contact method's address or number. A new value must be verified again.
Send a 6-digit code to a contact method so its owner can prove it reaches them.
Confirm a contact method with the code sent to it.
Send a test to one of your contact methods.
User Notification Rules
Overview
List notification rules for a user.
Create a notification rule for a user.
Update a notification rule.
Delete a notification rule.
Integrations
Overview
List third-party integrations for the account.
Add a Discord webhook integration.
Add a Google Chat webhook integration.
Add a Mattermost webhook integration.
Add a Microsoft Teams webhook integration.
Add a Jira Service Management (Opsgenie) integration (API integration key and endpoint).
Add a PagerDuty integration (Events API v2 routing key, US or EU service region).
Add a Pushbullet integration (access token).
Add a Pushover integration (user key + app token).
Finish a Slack install: check the `state`, spend it, exchange the code.
Start a Slack install: a single-use `state` bound to this account and user, valid for 10 minutes, and the Slack authorize URL that carries it.
The channels the Slack bot can post to, by name. Store a channel's `id` on a Slack channel row.
Complete a Telegram integration setup using the setup code from /integration/telegram/start.
Poll the Telegram integration setup state by setup code.
Begin Telegram integration setup. Issues a one-time setup code the user enters into the bot.
Add a generic webhook integration.
Update an integration's friendly name.
Delete an integration.
List integrations.
List integration notices.
Dismiss an integration notice.
Get an integration.
Delete an integration.
Change an integration.
List an integration's deliveries.
Turn off an integration.
Turn on an integration.
Send an integration's alerts to a group.
Rotate a webhook signing secret.
Send a test through an integration.
Confirm a Microsoft Teams test arrived.
List what uses an integration.
Alert Sources
Overview
List alert sources.
Create an alert source.
Get alert source usage.
Get an alert source.
Delete an alert source. Its key stops working at once.
Change an alert source.
List the events an alert source received.
Get an alert source event with its captured body.
Roll an alert source's key. The old key stops working at once, and an email source gets a new address.
Maintenance Windows
Overview
List monitor maintenance windows for the account.
Create a maintenance window that suppresses alerts for matching monitors.
Update a maintenance window.
Delete a maintenance window.
The monitors a maintenance window matches by tag or service, and the alerts held for each now.
Dashboards
Overview
List dashboards.
Create a dashboard.
The query catalog.
Import a dashboard from an export.
Run up to 50 widgets. Scoped callers need each source's read scope, such as `read:logs`; widgets lacking a scope return `denied`. Invalid requests fail the entire call.
List the templates.
Create a dashboard from a template.
Values of a field, for variables and filter pickers.
Open a dashboard.
Save a dashboard.
Delete a dashboard.
Clone a dashboard.
Export a dashboard as portable JSON.
Star a dashboard.
Unstar a dashboard.
Restore a deleted dashboard.
List a dashboard's public links.
Create a public link.
Delete a public link.
Pause, resume, re-time or reconfigure a public link.
List a dashboard's versions, newest first.
Open one version of a dashboard.
Restore a version.
Open a shared dashboard.
Run stored widgets within the link's allowed times and variables; logs and traces are denied. The saved zone and default resolution apply. Monitor URLs are removed from results.
Log Saved Views
Overview
List saved log views for the user/account.
Create a saved log view.
Get a saved log view by ID.
Update a saved log view.
Delete a saved log view.
Metric Saved Views
Overview
List saved metric views for the user/account.
Create a saved metric view.
Get a saved metric view by ID.
Update a saved metric view.
Delete a saved metric view.
RUM Applications
Overview
List RUM applications for the account.
Create a RUM application (issues a new SDK token), with Balanced privacy and the default recording rules. Its SDK config is published before this returns.
The account's RUM access settings: who may watch replays and read network bodies.
Changes who may watch replays (`replay_access`) and read network bodies (`body_access`). Fields left out keep their value. Admins only.
Get a RUM application by ID.
Update a RUM application; `settings` replaces the stored object (PATCH merges instead). Privacy, retention and network body or header changes need an admin; publishes the config.
Delete a RUM application (revokes its SDK token). Its SDK config becomes `{"v":2,"status":"paused"}`, so SDK 2.x still running stops sending.
Update part of a RUM application: settings merge into the stored ones, unknown keys are a 400; privacy, retention and network body or header changes need an admin. Publishes.
Rotate the SDK ingestion token for a RUM application.
RUM Recording Rules
Overview
List the recording rules of a RUM application, in evaluation order. Rules combine with ANY.
Create a recording rule (at most 50 per application). Replay rules default to a 3 s minimum duration and a required interaction; error conditions bypass both. Publishes the SDK config.
Estimate a rule's sessions per month and quota share from the last 7 days. Read-only; a condition stored sessions cannot answer counts as true and is listed in `not_evaluated`.
Update a recording rule: fields left out keep their value, the result is validated whole, and the SDK config is published.
Delete a recording rule. The SDK config is published before this returns.
RUM Source Maps
Overview
list_rum_source_map_releases
create_rum_source_map_release
Delete a source-map release.
deploy_rum_release
List the source maps recorded against one release, by file name.
upload_rum_source_map
confirm_rum_source_maps
RUM Analytics
Overview
list_rum_errors
bulk_patch_rum_issues
merge_rum_issues
get_rum_error_detail
patch_rum_issue
list_rum_issue_events
The values the session filters can take, with session counts: up to 50 non-empty values per list, by listed sessions active in the range and match `f`.
Server-side installation diagnostics for the last 24 hours.
Whether a RUM application is receiving data: the newest measure in the last 24 hours and the sessions behind it. Cheap enough to poll while installing the SDK.
get_rum_overview
pages
attribution
panel
List user sessions for a RUM application.
Get a RUM session's summary: the session page header, its page views and tabs, counts per event kind, acquisition context, attributes and the first events.
Page through a RUM session's events: page views and their updates, actions, errors, requests, resources, console lines, long frames, custom events and recording status, oldest first, in the shapes of the ingest kinds.
A session's replay manifest: windows, page loads and their chunks, with times, sizes and activity, and no URLs. Needs replay access; a manifest with content is recorded in the audit log as `rum.replay.viewed` (once per viewer and session per 30 minutes).
Presigned GET URLs (120 s) for up to 20 chunk or stylesheet ids from the manifest. A block comes with its byte range and the stylesheets it references (`css:<hash>` entries). Ids the session no longer has are left out. Needs replay access and is audited like the manifest.
Who viewed a session's replay, from the audit log's 90-day read window, most recent first.
Frequent HTTP resource URL prefixes and sampled polling hints for the last 24 hours.
get_rum_timeseries
Current RUM billing usage, app claims, replay rule activity and Auto rates.
get_rum_vitals
SSO
Overview
List the account's SSO domains and their verification status.
Start verifying a domain: returns the TXT record to publish. Adding a domain already on the account returns it unchanged, with a fresh token if the old one lapsed before it was verified.
Remove a domain. If the SSO connection claims it, the claim is cleared too, so sign-in stops routing it at once.
Look up the TXT record now. Verifies a pending domain, or renews a verified one for another 365 days.
Get the account's SAML SSO connection, enriched with the live Stytch object so the UI can display the ACS URL / audience URI the customer needs at their IdP and the currently configured IdP values.
Update the account's SAML SSO connection. The IdP side can be configured either from a metadata URL (Stytch fetches entity id, SSO URL, and certificate) or field by field; supplying both applies the metadata URL first and then the explicit fields.
Create the account's SAML SSO connection. The response carries the service-provider values (ACS URL, audience URI) the customer configures at their IdP; the connection stays `pending` until the IdP side is filled in via the update endpoint.
Delete the account's SAML SSO connection. The local row goes first so the public SSO-start lookup stops resolving immediately even if the Stytch call fails; the Stytch delete is then best-effort.
SCIM
Overview
Get the account's SCIM connection. Never carries the bearer token, only its last four characters.
Create the account's SCIM connection. The response carries the SCIM base URL and the bearer token; the token is shown ONCE and is never stored or retrievable again, only rotated.
Delete the account's SCIM connection. Stytch goes first here (unlike the SSO delete): while the Stytch connection exists the IdP can still push directory changes, and killing that is the point of the operation. The local row is removed either way so the dashboard reflects reality.
Rotate the SCIM bearer token. Runs Stytch's start + complete in one call (same shape as the M2M secret rotation): the old token stops working immediately and the new one is returned exactly once. If completing fails after start, the rotation is canceled best-effort so the IdP keeps syncing with its current token.
Partner
Overview
List the calling partner's managed client accounts.
Create a managed client account under the calling partner.
Soft-delete one of the caller's client accounts.
Set one of the caller's client accounts to a named entitlement bundle.
Per-product usage counters for one of the caller's client accounts.
Account
What the dashboard needs to decide whether to send a first touch or ask the question.
Records the first touch (write-once) and the owner's answer or skip.
Returns the authenticated member's verification, MFA and onboarding state.
Get the account's notification settings. The defaults until first saved.
Change the account's notification settings. Absent fields are unchanged.
Permanently dismiss the checklist for the authenticated member only.
Re-send the invite email for a pending invite.
Set a team member's role.
Export the account's configuration.
Alert Rules
list_alert_rules
create_alert_rule
get_alert_rule
update_alert_rule
delete_alert_rule
test_alert_rule
Telemetry alerts
preview_telemetry_alert_rule
list_telemetry_alert_rules
create_telemetry_alert_rule
capabilities
get_telemetry_alert_rule
update_telemetry_alert_rule
delete_telemetry_alert_rule
list_telemetry_alert_rule_events
get_telemetry_alert_rule_history
instances
mute_telemetry_alert_instance
mute_telemetry_alert_rule
unmute_telemetry_alert_rule
pause_telemetry_alert_rule
resume_telemetry_alert_rule
Authentication
confirm
Re-send the email verification magic link to the authenticated user.
Send a sign-in link and code, or Stytch's link, to an address. The response is the same whether or not the address has an account.
Redeem an emailed link or code. A known address signs in; a new one gets an account first. Either way the session broker finishes the login.
Complete a magic link authentication. If the email belongs to an existing account, signs the user in. Otherwise provisions a new Site Qwality account, Stytch organization, Stripe customer, default notification group, and welcome email. This is the same shape as `/signup` minus the password.
Legacy alias of `POST /auth/email/start`. Works for both existing users and new ones; `sent` stays true, and the challenge fields are null while Stytch sends the email.
Look up which authentication methods exist for an email. The response shape is constant-time-ish: we always return 200 with the same body shape regardless of whether the email exists, to slow account enumeration.
Complete a login with a TOTP code or a recovery code.
start_passkey_sign_in
verify_passkey_sign_in
Resolve an email address to its account's SSO start URL, if that domain has an active SAML connection. Always 200; `redirect_url` is null when there is nothing to start.
Complete an SSO login: exchange the `token` Stytch appended to the login redirect (`stytch_token_type=sso`) for a session.
Billing
Buy an add-on, or move between tiers of one. Buying and moving to a pricier tier apply now; a cheaper tier waits for the period end.
Remove an add-on at the end of the current billing period.
Schedule cancellation at the end of the current period.
Undo a scheduled cancellation.
Change subscription plan/quantity for a product.
Preview the cost and consequences of a plan or add-on change.
Stripe publishable key for the Payment Element.
get_details
put_details
List every plan feature in the entitlements matrix and whether the account has it.
Invoice history.
get_adjustments
Pay an open invoice.
Current billing state.
List the cards on file.
Choose which card gets charged.
Start adding a card.
Remove a card.
List all active billing plans (public endpoint).
Drop the purchase waiting on a payment. Nothing was charged, and nothing will be.
The payment-sheet secrets for the purchase waiting on a payment.
Get the account's purchased SMS credit balance and the packs on offer.
preview_sms_credit_purchase
Creates an invoice whose payment the customer confirms in the app. Credits are granted only after the invoice-paid webhook re-fetches it.
Set how many of one status page extra the account holds.
get_grace
choose_page
Starts an unpaid or past-due plan over: ends it now and voids its outstanding invoices, then buys the same items from today. A payment that needs the customer comes back as `requires_payment`, like any first purchase.
What "Restart" voids and what it charges today, before the customer confirms.
Ends an unpaid plan so a different one can be bought: cancels it now, ends its rows and voids its outstanding invoices. The account is on the free plan until the purchase.
What "Choose a different plan" will void, before the customer confirms.
List active subscriptions for the account, each with any change scheduled for the end of its billing period.
Get current billing-period usage counters by product.
Usage per UTC day for each metered product, from the counters' daily snapshots.
Archived usage from closed billing periods.
Contact
Send a message from the website contact form to the Site Qwality inbox.
Errors
list_backend_errors
bulk
merge
get_backend_error
patch
list_backend_error_events
Telemetry logs
analytics
count_get
count
event
context
facets_get
facets
fields
histogram_get
logs_histogram
insights
patterns
search_logs_get
search_logs
tail
Telemetry metrics
cardinality
get_metric_catalog
catalog_detail
names
points
query_metrics
series
tag_values
Monitors
Export an uptime summary per uptime monitor (HTTP, TCP or ping) as CSV. Uptime is the average of daily uptime percentages from the daily performance rollup over the requested range (the same math the status page uses). Row count is bounded by the account's monitor count, so no row cap applies.
Opening an outage link: shows a confirmation page whose button POSTs back to this URL. Reads only. Unauthenticated: the single-use token is the credential.
Confirming an outage link: uses it up and acknowledges the outage as the recipient. Unauthenticated: the single-use token is the credential.
A branded uptime report for one calendar month, as a printable page.
get_monitor_alert_history
get_monitor_events
Acknowledge the monitor's open outage, whichever it is.
Acknowledge an outage. The first acknowledgment wins; later calls return it unchanged.
RUM Privacy
list_rum_deletion_requests
create_rum_deletion_request
get_rum_deletion_request
RUM Collaboration
list_comments
create_comment
delete_comment
update_comment
list_views
create_view
update_view
delete_view
Telemetry services
deployments
map
list_telemetry_services
get_telemetry_service
dependencies
endpoints
versions
list_links
update_links
SLOs
list_slos
create_slo
get_slo
update_slo
delete_slo
list_slo_events
get_slo_history
mute_slo_instance
mute_slo
unmute_slo
pause_slo
resume_slo
summary
Telemetry settings
access
update_access
list_telemetry_pipelines
create_telemetry_pipeline
test
update_telemetry_pipeline
delete
settings
update_settings
Telemetry Privacy
create_telemetry_deletion_request
get_telemetry_deletion_request
Telemetry exports
list_telemetry_exports
create_telemetry_export
status
Telemetry setup
first_data
usage
Telemetry views
list_telemetry_views
create_telemetry_view
update_telemetry_view
delete_telemetry_view
Telemetry traces
compare
get_trace_detail
heatmap
traces_histogram
search_traces_get
search_traces
get_trace_timeseries
top
overview
correlation
logs
span
Webhooks
Stytch webhook receiver: syncs IdP/SCIM directory changes into the local users table.
siteqwality.com
Dashboard
Select theme
Dark
Light
Auto
Overview
Services
Section titled “Services”
Logical service grouping with monitors and notification routing.
Operations
Section titled “ Operations ”
GET
/service
POST
/service
GET
/service/{service_id}
PUT
/service/{service_id}
DELETE
/service/{service_id}
GET
/service/{service_id}/metrics
GET
/service/{service_id}/monitors
PUT
/service/{service_id}/monitors
POST
/service/{service_id}/monitors
DELETE
/service/{service_id}/monitors/{monitor_type}/{monitor_id}
GET
/service/{service_id}/notification_target
POST
/service/{service_id}/notification_target
PUT
/service/{service_id}/notification_target/{target_id}
DELETE
/service/{service_id}/notification_target/{target_id}
GET
/v1/services
POST
/v1/services
GET
/v1/services/{service_id}
DELETE
/v1/services/{service_id}
PATCH
/v1/services/{service_id}
Privacy
Cookie preferences