application · active
TopoloDocs
Canonical documentation, system registry, machine-readable platform evidence, and docs validation surface for the Topolo Platform.
Documentation map
- TopoloDocs — Canonical documentation, system registry, and machine-readable launch evidence for the Topolo Platform.
Authority and runtime
- System ID
topolo-docs- App IDs
- app_topolo_docs
- Owners
- platform
- Repositories
- system-apps/TopoloDocs
- Hosts
- https://docs.topolo.app, https://docs.topolo.dev, https://docs.stg.topolo.us
- Dependencies
- topolo-auth, cloud-control
Security and data ownership
- Risk tier
- high
- Tenant isolation
- mixed
- Privacy classification
- restricted
- Storage
- d1, r2, kv, source_control
- Export and deletion
- implemented
- Enterprise ready
- yes
Source-derived capability inventory
Source revisions: system-apps/TopoloDocs@content-sha256:f1156f3f8bfa67eea5ea769c2e21502bf7883b145bf30212f0ea11cc6a2b1140
Declared actions: 34 · API routes: 11 · UI routes: 11
{
"id": "topolo-docs",
"name": "TopoloDocs",
"slug": "topolo-docs",
"kind": "application",
"visibility": "public",
"repo_paths": [
"system-apps/TopoloDocs"
],
"source_revisions": [
{
"source_path": "system-apps/TopoloDocs",
"repository": "system-apps/TopoloDocs",
"revision": "content-sha256:f1156f3f8bfa67eea5ea769c2e21502bf7883b145bf30212f0ea11cc6a2b1140",
"ref": "working-tree"
}
],
"source_counts": {
"source_files": 98,
"test_files": 70,
"test_cases": 0,
"migration_files": 7,
"database_tables": 0,
"manifests": 1,
"deploy_targets": 2,
"actions": 34,
"mobile_contracts": 0,
"notifications": 4,
"package_manifests": 3,
"deployment_configs": 0
},
"manifests": [
{
"source_path": "system-apps/TopoloDocs/topolo.app.json",
"service_slug": "topolo-docs",
"name": "topolo-docs",
"app_id": "app_topolo_docs",
"compatibility_date": "2026-05-01",
"primary_target": "web",
"environments": [
"development",
"production",
"staging"
],
"targets": [
{
"name": "api",
"kind": "worker",
"directory": "apps/api",
"main": "src/worker.ts",
"worker_name": "topolo-docs-api",
"subdomain": null,
"healthcheck_path": "/health",
"variable_names": [
"APP_ID",
"AUTH_API_URL",
"AUTH_ORIGIN",
"DOCS_PUBLIC_BASE_URL",
"ENVIRONMENT",
"NEXUS_GATEWAY_URL",
"TOPOLO_NOTIFY_URL",
"VITE_TOPOLO_APP_ID"
],
"secret_names": [],
"bindings": [
{
"kind": "d1",
"binding": "DOCS_CONTROL_DB",
"target": null
},
{
"kind": "d1",
"binding": "DOCS_CONTENT_DB",
"target": null
},
{
"kind": "d1",
"binding": "DOCS_OPERATIONS_DB",
"target": null
},
{
"kind": "r2",
"binding": "DOCS_PUBLICATIONS",
"target": null
},
{
"kind": "kv",
"binding": "DOCS_PUBLISHED_KV",
"target": null
}
]
},
{
"name": "web",
"kind": "worker",
"directory": "apps/web",
"main": "src/worker.ts",
"worker_name": "topolo-docs",
"subdomain": "docs",
"healthcheck_path": "/health",
"variable_names": [
"AUTH_API_URL",
"AUTH_ORIGIN",
"ENVIRONMENT",
"INSIGHTS_SITE_KEY"
],
"secret_names": [],
"bindings": [
{
"kind": "services",
"binding": "API",
"target": null
}
]
}
],
"notifications": [
"docs.catalog.drift_detected",
"docs.link_check.failed",
"docs.publish.completed",
"docs.publish.failed"
],
"notification_contract": {
"source_path": "topolo.notification-contracts.json",
"role": "producer",
"schema_version": 1,
"owner_app_id": "app_topolo_docs",
"events": [
{
"type": "docs.catalog.drift_detected",
"version": 1,
"description": "A persisted Docs catalog validation run detected a source digest mismatch.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"source",
"expected_digest",
"actual_digest",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"object_id": {
"type": "string",
"minLength": 1
},
"source": {
"type": "string",
"minLength": 1
},
"expected_digest": {
"type": "string",
"minLength": 1
},
"actual_digest": {
"type": "string",
"minLength": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Documentation catalog drift detected",
"body": "Auth permissions no longer match their published documentation catalog.",
"object_id": "docsrun_123",
"source": "Auth permissions",
"expected_digest": "sha256:expected",
"actual_digest": "sha256:actual",
"occurred_at": "2026-07-20T00:00:00.000Z"
}
],
"dataClassification": "internal",
"sensitiveFields": [],
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^docs:catalog-drift-detected:"
}
},
{
"type": "docs.link_check.failed",
"version": 1,
"description": "A persisted Docs link validation run recorded an unreachable documentation URL.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"checked_url",
"status_code",
"reason",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"object_id": {
"type": "string",
"minLength": 1
},
"checked_url": {
"type": "string",
"format": "uri"
},
"status_code": {
"type": [
"integer",
"null"
],
"minimum": 100,
"maximum": 599
},
"reason": {
"type": "string",
"minLength": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Documentation link check failed",
"body": "https://docs.stg.topolo.us/reference/missing failed documentation link validation.",
"object_id": "docsrun_124",
"checked_url": "https://docs.stg.topolo.us/reference/missing",
"status_code": 404,
"reason": "Expected a successful response.",
"occurred_at": "2026-07-20T00:00:00.000Z"
}
],
"dataClassification": "internal",
"sensitiveFields": [],
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^docs:link-check-failed:"
}
},
{
"type": "docs.publish.completed",
"version": 1,
"description": "A documentation revision was durably recorded as published to an environment.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"revision",
"environment",
"published_url",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"object_id": {
"type": "string",
"minLength": 1
},
"revision": {
"type": "string",
"minLength": 1
},
"environment": {
"type": "string",
"enum": [
"development",
"staging",
"production"
]
},
"published_url": {
"type": "string",
"format": "uri"
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Documentation publish completed",
"body": "abc123 was published to staging.",
"object_id": "docsrun_125",
"revision": "abc123",
"environment": "staging",
"published_url": "https://docs.stg.topolo.us",
"occurred_at": "2026-07-20T00:00:00.000Z"
}
],
"dataClassification": "internal",
"sensitiveFields": [],
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^docs:publish-completed:"
}
},
{
"type": "docs.publish.failed",
"version": 1,
"description": "A documentation revision was durably recorded as failed during publication.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"object_id",
"revision",
"environment",
"reason",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"object_id": {
"type": "string",
"minLength": 1
},
"revision": {
"type": "string",
"minLength": 1
},
"environment": {
"type": "string",
"enum": [
"development",
"staging",
"production"
]
},
"reason": {
"type": "string",
"minLength": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Documentation publish failed",
"body": "abc124 failed to publish to staging.",
"object_id": "docsrun_126",
"revision": "abc124",
"environment": "staging",
"reason": "The publication validation gate failed.",
"occurred_at": "2026-07-20T00:00:00.000Z"
}
],
"dataClassification": "internal",
"sensitiveFields": [],
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^docs:publish-failed:"
}
}
]
},
"actions": [
{
"name": "widget.get",
"title": "Get widget summary",
"description": "Get the TopoloOne widget summary for Docs.",
"method": "GET",
"path": "/api/widget",
"permission": "docs:read",
"authorizationMode": "static",
"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-docs --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": "implemented",
"route_key": "GET /api/widget",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "workspace.bootstrap",
"title": "Get application bootstrap",
"description": "Get the authenticated Docs user and organization context.",
"method": "GET",
"path": "/api/bootstrap",
"permission": "workspace:read",
"authorizationMode": "static",
"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-docs --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/bootstrap",
"body": null
},
"effects": "Reads state through GET /api/bootstrap 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": "implemented",
"route_key": "GET /api/bootstrap",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "workspace.get",
"title": "Get Docs workspace",
"description": "Get the active Docs workspace projection.",
"method": "GET",
"path": "/api/docs/workspace",
"permission": "workspace:read",
"authorizationMode": "static",
"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-docs --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/docs/workspace",
"body": null
},
"effects": "Reads state through GET /api/docs/workspace 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": "implemented",
"route_key": "GET /api/docs/workspace",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "workspaces.archive",
"title": "Archive Docs workspace",
"description": "Archive an empty Docs workspace and purge its archived Docs data.",
"method": "DELETE",
"path": "/api/docs/workspaces/{workspaceId}",
"permission": "workspace:delete",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"workspaceId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": true,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"workspaceId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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": "DELETE",
"path": "/api/docs/workspaces/example",
"body": null
},
"effects": "May change state through DELETE /api/docs/workspaces/{workspaceId}. 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": "DELETE /api/docs/workspaces/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "spaces.list",
"title": "List documentation spaces",
"description": "List active documentation spaces in the selected workspace.",
"method": "GET",
"path": "/api/docs/spaces",
"permission": "docs:read",
"authorizationMode": "static",
"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-docs --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/docs/spaces",
"body": null
},
"effects": "Reads state through GET /api/docs/spaces 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": "implemented",
"route_key": "GET /api/docs/spaces",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "spaces.create",
"title": "Create documentation space",
"description": "Create a tenant-isolated documentation space.",
"method": "POST",
"path": "/api/docs/spaces",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"slug": {
"type": "string"
},
"description": {
"type": "string"
},
"visibility": {
"type": "string",
"enum": [
"private",
"workspace",
"public"
]
},
"defaultLocale": {
"type": "string",
"pattern": "^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"
},
"brand": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"title": "example",
"slug": "example",
"description": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/spaces",
"body": {
"title": "example",
"slug": "example",
"description": "example"
}
},
"effects": "May change state through POST /api/docs/spaces. 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/docs/spaces",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "spaces.get",
"title": "Get documentation space",
"description": "Get one documentation space from the selected workspace.",
"method": "GET",
"path": "/api/docs/spaces/{spaceId}",
"permission": "docs:read",
"authorizationMode": "static",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"spaceId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"spaceId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"spaceId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/spaces/example",
"body": null
},
"effects": "Reads state through GET /api/docs/spaces/{spaceId} 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": "implemented",
"route_key": "GET /api/docs/spaces/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "spaces.update",
"title": "Update documentation space",
"description": "Update a documentation space, visibility, locale, or brand configuration.",
"method": "PATCH",
"path": "/api/docs/spaces/{spaceId}",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"spaceId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"title": {
"type": "string"
},
"slug": {
"type": "string"
},
"description": {
"type": "string"
},
"visibility": {
"type": "string",
"enum": [
"private",
"workspace",
"public"
]
},
"defaultLocale": {
"type": "string",
"pattern": "^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"
},
"brand": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"spaceId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"spaceId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/spaces/example",
"body": {
"spaceId": "example"
}
},
"effects": "May change state through PATCH /api/docs/spaces/{spaceId}. 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/docs/spaces/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "spaces.archive",
"title": "Archive documentation space",
"description": "Archive a documentation space and remove it from active workspace navigation.",
"method": "DELETE",
"path": "/api/docs/spaces/{spaceId}",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"spaceId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"spaceId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": true,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"spaceId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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": "DELETE",
"path": "/api/docs/spaces/example",
"body": null
},
"effects": "May change state through DELETE /api/docs/spaces/{spaceId}. 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": "DELETE /api/docs/spaces/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "spaces.documents.list",
"title": "List space documents",
"description": "List active documents in one documentation space.",
"method": "GET",
"path": "/api/docs/spaces/{spaceId}/documents",
"permission": "docs:read",
"authorizationMode": "static",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"spaceId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"spaceId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"spaceId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/spaces/example/documents",
"body": null
},
"effects": "Reads state through GET /api/docs/spaces/{spaceId}/documents 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": "implemented",
"route_key": "GET /api/docs/spaces/*/documents",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "spaces.documents.create",
"title": "Create document",
"description": "Create a document and its first immutable locale version.",
"method": "POST",
"path": "/api/docs/spaces/{spaceId}/documents",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"spaceId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"parentId": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 160
},
{
"type": "null"
}
]
},
"title": {
"type": "string"
},
"slug": {
"type": "string"
},
"summary": {
"type": "string"
},
"bodyMarkdown": {
"type": "string"
},
"locale": {
"type": "string",
"pattern": "^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"
},
"sourceKind": {
"type": "string",
"enum": [
"native",
"platform_repo",
"repository_sync",
"generated"
]
},
"sourceRevision": {
"type": "string"
},
"sourcePath": {
"type": "string"
}
},
"required": [
"spaceId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"spaceId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/spaces/example/documents",
"body": {
"spaceId": "example"
}
},
"effects": "May change state through POST /api/docs/spaces/{spaceId}/documents. 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/docs/spaces/*/documents",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "spaces.sections.list",
"title": "List space sections",
"description": "List the configurable top-level sections a documentation space is organized into.",
"method": "GET",
"path": "/api/docs/spaces/{spaceId}/sections",
"permission": "docs:read",
"authorizationMode": "static",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"spaceId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"spaceId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"spaceId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/spaces/example/sections",
"body": null
},
"effects": "Reads state through GET /api/docs/spaces/{spaceId}/sections 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": "implemented",
"route_key": "GET /api/docs/spaces/*/sections",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "spaces.sections.create",
"title": "Create section",
"description": "Create a top-level navigation section in one documentation space.",
"method": "POST",
"path": "/api/docs/spaces/{spaceId}/sections",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"spaceId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"title": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"required": [
"spaceId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"spaceId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/spaces/example/sections",
"body": {
"spaceId": "example"
}
},
"effects": "May change state through POST /api/docs/spaces/{spaceId}/sections. 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/docs/spaces/*/sections",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "spaces.sections.reorder",
"title": "Reorder space sections",
"description": "Set the display order of every section in one documentation space.",
"method": "POST",
"path": "/api/docs/spaces/{spaceId}/sections/reorder",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"spaceId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"sectionIds": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"minItems": 1
}
},
"required": [
"spaceId",
"sectionIds"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"agentContract": {
"docsUrl": "https://docs.topolo.app/applications/docs",
"resource": {
"kind": "documentation_section_order",
"idPath": "$.spaceId"
},
"effects": [
"Replaces the complete section display order for one documentation space."
],
"errors": [
{
"status": 400,
"code": "invalid_section_order",
"recovery": "List the space sections and submit every section id exactly once."
},
{
"status": 403,
"code": "forbidden",
"recovery": "Use a credential with docs:write access to the selected Docs workspace."
}
],
"verify": [
"Call spaces.sections.list for the same spaceId and confirm the returned section order matches sectionIds."
],
"examples": [
{
"input": {
"spaceId": "space_example",
"sectionIds": [
"section_intro",
"section_reference"
]
},
"expected": "The space sections are returned in the requested display order."
}
]
},
"documentation": {
"example_input": {
"spaceId": "space_example",
"sectionIds": [
"section_intro",
"section_reference"
]
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/spaces/space_example/sections/reorder",
"body": {
"spaceId": "space_example",
"sectionIds": [
"section_intro",
"section_reference"
]
}
},
"effects": "Replaces the complete section display order for one documentation space.",
"verification": [
"Call spaces.sections.list for the same spaceId and confirm the returned section order matches sectionIds."
],
"recovery": [
"400 invalid_section_order: List the space sections and submit every section id exactly once.",
"403 forbidden: Use a credential with docs:write access to the selected Docs workspace."
],
"docs_url": "https://docs.topolo.app/applications/docs",
"resource": {
"kind": "documentation_section_order",
"idPath": "$.spaceId"
},
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "POST /api/docs/spaces/*/sections/reorder",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "sections.update",
"title": "Rename section",
"description": "Rename a documentation section or change its slug.",
"method": "PATCH",
"path": "/api/docs/sections/{sectionId}",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"sectionId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"title": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"required": [
"sectionId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"sectionId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/sections/example",
"body": {
"sectionId": "example"
}
},
"effects": "May change state through PATCH /api/docs/sections/{sectionId}. 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/docs/sections/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "sections.delete",
"title": "Delete section",
"description": "Delete a documentation section; its documents become unassigned rather than being deleted.",
"method": "DELETE",
"path": "/api/docs/sections/{sectionId}",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"sectionId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"sectionId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": true,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"sectionId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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": "DELETE",
"path": "/api/docs/sections/example",
"body": null
},
"effects": "May change state through DELETE /api/docs/sections/{sectionId}. 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": "DELETE /api/docs/sections/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "documents.section.set",
"title": "File document into a section",
"description": "Move a document into a section of its space, or unassign it, and set its position within that section.",
"method": "PUT",
"path": "/api/docs/documents/{documentId}/section",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"documentId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"sectionId": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 160
},
{
"type": "null"
}
]
},
"position": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
}
},
"required": [
"documentId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"documentId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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": "PUT",
"path": "/api/docs/documents/example/section",
"body": {
"documentId": "example"
}
},
"effects": "May change state through PUT /api/docs/documents/{documentId}/section. 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": "PUT /api/docs/documents/*/section",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "documents.list",
"title": "List workspace documents",
"description": "List active documents across the selected workspace.",
"method": "GET",
"path": "/api/docs/documents",
"permission": "docs:read",
"authorizationMode": "static",
"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-docs --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/docs/documents",
"body": null
},
"effects": "Reads state through GET /api/docs/documents 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": "implemented",
"route_key": "GET /api/docs/documents",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "documents.get",
"title": "Get document",
"description": "Get one document and its immutable version history.",
"method": "GET",
"path": "/api/docs/documents/{documentId}",
"permission": "docs:read",
"authorizationMode": "static",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"documentId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"documentId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"documentId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/documents/example",
"body": null
},
"effects": "Reads state through GET /api/docs/documents/{documentId} 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": "implemented",
"route_key": "GET /api/docs/documents/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "documents.update",
"title": "Update document metadata",
"description": "Update native document metadata and review state.",
"method": "PATCH",
"path": "/api/docs/documents/{documentId}",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"documentId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"parentId": {
"anyOf": [
{
"type": "string",
"minLength": 1,
"maxLength": 160
},
{
"type": "null"
}
]
},
"title": {
"type": "string"
},
"slug": {
"type": "string"
},
"summary": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"draft",
"review"
]
}
},
"required": [
"documentId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"documentId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/documents/example",
"body": {
"documentId": "example"
}
},
"effects": "May change state through PATCH /api/docs/documents/{documentId}. 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/docs/documents/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "documents.archive",
"title": "Archive document",
"description": "Archive a native document and remove its publication pointer.",
"method": "DELETE",
"path": "/api/docs/documents/{documentId}",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"documentId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"documentId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": true,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"documentId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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": "DELETE",
"path": "/api/docs/documents/example",
"body": null
},
"effects": "May change state through DELETE /api/docs/documents/{documentId}. 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": "DELETE /api/docs/documents/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "documents.versions.list",
"title": "List document versions",
"description": "List immutable versions for one document.",
"method": "GET",
"path": "/api/docs/documents/{documentId}/versions",
"permission": "docs:read",
"authorizationMode": "static",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"documentId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"documentId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"documentId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/documents/example/versions",
"body": null
},
"effects": "Reads state through GET /api/docs/documents/{documentId}/versions 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": "implemented",
"route_key": "GET /api/docs/documents/*/versions",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "documents.versions.create",
"title": "Create document version",
"description": "Create an immutable locale-specific version and update full-text retrieval.",
"method": "POST",
"path": "/api/docs/documents/{documentId}/versions",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"documentId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"title": {
"type": "string"
},
"summary": {
"type": "string"
},
"bodyMarkdown": {
"type": "string"
},
"locale": {
"type": "string",
"pattern": "^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$"
},
"sourceRevision": {
"type": "string"
},
"sourcePath": {
"type": "string"
}
},
"required": [
"documentId",
"bodyMarkdown"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"documentId": "example",
"bodyMarkdown": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/documents/example/versions",
"body": {
"documentId": "example",
"bodyMarkdown": "example"
}
},
"effects": "May change state through POST /api/docs/documents/{documentId}/versions. 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/docs/documents/*/versions",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "documents.publish",
"title": "Publish document version",
"description": "Publish one exact document version as an immutable public snapshot.",
"method": "POST",
"path": "/api/docs/documents/{documentId}/publish",
"permission": "docs:publish",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"documentId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"versionId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"documentId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"documentId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/documents/example/publish",
"body": {
"documentId": "example"
}
},
"effects": "May change state through POST /api/docs/documents/{documentId}/publish. 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/docs/documents/*/publish",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "documents.unpublish",
"title": "Unpublish document",
"description": "Remove public lookup pointers for a document.",
"method": "POST",
"path": "/api/docs/documents/{documentId}/unpublish",
"permission": "docs:publish",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"documentId": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"documentId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": true,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"documentId": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/documents/example/unpublish",
"body": {
"documentId": "example"
}
},
"effects": "May change state through POST /api/docs/documents/{documentId}/unpublish. 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/docs/documents/*/unpublish",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "search.query",
"title": "Search workspace documents",
"description": "Run tenant-filtered full-text search across current locale versions.",
"method": "GET",
"path": "/api/docs/search",
"permission": "docs:read",
"authorizationMode": "static",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"q": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"q"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"q": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/search",
"body": null
},
"effects": "Reads state through GET /api/docs/search 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": "implemented",
"route_key": "GET /api/docs/search",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "public_search.query",
"title": "Search a published documentation space",
"description": "Search titles, summaries, and published body text in one public documentation space. Anonymous; only published versions are matched.",
"method": "GET",
"path": "/api/public/docs/{spaceSlug}/search.json",
"authorizationMode": "public",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"spaceSlug": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"q": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"spaceSlug",
"q"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"spaceSlug": "example",
"q": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/public/docs/example/search.json",
"body": null
},
"effects": "Reads state through GET /api/public/docs/{spaceSlug}/search.json 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": "implemented",
"route_key": "GET /api/public/docs/*/search.json",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "search.ask",
"title": "Ask workspace documentation",
"description": "Answer from tenant-filtered retrieved versions and return immutable citations.",
"method": "POST",
"path": "/api/docs/ask",
"permission": "docs:read",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50
}
},
"required": [
"query"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"query": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/ask",
"body": {
"query": "example"
}
},
"effects": "May change state through POST /api/docs/ask. 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/docs/ask",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "workspace.export",
"title": "Export workspace documentation",
"description": "Export spaces, documents, versions, and publication metadata for the selected workspace.",
"method": "GET",
"path": "/api/docs/export",
"permission": "docs:export",
"authorizationMode": "static",
"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-docs --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/docs/export",
"body": null
},
"effects": "Reads state through GET /api/docs/export 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": "implemented",
"route_key": "GET /api/docs/export",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "platform_corpus.sync",
"title": "Sync canonical platform documentation",
"description": "Project the revisioned Topolo platform corpus into its platform-owned Docs workspace in an idempotent batch.",
"method": "POST",
"path": "/api/docs/platform-corpus/sync",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"cursor": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25
}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"cursor": 1,
"limit": 1
},
"cli_example": [
"topolo actions --service topolo-docs --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/docs/platform-corpus/sync",
"body": {
"cursor": 1,
"limit": 1
}
},
"effects": "May change state through POST /api/docs/platform-corpus/sync. 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/docs/platform-corpus/sync",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "operations.catalog_drift.record",
"title": "Record documentation catalog drift",
"description": "Persist a catalog drift result and notify the platform operator.",
"method": "POST",
"path": "/api/operations/catalog-drift",
"permission": "validation:invoke",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"runId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"source": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"expectedDigest": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"actualDigest": {
"type": "string",
"minLength": 1,
"maxLength": 160
}
},
"required": [
"runId",
"source",
"expectedDigest",
"actualDigest"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"runId": "example",
"source": "example",
"expectedDigest": "example",
"actualDigest": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/operations/catalog-drift",
"body": {
"runId": "example",
"source": "example",
"expectedDigest": "example",
"actualDigest": "example"
}
},
"effects": "May change state through POST /api/operations/catalog-drift. 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/operations/catalog-drift",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "operations.link_checks.fail",
"title": "Record failed documentation link check",
"description": "Persist a failed link validation result and notify the platform operator.",
"method": "POST",
"path": "/api/operations/link-checks/failed",
"permission": "validation:invoke",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"runId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"checkedUrl": {
"type": "string",
"maxLength": 2048,
"format": "uri"
},
"statusCode": {
"anyOf": [
{
"type": "integer",
"minimum": 100,
"maximum": 599
},
{
"type": "null"
}
]
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 2000
}
},
"required": [
"runId",
"checkedUrl",
"reason"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"runId": "example",
"checkedUrl": "https://example.com",
"reason": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/operations/link-checks/failed",
"body": {
"runId": "example",
"checkedUrl": "https://example.com",
"reason": "example"
}
},
"effects": "May change state through POST /api/operations/link-checks/failed. 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/operations/link-checks/failed",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "operations.publishes.complete",
"title": "Record completed documentation publish",
"description": "Persist a completed documentation publish and notify the platform operator.",
"method": "POST",
"path": "/api/operations/publishes/completed",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"runId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"environment": {
"type": "string",
"enum": [
"development",
"staging",
"production"
]
},
"publishedUrl": {
"type": "string",
"maxLength": 2048,
"format": "uri"
}
},
"required": [
"runId",
"revision",
"environment",
"publishedUrl"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"runId": "example",
"revision": "example",
"environment": "development",
"publishedUrl": "https://example.com"
},
"cli_example": [
"topolo actions --service topolo-docs --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/operations/publishes/completed",
"body": {
"runId": "example",
"revision": "example",
"environment": "development",
"publishedUrl": "https://example.com"
}
},
"effects": "May change state through POST /api/operations/publishes/completed. 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/operations/publishes/completed",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "operations.publishes.fail",
"title": "Record failed documentation publish",
"description": "Persist a failed documentation publish and notify the platform operator.",
"method": "POST",
"path": "/api/operations/publishes/failed",
"permission": "docs:write",
"authorizationMode": "static",
"readOnly": false,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"runId": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"revision": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"environment": {
"type": "string",
"enum": [
"development",
"staging",
"production"
]
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 2000
}
},
"required": [
"runId",
"revision",
"environment",
"reason"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"runId": "example",
"revision": "example",
"environment": "development",
"reason": "example"
},
"cli_example": [
"topolo actions --service topolo-docs --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/operations/publishes/failed",
"body": {
"runId": "example",
"revision": "example",
"environment": "development",
"reason": "example"
}
},
"effects": "May change state through POST /api/operations/publishes/failed. 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/operations/publishes/failed",
"evidence": "Matched to a served route extracted from canonical staging source."
}
}
],
"action_coverage": {
"status": "ok",
"served_routes": 40,
"matched_actions": 34,
"declared_unserved_actions": [],
"coverage_excluded_actions": [],
"uncatalogued_routes": [],
"ignored_routes": 6,
"configured_exclusions": 3,
"configuration_findings": [],
"notes": [
"5 manually-declared route(s)"
]
},
"runtime_contract_audit": {
"status": "verified",
"actions": 34,
"contracts": 34,
"contract_module": "topolo.action-contracts.mjs",
"validator_sources": [
"apps/api/src/worker.ts"
],
"authorization_sources": [
"apps/api/src/worker.ts"
],
"findings": []
}
}
],
"mobile_contracts": [],
"package_manifests": [],
"deployment_configs": [],
"source_signals": {
"api_routes": [
{
"method": "ALL",
"path": "*",
"source_path": "system-apps/TopoloDocs/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/health",
"source_path": "system-apps/TopoloDocs/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/api/health",
"source_path": "system-apps/TopoloDocs/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/api/app-identity",
"source_path": "system-apps/TopoloDocs/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/auth/callback",
"source_path": "system-apps/TopoloDocs/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/internal",
"source_path": "system-apps/TopoloDocs/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/api/bootstrap",
"source_path": "system-apps/TopoloDocs/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/api/widget",
"source_path": "system-apps/TopoloDocs/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/api/docs",
"source_path": "system-apps/TopoloDocs/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/api/docs/platform-corpus/sync",
"source_path": "system-apps/TopoloDocs/apps/api/src/worker.ts"
},
{
"method": "LITERAL",
"path": "/",
"source_path": "system-apps/TopoloDocs/apps/web/src/worker.ts"
}
],
"ui_routes": [
{
"path": "/app",
"source_path": "system-apps/TopoloDocs/apps/web/src/App.tsx"
},
{
"path": "/app/spaces",
"source_path": "system-apps/TopoloDocs/apps/web/src/App.tsx"
},
{
"path": "/app/spaces/:spaceId",
"source_path": "system-apps/TopoloDocs/apps/web/src/App.tsx"
},
{
"path": "/app/read/:spaceId",
"source_path": "system-apps/TopoloDocs/apps/web/src/App.tsx"
},
{
"path": "/app/read/:spaceId/:documentId",
"source_path": "system-apps/TopoloDocs/apps/web/src/App.tsx"
},
{
"path": "/app/documents/:documentId",
"source_path": "system-apps/TopoloDocs/apps/web/src/App.tsx"
},
{
"path": "/app/documents/:documentId/edit",
"source_path": "system-apps/TopoloDocs/apps/web/src/App.tsx"
},
{
"path": "/app/search",
"source_path": "system-apps/TopoloDocs/apps/web/src/App.tsx"
},
{
"path": "/app/settings",
"source_path": "system-apps/TopoloDocs/apps/web/src/App.tsx"
},
{
"path": "/s/:spaceSlug/:documentSlug?",
"source_path": "system-apps/TopoloDocs/apps/web/src/App.tsx"
},
{
"path": "/reference/actions",
"source_path": "system-apps/TopoloDocs/apps/web/src/App.tsx"
}
],
"test_cases": [],
"database_tables": []
},
"documentation": {
"declared_paths": [
"applications/docs",
"internal/apps/docs"
],
"present_paths": [
"applications/docs",
"internal/apps/docs"
],
"missing_paths": [],
"human_reference": "/systems/topolo-docs",
"machine_reference": "/machine/systems/topolo-docs.json",
"action_examples": 34,
"action_schemas": 34
},
"source_findings": []
}