User
Returned onGET /me and nested on some issue responses.
| Field | Type | Description |
|---|---|---|
id | integer | User id |
name | string | Display name |
role | string | null | User role/title from profile settings |
email | string | Email address |
email_verified_at | string | null | ISO 8601 when verified |
Example
Team
| Field | Type | Description |
|---|---|---|
id | integer | Team id (use in /teams/{team} paths) |
name | string | Team name |
personal_team | boolean | Whether this is the user’s personal team |
owner_id | integer | Owner user id |
sites_count | integer | Present when counted |
members_count | integer | Members including owner, when counted |
limits | object | Plan limits (see below) |
created_at | string | ISO 8601 |
updated_at | string | ISO 8601 |
Team limits object
| Field | Type | Description |
|---|---|---|
plan | string | Plan key (starter, growth, agency) |
sites | object | { "used", "limit", "remaining" } style summary |
seats | object | Seat usage; may include members, pending_invitations |
manual_checks | object | Monthly manual-check usage summary |
enabled_checks | object | { "allowed": ["status", ...] } tools available to the team |
minimum_check_cadence_minutes | integer | null | Fastest allowed automatic cadence |
history_retention_days | integer | null | How long check history is kept |
priority_queue | boolean | Whether checks use priority queue |
Example
Team monitoring
Returned underdata by GET /teams/{team}/monitoring and PATCH /teams/{team}/monitoring.
| Field | Type | Description |
|---|---|---|
settings | object | Normalized monitoring settings: tools, quiet_time, and escalation |
cadence_presets | array | Available cadence options with minutes, label, and disabled (plan-gated) |
minimum_check_cadence_minutes | integer | null | Fastest cadence allowed by the team’s plan |
allowed_tools | array | Tools the team can configure, with per-tool cadence floors |
failure_threshold_presets | array | Status failures-to-open presets (instant, conservative, aggressive) |
escalation_interval_presets | array | Escalation reminder options (15m through daily) |
dns_record_types | string[] | Supported DNS record types for monitored_record_types |
Example
Site
| Field | Type | Description |
|---|---|---|
uuid | string | Site identifier in API paths |
team_id | integer | Owning team |
name | string | Display name |
url | string | Canonical monitored URL |
domain | string | Hostname derived from URL |
notes | string | null | Team notes |
js_rendered | boolean | Use JS rendering for broken-link crawls |
is_pinned | boolean | Pinned on sites list |
enabled_checks | string[] | Enabled tool values |
monitoring | object | See monitoring object below |
issue_settings | object | Resolved issue settings for the site |
latest_checks | object | Latest check per tool, when loaded |
reports | object | Absolute URLs to report endpoints |
created_at | string | ISO 8601 |
updated_at | string | ISO 8601 |
Monitoring object
| Field | Type | Description |
|---|---|---|
settings | object | Resolved site monitoring settings. Same shape as team settings, plus snoozed_until when set. |
Latest checks object
Keys are tool values (status, ssl, dns, broken-links, performance). Values are Check objects or null if no check exists.
Reports object
| Field | Type |
|---|---|
uptime | string (URL) |
performance | string (URL) |
Issue settings object
Returned asissue_settings on Site resources. The response is resolved for the site, so it includes team defaults plus any per-site overrides.
PATCH requests use
monitoring_settings in the request body. The response returns the normalized issue shape as issue_settings.| Field | Type | Description |
|---|---|---|
enabled_tools | string[] | Tools that can open issues (status, ssl, dns, broken-links, performance) |
snoozed_until | string | null | ISO 8601 datetime; issue opening paused until this time |
status.failures_to_open | integer | Failed status checks before opening an issue |
status.successes_to_resolve | integer | Successful status checks before resolving |
status.confirmation_retry_minutes | integer | Minutes before confirmation retry (1–5) |
status.incident_follow_up_minutes | integer | Minutes between incident follow-up checks (1–60) |
ssl.expiry_days | integer | Days before expiry to open SSL warning issue |
ssl.failures_to_open | integer | Failed SSL checks before opening an issue |
ssl.confirmation_retry_minutes | integer | Minutes before SSL confirmation retry (1–5) |
links.min_broken_count | integer | Minimum broken URLs to breach threshold |
links.consecutive_breaches_to_open | integer | Consecutive breached crawls before opening issue |
links.ignore_paths | string[] | URL path patterns excluded from broken-link crawls |
links.ignore_external_links | boolean | Exclude links outside the monitored site host |
links.ignore_redirects | boolean | Exclude redirect responses from broken-link counts |
performance.url | string | null | Page URL audited instead of the site root |
performance.min_score | integer | Minimum acceptable score (1–100) |
performance.max_response_time_ms | integer | Legacy max response time (ms); normalized with max_ttfb_ms |
performance.max_ttfb_ms | integer | Maximum time to first byte in milliseconds |
performance.max_load_time_seconds | integer | null | Maximum Time to Interactive in seconds |
performance.consecutive_breaches_to_open | integer | Consecutive breached checks before opening issue |
dns.hard_failures_only | boolean | Only open DNS issues on lookup failures when true |
dns.failures_to_open | integer | Failed DNS checks before opening an issue |
dns.confirmation_retry_minutes | integer | Minutes before DNS confirmation retry (1–5) |
dns.monitored_record_types | string[] | DNS record types to watch for changes |
dns.expected_records | object | Map of record type → array of expected values |
quiet_time.enabled | boolean | Suppress outbound issue alerts during a daily window |
quiet_time.starts_at | string | Quiet time start in H:i format |
quiet_time.ends_at | string | Quiet time end in H:i format |
escalation.enabled | boolean | Send follow-up reminders for open issues |
escalation.intervals | integer[] | Reminder schedule in minutes (15, 30, 60, 360, 1440) |
Example
Check
| Field | Type | Description |
|---|---|---|
uuid | string | Check identifier |
type | string | Tool value |
status | string | pending, completed, failed, skipped |
automatic | boolean | Scheduled vs manual run |
run_reason | string | null | scheduled, confirmation_retry, incident_follow_up when set |
site | object | null | { uuid, name, url, domain } when loaded |
result | mixed | Tool-specific payload; see Check results |
error | mixed | Error payload when failed |
created_at | string | ISO 8601 |
updated_at | string | ISO 8601 |
completed_at | string | null | ISO 8601 when finished |
Example
Issue
Issues represent monitoring incidents opened by automatic checks. The API exposes read-only access for integrations that need to correlate webhook notifications or query incident history.| Field | Type | Description |
|---|---|---|
uuid | string | Issue identifier |
team_id | integer | Owning team |
type | string | Check tool that detected the problem |
status | string | open, acknowledged, or resolved |
severity | string | critical, warning, info |
fingerprint | string | Stable key for deduplication (e.g. status:down, ssl:expiring) |
summary | string | Human-readable summary |
context | object | null | Structured evaluation payload from the check |
site | Site | null | Affected site when loaded |
check | Check | null | Latest check tied to the issue |
previous_check | Check | null | Prior check used for comparison when loaded |
acknowledged_by | User | null | User who acknowledged the issue |
resolved_by | User | null | User who resolved the issue (or null when resolved automatically) |
timeline | array | Lifecycle events (opened, acknowledged, resolved) with timestamps and actors |
is_active | boolean | true when status is open or acknowledged |
opened_at | string | ISO 8601 |
acknowledged_at | string | null | ISO 8601 |
resolved_at | string | null | ISO 8601 when recovered |
last_evaluated_at | string | null | ISO 8601 |
created_at | string | ISO 8601 |
updated_at | string | ISO 8601 |
Example
Uptime report
Returned byGET /sites/{site}/reports/uptime.
- Based on automatic completed
statuschecks - Days without checks have
uptime_percentage: nullandtotal_checks: 0 - Default range: 90 days; override with
?days=(max 365)
Performance report
Returned byGET /sites/{site}/reports/performance.
- Based on automatic completed
performancechecks - Default range: 30 days; override with
?days=(max 365)
Bulk site create response
POST /teams/{team}/sites/bulk returns: