{
  "@context": {
    "@vocab": "https://fettle.sh/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "fettle": "https://fettle.sh/schema#",
    "AcceptInvitationRequest": "fettle:AcceptInvitationRequest",
    "token": {
      "@id": "fettle:token",
      "@type": "xsd:string"
    },
    "AccessTokenResponseModel": "fettle:AccessTokenResponseModel",
    "access_token": {
      "@id": "fettle:access_token",
      "@type": "xsd:string"
    },
    "ApiKeyCreate": "fettle:ApiKeyCreate",
    "password": {
      "@id": "fettle:password"
    },
    "name": {
      "@id": "fettle:name",
      "@type": "xsd:string"
    },
    "scopes": {
      "@id": "fettle:scopes",
      "@container": "@list"
    },
    "expires_at": {
      "@id": "fettle:expires_at"
    },
    "allowed_cidrs": {
      "@id": "fettle:allowed_cidrs"
    },
    "ApiKeyCreateResponse": "fettle:ApiKeyCreateResponse",
    "api_key": {
      "@id": "fettle:api_key",
      "@type": "xsd:string"
    },
    "key": {
      "@id": "fettle:key",
      "@type": "@id"
    },
    "ApiKeyRead": "fettle:ApiKeyRead",
    "id": {
      "@id": "fettle:id",
      "@type": "xsd:string"
    },
    "prefix": {
      "@id": "fettle:prefix",
      "@type": "xsd:string"
    },
    "status": {
      "@id": "fettle:status",
      "@type": "@id"
    },
    "revoked_at": {
      "@id": "fettle:revoked_at"
    },
    "last_used_at": {
      "@id": "fettle:last_used_at"
    },
    "rotation_grace_expires_at": {
      "@id": "fettle:rotation_grace_expires_at"
    },
    "created_by_user_id": {
      "@id": "fettle:created_by_user_id",
      "@type": "xsd:string"
    },
    "created_at": {
      "@id": "fettle:created_at",
      "@type": "xsd:dateTime"
    },
    "ApiKeyStatus": "fettle:ApiKeyStatus",
    "ApiKeyUpdate": "fettle:ApiKeyUpdate",
    "ApiScope": "fettle:ApiScope",
    "AuthProvider": "fettle:AuthProvider",
    "AuthorizationDecisionRequest": "fettle:AuthorizationDecisionRequest",
    "approve": {
      "@id": "fettle:approve",
      "@type": "xsd:boolean"
    },
    "organization_id": {
      "@id": "fettle:organization_id"
    },
    "scope": {
      "@id": "fettle:scope"
    },
    "disconnect_grant_ids": {
      "@id": "fettle:disconnect_grant_ids",
      "@container": "@list"
    },
    "AuthorizationDecisionResponse": "fettle:AuthorizationDecisionResponse",
    "redirect_to": {
      "@id": "fettle:redirect_to",
      "@type": "xsd:string"
    },
    "AuthorizationRequestDetails": "fettle:AuthorizationRequestDetails",
    "client_name": {
      "@id": "fettle:client_name",
      "@type": "xsd:string"
    },
    "client_name_is_self_declared": {
      "@id": "fettle:client_name_is_self_declared",
      "@type": "xsd:boolean"
    },
    "redirect_host": {
      "@id": "fettle:redirect_host",
      "@type": "xsd:string"
    },
    "known_app": {
      "@id": "fettle:known_app",
      "@type": "xsd:boolean"
    },
    "scopes_requested": {
      "@id": "fettle:scopes_requested",
      "@container": "@list"
    },
    "account_email": {
      "@id": "fettle:account_email",
      "@type": "xsd:string"
    },
    "organizations": {
      "@id": "fettle:organizations",
      "@container": "@list"
    },
    "BillingPeriod": "fettle:BillingPeriod",
    "BulkMonitorCreateRequest": "fettle:BulkMonitorCreateRequest",
    "monitors": {
      "@id": "fettle:monitors",
      "@container": "@list"
    },
    "BulkMonitorCreateResponse": "fettle:BulkMonitorCreateResponse",
    "BulkMonitorIdsRequest": "fettle:BulkMonitorIdsRequest",
    "monitor_ids": {
      "@id": "fettle:monitor_ids",
      "@container": "@list"
    },
    "BulkMonitorStateResponse": "fettle:BulkMonitorStateResponse",
    "BulkMonitorTagsRequest": "fettle:BulkMonitorTagsRequest",
    "add": {
      "@id": "fettle:add",
      "@container": "@list"
    },
    "remove": {
      "@id": "fettle:remove",
      "@container": "@list"
    },
    "BulkMonitorTagsResponse": "fettle:BulkMonitorTagsResponse",
    "monitors_updated": {
      "@id": "fettle:monitors_updated",
      "@type": "xsd:integer"
    },
    "BulkMonitorUpdateRequest": "fettle:BulkMonitorUpdateRequest",
    "changes": {
      "@id": "fettle:changes",
      "@type": "@id"
    },
    "ChannelType": "fettle:ChannelType",
    "CheckResultRead": "fettle:CheckResultRead",
    "monitor_id": {
      "@id": "fettle:monitor_id",
      "@type": "xsd:string"
    },
    "region": {
      "@id": "fettle:region",
      "@type": "xsd:string"
    },
    "checked_at": {
      "@id": "fettle:checked_at",
      "@type": "xsd:dateTime"
    },
    "response_time_ms": {
      "@id": "fettle:response_time_ms"
    },
    "status_code": {
      "@id": "fettle:status_code"
    },
    "error_message": {
      "@id": "fettle:error_message"
    },
    "details": {
      "@id": "fettle:details"
    },
    "job_id": {
      "@id": "fettle:job_id",
      "@type": "xsd:string"
    },
    "maintenance_window_id": {
      "@id": "fettle:maintenance_window_id"
    },
    "CheckResultStatus": "fettle:CheckResultStatus",
    "CheckType": "fettle:CheckType",
    "CheckoutSessionRequest": "fettle:CheckoutSessionRequest",
    "plan": {
      "@id": "fettle:plan",
      "@type": "@id"
    },
    "billing_period": {
      "@id": "fettle:billing_period",
      "@type": "@id"
    },
    "success_url": {
      "@id": "fettle:success_url",
      "@type": "@id"
    },
    "cancel_url": {
      "@id": "fettle:cancel_url",
      "@type": "@id"
    },
    "CheckoutSessionResponse": "fettle:CheckoutSessionResponse",
    "checkout_id": {
      "@id": "fettle:checkout_id",
      "@type": "xsd:string"
    },
    "redirect_url": {
      "@id": "fettle:redirect_url",
      "@type": "@id"
    },
    "ComponentRead": "fettle:ComponentRead",
    "display_name": {
      "@id": "fettle:display_name"
    },
    "position": {
      "@id": "fettle:position",
      "@type": "xsd:integer"
    },
    "ComponentStatus": "fettle:ComponentStatus",
    "ConnectedApp": "fettle:ConnectedApp",
    "user": {
      "@id": "fettle:user",
      "@type": "@id"
    },
    "ConnectedAppUser": "fettle:ConnectedAppUser",
    "email": {
      "@id": "fettle:email",
      "@type": "xsd:string"
    },
    "ConsentConnection": "fettle:ConsentConnection",
    "ConsentOrganization": "fettle:ConsentOrganization",
    "role": {
      "@id": "fettle:role",
      "@type": "@id"
    },
    "can_write": {
      "@id": "fettle:can_write",
      "@type": "xsd:boolean"
    },
    "existing_connections": {
      "@id": "fettle:existing_connections",
      "@container": "@list"
    },
    "CreateOrganizationRequest": "fettle:CreateOrganizationRequest",
    "CreateUserModel": "fettle:CreateUserModel",
    "first_name": {
      "@id": "fettle:first_name",
      "@type": "xsd:string"
    },
    "last_name": {
      "@id": "fettle:last_name",
      "@type": "xsd:string"
    },
    "organization_name": {
      "@id": "fettle:organization_name"
    },
    "invite_token": {
      "@id": "fettle:invite_token"
    },
    "CustomerPortalRequest": "fettle:CustomerPortalRequest",
    "return_url": {
      "@id": "fettle:return_url"
    },
    "CustomerPortalResponse": "fettle:CustomerPortalResponse",
    "ExposedPortRead": "fettle:ExposedPortRead",
    "port": {
      "@id": "fettle:port",
      "@type": "xsd:integer"
    },
    "service": {
      "@id": "fettle:service",
      "@type": "xsd:string"
    },
    "ExposedPortsPresetResponse": "fettle:ExposedPortsPresetResponse",
    "ports": {
      "@id": "fettle:ports",
      "@container": "@list"
    },
    "FailureKind": "fettle:FailureKind",
    "GrantSource": "fettle:GrantSource",
    "GroupRead": "fettle:GroupRead",
    "components": {
      "@id": "fettle:components",
      "@container": "@list"
    },
    "HTTPValidationError": "fettle:HTTPValidationError",
    "detail": {
      "@id": "fettle:detail",
      "@container": "@list"
    },
    "HealthCheckResponse": "fettle:HealthCheckResponse",
    "postgres": {
      "@id": "fettle:postgres",
      "@type": "xsd:boolean"
    },
    "redis": {
      "@id": "fettle:redis",
      "@type": "xsd:boolean"
    },
    "nats": {
      "@id": "fettle:nats"
    },
    "HeartbeatCreate": "fettle:HeartbeatCreate",
    "period_seconds": {
      "@id": "fettle:period_seconds",
      "@type": "xsd:integer"
    },
    "grace_seconds": {
      "@id": "fettle:grace_seconds",
      "@type": "xsd:integer"
    },
    "notification_cooldown_seconds": {
      "@id": "fettle:notification_cooldown_seconds"
    },
    "channel_ids": {
      "@id": "fettle:channel_ids"
    },
    "tags": {
      "@id": "fettle:tags",
      "@container": "@list"
    },
    "HeartbeatMinimalRead": "fettle:HeartbeatMinimalRead",
    "state": {
      "@id": "fettle:state",
      "@type": "@id"
    },
    "HeartbeatRead": "fettle:HeartbeatRead",
    "ping_url": {
      "@id": "fettle:ping_url",
      "@type": "xsd:string"
    },
    "last_ping_at": {
      "@id": "fettle:last_ping_at"
    },
    "last_success_at": {
      "@id": "fettle:last_success_at"
    },
    "last_start_at": {
      "@id": "fettle:last_start_at"
    },
    "last_duration_ms": {
      "@id": "fettle:last_duration_ms"
    },
    "overdue_at": {
      "@id": "fettle:overdue_at"
    },
    "is_active": {
      "@id": "fettle:is_active",
      "@type": "xsd:boolean"
    },
    "updated_at": {
      "@id": "fettle:updated_at",
      "@type": "xsd:dateTime"
    },
    "HeartbeatSortOption": "fettle:HeartbeatSortOption",
    "HeartbeatState": "fettle:HeartbeatState",
    "HeartbeatUpdate": "fettle:HeartbeatUpdate",
    "IdentitiesRead": "fettle:IdentitiesRead",
    "has_password": {
      "@id": "fettle:has_password",
      "@type": "xsd:boolean"
    },
    "identities": {
      "@id": "fettle:identities",
      "@container": "@list"
    },
    "IdentityRead": "fettle:IdentityRead",
    "provider": {
      "@id": "fettle:provider",
      "@type": "@id"
    },
    "provider_email": {
      "@id": "fettle:provider_email"
    },
    "provider_login": {
      "@id": "fettle:provider_login"
    },
    "last_login_at": {
      "@id": "fettle:last_login_at"
    },
    "IncidentCause": "fettle:IncidentCause",
    "IncidentRead": "fettle:IncidentRead",
    "heartbeat_id": {
      "@id": "fettle:heartbeat_id"
    },
    "started_at": {
      "@id": "fettle:started_at",
      "@type": "xsd:dateTime"
    },
    "resolved_at": {
      "@id": "fettle:resolved_at"
    },
    "cause": {
      "@id": "fettle:cause",
      "@type": "@id"
    },
    "cause_detail": {
      "@id": "fettle:cause_detail"
    },
    "last_notified_at": {
      "@id": "fettle:last_notified_at"
    },
    "acknowledged_at": {
      "@id": "fettle:acknowledged_at"
    },
    "acknowledged_by": {
      "@id": "fettle:acknowledged_by"
    },
    "renotify_count": {
      "@id": "fettle:renotify_count",
      "@type": "xsd:integer"
    },
    "notification_logs": {
      "@id": "fettle:notification_logs",
      "@container": "@list"
    },
    "IncidentStatusFilter": "fettle:IncidentStatusFilter",
    "IncidentSummaryRead": "fettle:IncidentSummaryRead",
    "total": {
      "@id": "fettle:total",
      "@type": "xsd:integer"
    },
    "open": {
      "@id": "fettle:open",
      "@type": "xsd:integer"
    },
    "resolved": {
      "@id": "fettle:resolved",
      "@type": "xsd:integer"
    },
    "IncidentUpdateRead": "fettle:IncidentUpdateRead",
    "body": {
      "@id": "fettle:body",
      "@type": "xsd:string"
    },
    "created_by": {
      "@id": "fettle:created_by"
    },
    "IncomingInvitationRead": "fettle:IncomingInvitationRead",
    "invited_by_name": {
      "@id": "fettle:invited_by_name"
    },
    "invited_by_email": {
      "@id": "fettle:invited_by_email"
    },
    "InvitationCreate": "fettle:InvitationCreate",
    "InvitationPreview": "fettle:InvitationPreview",
    "InvitationStatus": "fettle:InvitationStatus",
    "LayoutComponentWrite": "fettle:LayoutComponentWrite",
    "LayoutGroupWrite": "fettle:LayoutGroupWrite",
    "LinkIdentityRequest": "fettle:LinkIdentityRequest",
    "LinkStartResponse": "fettle:LinkStartResponse",
    "authorization_url": {
      "@id": "fettle:authorization_url",
      "@type": "xsd:string"
    },
    "LoginUserModel": "fettle:LoginUserModel",
    "LogoutRequestModel": "fettle:LogoutRequestModel",
    "terminate_all_sessions": {
      "@id": "fettle:terminate_all_sessions",
      "@type": "xsd:boolean"
    },
    "MaintenanceScope": "fettle:MaintenanceScope",
    "MaintenanceSortOption": "fettle:MaintenanceSortOption",
    "MaintenanceWindowCreate": "fettle:MaintenanceWindowCreate",
    "enabled": {
      "@id": "fettle:enabled",
      "@type": "xsd:boolean"
    },
    "dtstart": {
      "@id": "fettle:dtstart",
      "@type": "xsd:dateTime"
    },
    "duration_minutes": {
      "@id": "fettle:duration_minutes",
      "@type": "xsd:integer"
    },
    "rrule": {
      "@id": "fettle:rrule"
    },
    "timezone": {
      "@id": "fettle:timezone"
    },
    "MaintenanceWindowDetailRead": "fettle:MaintenanceWindowDetailRead",
    "next_occurrences": {
      "@id": "fettle:next_occurrences",
      "@container": "@list"
    },
    "MaintenanceWindowPreviewRequest": "fettle:MaintenanceWindowPreviewRequest",
    "MaintenanceWindowRead": "fettle:MaintenanceWindowRead",
    "MaintenanceWindowRevisionRead": "fettle:MaintenanceWindowRevisionRead",
    "effective_from": {
      "@id": "fettle:effective_from",
      "@type": "xsd:dateTime"
    },
    "edited_by": {
      "@id": "fettle:edited_by"
    },
    "MaintenanceWindowUpdate": "fettle:MaintenanceWindowUpdate",
    "MemberRoleUpdate": "fettle:MemberRoleUpdate",
    "MonitorBulkChanges": "fettle:MonitorBulkChanges",
    "interval_seconds": {
      "@id": "fettle:interval_seconds",
      "@type": "xsd:integer"
    },
    "timeout_seconds": {
      "@id": "fettle:timeout_seconds",
      "@type": "xsd:integer"
    },
    "regions": {
      "@id": "fettle:regions",
      "@container": "@list"
    },
    "confirmation_threshold": {
      "@id": "fettle:confirmation_threshold",
      "@type": "xsd:integer"
    },
    "MonitorCompactRead": "fettle:MonitorCompactRead",
    "type": {
      "@id": "fettle:type",
      "@type": "@id"
    },
    "target": {
      "@id": "fettle:target",
      "@type": "xsd:string"
    },
    "ssl_expires_at": {
      "@id": "fettle:ssl_expires_at"
    },
    "last_checked_at": {
      "@id": "fettle:last_checked_at"
    },
    "MonitorCreate": "fettle:MonitorCreate",
    "config": {
      "@id": "fettle:config"
    },
    "MonitorListRead": "fettle:MonitorListRead",
    "user_id": {
      "@id": "fettle:user_id",
      "@type": "xsd:string"
    },
    "next_run_at": {
      "@id": "fettle:next_run_at"
    },
    "ssl_cert_info": {
      "@id": "fettle:ssl_cert_info"
    },
    "badge_enabled": {
      "@id": "fettle:badge_enabled",
      "@type": "xsd:boolean"
    },
    "uptime_daily": {
      "@id": "fettle:uptime_daily",
      "@container": "@list"
    },
    "region_statuses": {
      "@id": "fettle:region_statuses",
      "@container": "@list"
    },
    "MonitorListView": "fettle:MonitorListView",
    "MonitorMinimalRead": "fettle:MonitorMinimalRead",
    "MonitorPrecheckRequest": "fettle:MonitorPrecheckRequest",
    "MonitorPrecheckResponse": "fettle:MonitorPrecheckResponse",
    "error": {
      "@id": "fettle:error"
    },
    "failure_kind": {
      "@id": "fettle:failure_kind"
    },
    "MonitorRead": "fettle:MonitorRead",
    "MonitorResponseTimeByRegionResponse": "fettle:MonitorResponseTimeByRegionResponse",
    "window": {
      "@id": "fettle:window",
      "@type": "xsd:string"
    },
    "bucket_seconds": {
      "@id": "fettle:bucket_seconds",
      "@type": "xsd:integer"
    },
    "MonitorSortOption": "fettle:MonitorSortOption",
    "MonitorStatsResponse": "fettle:MonitorStatsResponse",
    "windows": {
      "@id": "fettle:windows"
    },
    "MonitorStatsWindow": "fettle:MonitorStatsWindow",
    "uptime_percentage": {
      "@id": "fettle:uptime_percentage"
    },
    "total_checks": {
      "@id": "fettle:total_checks",
      "@type": "xsd:integer"
    },
    "up_checks": {
      "@id": "fettle:up_checks",
      "@type": "xsd:integer"
    },
    "down_checks": {
      "@id": "fettle:down_checks",
      "@type": "xsd:integer"
    },
    "degraded_checks": {
      "@id": "fettle:degraded_checks",
      "@type": "xsd:integer"
    },
    "incident_count": {
      "@id": "fettle:incident_count",
      "@type": "xsd:integer"
    },
    "avg_response_time_ms": {
      "@id": "fettle:avg_response_time_ms"
    },
    "downtime_seconds": {
      "@id": "fettle:downtime_seconds",
      "@type": "xsd:integer"
    },
    "observed_seconds": {
      "@id": "fettle:observed_seconds",
      "@type": "xsd:integer"
    },
    "window_start": {
      "@id": "fettle:window_start",
      "@type": "xsd:dateTime"
    },
    "MonitorStatus": "fettle:MonitorStatus",
    "MonitorUpdate": "fettle:MonitorUpdate",
    "MonitorUptimeBatchItem": "fettle:MonitorUptimeBatchItem",
    "MonitorUptimeBatchRequest": "fettle:MonitorUptimeBatchRequest",
    "MonitorUptimeBatchResponse": "fettle:MonitorUptimeBatchResponse",
    "items": {
      "@id": "fettle:items",
      "@container": "@list"
    },
    "MonitorUptimeBatchWindows": "fettle:MonitorUptimeBatchWindows",
    "MonitorUptimeDailyResponse": "fettle:MonitorUptimeDailyResponse",
    "days": {
      "@id": "fettle:days",
      "@container": "@list"
    },
    "MonitorsSummaryResponse": "fettle:MonitorsSummaryResponse",
    "status_counts": {
      "@id": "fettle:status_counts"
    },
    "uptime_30d": {
      "@id": "fettle:uptime_30d"
    },
    "MultiRegionCheckRequest": "fettle:MultiRegionCheckRequest",
    "url": {
      "@id": "fettle:url",
      "@type": "xsd:string"
    },
    "MultiRegionCheckResponse": "fettle:MultiRegionCheckResponse",
    "NotificationChannelCreate": "fettle:NotificationChannelCreate",
    "destination": {
      "@id": "fettle:destination",
      "@type": "xsd:string"
    },
    "label": {
      "@id": "fettle:label"
    },
    "NotificationChannelCreatedRead": "fettle:NotificationChannelCreatedRead",
    "is_verified": {
      "@id": "fettle:is_verified",
      "@type": "xsd:boolean"
    },
    "secret": {
      "@id": "fettle:secret"
    },
    "NotificationChannelDirectoryRead": "fettle:NotificationChannelDirectoryRead",
    "destination_hint": {
      "@id": "fettle:destination_hint",
      "@type": "xsd:string"
    },
    "NotificationChannelRead": "fettle:NotificationChannelRead",
    "NotificationChannelUpdate": "fettle:NotificationChannelUpdate",
    "NotificationEvent": "fettle:NotificationEvent",
    "NotificationLogRead": "fettle:NotificationLogRead",
    "channel_type": {
      "@id": "fettle:channel_type",
      "@type": "@id"
    },
    "event": {
      "@id": "fettle:event",
      "@type": "@id"
    },
    "sent_at": {
      "@id": "fettle:sent_at",
      "@type": "xsd:dateTime"
    },
    "NotificationStatus": "fettle:NotificationStatus",
    "OccurrenceRead": "fettle:OccurrenceRead",
    "start": {
      "@id": "fettle:start",
      "@type": "xsd:dateTime"
    },
    "end": {
      "@id": "fettle:end",
      "@type": "xsd:dateTime"
    },
    "OrgInvitationRead": "fettle:OrgInvitationRead",
    "last_sent_at": {
      "@id": "fettle:last_sent_at",
      "@type": "xsd:dateTime"
    },
    "OrgRole": "fettle:OrgRole",
    "OrganizationMemberRead": "fettle:OrganizationMemberRead",
    "joined_at": {
      "@id": "fettle:joined_at",
      "@type": "xsd:dateTime"
    },
    "OrganizationMembershipRead": "fettle:OrganizationMembershipRead",
    "organization": {
      "@id": "fettle:organization",
      "@type": "@id"
    },
    "OrganizationRead": "fettle:OrganizationRead",
    "paid_plan": {
      "@id": "fettle:paid_plan",
      "@type": "@id"
    },
    "OrganizationUpdate": "fettle:OrganizationUpdate",
    "PageIncidentCreate": "fettle:PageIncidentCreate",
    "title": {
      "@id": "fettle:title",
      "@type": "xsd:string"
    },
    "component_ids": {
      "@id": "fettle:component_ids",
      "@container": "@list"
    },
    "PageIncidentPatch": "fettle:PageIncidentPatch",
    "PageIncidentRead": "fettle:PageIncidentRead",
    "is_auto": {
      "@id": "fettle:is_auto",
      "@type": "xsd:boolean"
    },
    "notified_at": {
      "@id": "fettle:notified_at"
    },
    "updates": {
      "@id": "fettle:updates",
      "@container": "@list"
    },
    "PageIncidentUpdateCreate": "fettle:PageIncidentUpdateCreate",
    "PageStatus": "fettle:PageStatus",
    "PaginatedResponse_ApiKeyRead_": "fettle:PaginatedResponse_ApiKeyRead_",
    "page": {
      "@id": "fettle:page",
      "@type": "xsd:integer"
    },
    "size": {
      "@id": "fettle:size",
      "@type": "xsd:integer"
    },
    "pages": {
      "@id": "fettle:pages",
      "@type": "xsd:integer"
    },
    "PaginatedResponse_CheckResultRead_": "fettle:PaginatedResponse_CheckResultRead_"
  },
  "@type": "schema:Dataset",
  "schema:name": "fettle-sh API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects fettle-sh's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-10-30) from openapi/_original/fettle-sh-api-openapi.json.",
  "dcterms:created": "2026-10-30",
  "dcterms:source": [
    "openapi/_original/fettle-sh-api-openapi.json"
  ]
}