application · active
Topolo Status
Public Topolo status page and monitoring cron for production surface health.
Documentation map
- Topolo Status — Public overview of the Topolo status page and production health monitoring surface.
Authority and runtime
- System ID
topolo-status- App IDs
- app_topolo_status
- Owners
- platform-engineering
- Repositories
- system-apps/TopoloStatus
- Hosts
- https://status.topolo.app
- Dependencies
- cloud-control
Security and data ownership
- Risk tier
- internal
- Tenant isolation
- public_only
- Privacy classification
- internal
- Storage
- d1
- Export and deletion
- planned
- Enterprise ready
- no
Source-derived capability inventory
Source revisions: system-apps/TopoloStatus@7c200769ec189bf8efe4fe3c0030a7e72627ad81
Declared actions: 9 · API routes: 9 · UI routes: 0
{
"id": "topolo-status",
"name": "Topolo Status",
"slug": "topolo-status",
"kind": "application",
"visibility": "public",
"repo_paths": [
"system-apps/TopoloStatus"
],
"source_revisions": [
{
"source_path": "system-apps/TopoloStatus",
"repository": "system-apps/TopoloStatus",
"revision": "7c200769ec189bf8efe4fe3c0030a7e72627ad81",
"ref": "origin/staging"
}
],
"source_counts": {
"source_files": 8,
"test_files": 11,
"test_cases": 0,
"migration_files": 5,
"database_tables": 0,
"manifests": 1,
"deploy_targets": 1,
"actions": 9,
"mobile_contracts": 1,
"notifications": 8,
"package_manifests": 1,
"deployment_configs": 0
},
"manifests": [
{
"source_path": "system-apps/TopoloStatus/topolo.app.json",
"service_slug": "topolo-status",
"name": "topolo-status",
"app_id": "app_topolo_status",
"compatibility_date": "2026-05-02",
"primary_target": "api",
"environments": [
"production",
"staging"
],
"targets": [
{
"name": "api",
"kind": "worker",
"directory": "apps/api",
"main": "src/worker.ts",
"worker_name": "topolo-status",
"subdomain": "status",
"healthcheck_path": "/api/health",
"variable_names": [
"AUTH_BASE_URL",
"NOTIFICATION_ORGANIZATION_ID",
"NOTIFICATION_WORKSPACE_ID",
"STATUS_CATALOG_URL",
"TOPOLO_NOTIFY_URL"
],
"secret_names": [],
"bindings": [
{
"kind": "d1",
"binding": "STATUS_DB",
"target": null
}
]
}
],
"notifications": [
"status.component.degraded",
"status.component.recovered",
"status.incident.created",
"status.incident.resolved",
"status.incident.updated",
"status.maintenance.completed",
"status.maintenance.scheduled",
"status.maintenance.started"
],
"notification_contract": {
"source_path": "topolo.notification-contracts.json",
"role": "producer",
"schema_version": 1,
"owner_app_id": "app_topolo_status",
"events": [
{
"type": "status.component.degraded",
"version": 1,
"description": "A persisted component crosses the sustained-failure threshold.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"component_host",
"component_name",
"http_status",
"consecutive_fails",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"category": {
"const": "status"
},
"severity": {
"const": "critical"
},
"object_type": {
"const": "status_component"
},
"object_id": {
"type": "string",
"minLength": 1
},
"component_host": {
"type": "string",
"minLength": 1
},
"component_name": {
"type": "string",
"minLength": 1
},
"component_group": {
"type": [
"string",
"null"
]
},
"http_status": {
"type": "integer",
"minimum": 0
},
"consecutive_fails": {
"type": "integer",
"minimum": 3
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Auth is degraded",
"body": "Auth crossed the sustained-failure threshold.",
"category": "status",
"severity": "critical",
"object_type": "status_component",
"object_id": "auth.topolo.app",
"component_host": "auth.topolo.app",
"component_name": "Auth",
"component_group": "platform",
"http_status": 503,
"consecutive_fails": 3,
"occurred_at": "2026-07-21T00:00:00.000Z"
}
],
"dataClassification": "internal",
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^status:component:"
},
"sensitiveFields": []
},
{
"type": "status.component.recovered",
"version": 1,
"description": "A persisted degraded component returns to operational status.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"component_host",
"component_name",
"http_status",
"consecutive_fails",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"category": {
"const": "status"
},
"severity": {
"const": "success"
},
"object_type": {
"const": "status_component"
},
"object_id": {
"type": "string",
"minLength": 1
},
"component_host": {
"type": "string",
"minLength": 1
},
"component_name": {
"type": "string",
"minLength": 1
},
"component_group": {
"type": [
"string",
"null"
]
},
"http_status": {
"type": "integer",
"minimum": 200,
"maximum": 399
},
"consecutive_fails": {
"const": 0
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Auth recovered",
"body": "Auth returned to operational status.",
"category": "status",
"severity": "success",
"object_type": "status_component",
"object_id": "auth.topolo.app",
"component_host": "auth.topolo.app",
"component_name": "Auth",
"component_group": "platform",
"http_status": 200,
"consecutive_fails": 0,
"occurred_at": "2026-07-21T00:10:00.000Z"
}
],
"dataClassification": "internal",
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^status:component:"
},
"sensitiveFields": []
},
{
"type": "status.incident.created",
"version": 1,
"description": "A durable status incident is created in the investigating state.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"incident_id",
"incident_status",
"revision",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"category": {
"const": "status"
},
"severity": {
"enum": [
"minor",
"major",
"critical"
]
},
"object_type": {
"const": "status_incident"
},
"object_id": {
"type": "string",
"minLength": 1
},
"incident_id": {
"type": "string",
"minLength": 1
},
"component_host": {
"type": [
"string",
"null"
]
},
"component_name": {
"type": [
"string",
"null"
]
},
"incident_status": {
"const": "investigating"
},
"revision": {
"const": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Elevated Auth errors",
"body": "We are investigating elevated authentication errors.",
"category": "status",
"severity": "major",
"object_type": "status_incident",
"object_id": "incident_123",
"incident_id": "incident_123",
"component_host": "auth.topolo.app",
"component_name": "Auth",
"incident_status": "investigating",
"revision": 1,
"occurred_at": "2026-07-21T00:00:00.000Z"
}
],
"dataClassification": "internal",
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^status:incident:"
},
"sensitiveFields": []
},
{
"type": "status.incident.updated",
"version": 1,
"description": "A durable open status incident receives a new revision.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"incident_id",
"incident_status",
"revision",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"category": {
"const": "status"
},
"severity": {
"enum": [
"minor",
"major",
"critical"
]
},
"object_type": {
"const": "status_incident"
},
"object_id": {
"type": "string",
"minLength": 1
},
"incident_id": {
"type": "string",
"minLength": 1
},
"component_host": {
"type": [
"string",
"null"
]
},
"component_name": {
"type": [
"string",
"null"
]
},
"incident_status": {
"enum": [
"investigating",
"identified",
"monitoring"
]
},
"revision": {
"type": "integer",
"minimum": 2
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Elevated Auth errors",
"body": "The cause is identified and mitigation is underway.",
"category": "status",
"severity": "major",
"object_type": "status_incident",
"object_id": "incident_123",
"incident_id": "incident_123",
"component_host": "auth.topolo.app",
"component_name": "Auth",
"incident_status": "identified",
"revision": 2,
"occurred_at": "2026-07-21T00:10:00.000Z"
}
],
"dataClassification": "internal",
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^status:incident:"
},
"sensitiveFields": []
},
{
"type": "status.incident.resolved",
"version": 1,
"description": "A durable open status incident reaches the resolved state.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"incident_id",
"incident_status",
"revision",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"category": {
"const": "status"
},
"severity": {
"const": "success"
},
"object_type": {
"const": "status_incident"
},
"object_id": {
"type": "string",
"minLength": 1
},
"incident_id": {
"type": "string",
"minLength": 1
},
"component_host": {
"type": [
"string",
"null"
]
},
"component_name": {
"type": [
"string",
"null"
]
},
"incident_status": {
"const": "resolved"
},
"revision": {
"type": "integer",
"minimum": 2
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Elevated Auth errors",
"body": "Authentication error rates have returned to normal.",
"category": "status",
"severity": "success",
"object_type": "status_incident",
"object_id": "incident_123",
"incident_id": "incident_123",
"component_host": "auth.topolo.app",
"component_name": "Auth",
"incident_status": "resolved",
"revision": 3,
"occurred_at": "2026-07-21T00:20:00.000Z"
}
],
"dataClassification": "internal",
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^status:incident:"
},
"sensitiveFields": []
},
{
"type": "status.maintenance.scheduled",
"version": 1,
"description": "A durable platform maintenance window is scheduled.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"maintenance_id",
"maintenance_status",
"scheduled_start",
"scheduled_end",
"revision",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"category": {
"const": "status"
},
"severity": {
"const": "info"
},
"object_type": {
"const": "status_maintenance"
},
"object_id": {
"type": "string",
"minLength": 1
},
"maintenance_id": {
"type": "string",
"minLength": 1
},
"maintenance_status": {
"const": "scheduled"
},
"scheduled_start": {
"type": "string",
"format": "date-time"
},
"scheduled_end": {
"type": "string",
"format": "date-time"
},
"revision": {
"const": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Database maintenance",
"body": "A short database maintenance window is scheduled.",
"category": "status",
"severity": "info",
"object_type": "status_maintenance",
"object_id": "maintenance_123",
"maintenance_id": "maintenance_123",
"maintenance_status": "scheduled",
"scheduled_start": "2026-07-22T00:00:00.000Z",
"scheduled_end": "2026-07-22T01:00:00.000Z",
"revision": 1,
"occurred_at": "2026-07-21T00:00:00.000Z"
}
],
"dataClassification": "internal",
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^status:maintenance:"
},
"sensitiveFields": []
},
{
"type": "status.maintenance.started",
"version": 1,
"description": "A scheduled maintenance window enters the in-progress state.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"maintenance_id",
"maintenance_status",
"scheduled_start",
"scheduled_end",
"revision",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"category": {
"const": "status"
},
"severity": {
"const": "warning"
},
"object_type": {
"const": "status_maintenance"
},
"object_id": {
"type": "string",
"minLength": 1
},
"maintenance_id": {
"type": "string",
"minLength": 1
},
"maintenance_status": {
"const": "in_progress"
},
"scheduled_start": {
"type": "string",
"format": "date-time"
},
"scheduled_end": {
"type": "string",
"format": "date-time"
},
"revision": {
"type": "integer",
"minimum": 2
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Database maintenance",
"body": "Database maintenance is now in progress.",
"category": "status",
"severity": "warning",
"object_type": "status_maintenance",
"object_id": "maintenance_123",
"maintenance_id": "maintenance_123",
"maintenance_status": "in_progress",
"scheduled_start": "2026-07-22T00:00:00.000Z",
"scheduled_end": "2026-07-22T01:00:00.000Z",
"revision": 2,
"occurred_at": "2026-07-22T00:00:00.000Z"
}
],
"dataClassification": "internal",
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^status:maintenance:"
},
"sensitiveFields": []
},
{
"type": "status.maintenance.completed",
"version": 1,
"description": "An in-progress maintenance window reaches the completed state.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"maintenance_id",
"maintenance_status",
"scheduled_start",
"scheduled_end",
"revision",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"category": {
"const": "status"
},
"severity": {
"const": "success"
},
"object_type": {
"const": "status_maintenance"
},
"object_id": {
"type": "string",
"minLength": 1
},
"maintenance_id": {
"type": "string",
"minLength": 1
},
"maintenance_status": {
"const": "completed"
},
"scheduled_start": {
"type": "string",
"format": "date-time"
},
"scheduled_end": {
"type": "string",
"format": "date-time"
},
"revision": {
"type": "integer",
"minimum": 3
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Database maintenance",
"body": "Database maintenance completed successfully.",
"category": "status",
"severity": "success",
"object_type": "status_maintenance",
"object_id": "maintenance_123",
"maintenance_id": "maintenance_123",
"maintenance_status": "completed",
"scheduled_start": "2026-07-22T00:00:00.000Z",
"scheduled_end": "2026-07-22T01:00:00.000Z",
"revision": 3,
"occurred_at": "2026-07-22T00:30:00.000Z"
}
],
"dataClassification": "internal",
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^status:maintenance:"
},
"sensitiveFields": []
}
]
},
"actions": [
{
"name": "widget.get",
"title": "Get widget summary",
"description": "Get the TopoloOne widget summary for this service.",
"method": "GET",
"path": "/api/widget",
"permission": "status:read",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {},
"cli_example": [
"topolo actions --service topolo-status --json",
"topolo actions get <action-id> --json",
"topolo actions validate <action-id> --data @payload.json --json",
"topolo actions plan <action-id> --data @payload.json --json",
"topolo actions call <action-id> --data @payload.json --json"
],
"http_example": {
"method": "GET",
"path": "/api/widget",
"body": null
},
"effects": "Reads state through GET /api/widget without a declared mutation.",
"verification": [
"Check the structured action result and pagination or resource identifiers before using it downstream."
],
"recovery": [
"Correct identity, resource context, permission, or input validation failures, then retry the read."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "declared_unserved",
"route_key": "GET /api/widget",
"evidence": "No matching served route was extracted from canonical staging source."
}
},
{
"name": "status.get",
"title": "Get status",
"description": "Get platform status.",
"method": "GET",
"path": "/api/status",
"authorizationMode": "public",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by Get status.",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {},
"cli_example": [
"topolo actions --service topolo-status --json",
"topolo actions get <action-id> --json",
"topolo actions validate <action-id> --data @payload.json --json",
"topolo actions plan <action-id> --data @payload.json --json",
"topolo actions call <action-id> --data @payload.json --json"
],
"http_example": {
"method": "GET",
"path": "/api/status",
"body": null
},
"effects": "Reads state through GET /api/status without a declared mutation.",
"verification": [
"Check the structured action result and pagination or resource identifiers before using it downstream."
],
"recovery": [
"Correct identity, resource context, permission, or input validation failures, then retry the read."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "declared_unserved",
"route_key": "GET /api/status",
"evidence": "No matching served route was extracted from canonical staging source."
}
},
{
"name": "status.poll",
"title": "Run status poll",
"description": "Poll all configured platform surfaces immediately.",
"method": "POST",
"path": "/poll",
"permission": "status:poll",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by Poll status.",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {},
"cli_example": [
"topolo actions --service topolo-status --json",
"topolo actions get <action-id> --json",
"topolo actions validate <action-id> --data @payload.json --json",
"topolo actions plan <action-id> --data @payload.json --json",
"topolo actions call <action-id> --data @payload.json --confirm --json"
],
"http_example": {
"method": "POST",
"path": "/poll",
"body": {}
},
"effects": "May change state through POST /poll. Inspect the plan and honor the published confirmation policy.",
"verification": [
"Check the structured action result.",
"Read the affected resource back through the corresponding get or list action."
],
"recovery": [
"Do not retry an ambiguous mutation until a read confirms whether it applied.",
"Use a published inverse, update, archive, or delete action only after inspecting its contract."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "POST /poll",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "incidents.create",
"title": "Create incident",
"description": "Create a durable platform status incident.",
"method": "POST",
"path": "/api/incidents",
"permission": "status:write",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"message": {
"type": "string",
"minLength": 1
},
"severity": {
"type": "string",
"enum": [
"minor",
"major",
"critical"
]
},
"componentHost": {
"type": "string",
"minLength": 1
},
"componentName": {
"type": "string",
"minLength": 1
}
},
"required": [
"title",
"message",
"severity"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"title": "example",
"message": "example",
"severity": "minor"
},
"cli_example": [
"topolo actions --service topolo-status --json",
"topolo actions get <action-id> --json",
"topolo actions validate <action-id> --data @payload.json --json",
"topolo actions plan <action-id> --data @payload.json --json",
"topolo actions call <action-id> --data @payload.json --confirm --json"
],
"http_example": {
"method": "POST",
"path": "/api/incidents",
"body": {
"title": "example",
"message": "example",
"severity": "minor"
}
},
"effects": "May change state through POST /api/incidents. Inspect the plan and honor the published confirmation policy.",
"verification": [
"Check the structured action result.",
"Read the affected resource back through the corresponding get or list action."
],
"recovery": [
"Do not retry an ambiguous mutation until a read confirms whether it applied.",
"Use a published inverse, update, archive, or delete action only after inspecting its contract."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "POST /api/incidents",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "incidents.update",
"title": "Update incident",
"description": "Publish a durable update to an open status incident.",
"method": "PATCH",
"path": "/api/incidents/{incidentId}",
"permission": "status:write",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"incidentId": {
"type": "string",
"minLength": 1
},
"message": {
"type": "string",
"minLength": 1
},
"severity": {
"type": "string",
"enum": [
"minor",
"major",
"critical"
]
},
"status": {
"type": "string",
"enum": [
"investigating",
"identified",
"monitoring"
]
}
},
"required": [
"incidentId",
"message"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"incidentId": "example",
"message": "example"
},
"cli_example": [
"topolo actions --service topolo-status --json",
"topolo actions get <action-id> --json",
"topolo actions validate <action-id> --data @payload.json --json",
"topolo actions plan <action-id> --data @payload.json --json",
"topolo actions call <action-id> --data @payload.json --confirm --json"
],
"http_example": {
"method": "PATCH",
"path": "/api/incidents/example",
"body": {
"incidentId": "example",
"message": "example"
}
},
"effects": "May change state through PATCH /api/incidents/{incidentId}. Inspect the plan and honor the published confirmation policy.",
"verification": [
"Check the structured action result.",
"Read the affected resource back through the corresponding get or list action."
],
"recovery": [
"Do not retry an ambiguous mutation until a read confirms whether it applied.",
"Use a published inverse, update, archive, or delete action only after inspecting its contract."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "PATCH /api/incidents/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "incidents.resolve",
"title": "Resolve incident",
"description": "Resolve an open status incident with a final update.",
"method": "POST",
"path": "/api/incidents/{incidentId}/resolve",
"permission": "status:write",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"incidentId": {
"type": "string",
"minLength": 1
},
"message": {
"type": "string",
"minLength": 1
}
},
"required": [
"incidentId",
"message"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"incidentId": "example",
"message": "example"
},
"cli_example": [
"topolo actions --service topolo-status --json",
"topolo actions get <action-id> --json",
"topolo actions validate <action-id> --data @payload.json --json",
"topolo actions plan <action-id> --data @payload.json --json",
"topolo actions call <action-id> --data @payload.json --confirm --json"
],
"http_example": {
"method": "POST",
"path": "/api/incidents/example/resolve",
"body": {
"incidentId": "example",
"message": "example"
}
},
"effects": "May change state through POST /api/incidents/{incidentId}/resolve. Inspect the plan and honor the published confirmation policy.",
"verification": [
"Check the structured action result.",
"Read the affected resource back through the corresponding get or list action."
],
"recovery": [
"Do not retry an ambiguous mutation until a read confirms whether it applied.",
"Use a published inverse, update, archive, or delete action only after inspecting its contract."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "POST /api/incidents/*/resolve",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "maintenance.schedule",
"title": "Schedule maintenance",
"description": "Create a durable scheduled maintenance window.",
"method": "POST",
"path": "/api/maintenance",
"permission": "status:write",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"message": {
"type": "string",
"minLength": 1
},
"scheduledStart": {
"type": "string",
"minLength": 1
},
"scheduledEnd": {
"type": "string",
"minLength": 1
}
},
"required": [
"title",
"message",
"scheduledStart",
"scheduledEnd"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"title": "example",
"message": "example",
"scheduledStart": "example",
"scheduledEnd": "example"
},
"cli_example": [
"topolo actions --service topolo-status --json",
"topolo actions get <action-id> --json",
"topolo actions validate <action-id> --data @payload.json --json",
"topolo actions plan <action-id> --data @payload.json --json",
"topolo actions call <action-id> --data @payload.json --confirm --json"
],
"http_example": {
"method": "POST",
"path": "/api/maintenance",
"body": {
"title": "example",
"message": "example",
"scheduledStart": "example",
"scheduledEnd": "example"
}
},
"effects": "May change state through POST /api/maintenance. Inspect the plan and honor the published confirmation policy.",
"verification": [
"Check the structured action result.",
"Read the affected resource back through the corresponding get or list action."
],
"recovery": [
"Do not retry an ambiguous mutation until a read confirms whether it applied.",
"Use a published inverse, update, archive, or delete action only after inspecting its contract."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "POST /api/maintenance",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "maintenance.start",
"title": "Start maintenance",
"description": "Move a scheduled maintenance window into progress.",
"method": "POST",
"path": "/api/maintenance/{maintenanceId}/start",
"permission": "status:write",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"maintenanceId": {
"type": "string",
"minLength": 1
},
"message": {
"type": "string",
"minLength": 1
}
},
"required": [
"maintenanceId"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"maintenanceId": "example"
},
"cli_example": [
"topolo actions --service topolo-status --json",
"topolo actions get <action-id> --json",
"topolo actions validate <action-id> --data @payload.json --json",
"topolo actions plan <action-id> --data @payload.json --json",
"topolo actions call <action-id> --data @payload.json --confirm --json"
],
"http_example": {
"method": "POST",
"path": "/api/maintenance/example/start",
"body": {
"maintenanceId": "example"
}
},
"effects": "May change state through POST /api/maintenance/{maintenanceId}/start. Inspect the plan and honor the published confirmation policy.",
"verification": [
"Check the structured action result.",
"Read the affected resource back through the corresponding get or list action."
],
"recovery": [
"Do not retry an ambiguous mutation until a read confirms whether it applied.",
"Use a published inverse, update, archive, or delete action only after inspecting its contract."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "POST /api/maintenance/*/start",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "maintenance.complete",
"title": "Complete maintenance",
"description": "Complete an in-progress maintenance window.",
"method": "POST",
"path": "/api/maintenance/{maintenanceId}/complete",
"permission": "status:write",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"maintenanceId": {
"type": "string",
"minLength": 1
},
"message": {
"type": "string",
"minLength": 1
}
},
"required": [
"maintenanceId"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"maintenanceId": "example"
},
"cli_example": [
"topolo actions --service topolo-status --json",
"topolo actions get <action-id> --json",
"topolo actions validate <action-id> --data @payload.json --json",
"topolo actions plan <action-id> --data @payload.json --json",
"topolo actions call <action-id> --data @payload.json --confirm --json"
],
"http_example": {
"method": "POST",
"path": "/api/maintenance/example/complete",
"body": {
"maintenanceId": "example"
}
},
"effects": "May change state through POST /api/maintenance/{maintenanceId}/complete. Inspect the plan and honor the published confirmation policy.",
"verification": [
"Check the structured action result.",
"Read the affected resource back through the corresponding get or list action."
],
"recovery": [
"Do not retry an ambiguous mutation until a read confirms whether it applied.",
"Use a published inverse, update, archive, or delete action only after inspecting its contract."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "POST /api/maintenance/*/complete",
"evidence": "Matched to a served route extracted from canonical staging source."
}
}
],
"action_coverage": {
"status": "ok",
"served_routes": 7,
"matched_actions": 7,
"declared_unserved_actions": [
"GET /api/status",
"GET /api/widget"
],
"coverage_excluded_actions": [],
"uncatalogued_routes": [],
"ignored_routes": 0,
"configured_exclusions": 2,
"configuration_findings": [
"* /: exclusion matches no served route",
"* /status: exclusion matches no served route"
],
"notes": []
},
"runtime_contract_audit": {
"status": "verified",
"actions": 9,
"contracts": 9,
"contract_module": "topolo.action-contracts.mjs",
"validator_sources": [
"apps/api/src/worker.ts"
],
"authorization_sources": [
"apps/api/src/worker.ts"
],
"findings": []
}
}
],
"mobile_contracts": [
{
"source_path": "system-apps/TopoloStatus/topolo.mobile-experience.json",
"contract": {
"version": "2026-06-29",
"status": "approved",
"mode": "native_capability",
"appId": "app_topolo_status",
"localizationNamespace": "status",
"permissions": [
"status:read"
],
"offlinePolicy": "read_through_cache",
"fallbackPath": "/services",
"auth": {
"audience": "topolo-status",
"scopes": [
"status:read"
]
},
"routes": [
{
"path": "/services",
"apiPath": "/api/status",
"title": "Services",
"titleKey": "status.mobile.routes.services.title",
"template": "record.list",
"dataSource": "status.services.list"
}
]
}
}
],
"package_manifests": [],
"deployment_configs": [],
"source_signals": {
"api_routes": [
{
"method": "LITERAL",
"path": "/api/incidents",
"source_path": "system-apps/TopoloStatus/apps/api/src/status-lifecycle.ts"
},
{
"method": "LITERAL",
"path": "/api/maintenance",
"source_path": "system-apps/TopoloStatus/apps/api/src/status-lifecycle.ts"
},
{
"method": "ALL",
"path": "*",
"source_path": "system-apps/TopoloStatus/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/poll",
"source_path": "system-apps/TopoloStatus/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/api/health",
"source_path": "system-apps/TopoloStatus/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/api/widget",
"source_path": "system-apps/TopoloStatus/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/api/status",
"source_path": "system-apps/TopoloStatus/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/",
"source_path": "system-apps/TopoloStatus/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/status",
"source_path": "system-apps/TopoloStatus/apps/api/src/worker.ts"
}
],
"ui_routes": [],
"test_cases": [],
"database_tables": []
},
"documentation": {
"declared_paths": [
"applications/status",
"internal/apps/status"
],
"present_paths": [
"applications/status",
"internal/apps/status"
],
"missing_paths": [],
"human_reference": "/systems/topolo-status",
"machine_reference": "/machine/systems/topolo-status.json",
"action_examples": 9,
"action_schemas": 9
},
"source_findings": [
{
"type": "declared_unserved_actions",
"source_path": "system-apps/TopoloStatus/topolo.app.json",
"detail": [
"GET /api/status",
"GET /api/widget"
]
},
{
"type": "action_coverage_configuration",
"source_path": "system-apps/TopoloStatus/topolo.app.json",
"detail": [
"* /: exclusion matches no served route",
"* /status: exclusion matches no served route"
]
}
]
}