application · active

Topolo Nexus

Gateway and usage-management layer for standardized AI, email, payment, generic application usage events, and authoritative provider-neutral connection identity, lifecycle, profiles, and credentials across Topolo.

Documentation map

  • Topolo BugFix — Public overview of BugFix, including AI-assisted bug analysis, fix generation, and Nexus-backed provider usage.
  • TopoloCommerce — Public overview of the multi-vertical commerce platform for venue operations, guest runtimes, and staff execution.
  • TopoloCompose — AI-native document generation, revision, styling, and export for formal documents in Topolo.
  • Topolo Nexus — Public overview of Nexus as the platform gateway for metered provider and application usage across Topolo applications.
  • TopoloOne — Public overview of the TopoloOne dashboard, worker-backed growth surfaces, and the public developer-acquisition funnel.
  • Topolo Pay — Public overview of the payment worker that handles orders, refunds, and payment operations.
  • Topolo Roadmapper — Public overview of Roadmapper, including AI-assisted project onboarding, durable planning sessions, and stakeholder presentation delivery.
  • Topolo Social Studio — Public overview of the hybrid desktop and Cloudflare runtime used for AI-assisted social content planning and generation.
  • Socialize — Public overview of the social publishing platform, brand-scoped resource bindings, and content operations.

Authority and runtime

System ID
topolo-nexus
App IDs
app_topolo_nexus
Owners
ai-platform
Repositories
topolo-platform/services/TopoloNexus
Hosts
https://nexus.topolo.app, https://nexus.topolo.app, https://nexus.stg.topolo.us, https://nexus.stg.topolo.us
Dependencies
topolo-auth, applications-packages

Security and data ownership

Risk tier
critical
Tenant isolation
mixed
Privacy classification
secret
Storage
analytics_engine, d1, external_provider, kv, queue
Export and deletion
planned
Enterprise ready
no

Source-derived capability inventory

Source revisions: topolo-platform/services/TopoloNexus@515376de81efed9734741b2a1d691c8195243073

Declared actions: 77 · API routes: 82 · UI routes: 3

{
  "id": "topolo-nexus",
  "name": "Topolo Nexus",
  "slug": "topolo-nexus",
  "kind": "application",
  "visibility": "public",
  "repo_paths": [
    "topolo-platform/services/TopoloNexus"
  ],
  "source_revisions": [
    {
      "source_path": "topolo-platform/services/TopoloNexus",
      "repository": "topolo-platform",
      "revision": "515376de81efed9734741b2a1d691c8195243073",
      "ref": "origin/staging"
    }
  ],
  "source_counts": {
    "source_files": 104,
    "test_files": 74,
    "test_cases": 0,
    "migration_files": 0,
    "database_tables": 0,
    "manifests": 1,
    "deploy_targets": 2,
    "actions": 77,
    "mobile_contracts": 1,
    "notifications": 8,
    "package_manifests": 3,
    "deployment_configs": 0
  },
  "manifests": [
    {
      "source_path": "topolo-platform/services/TopoloNexus/topolo.app.json",
      "service_slug": "topolo-nexus",
      "name": "topolo-nexus",
      "app_id": "app_topolo_nexus",
      "compatibility_date": "2026-04-18",
      "primary_target": "web",
      "environments": [
        "development",
        "production",
        "staging"
      ],
      "targets": [
        {
          "name": "web",
          "kind": "worker",
          "directory": "apps/dashboard",
          "main": "src/worker.ts",
          "worker_name": "topolo-nexus-dashboard",
          "subdomain": "nexus",
          "healthcheck_path": null,
          "variable_names": [],
          "secret_names": [],
          "bindings": []
        },
        {
          "name": "gateway",
          "kind": "worker",
          "directory": "apps/gateway",
          "main": "src/index.ts",
          "worker_name": "topolo-nexus-gateway",
          "subdomain": null,
          "healthcheck_path": "/health",
          "variable_names": [],
          "secret_names": [],
          "bindings": [
            {
              "kind": "secretsStore",
              "binding": "PLATFORM_AT_REST_MASTER_ENCRYPTION_KEY_STORE",
              "target": null
            },
            {
              "kind": "secretsStore",
              "binding": "PLATFORM_AT_REST_MASTER_ENCRYPTION_KEY_PREVIOUS_STORE",
              "target": null
            }
          ]
        }
      ],
      "notifications": [
        "nexus.credential.invalid",
        "nexus.delivery.failed",
        "nexus.provider.connection_expiring",
        "nexus.provider.degraded",
        "nexus.provider.disconnected",
        "nexus.provider.recovered",
        "nexus.usage.threshold_reached",
        "nexus.webhook.failed"
      ],
      "notification_contract": {
        "source_path": "topolo.notification-contracts.json",
        "role": "producer",
        "schema_version": 1,
        "owner_app_id": "app_topolo_nexus",
        "events": [
          {
            "type": "nexus.credential.invalid",
            "version": 1,
            "description": "Nexus persisted an operation after its credential canary found active encrypted material that the current key ring cannot decrypt.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "credential_table",
                "credential_identity",
                "occurred_at",
                "cta_url"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "credential_table": {
                  "type": "string",
                  "minLength": 1
                },
                "credential_identity": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "Nexus credential is invalid",
                "body": "provider_credentials contains a credential Nexus cannot decrypt.",
                "object_id": "provider_credentials:scope=platform_default provider=openai organization_id=-",
                "credential_table": "provider_credentials",
                "credential_identity": "scope=platform_default provider=openai organization_id=-",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "cta_url": "https://nexus.topolo.app"
              }
            ],
            "dataClassification": "internal",
            "sensitiveFields": [],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^nexus:credential-invalid:"
            }
          },
          {
            "type": "nexus.delivery.failed",
            "version": 1,
            "description": "Nexus persisted a delivery-failure operation after an authenticated email or WhatsApp provider attempt reached a failed terminal result.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "provider",
                "app_id",
                "request_id",
                "error",
                "occurred_at",
                "cta_url"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "provider": {
                  "type": "string",
                  "minLength": 1
                },
                "app_id": {
                  "type": "string",
                  "minLength": 1
                },
                "request_id": {
                  "type": "string",
                  "minLength": 1
                },
                "error": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "Resend delivery failed",
                "body": "app_topolo_messages could not complete a Resend delivery.",
                "object_id": "req_delivery_123",
                "provider": "resend",
                "app_id": "app_topolo_messages",
                "request_id": "req_delivery_123",
                "error": "Provider rejected the message",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "cta_url": "https://nexus.topolo.app"
              }
            ],
            "dataClassification": "internal",
            "sensitiveFields": [
              "error"
            ],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^nexus:delivery-failed:"
            }
          },
          {
            "type": "nexus.provider.connection_expiring",
            "version": 1,
            "description": "A scheduled Nexus scan found an active persisted provider connection whose token enters the seven-day expiry window.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "provider",
                "connection_id",
                "expires_at",
                "occurred_at",
                "cta_url"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "provider": {
                  "type": "string",
                  "minLength": 1
                },
                "connection_id": {
                  "type": "string",
                  "minLength": 1
                },
                "expires_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "Your LinkedIn connection expires soon",
                "body": "Reconnect LinkedIn before 27 July 2026 to avoid an interruption.",
                "object_id": "linkedin_conn_123",
                "provider": "linkedin",
                "connection_id": "linkedin_conn_123",
                "expires_at": "2026-07-27T00:00:00.000Z",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "cta_url": "https://nexus.topolo.app"
              }
            ],
            "dataClassification": "internal",
            "sensitiveFields": [],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^nexus:connection-expiring:"
            }
          },
          {
            "type": "nexus.provider.degraded",
            "version": 1,
            "description": "Nexus persisted a provider-health state transition from healthy or unknown to degraded after a real provider attempt failed.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "provider",
                "status",
                "error",
                "latency_ms",
                "occurred_at",
                "cta_url"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "provider": {
                  "type": "string",
                  "minLength": 1
                },
                "status": {
                  "const": "degraded"
                },
                "error": {
                  "type": "string"
                },
                "latency_ms": {
                  "type": "integer",
                  "minimum": 0
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "OpenAI degraded",
                "body": "OpenAI failed its latest Nexus health check.",
                "object_id": "openai",
                "provider": "openai",
                "status": "degraded",
                "error": "Provider timeout",
                "latency_ms": 10000,
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "cta_url": "https://nexus.topolo.app"
              }
            ],
            "dataClassification": "internal",
            "sensitiveFields": [
              "error"
            ],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^nexus:provider-health:"
            }
          },
          {
            "type": "nexus.provider.disconnected",
            "version": 1,
            "description": "Nexus durably changed or removed a provider connection and then persisted the matching notification operation.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "provider",
                "connection_id",
                "status",
                "occurred_at",
                "cta_url"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "provider": {
                  "type": "string",
                  "minLength": 1
                },
                "connection_id": {
                  "type": "string",
                  "minLength": 1
                },
                "status": {
                  "enum": [
                    "disconnected",
                    "deauthorized",
                    "deleted"
                  ]
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "Instagram disconnected",
                "body": "The Instagram connection is now disconnected.",
                "object_id": "instagram_conn_123",
                "provider": "instagram",
                "connection_id": "instagram_conn_123",
                "status": "disconnected",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "cta_url": "https://nexus.topolo.app"
              }
            ],
            "dataClassification": "internal",
            "sensitiveFields": [],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^nexus:provider-disconnected:"
            }
          },
          {
            "type": "nexus.provider.recovered",
            "version": 1,
            "description": "Nexus persisted a provider-health state transition from degraded to healthy after a real provider attempt succeeded.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "provider",
                "status",
                "error",
                "latency_ms",
                "occurred_at",
                "cta_url"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "provider": {
                  "type": "string",
                  "minLength": 1
                },
                "status": {
                  "const": "healthy"
                },
                "error": {
                  "type": "string"
                },
                "latency_ms": {
                  "type": "integer",
                  "minimum": 0
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "OpenAI recovered",
                "body": "OpenAI is responding normally again.",
                "object_id": "openai",
                "provider": "openai",
                "status": "healthy",
                "error": "",
                "latency_ms": 420,
                "occurred_at": "2026-07-20T00:05:00.000Z",
                "cta_url": "https://nexus.topolo.app"
              }
            ],
            "dataClassification": "internal",
            "sensitiveFields": [],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^nexus:provider-health:"
            }
          },
          {
            "type": "nexus.usage.threshold_reached",
            "version": 1,
            "description": "A persisted usage counter crossed the next configured per-meter threshold and Nexus advanced its durable notification watermark.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "app_id",
                "meter_id",
                "meter_key",
                "consumed_units",
                "included_units",
                "threshold_percentage",
                "period_start",
                "occurred_at",
                "cta_url"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "app_id": {
                  "type": "string",
                  "minLength": 1
                },
                "meter_id": {
                  "type": "string",
                  "minLength": 1
                },
                "meter_key": {
                  "type": "string",
                  "minLength": 1
                },
                "consumed_units": {
                  "type": "integer",
                  "minimum": 0
                },
                "included_units": {
                  "type": "integer",
                  "minimum": 1
                },
                "threshold_percentage": {
                  "type": "integer",
                  "minimum": 1
                },
                "period_start": {
                  "type": "integer",
                  "minimum": 0
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "app_topolo_agent usage reached 80%",
                "body": "ai_tokens usage is 800 of 1000 included units.",
                "object_id": "meter_agent_ai",
                "app_id": "app_topolo_agent",
                "meter_id": "meter_agent_ai",
                "meter_key": "ai_tokens",
                "consumed_units": 800,
                "included_units": 1000,
                "threshold_percentage": 80,
                "period_start": 1784505600000,
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "cta_url": "https://nexus.topolo.app"
              }
            ],
            "dataClassification": "internal",
            "sensitiveFields": [],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^nexus:usage-threshold:"
            }
          },
          {
            "type": "nexus.webhook.failed",
            "version": 1,
            "description": "Nexus verified a provider webhook but persisted a failure operation after its authenticated downstream relay failed.",
            "status": "published",
            "payloadSchema": {
              "type": "object",
              "required": [
                "title",
                "body",
                "object_id",
                "provider",
                "request_id",
                "error",
                "occurred_at",
                "cta_url"
              ],
              "properties": {
                "title": {
                  "type": "string",
                  "minLength": 1
                },
                "body": {
                  "type": "string",
                  "minLength": 1
                },
                "object_id": {
                  "type": "string",
                  "minLength": 1
                },
                "provider": {
                  "type": "string",
                  "minLength": 1
                },
                "request_id": {
                  "type": "string",
                  "minLength": 1
                },
                "error": {
                  "type": "string",
                  "minLength": 1
                },
                "occurred_at": {
                  "type": "string",
                  "format": "date-time"
                },
                "cta_url": {
                  "type": "string",
                  "format": "uri"
                }
              },
              "additionalProperties": false
            },
            "examples": [
              {
                "title": "Stripe webhook failed",
                "body": "Nexus could not relay a verified Stripe webhook.",
                "object_id": "req_webhook_123",
                "provider": "stripe",
                "request_id": "req_webhook_123",
                "error": "Downstream returned 503",
                "occurred_at": "2026-07-20T00:00:00.000Z",
                "cta_url": "https://nexus.topolo.app"
              }
            ],
            "dataClassification": "internal",
            "sensitiveFields": [
              "error"
            ],
            "recipients": {
              "modes": [
                "organization_member"
              ],
              "externalAddress": "forbidden"
            },
            "idempotency": {
              "required": true,
              "pattern": "^nexus:webhook-failed:"
            }
          }
        ]
      },
      "actions": [
        {
          "name": "widget.get",
          "title": "Widget Get",
          "description": "Read GET /api/widget through Nexus.",
          "method": "GET",
          "path": "/api/widget",
          "permission": "dashboard:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Widget Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "organization.get",
          "title": "Organization Get",
          "description": "Read GET /api/organization through Nexus.",
          "method": "GET",
          "path": "/api/organization",
          "permission": "organizations:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Organization Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/organization",
              "body": null
            },
            "effects": "Reads state through GET /api/organization 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/organization",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "organization.provision",
          "title": "Organization Provision",
          "description": "Invoke POST /api/organizations/provision through Nexus.",
          "method": "POST",
          "path": "/api/organizations/provision",
          "permission": "organizations:provision",
          "authorizationMode": "runtime",
          "allowedServices": [
            "topolo-auth"
          ],
          "agentContract": {
            "examples": [
              {
                "organization_id": "org_demo",
                "name": "Demo Organization",
                "slug": "demo-organization"
              }
            ]
          },
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "organization_id": {
                "type": "string",
                "minLength": 1
              },
              "name": {
                "$ref": "#/properties/organization_id"
              },
              "slug": {
                "$ref": "#/properties/organization_id"
              },
              "billing_email": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "email"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "organization_id",
              "name",
              "slug"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Organization Provision.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "organization_id": "org_demo",
              "name": "Demo Organization",
              "slug": "demo-organization"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/organizations/provision",
              "body": {
                "organization_id": "org_demo",
                "name": "Demo Organization",
                "slug": "demo-organization"
              }
            },
            "effects": "May change state through POST /api/organizations/provision. 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/organizations/provision",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "audit.list",
          "title": "Audit List",
          "description": "Read GET /api/audit through Nexus.",
          "method": "GET",
          "path": "/api/audit",
          "permission": "audit:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 200
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Audit List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "limit": 1
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/audit",
              "body": null
            },
            "effects": "Reads state through GET /api/audit 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/audit",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "privacy.export",
          "title": "Privacy Export",
          "description": "Read GET /api/privacy through Nexus.",
          "method": "GET",
          "path": "/api/privacy",
          "permission": "org:admin",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Privacy Export.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/privacy",
              "body": null
            },
            "effects": "Reads state through GET /api/privacy 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/privacy",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "privacy.delete",
          "title": "Privacy Delete",
          "description": "Erase all Nexus-owned data for the authenticated organization and retain only hash-based compliance evidence.",
          "method": "DELETE",
          "path": "/api/privacy",
          "permission": "org:admin",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "confirmation": {
                "type": "string",
                "const": "ERASE"
              }
            },
            "required": [
              "confirmation"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Privacy Delete.",
            "additionalProperties": true
          },
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "confirmation": "ERASE"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/privacy",
              "body": null
            },
            "effects": "May change state through DELETE /api/privacy. 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/privacy",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.list",
          "title": "Apps List",
          "description": "Read GET /api/apps through Nexus.",
          "method": "GET",
          "path": "/api/apps",
          "permission": "apps:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Apps List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/apps",
              "body": null
            },
            "effects": "Reads state through GET /api/apps 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/apps",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.get",
          "title": "Apps Get",
          "description": "Read GET /api/apps/{appSlug} through Nexus.",
          "method": "GET",
          "path": "/api/apps/{appSlug}",
          "permission": "apps:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "appSlug": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "appSlug"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Apps Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "appSlug": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/apps/example",
              "body": null
            },
            "effects": "Reads state through GET /api/apps/{appSlug} 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/apps/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.update",
          "title": "Apps Update",
          "description": "Invoke PATCH /api/apps/{appSlug} through Nexus.",
          "method": "PATCH",
          "path": "/api/apps/{appSlug}",
          "permission": "apps:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "appSlug": {
                "type": "string",
                "minLength": 1
              },
              "enabled": {
                "type": "boolean"
              },
              "custom_budget_cents": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "appSlug"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Apps Update.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "appSlug": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/apps/example",
              "body": {
                "appSlug": "example"
              }
            },
            "effects": "May change state through PATCH /api/apps/{appSlug}. 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/apps/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.capabilities.list",
          "title": "Apps Capabilities List",
          "description": "Read GET /api/apps/meta/capabilities through Nexus.",
          "method": "GET",
          "path": "/api/apps/meta/capabilities",
          "permission": "apps:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Apps Capabilities List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/apps/meta/capabilities",
              "body": null
            },
            "effects": "Reads state through GET /api/apps/meta/capabilities 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/apps/meta/capabilities",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "apps.models.list",
          "title": "Apps Models List",
          "description": "Read GET /api/apps/meta/models through Nexus.",
          "method": "GET",
          "path": "/api/apps/meta/models",
          "permission": "apps:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Apps Models List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/apps/meta/models",
              "body": null
            },
            "effects": "Reads state through GET /api/apps/meta/models 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/apps/meta/models",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.overview",
          "title": "Usage Overview",
          "description": "Read GET /api/usage/overview through Nexus.",
          "method": "GET",
          "path": "/api/usage/overview",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "start_date": {
                "type": "string"
              },
              "end_date": {
                "$ref": "#/properties/start_date"
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Overview.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "start_date": "example",
              "end_date": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/overview",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/overview 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/usage/overview",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.daily",
          "title": "Usage Daily",
          "description": "Read GET /api/usage/daily through Nexus.",
          "method": "GET",
          "path": "/api/usage/daily",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "days": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 90
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Daily.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "days": 1
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/daily",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/daily 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/usage/daily",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.by_app",
          "title": "Usage By App",
          "description": "Read GET /api/usage/by-app through Nexus.",
          "method": "GET",
          "path": "/api/usage/by-app",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "days": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 90
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage By App.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "days": 1
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/by-app",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/by-app 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/usage/by-app",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.by_user",
          "title": "Usage By User",
          "description": "Read GET /api/usage/by-user through Nexus.",
          "method": "GET",
          "path": "/api/usage/by-user",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "days": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 90
              },
              "limit": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 500
              },
              "app_id": {
                "type": "string"
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage By User.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "days": 1,
              "limit": 1,
              "app_id": "00000000-0000-4000-8000-000000000000"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/by-user",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/by-user 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/usage/by-user",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.by_model",
          "title": "Usage By Model",
          "description": "Read GET /api/usage/by-model through Nexus.",
          "method": "GET",
          "path": "/api/usage/by-model",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "days": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 90
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage By Model.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "days": 1
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/by-model",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/by-model 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/usage/by-model",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.recent",
          "title": "Usage Recent",
          "description": "Read GET /api/usage/recent through Nexus.",
          "method": "GET",
          "path": "/api/usage/recent",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 200
              },
              "app_id": {
                "type": "string"
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Recent.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "limit": 1,
              "app_id": "00000000-0000-4000-8000-000000000000"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/recent",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/recent 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/usage/recent",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.budget",
          "title": "Usage Budget",
          "description": "Read GET /api/usage/budget through Nexus.",
          "method": "GET",
          "path": "/api/usage/budget",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Budget.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/budget",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/budget 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/usage/budget",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.budget.update",
          "title": "Usage Budget Update",
          "description": "Invoke PUT /api/usage/budget through Nexus.",
          "method": "PUT",
          "path": "/api/usage/budget",
          "permission": "usage:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "monthly_budget_cents": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "monthly_budget_cents"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Budget Update.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "monthly_budget_cents": 1
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/budget",
              "body": {
                "monthly_budget_cents": 1
              }
            },
            "effects": "May change state through PUT /api/usage/budget. 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/usage/budget",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.projection",
          "title": "Usage Projection",
          "description": "Read GET /api/usage/projection through Nexus.",
          "method": "GET",
          "path": "/api/usage/projection",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Projection.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/projection",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/projection 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/usage/projection",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.limits.list",
          "title": "Usage Limits List",
          "description": "Read GET /api/usage/limits through Nexus.",
          "method": "GET",
          "path": "/api/usage/limits",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Limits List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/limits",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/limits 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/usage/limits",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.limit_options.list",
          "title": "Usage Limit Options List",
          "description": "Read GET /api/usage/limits/options through Nexus.",
          "method": "GET",
          "path": "/api/usage/limits/options",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Limit Options List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/limits/options",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/limits/options 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/usage/limits/options",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.limits.update",
          "title": "Usage Limits Update",
          "description": "Invoke PUT /api/usage/limits through Nexus.",
          "method": "PUT",
          "path": "/api/usage/limits",
          "permission": "usage:write",
          "authorizationMode": "runtime",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "scope_type": {
                "type": "string",
                "enum": [
                  "organization",
                  "app",
                  "user",
                  "capability",
                  "use_case",
                  "provider",
                  "model",
                  "platform"
                ]
              },
              "scope_value": {
                "type": "string",
                "minLength": 1
              },
              "monthly_budget_cents": {
                "type": "integer",
                "minimum": 0
              },
              "hard_limit": {
                "type": "boolean"
              },
              "is_active": {
                "type": "boolean"
              }
            },
            "required": [
              "scope_type",
              "scope_value",
              "monthly_budget_cents"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Limits Update.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "scope_type": "organization",
              "scope_value": "example",
              "monthly_budget_cents": 1
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/limits",
              "body": {
                "scope_type": "organization",
                "scope_value": "example",
                "monthly_budget_cents": 1
              }
            },
            "effects": "May change state through PUT /api/usage/limits. 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/usage/limits",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.spend.get",
          "title": "Usage Spend Get",
          "description": "Read GET /api/usage/spend through Nexus.",
          "method": "GET",
          "path": "/api/usage/spend",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "start_date": {
                "type": "string"
              },
              "end_date": {
                "$ref": "#/properties/start_date"
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Spend Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "start_date": "example",
              "end_date": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/spend",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/spend 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/usage/spend",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.events.list",
          "title": "Usage Events List",
          "description": "Read GET /api/usage/events through Nexus.",
          "method": "GET",
          "path": "/api/usage/events",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "limit": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 200
              },
              "event_type": {
                "type": "string"
              },
              "severity": {
                "$ref": "#/properties/event_type"
              },
              "since": {
                "$ref": "#/properties/event_type"
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Events List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "limit": 1,
              "event_type": "example",
              "severity": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/events",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/events 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/usage/events",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.key_health.get",
          "title": "Usage Key Health Get",
          "description": "Read GET /api/usage/key-health through Nexus.",
          "method": "GET",
          "path": "/api/usage/key-health",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Key Health Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/key-health",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/key-health 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/usage/key-health",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "usage.snapshots.daily",
          "title": "Usage Snapshots Daily",
          "description": "Read GET /api/usage/snapshots/daily through Nexus.",
          "method": "GET",
          "path": "/api/usage/snapshots/daily",
          "permission": "usage:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "days": {
                "type": "integer",
                "exclusiveMinimum": 0,
                "maximum": 90
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Usage Snapshots Daily.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "days": 1
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/usage/snapshots/daily",
              "body": null
            },
            "effects": "Reads state through GET /api/usage/snapshots/daily 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/usage/snapshots/daily",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "ai.completions.create",
          "title": "Ai Completions Create",
          "description": "Invoke POST /api/ai/completions through Nexus.",
          "method": "POST",
          "path": "/api/ai/completions",
          "permission": "ai:invoke",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "enum": [
                  "openai",
                  "anthropic",
                  "google",
                  "xai",
                  "cloudflare"
                ]
              },
              "model": {
                "type": "string"
              },
              "messages": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "role": {
                      "type": "string",
                      "enum": [
                        "system",
                        "user",
                        "assistant",
                        "tool"
                      ]
                    },
                    "content": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": {}
                          },
                          "minItems": 1
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "tool_call_id": {
                      "$ref": "#/properties/model"
                    },
                    "tool_calls": {
                      "type": "array",
                      "items": {
                        "$ref": "#/properties/messages/items/properties/content/anyOf/1/items"
                      }
                    },
                    "name": {
                      "$ref": "#/properties/model"
                    }
                  },
                  "required": [
                    "role"
                  ],
                  "additionalProperties": false
                }
              },
              "prompt": {
                "$ref": "#/properties/model"
              },
              "max_tokens": {
                "type": "integer",
                "minimum": 1,
                "maximum": 32000
              },
              "temperature": {
                "type": "number",
                "minimum": 0,
                "maximum": 2
              },
              "stream": {
                "type": "boolean"
              },
              "app_id": {
                "type": "string",
                "default": "unknown"
              },
              "use_case": {
                "type": "string",
                "enum": [
                  "chat",
                  "completion",
                  "embedding",
                  "image",
                  "other"
                ],
                "default": "chat"
              },
              "response_format": {
                "type": "object",
                "properties": {
                  "type": {
                    "type": "string",
                    "const": "json_schema"
                  },
                  "json_schema": {
                    "type": "object",
                    "properties": {
                      "name": {
                        "type": "string",
                        "minLength": 1
                      },
                      "strict": {
                        "type": "boolean"
                      },
                      "schema": {}
                    },
                    "required": [
                      "name"
                    ],
                    "additionalProperties": false
                  }
                },
                "required": [
                  "type",
                  "json_schema"
                ],
                "additionalProperties": false
              },
              "tools": {
                "type": "array",
                "items": {
                  "$ref": "#/properties/messages/items/properties/content/anyOf/1/items"
                }
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Ai Completions Create.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "provider": "openai",
              "model": "example",
              "messages": [
                {
                  "role": "system"
                }
              ]
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/ai/completions",
              "body": {
                "provider": "openai",
                "model": "example",
                "messages": [
                  {
                    "role": "system"
                  }
                ]
              }
            },
            "effects": "May change state through POST /api/ai/completions. 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/ai/completions",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "ai.translations.create",
          "title": "Ai Translations Create",
          "description": "Invoke POST /api/ai/translations through Nexus.",
          "method": "POST",
          "path": "/api/ai/translations",
          "permission": "ai:translate",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "enum": [
                  "openai",
                  "anthropic",
                  "google",
                  "xai",
                  "cloudflare"
                ]
              },
              "model": {
                "type": "string"
              },
              "source_locale": {
                "type": "string",
                "minLength": 2,
                "maxLength": 16,
                "default": "en"
              },
              "target_locale": {
                "type": "string",
                "minLength": 2,
                "maxLength": 16
              },
              "namespace": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80,
                "default": "common"
              },
              "texts": {
                "type": "object",
                "additionalProperties": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 4000
                },
                "propertyNames": {
                  "minLength": 1
                }
              },
              "context": {
                "type": "string",
                "maxLength": 2000
              },
              "app_id": {
                "type": "string",
                "default": "unknown"
              },
              "auto_publish": {
                "type": "boolean",
                "default": true
              }
            },
            "required": [
              "target_locale",
              "texts"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Ai Translations Create.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "target_locale": "en-US",
              "texts": {}
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/ai/translations",
              "body": {
                "target_locale": "en-US",
                "texts": {}
              }
            },
            "effects": "May change state through POST /api/ai/translations. 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/ai/translations",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "ai.embeddings.create",
          "title": "Ai Embeddings Create",
          "description": "Invoke POST /api/ai/embeddings through Nexus.",
          "method": "POST",
          "path": "/api/ai/embeddings",
          "permission": "ai:invoke",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "const": "cloudflare"
              },
              "model": {
                "type": "string"
              },
              "input": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1
                  },
                  {
                    "type": "array",
                    "items": {
                      "$ref": "#/properties/input/anyOf/0"
                    },
                    "minItems": 1,
                    "maxItems": 64
                  }
                ]
              },
              "app_id": {
                "type": "string",
                "default": "unknown"
              }
            },
            "required": [
              "input"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Ai Embeddings Create.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "input": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/ai/embeddings",
              "body": {
                "input": "example"
              }
            },
            "effects": "May change state through POST /api/ai/embeddings. 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/ai/embeddings",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "ai.markdown.create",
          "title": "Ai Markdown Create",
          "description": "Invoke POST /api/ai/markdown through Nexus.",
          "method": "POST",
          "path": "/api/ai/markdown",
          "permission": "ai:invoke",
          "agentContract": {
            "examples": [
              {
                "filename": "brief.txt",
                "data_base64": "SGVsbG8gVG9wb2xv"
              }
            ]
          },
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "const": "cloudflare"
              },
              "filename": {
                "type": "string",
                "minLength": 1
              },
              "data_base64": {
                "$ref": "#/properties/filename"
              },
              "mime_type": {
                "type": "string"
              },
              "app_id": {
                "type": "string",
                "default": "unknown"
              }
            },
            "required": [
              "filename",
              "data_base64"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Ai Markdown Create.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "filename": "brief.txt",
              "data_base64": "SGVsbG8gVG9wb2xv"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/ai/markdown",
              "body": {
                "filename": "brief.txt",
                "data_base64": "SGVsbG8gVG9wb2xv"
              }
            },
            "effects": "May change state through POST /api/ai/markdown. 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/ai/markdown",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "ai.image.describe",
          "title": "Ai Image Describe",
          "description": "Invoke POST /api/ai/image/describe through Nexus.",
          "method": "POST",
          "path": "/api/ai/image/describe",
          "permission": "ai:invoke",
          "agentContract": {
            "examples": [
              {
                "filename": "campaign.png",
                "data_base64": "aW1hZ2U="
              }
            ]
          },
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "const": "cloudflare"
              },
              "model": {
                "type": "string"
              },
              "filename": {
                "type": "string",
                "minLength": 1
              },
              "data_base64": {
                "$ref": "#/properties/filename"
              },
              "mime_type": {
                "$ref": "#/properties/model"
              },
              "prompt": {
                "$ref": "#/properties/filename"
              },
              "max_tokens": {
                "type": "integer",
                "minimum": 1,
                "maximum": 2048
              },
              "app_id": {
                "type": "string",
                "default": "unknown"
              }
            },
            "required": [
              "filename",
              "data_base64"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Ai Image Describe.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "filename": "campaign.png",
              "data_base64": "aW1hZ2U="
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/ai/image/describe",
              "body": {
                "filename": "campaign.png",
                "data_base64": "aW1hZ2U="
              }
            },
            "effects": "May change state through POST /api/ai/image/describe. 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/ai/image/describe",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "ai.autorag.search",
          "title": "Ai Autorag Search",
          "description": "Invoke POST /api/ai/autorag/search through Nexus.",
          "method": "POST",
          "path": "/api/ai/autorag/search",
          "permission": "ai:invoke",
          "agentContract": {
            "examples": [
              {
                "instance": "topoloone-auto-rag",
                "query": "How do refunds work?"
              }
            ]
          },
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "const": "cloudflare"
              },
              "instance": {
                "type": "string",
                "minLength": 1
              },
              "query": {
                "$ref": "#/properties/instance"
              },
              "max_num_results": {
                "type": "integer",
                "minimum": 1,
                "maximum": 20
              },
              "rewrite_query": {
                "type": "boolean"
              },
              "ranking_options": {
                "type": "object",
                "properties": {
                  "score_threshold": {
                    "type": "number",
                    "minimum": 0,
                    "maximum": 1
                  }
                },
                "additionalProperties": false
              },
              "app_id": {
                "type": "string",
                "default": "unknown"
              }
            },
            "required": [
              "instance",
              "query"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Ai Autorag Search.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "instance": "topoloone-auto-rag",
              "query": "How do refunds work?"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/ai/autorag/search",
              "body": {
                "instance": "topoloone-auto-rag",
                "query": "How do refunds work?"
              }
            },
            "effects": "May change state through POST /api/ai/autorag/search. 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/ai/autorag/search",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "ai.transcriptions.create",
          "title": "Ai Transcriptions Create",
          "description": "Invoke POST /api/ai/transcriptions through Nexus.",
          "method": "POST",
          "path": "/api/ai/transcriptions",
          "permission": "ai:invoke",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "const": "cloudflare"
              },
              "model": {
                "type": "string"
              },
              "audioDataUrl": {
                "type": "string",
                "minLength": 1
              },
              "audioBase64": {
                "$ref": "#/properties/audioDataUrl"
              },
              "mime_type": {
                "$ref": "#/properties/model"
              },
              "language": {
                "type": "string",
                "minLength": 2,
                "maxLength": 8
              },
              "initial_prompt": {
                "type": "string",
                "maxLength": 400
              },
              "duration_ms": {
                "type": "integer",
                "minimum": 0
              },
              "app_id": {
                "type": "string",
                "default": "unknown"
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Ai Transcriptions Create.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "provider": "cloudflare",
              "model": "example",
              "audioDataUrl": "https://example.com"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/ai/transcriptions",
              "body": {
                "provider": "cloudflare",
                "model": "example",
                "audioDataUrl": "https://example.com"
              }
            },
            "effects": "May change state through POST /api/ai/transcriptions. 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/ai/transcriptions",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "ai.generations.create",
          "title": "Ai Generations Create",
          "description": "Invoke POST /api/ai/generations through Nexus.",
          "method": "POST",
          "path": "/api/ai/generations",
          "permission": "ai:invoke",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "enum": [
                  "openai",
                  "google",
                  "xai",
                  "cloudflare"
                ]
              },
              "model": {
                "type": "string"
              },
              "operation": {
                "type": "string",
                "enum": [
                  "image.generate",
                  "video.generate",
                  "video.poll",
                  "audio.speech",
                  "music.generate"
                ]
              },
              "prompt": {
                "$ref": "#/properties/model"
              },
              "negative_prompt": {
                "$ref": "#/properties/model"
              },
              "candidate_count": {
                "type": "integer",
                "minimum": 1,
                "maximum": 4
              },
              "aspect_ratio": {
                "$ref": "#/properties/model"
              },
              "duration_seconds": {
                "type": "integer",
                "minimum": 1,
                "maximum": 30
              },
              "resolution": {
                "$ref": "#/properties/model"
              },
              "quality": {
                "$ref": "#/properties/model"
              },
              "width": {
                "type": "integer",
                "minimum": 64,
                "maximum": 4096
              },
              "height": {
                "type": "integer",
                "minimum": 64,
                "maximum": 4096
              },
              "seed": {
                "type": "integer",
                "minimum": 0,
                "maximum": 2147483647
              },
              "generate_audio": {
                "type": "boolean"
              },
              "lyrics": {
                "type": "string",
                "minLength": 1,
                "maxLength": 3500
              },
              "lyrics_optimizer": {
                "type": "boolean"
              },
              "is_instrumental": {
                "type": "boolean"
              },
              "format": {
                "$ref": "#/properties/model"
              },
              "sample_rate": {
                "type": "integer"
              },
              "bitrate": {
                "type": "integer"
              },
              "voice_id": {
                "$ref": "#/properties/model"
              },
              "speaker": {
                "$ref": "#/properties/model"
              },
              "speed": {
                "type": "number",
                "minimum": 0.5,
                "maximum": 2
              },
              "volume": {
                "type": "number",
                "minimum": 0,
                "maximum": 10
              },
              "pitch": {
                "type": "integer",
                "minimum": -12,
                "maximum": 12
              },
              "emotion": {
                "$ref": "#/properties/model"
              },
              "external_job_id": {
                "$ref": "#/properties/model"
              },
              "source_asset": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "minLength": 1
                  },
                  "mime_type": {
                    "$ref": "#/properties/model"
                  }
                },
                "required": [
                  "url"
                ],
                "additionalProperties": false
              },
              "app_id": {
                "type": "string",
                "default": "unknown"
              }
            },
            "required": [
              "operation"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Ai Generations Create.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "operation": "image.generate"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/ai/generations",
              "body": {
                "operation": "image.generate"
              }
            },
            "effects": "May change state through POST /api/ai/generations. 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/ai/generations",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "ai.models.list",
          "title": "Ai Models List",
          "description": "Read GET /api/ai/models through Nexus.",
          "method": "GET",
          "path": "/api/ai/models",
          "permission": "ai:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Ai Models List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/ai/models",
              "body": null
            },
            "effects": "Reads state through GET /api/ai/models 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/ai/models",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "ai.provider_health.get",
          "title": "Ai Provider Health Get",
          "description": "Read GET /api/ai/health/{provider} through Nexus.",
          "method": "GET",
          "path": "/api/ai/health/{provider}",
          "permission": "ai:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "provider"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Ai Provider Health Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "provider": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/ai/health/example",
              "body": null
            },
            "effects": "Reads state through GET /api/ai/health/{provider} 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/ai/health/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "provider_credentials.list",
          "title": "Provider Credentials List",
          "description": "Read GET /api/provider-credentials through Nexus.",
          "method": "GET",
          "path": "/api/provider-credentials",
          "permission": "provider_credentials:read",
          "authorizationMode": "runtime",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Provider Credentials List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/provider-credentials",
              "body": null
            },
            "effects": "Reads state through GET /api/provider-credentials 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/provider-credentials",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "provider_credentials.upsert",
          "title": "Provider Credentials Upsert",
          "description": "Invoke PUT /api/provider-credentials/{provider} through Nexus.",
          "method": "PUT",
          "path": "/api/provider-credentials/{provider}",
          "permission": "provider_credentials:write",
          "authorizationMode": "runtime",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "minLength": 1
              },
              "secret": {
                "type": "string",
                "minLength": 10
              }
            },
            "required": [
              "provider",
              "secret"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Provider Credentials Upsert.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "provider": "example",
              "secret": "examplexxx"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/provider-credentials/example",
              "body": {
                "provider": "example",
                "secret": "examplexxx"
              }
            },
            "effects": "May change state through PUT /api/provider-credentials/{provider}. 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/provider-credentials/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "provider_credentials.update",
          "title": "Provider Credentials Update",
          "description": "Invoke PATCH /api/provider-credentials/{provider} through Nexus.",
          "method": "PATCH",
          "path": "/api/provider-credentials/{provider}",
          "permission": "provider_credentials:write",
          "authorizationMode": "runtime",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "minLength": 1
              },
              "is_active": {
                "type": "boolean"
              }
            },
            "required": [
              "provider",
              "is_active"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Provider Credentials Update.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "provider": "example",
              "is_active": true
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/provider-credentials/example",
              "body": {
                "provider": "example",
                "is_active": true
              }
            },
            "effects": "May change state through PATCH /api/provider-credentials/{provider}. 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/provider-credentials/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "preferences.list",
          "title": "Preferences List",
          "description": "Read GET /api/preferences through Nexus.",
          "method": "GET",
          "path": "/api/preferences",
          "permission": "preferences:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Preferences List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/preferences",
              "body": null
            },
            "effects": "Reads state through GET /api/preferences 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/preferences",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "preferences.get",
          "title": "Preferences Get",
          "description": "Read GET /api/preferences/{useCase} through Nexus.",
          "method": "GET",
          "path": "/api/preferences/{useCase}",
          "permission": "preferences:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "useCase": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "useCase"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Preferences Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "useCase": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/preferences/example",
              "body": null
            },
            "effects": "Reads state through GET /api/preferences/{useCase} 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/preferences/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "preferences.set",
          "title": "Preferences Set",
          "description": "Invoke PUT /api/preferences/{useCase} through Nexus.",
          "method": "PUT",
          "path": "/api/preferences/{useCase}",
          "permission": "preferences:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "useCase": {
                "type": "string",
                "minLength": 1
              },
              "preferred_provider": {
                "type": "string",
                "enum": [
                  "openai",
                  "anthropic",
                  "google",
                  "xai",
                  "cloudflare"
                ]
              },
              "preferred_model": {
                "type": "string"
              },
              "fallback_provider": {
                "anyOf": [
                  {
                    "$ref": "#/properties/preferred_provider"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "fallback_model": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "max_tokens": {
                "type": "integer",
                "minimum": 1,
                "maximum": 32000
              },
              "temperature": {
                "type": "number",
                "minimum": 0,
                "maximum": 2
              }
            },
            "required": [
              "useCase",
              "preferred_provider",
              "preferred_model"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Preferences Set.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "useCase": "example",
              "preferred_provider": "openai",
              "preferred_model": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/preferences/example",
              "body": {
                "useCase": "example",
                "preferred_provider": "openai",
                "preferred_model": "example"
              }
            },
            "effects": "May change state through PUT /api/preferences/{useCase}. 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/preferences/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "preferences.delete",
          "title": "Preferences Delete",
          "description": "Invoke DELETE /api/preferences/{useCase} through Nexus.",
          "method": "DELETE",
          "path": "/api/preferences/{useCase}",
          "permission": "preferences:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "useCase": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "useCase"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Preferences Delete.",
            "additionalProperties": true
          },
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "useCase": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/preferences/example",
              "body": null
            },
            "effects": "May change state through DELETE /api/preferences/{useCase}. 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/preferences/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "preferences.available_models.list",
          "title": "Preferences Available Models List",
          "description": "Read GET /api/preferences/available/models through Nexus.",
          "method": "GET",
          "path": "/api/preferences/available/models",
          "permission": "preferences:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Preferences Available Models List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/preferences/available/models",
              "body": null
            },
            "effects": "Reads state through GET /api/preferences/available/models 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/preferences/available/models",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "models.governance.get",
          "title": "Models Governance Get",
          "description": "Read GET /api/models/governance through Nexus.",
          "method": "GET",
          "path": "/api/models/governance",
          "permission": "models:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Models Governance Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/models/governance",
              "body": null
            },
            "effects": "Reads state through GET /api/models/governance 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/models/governance",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "models.sync",
          "title": "Models Sync",
          "description": "Invoke POST /api/models/sync through Nexus.",
          "method": "POST",
          "path": "/api/models/sync",
          "permission": "models:write",
          "authorizationMode": "runtime",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string"
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Models Sync.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "provider": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/models/sync",
              "body": {
                "provider": "example"
              }
            },
            "effects": "May change state through POST /api/models/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/models/sync",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "email.connections.list",
          "title": "Email Connections List",
          "description": "Read GET /api/email/connections through Nexus.",
          "method": "GET",
          "path": "/api/email/connections",
          "permission": "email:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Email Connections List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/email/connections",
              "body": null
            },
            "effects": "Reads state through GET /api/email/connections 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/email/connections",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "email.connections.create",
          "title": "Email Connections Create",
          "description": "Invoke POST /api/email/connections through Nexus.",
          "method": "POST",
          "path": "/api/email/connections",
          "permission": "email:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "provider": {
                "type": "string",
                "enum": [
                  "resend",
                  "cloudflare_email"
                ]
              },
              "connection_name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "sending_domain": {
                "type": "string",
                "minLength": 3,
                "maxLength": 255
              },
              "default_from_name": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "default_reply_to_email": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "email"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "provider",
              "connection_name",
              "sending_domain"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Email Connections Create.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "provider": "resend",
              "connection_name": "example",
              "sending_domain": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/email/connections",
              "body": {
                "provider": "resend",
                "connection_name": "example",
                "sending_domain": "example"
              }
            },
            "effects": "May change state through POST /api/email/connections. 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/email/connections",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "email.connections.update",
          "title": "Email Connections Update",
          "description": "Invoke PATCH /api/email/connections/{id} through Nexus.",
          "method": "PATCH",
          "path": "/api/email/connections/{id}",
          "permission": "email:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "connection_name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "sending_domain": {
                "type": "string",
                "minLength": 3,
                "maxLength": 255
              },
              "default_from_name": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "default_reply_to_email": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "email"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "is_active": {
                "type": "boolean"
              }
            },
            "required": [
              "id"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Email Connections Update.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "id": "00000000-0000-4000-8000-000000000000"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/email/connections/00000000-0000-4000-8000-000000000000",
              "body": {
                "id": "00000000-0000-4000-8000-000000000000"
              }
            },
            "effects": "May change state through PATCH /api/email/connections/{id}. 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/email/connections/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "email.profiles.list",
          "title": "Email Profiles List",
          "description": "Read GET /api/email/profiles through Nexus.",
          "method": "GET",
          "path": "/api/email/profiles",
          "permission": "email:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "app_id": {
                "type": "string"
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Email Profiles List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "app_id": "00000000-0000-4000-8000-000000000000"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/email/profiles",
              "body": null
            },
            "effects": "Reads state through GET /api/email/profiles 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/email/profiles",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "email.profiles.create",
          "title": "Email Profiles Create",
          "description": "Invoke POST /api/email/profiles through Nexus.",
          "method": "POST",
          "path": "/api/email/profiles",
          "permission": "email:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "connection_id": {
                "type": "string",
                "minLength": 1
              },
              "profile_name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "from_name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "from_email": {
                "type": "string",
                "format": "email"
              },
              "reply_to_email": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "email"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "app_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "is_default": {
                "type": "boolean"
              }
            },
            "required": [
              "connection_id",
              "profile_name",
              "from_name",
              "from_email"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Email Profiles Create.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "connection_id": "00000000-0000-4000-8000-000000000000",
              "profile_name": "example",
              "from_name": "example",
              "from_email": "user@example.com"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/email/profiles",
              "body": {
                "connection_id": "00000000-0000-4000-8000-000000000000",
                "profile_name": "example",
                "from_name": "example",
                "from_email": "user@example.com"
              }
            },
            "effects": "May change state through POST /api/email/profiles. 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/email/profiles",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "email.profiles.update",
          "title": "Email Profiles Update",
          "description": "Invoke PATCH /api/email/profiles/{id} through Nexus.",
          "method": "PATCH",
          "path": "/api/email/profiles/{id}",
          "permission": "email:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              },
              "profile_name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "from_name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 120
              },
              "from_email": {
                "type": "string",
                "format": "email"
              },
              "reply_to_email": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "email"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "app_id": {
                "anyOf": [
                  {
                    "type": "string",
                    "minLength": 1
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "is_active": {
                "type": "boolean"
              },
              "is_default": {
                "type": "boolean"
              }
            },
            "required": [
              "id"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Email Profiles Update.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "id": "00000000-0000-4000-8000-000000000000"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/email/profiles/00000000-0000-4000-8000-000000000000",
              "body": {
                "id": "00000000-0000-4000-8000-000000000000"
              }
            },
            "effects": "May change state through PATCH /api/email/profiles/{id}. 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/email/profiles/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "email.send",
          "title": "Email Send",
          "description": "Invoke POST /api/email/send through Nexus.",
          "method": "POST",
          "path": "/api/email/send",
          "permission": "email:send",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "profile_id": {
                "type": "string",
                "minLength": 1
              },
              "provider": {
                "type": "string",
                "enum": [
                  "resend",
                  "cloudflare_email"
                ]
              },
              "from": {
                "$ref": "#/properties/profile_id"
              },
              "to": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "email"
                  },
                  {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "email"
                    },
                    "minItems": 1
                  }
                ]
              },
              "subject": {
                "type": "string",
                "minLength": 1,
                "maxLength": 998
              },
              "html": {
                "type": "string"
              },
              "text": {
                "$ref": "#/properties/html"
              },
              "reply_to": {
                "$ref": "#/properties/html"
              },
              "cc": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "email"
                }
              },
              "bcc": {
                "type": "array",
                "items": {
                  "type": "string",
                  "format": "email"
                }
              },
              "tags": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "$ref": "#/properties/profile_id"
                    },
                    "value": {
                      "$ref": "#/properties/profile_id"
                    }
                  },
                  "required": [
                    "name",
                    "value"
                  ],
                  "additionalProperties": false
                }
              },
              "message_stream": {
                "$ref": "#/properties/html"
              },
              "app_id": {
                "$ref": "#/properties/html"
              },
              "attachments": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "filename": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 255
                    },
                    "content": {
                      "$ref": "#/properties/profile_id"
                    },
                    "content_type": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 255
                    }
                  },
                  "required": [
                    "filename",
                    "content"
                  ],
                  "additionalProperties": false
                },
                "maxItems": 20
              }
            },
            "required": [
              "to",
              "subject"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Email Send.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "to": "user@example.com",
              "subject": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/email/send",
              "body": {
                "to": "user@example.com",
                "subject": "example"
              }
            },
            "effects": "May change state through POST /api/email/send. 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/email/send",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "whatsapp.send",
          "title": "Whatsapp Send",
          "description": "Send a WhatsApp message via the org's connection through Nexus.",
          "method": "POST",
          "path": "/api/whatsapp/send",
          "permission": "whatsapp:send",
          "authorizationMode": "runtime",
          "allowedServices": [
            "topolo-notify",
            "topolo-messages-dispatch"
          ],
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "to": {
                "type": "string",
                "minLength": 5,
                "maxLength": 40
              },
              "connection_id": {
                "type": "string"
              },
              "phone_number_id": {
                "$ref": "#/properties/connection_id"
              },
              "app_id": {
                "$ref": "#/properties/connection_id"
              },
              "type": {
                "type": "string",
                "enum": [
                  "text",
                  "template"
                ]
              },
              "text": {
                "type": "string",
                "minLength": 1,
                "maxLength": 4096
              },
              "preview_url": {
                "type": "boolean"
              },
              "template": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 512
                  },
                  "language": {
                    "type": "string",
                    "minLength": 2,
                    "maxLength": 20
                  },
                  "components": {
                    "type": "array",
                    "items": {}
                  }
                },
                "required": [
                  "name",
                  "language"
                ],
                "additionalProperties": false
              }
            },
            "required": [
              "to"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Whatsapp Send.",
            "additionalProperties": true
          },
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "to": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/whatsapp/send",
              "body": {
                "to": "example"
              }
            },
            "effects": "May change state through POST /api/whatsapp/send. 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/whatsapp/send",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "payments.stripe.invoke",
          "title": "Payments Stripe Invoke",
          "description": "Invoke POST /api/payments/stripe through Nexus.",
          "method": "POST",
          "path": "/api/payments/stripe",
          "permission": "payments:invoke",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "operation": {
                "type": "string",
                "enum": [
                  "checkout.sessions.create",
                  "checkout.sessions.retrieve",
                  "checkout.sessions.expire",
                  "prices.create",
                  "products.create",
                  "subscription_items.create",
                  "subscription_items.update",
                  "subscription_items.delete",
                  "subscription_items.create_usage_record",
                  "payment_intents.create",
                  "payment_intents.retrieve",
                  "payment_intents.cancel",
                  "refunds.create",
                  "billing_portal.sessions.create",
                  "subscriptions.retrieve",
                  "subscriptions.update",
                  "invoices.create_preview",
                  "subscriptions.create",
                  "setup_intents.create",
                  "customers.create",
                  "customers.retrieve",
                  "accounts.create",
                  "accounts.retrieve",
                  "accounts.update",
                  "account_links.create",
                  "login_links.create"
                ]
              },
              "params": {
                "type": "object",
                "additionalProperties": {}
              }
            },
            "required": [
              "operation",
              "params"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Payments Stripe Invoke.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "operation": "checkout.sessions.create",
              "params": {}
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/payments/stripe",
              "body": {
                "operation": "checkout.sessions.create",
                "params": {}
              }
            },
            "effects": "May change state through POST /api/payments/stripe. 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/payments/stripe",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "billing.overview.get",
          "title": "Billing Overview Get",
          "description": "Read GET /api/billing/overview through Nexus.",
          "method": "GET",
          "path": "/api/billing/overview",
          "permission": "billing:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Billing Overview Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/billing/overview",
              "body": null
            },
            "effects": "Reads state through GET /api/billing/overview 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/billing/overview",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "billing.spend_caps.list",
          "title": "Billing Spend Caps List",
          "description": "Read GET /api/billing/spend-caps through Nexus.",
          "method": "GET",
          "path": "/api/billing/spend-caps",
          "permission": "billing:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Billing Spend Caps List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/billing/spend-caps",
              "body": null
            },
            "effects": "Reads state through GET /api/billing/spend-caps 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/billing/spend-caps",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "billing.spend_caps.upsert",
          "title": "Billing Spend Caps Upsert",
          "description": "Invoke POST /api/billing/spend-caps through Nexus.",
          "method": "POST",
          "path": "/api/billing/spend-caps",
          "permission": "billing:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "scopeType": {
                "type": "string",
                "enum": [
                  "organization",
                  "user"
                ]
              },
              "scopeValue": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "monthlyCapCents": {
                "type": "number",
                "minimum": 0
              },
              "capMode": {
                "type": "string",
                "enum": [
                  "soft",
                  "hard"
                ]
              },
              "isActive": {
                "type": "boolean"
              },
              "notifyThresholds": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              }
            },
            "required": [
              "scopeType",
              "monthlyCapCents"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Billing Spend Caps Upsert.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "scopeType": "organization",
              "monthlyCapCents": 1
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/billing/spend-caps",
              "body": {
                "scopeType": "organization",
                "monthlyCapCents": 1
              }
            },
            "effects": "May change state through POST /api/billing/spend-caps. 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/billing/spend-caps",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "billing.spend_caps.delete",
          "title": "Billing Spend Caps Delete",
          "description": "Invoke DELETE /api/billing/spend-caps/{id} through Nexus.",
          "method": "DELETE",
          "path": "/api/billing/spend-caps/{id}",
          "permission": "billing:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "id"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Billing Spend Caps Delete.",
            "additionalProperties": true
          },
          "destructive": true,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "id": "00000000-0000-4000-8000-000000000000"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/billing/spend-caps/00000000-0000-4000-8000-000000000000",
              "body": null
            },
            "effects": "May change state through DELETE /api/billing/spend-caps/{id}. 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/billing/spend-caps/*",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "billing.byok_fee.update",
          "title": "Billing Byok Fee Update",
          "description": "Invoke POST /api/billing/byok-fee through Nexus.",
          "method": "POST",
          "path": "/api/billing/byok-fee",
          "permission": "billing:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "serviceFeeBps": {
                "type": "number",
                "minimum": 0,
                "maximum": 10000
              }
            },
            "required": [
              "serviceFeeBps"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Billing Byok Fee Update.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "serviceFeeBps": 1
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/billing/byok-fee",
              "body": {
                "serviceFeeBps": 1
              }
            },
            "effects": "May change state through POST /api/billing/byok-fee. 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/billing/byok-fee",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "billing.meters.list",
          "title": "Billing Meters List",
          "description": "Read GET /api/billing/meters through Nexus.",
          "method": "GET",
          "path": "/api/billing/meters",
          "permission": "billing:read",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Billing Meters List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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/billing/meters",
              "body": null
            },
            "effects": "Reads state through GET /api/billing/meters 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/billing/meters",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "billing.meter_settings.upsert",
          "title": "Billing Meter Settings Upsert",
          "description": "Invoke POST /api/billing/meter-settings through Nexus.",
          "method": "POST",
          "path": "/api/billing/meter-settings",
          "permission": "billing:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "meterId": {
                "type": "string",
                "minLength": 1
              },
              "capMode": {
                "type": "string",
                "enum": [
                  "soft",
                  "hard",
                  "hybrid"
                ]
              },
              "hardCapUnits": {
                "anyOf": [
                  {
                    "type": "number",
                    "minimum": 0
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "notifyThresholds": {
                "type": "array",
                "items": {
                  "type": "number"
                }
              }
            },
            "required": [
              "meterId",
              "capMode"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Billing Meter Settings Upsert.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "meterId": "example",
              "capMode": "soft"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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/billing/meter-settings",
              "body": {
                "meterId": "example",
                "capMode": "soft"
              }
            },
            "effects": "May change state through POST /api/billing/meter-settings. 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/billing/meter-settings",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "turnstile.verify",
          "title": "Turnstile Verify",
          "description": "Invoke POST /platform/turnstile/verify through Nexus.",
          "method": "POST",
          "path": "/platform/turnstile/verify",
          "permission": "turnstile:verify",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "token": {
                "type": "string"
              },
              "ip": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "appId": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Turnstile Verify.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "token": "example",
              "ip": "example",
              "appId": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/turnstile/verify",
              "body": {
                "token": "example",
                "ip": "example",
                "appId": "example"
              }
            },
            "effects": "May change state through POST /platform/turnstile/verify. 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 /platform/turnstile/verify",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "ratelimit.check",
          "title": "Ratelimit Check",
          "description": "Invoke POST /platform/ratelimit/check through Nexus.",
          "method": "POST",
          "path": "/platform/ratelimit/check",
          "permission": "ratelimit:check",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200
              },
              "limit": {
                "type": "number",
                "minimum": 1,
                "maximum": 100000
              },
              "windowSeconds": {
                "type": "number",
                "minimum": 1,
                "maximum": 3600
              },
              "cost": {
                "type": "number",
                "minimum": 1,
                "maximum": 1000
              },
              "appId": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "key",
              "limit",
              "windowSeconds"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Ratelimit Check.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "key": "example",
              "limit": 1,
              "windowSeconds": 1
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/ratelimit/check",
              "body": {
                "key": "example",
                "limit": 1,
                "windowSeconds": 1
              }
            },
            "effects": "May change state through POST /platform/ratelimit/check. 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 /platform/ratelimit/check",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "integrations.connections.list",
          "title": "Integrations Connections List",
          "description": "Invoke POST /platform/integrations/connections/list through Nexus.",
          "method": "POST",
          "path": "/platform/integrations/connections/list",
          "permission": "integrations:read",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "app_id": {
                "type": "string",
                "minLength": 1
              },
              "app_resource_type": {
                "$ref": "#/properties/app_id"
              },
              "app_resource_id": {
                "$ref": "#/properties/app_id"
              },
              "provider": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80,
                "pattern": "^[a-z0-9][a-z0-9_.:-]*$"
              },
              "include_inactive": {
                "type": "boolean",
                "default": false
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Integrations Connections List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "app_id": "00000000-0000-4000-8000-000000000000",
              "app_resource_type": "example",
              "app_resource_id": "00000000-0000-4000-8000-000000000000"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/integrations/connections/list",
              "body": {
                "app_id": "00000000-0000-4000-8000-000000000000",
                "app_resource_type": "example",
                "app_resource_id": "00000000-0000-4000-8000-000000000000"
              }
            },
            "effects": "May change state through POST /platform/integrations/connections/list. 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 /platform/integrations/connections/list",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "integrations.connections.upsert",
          "title": "Integrations Connections Upsert",
          "description": "Invoke POST /platform/integrations/connections/upsert through Nexus.",
          "method": "POST",
          "path": "/platform/integrations/connections/upsert",
          "permission": "integrations:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "app_id": {
                "type": "string",
                "minLength": 1
              },
              "connection_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200,
                "pattern": "^[A-Za-z0-9._:@+-]+$"
              },
              "app_resource_type": {
                "type": "string",
                "minLength": 1,
                "default": "brand"
              },
              "app_resource_id": {
                "$ref": "#/properties/app_id"
              },
              "connected_by_user_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "provider": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80,
                "pattern": "^[a-z0-9][a-z0-9_.:-]*$"
              },
              "provider_user_id": {
                "$ref": "#/properties/app_id"
              },
              "provider_username": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "provider_display_name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "provider_avatar_url": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "provider_profile_url": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "access_token": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "refresh_token": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "credential_payload": {
                "anyOf": [
                  {
                    "type": "object",
                    "additionalProperties": {}
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "token_expires_at": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "scope": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "active",
                  "disconnected",
                  "deauthorized",
                  "deleted",
                  "error"
                ],
                "default": "active"
              },
              "reactivate": {
                "type": "boolean",
                "default": false
              },
              "metadata": {
                "$ref": "#/properties/credential_payload/anyOf/0",
                "default": {}
              },
              "last_error": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "connection_id"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Integrations Connections Upsert.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "connection_id": "2026-01-01"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/integrations/connections/upsert",
              "body": {
                "connection_id": "2026-01-01"
              }
            },
            "effects": "May change state through POST /platform/integrations/connections/upsert. 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 /platform/integrations/connections/upsert",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "integrations.connections.changes",
          "title": "Integrations Connections Change Feed",
          "description": "Poll the organization-scoped connection status change feed forward from a cursor, so an app learns about a disconnect before an action fails.",
          "method": "POST",
          "path": "/platform/integrations/connections/changes",
          "permission": "integrations:read",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "app_id": {
                "type": "string",
                "minLength": 1
              },
              "after_seq": {
                "type": "integer",
                "minimum": 0,
                "default": 0
              },
              "limit": {
                "type": "integer",
                "minimum": 1,
                "maximum": 500,
                "default": 100
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Integrations Connections Changes.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "app_id": "00000000-0000-4000-8000-000000000000",
              "after_seq": 0,
              "limit": 100
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/integrations/connections/changes",
              "body": {
                "app_id": "00000000-0000-4000-8000-000000000000",
                "after_seq": 0,
                "limit": 100
              }
            },
            "effects": "May change state through POST /platform/integrations/connections/changes. 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 /platform/integrations/connections/changes",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "integrations.connections.disconnect",
          "title": "Integrations Connections Disconnect",
          "description": "Invoke POST /platform/integrations/connections/disconnect through Nexus.",
          "method": "POST",
          "path": "/platform/integrations/connections/disconnect",
          "permission": "integrations:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "app_id": {
                "type": "string",
                "minLength": 1
              },
              "connection_id": {
                "type": "string",
                "minLength": 1,
                "maxLength": 200,
                "pattern": "^[A-Za-z0-9._:@+-]+$"
              },
              "mode": {
                "type": "string",
                "enum": [
                  "disconnect",
                  "deauthorize",
                  "delete"
                ],
                "default": "disconnect"
              },
              "last_error": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "required": [
              "connection_id"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Integrations Connections Disconnect.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "connection_id": "2026-01-01"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/integrations/connections/disconnect",
              "body": {
                "connection_id": "2026-01-01"
              }
            },
            "effects": "May change state through POST /platform/integrations/connections/disconnect. 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 /platform/integrations/connections/disconnect",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "integrations.app_credentials.health",
          "title": "Integrations App Credentials Health",
          "description": "Read GET /platform/integrations/app-credentials/health through Nexus.",
          "method": "GET",
          "path": "/platform/integrations/app-credentials/health",
          "permission": "integrations:admin",
          "authorizationMode": "runtime",
          "allowedServices": [
            "topolo-platform-mcp"
          ],
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Integrations App Credentials Health.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/integrations/app-credentials/health",
              "body": null
            },
            "effects": "Reads state through GET /platform/integrations/app-credentials/health 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 /platform/integrations/app-credentials/health",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "integrations.app_credentials.list",
          "title": "Integrations App Credentials List",
          "description": "Invoke POST /platform/integrations/app-credentials/list through Nexus.",
          "method": "POST",
          "path": "/platform/integrations/app-credentials/list",
          "permission": "integrations:admin",
          "authorizationMode": "runtime",
          "allowedServices": [
            "topolo-platform-mcp"
          ],
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "app_id": {
                "type": "string",
                "minLength": 1
              },
              "provider": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80,
                "pattern": "^[a-z0-9][a-z0-9_.:-]*$"
              },
              "environment": {
                "$ref": "#/properties/app_id"
              },
              "include_inactive": {
                "type": "boolean",
                "default": false
              }
            },
            "required": [
              "app_id"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Integrations App Credentials List.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "app_id": "00000000-0000-4000-8000-000000000000"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/integrations/app-credentials/list",
              "body": {
                "app_id": "00000000-0000-4000-8000-000000000000"
              }
            },
            "effects": "May change state through POST /platform/integrations/app-credentials/list. 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 /platform/integrations/app-credentials/list",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "integrations.app_credentials.upsert",
          "title": "Integrations App Credentials Upsert",
          "description": "Invoke POST /platform/integrations/app-credentials/upsert through Nexus.",
          "method": "POST",
          "path": "/platform/integrations/app-credentials/upsert",
          "permission": "integrations:admin",
          "authorizationMode": "runtime",
          "allowedServices": [
            "topolo-platform-mcp"
          ],
          "agentContract": {
            "examples": [
              {
                "app_id": "app_topolo_campaigns",
                "provider": "facebook",
                "client_id": "demo-client-id",
                "client_secret": "demo-client-secret"
              }
            ]
          },
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "app_id": {
                "type": "string",
                "minLength": 1
              },
              "provider": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80,
                "pattern": "^[a-z0-9][a-z0-9_.:-]*$"
              },
              "environment": {
                "type": "string",
                "minLength": 1,
                "default": "production"
              },
              "credential_name": {
                "$ref": "#/properties/app_id"
              },
              "client_id": {
                "$ref": "#/properties/app_id"
              },
              "client_secret": {
                "$ref": "#/properties/app_id"
              },
              "scopes": {
                "type": "array",
                "items": {
                  "$ref": "#/properties/app_id"
                },
                "default": []
              },
              "authorization_url": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "token_url": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "redirect_uri": {
                "anyOf": [
                  {
                    "type": "string",
                    "format": "uri"
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "metadata": {
                "type": "object",
                "additionalProperties": {},
                "default": {}
              },
              "is_active": {
                "type": "boolean",
                "default": true
              }
            },
            "required": [
              "app_id",
              "provider",
              "client_id",
              "client_secret"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Integrations App Credentials Upsert.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "app_id": "app_topolo_campaigns",
              "provider": "facebook",
              "client_id": "demo-client-id",
              "client_secret": "demo-client-secret"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/integrations/app-credentials/upsert",
              "body": {
                "app_id": "app_topolo_campaigns",
                "provider": "facebook",
                "client_id": "demo-client-id",
                "client_secret": "demo-client-secret"
              }
            },
            "effects": "May change state through POST /platform/integrations/app-credentials/upsert. 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 /platform/integrations/app-credentials/upsert",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "youtube.channel_profile.get",
          "title": "Youtube Channel Profile Get",
          "description": "Invoke POST /platform/youtube/channels/profile through Nexus.",
          "method": "POST",
          "path": "/platform/youtube/channels/profile",
          "permission": "youtube:read",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "access_token": {
                "type": "string",
                "minLength": 1
              },
              "app_id": {
                "$ref": "#/properties/access_token"
              }
            },
            "required": [
              "access_token"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Youtube Channel Profile Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "access_token": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/youtube/channels/profile",
              "body": {
                "access_token": "example"
              }
            },
            "effects": "May change state through POST /platform/youtube/channels/profile. 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 /platform/youtube/channels/profile",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "youtube.videos.publish",
          "title": "Youtube Videos Publish",
          "description": "Invoke POST /platform/youtube/videos/upload through Nexus.",
          "method": "POST",
          "path": "/platform/youtube/videos/upload",
          "permission": "youtube:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "access_token": {
                "type": "string",
                "minLength": 1
              },
              "video_url": {
                "type": "string",
                "format": "uri"
              },
              "title": {
                "type": "string",
                "minLength": 1,
                "maxLength": 100
              },
              "description": {
                "type": "string",
                "maxLength": 5000
              },
              "privacy_status": {
                "type": "string",
                "enum": [
                  "private",
                  "unlisted",
                  "public"
                ],
                "default": "private"
              },
              "app_id": {
                "$ref": "#/properties/access_token"
              },
              "brand_id": {
                "$ref": "#/properties/app_id"
              },
              "post_id": {
                "$ref": "#/properties/app_id"
              }
            },
            "required": [
              "access_token",
              "video_url",
              "title"
            ],
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Youtube Videos Publish.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "access_token": "example",
              "video_url": "https://example.com",
              "title": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/youtube/videos/upload",
              "body": {
                "access_token": "example",
                "video_url": "https://example.com",
                "title": "example"
              }
            },
            "effects": "May change state through POST /platform/youtube/videos/upload. 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 /platform/youtube/videos/upload",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "platform_usage.events.create",
          "title": "Platform Usage Events Create",
          "description": "Invoke POST /platform/usage/events through Nexus.",
          "method": "POST",
          "path": "/platform/usage/events",
          "permission": "usage:write",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "app_id": {
                "type": "string",
                "minLength": 1
              },
              "appId": {
                "$ref": "#/properties/app_id"
              },
              "meter_key": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "meterKey": {
                "type": "string",
                "minLength": 1,
                "maxLength": 80
              },
              "event_name": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              },
              "eventName": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              },
              "units": {
                "type": "number",
                "exclusiveMinimum": 0,
                "maximum": 1000000000,
                "default": 1
              },
              "user_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "userId": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "request_id": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "requestId": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "metadata": {
                "type": "object",
                "additionalProperties": {}
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Platform Usage Events Create.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {
              "app_id": "00000000-0000-4000-8000-000000000000",
              "appId": "example",
              "meter_key": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/usage/events",
              "body": {
                "app_id": "00000000-0000-4000-8000-000000000000",
                "appId": "example",
                "meter_key": "example"
              }
            },
            "effects": "May change state through POST /platform/usage/events. 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 /platform/usage/events",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "platform_usage.turnstile.get",
          "title": "Platform Usage Turnstile Get",
          "description": "Read GET /platform/usage/turnstile through Nexus.",
          "method": "GET",
          "path": "/platform/usage/turnstile",
          "permission": "usage:read",
          "authorizationMode": "runtime",
          "readOnly": true,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {
              "orgId": {
                "type": "string"
              },
              "start": {
                "$ref": "#/properties/orgId"
              },
              "end": {
                "$ref": "#/properties/orgId"
              },
              "appId": {
                "$ref": "#/properties/orgId"
              }
            },
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Platform Usage Turnstile Get.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": false,
          "agentAccess": "auto",
          "documentation": {
            "example_input": {
              "orgId": "example",
              "start": "example",
              "end": "example"
            },
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/usage/turnstile",
              "body": null
            },
            "effects": "Reads state through GET /platform/usage/turnstile 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 /platform/usage/turnstile",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        },
        {
          "name": "platform_usage.meter_settings.backfill",
          "title": "Platform Usage Meter Settings Backfill",
          "description": "Invoke POST /platform/usage/meter-settings/backfill through Nexus.",
          "method": "POST",
          "path": "/platform/usage/meter-settings/backfill",
          "permission": "usage:admin",
          "authorizationMode": "runtime",
          "readOnly": false,
          "target": "gateway",
          "inputSchema": {
            "type": "object",
            "properties": {},
            "additionalProperties": false,
            "$schema": "http://json-schema.org/draft-07/schema#"
          },
          "outputSchema": {
            "type": "object",
            "description": "Response returned by Platform Usage Meter Settings Backfill.",
            "additionalProperties": true
          },
          "destructive": false,
          "requiresConfirmation": true,
          "agentAccess": "confirm",
          "documentation": {
            "example_input": {},
            "cli_example": [
              "topolo actions --service topolo-nexus --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": "/platform/usage/meter-settings/backfill",
              "body": {}
            },
            "effects": "May change state through POST /platform/usage/meter-settings/backfill. 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 /platform/usage/meter-settings/backfill",
            "evidence": "Matched to a served route extracted from canonical staging source."
          }
        }
      ],
      "action_coverage": {
        "status": "ok",
        "served_routes": 102,
        "matched_actions": 77,
        "declared_unserved_actions": [],
        "coverage_excluded_actions": [],
        "uncatalogued_routes": [
          {
            "key": "POST /internal/platform/encryption/master-key/rewrap",
            "method": "POST",
            "path": "/internal/platform/encryption/master-key/rewrap",
            "source": "apps/gateway/src/index.ts",
            "target": "gateway"
          }
        ],
        "ignored_routes": 24,
        "configured_exclusions": 18,
        "configuration_findings": [],
        "notes": []
      },
      "runtime_contract_audit": {
        "status": "verified",
        "actions": 77,
        "contracts": 77,
        "contract_module": "apps/gateway/action-contracts.mjs",
        "validator_sources": [
          "apps/gateway/src/index.ts"
        ],
        "authorization_sources": [
          "apps/gateway/src/index.ts"
        ],
        "findings": []
      }
    }
  ],
  "mobile_contracts": [
    {
      "source_path": "topolo-platform/services/TopoloNexus/topolo.mobile-experience.json",
      "contract": {
        "version": "2026-06-29",
        "status": "approved",
        "mode": "native_capability",
        "appId": "app_topolo_nexus",
        "localizationNamespace": "nexus",
        "permissions": [
          "apps:read",
          "audit:read",
          "usage:read"
        ],
        "offlinePolicy": "read_through_cache",
        "fallbackPath": "/apps",
        "auth": {
          "audience": "topolo-nexus",
          "scopes": [
            "apps:read",
            "audit:read",
            "usage:read"
          ]
        },
        "routes": [
          {
            "path": "/apps",
            "apiPath": "/api/apps",
            "title": "Apps",
            "titleKey": "nexus.mobile.routes.apps.title",
            "template": "record.list",
            "dataSource": "nexus.apps.list"
          },
          {
            "path": "/audit",
            "apiPath": "/api/audit",
            "title": "Audit",
            "titleKey": "nexus.mobile.routes.audit.title",
            "template": "record.list",
            "dataSource": "nexus.audit.list"
          }
        ]
      }
    }
  ],
  "package_manifests": [],
  "deployment_configs": [],
  "source_signals": {
    "api_routes": [
      {
        "method": "GET",
        "path": "/health",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/index.ts"
      },
      {
        "method": "POST",
        "path": "/internal/platform/encryption/master-key/rewrap",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/index.ts"
      },
      {
        "method": "GET",
        "path": "/api/app-identity",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/index.ts"
      },
      {
        "method": "GET",
        "path": "/api/widget",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/index.ts"
      },
      {
        "method": "GET",
        "path": "/api/organization",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/index.ts"
      },
      {
        "method": "POST",
        "path": "/api/organizations/provision",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/index.ts"
      },
      {
        "method": "GET",
        "path": "/api/audit",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/index.ts"
      },
      {
        "method": "POST",
        "path": "/completions",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/ai.ts"
      },
      {
        "method": "POST",
        "path": "/translations",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/ai.ts"
      },
      {
        "method": "POST",
        "path": "/embeddings",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/ai.ts"
      },
      {
        "method": "POST",
        "path": "/markdown",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/ai.ts"
      },
      {
        "method": "POST",
        "path": "/image/describe",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/ai.ts"
      },
      {
        "method": "POST",
        "path": "/autorag/search",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/ai.ts"
      },
      {
        "method": "POST",
        "path": "/transcriptions",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/ai.ts"
      },
      {
        "method": "POST",
        "path": "/generations",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/ai.ts"
      },
      {
        "method": "GET",
        "path": "/models",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/ai.ts"
      },
      {
        "method": "GET",
        "path": "/health/:provider",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/ai.ts"
      },
      {
        "method": "GET",
        "path": "/",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/apps.ts"
      },
      {
        "method": "GET",
        "path": "/:appSlug",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/apps.ts"
      },
      {
        "method": "PATCH",
        "path": "/:appSlug",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/apps.ts"
      },
      {
        "method": "GET",
        "path": "/meta/capabilities",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/apps.ts"
      },
      {
        "method": "GET",
        "path": "/meta/models",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/apps.ts"
      },
      {
        "method": "GET",
        "path": "/connections",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/email.ts"
      },
      {
        "method": "POST",
        "path": "/connections",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/email.ts"
      },
      {
        "method": "PATCH",
        "path": "/connections/:id",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/email.ts"
      },
      {
        "method": "GET",
        "path": "/profiles",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/email.ts"
      },
      {
        "method": "POST",
        "path": "/profiles",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/email.ts"
      },
      {
        "method": "PATCH",
        "path": "/profiles/:id",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/email.ts"
      },
      {
        "method": "POST",
        "path": "/send",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/email.ts"
      },
      {
        "method": "GET",
        "path": "/governance",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/models.ts"
      },
      {
        "method": "POST",
        "path": "/sync",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/models.ts"
      },
      {
        "method": "POST",
        "path": "/stripe",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/payments.ts"
      },
      {
        "method": "POST",
        "path": "/connections/list",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-integrations.ts"
      },
      {
        "method": "POST",
        "path": "/connections/provider-lookup",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-integrations.ts"
      },
      {
        "method": "POST",
        "path": "/connections/upsert",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-integrations.ts"
      },
      {
        "method": "POST",
        "path": "/connections/changes",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-integrations.ts"
      },
      {
        "method": "POST",
        "path": "/connections/disconnect",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-integrations.ts"
      },
      {
        "method": "GET",
        "path": "/app-credentials/health",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-integrations.ts"
      },
      {
        "method": "POST",
        "path": "/app-credentials/list",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-integrations.ts"
      },
      {
        "method": "POST",
        "path": "/app-credentials/upsert",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-integrations.ts"
      },
      {
        "method": "POST",
        "path": "/app-credentials/resolve",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-integrations.ts"
      },
      {
        "method": "POST",
        "path": "/connections/resolve",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-integrations.ts"
      },
      {
        "method": "POST",
        "path": "/check",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-ratelimit.ts"
      },
      {
        "method": "POST",
        "path": "/verify",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-turnstile.ts"
      },
      {
        "method": "POST",
        "path": "/events",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-usage.ts"
      },
      {
        "method": "GET",
        "path": "/turnstile",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-usage.ts"
      },
      {
        "method": "POST",
        "path": "/meter-settings/backfill",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-usage.ts"
      },
      {
        "method": "POST",
        "path": "/channels/profile",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-youtube.ts"
      },
      {
        "method": "POST",
        "path": "/videos/upload",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/platform-youtube.ts"
      },
      {
        "method": "GET",
        "path": "/",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/preferences.ts"
      },
      {
        "method": "GET",
        "path": "/:useCase",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/preferences.ts"
      },
      {
        "method": "PUT",
        "path": "/:useCase",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/preferences.ts"
      },
      {
        "method": "DELETE",
        "path": "/:useCase",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/preferences.ts"
      },
      {
        "method": "GET",
        "path": "/available/models",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/preferences.ts"
      },
      {
        "method": "GET",
        "path": "/",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/privacy.ts"
      },
      {
        "method": "DELETE",
        "path": "/",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/privacy.ts"
      },
      {
        "method": "GET",
        "path": "/",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/provider-credentials.ts"
      },
      {
        "method": "PUT",
        "path": "/:provider",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/provider-credentials.ts"
      },
      {
        "method": "PATCH",
        "path": "/:provider",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/provider-credentials.ts"
      },
      {
        "method": "GET",
        "path": "/overview",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/daily",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/by-app",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/by-user",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/by-model",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/recent",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/budget",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "PUT",
        "path": "/budget",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/limits",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/limits/options",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "PUT",
        "path": "/limits",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/projection",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/spend",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/events",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/key-health",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/snapshots/daily",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/usage.ts"
      },
      {
        "method": "GET",
        "path": "/whatsapp",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/webhooks-meta.ts"
      },
      {
        "method": "POST",
        "path": "/whatsapp",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/webhooks-meta.ts"
      },
      {
        "method": "POST",
        "path": "/stripe",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/webhooks.ts"
      },
      {
        "method": "POST",
        "path": "/exchange",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/whatsapp-embedded-signup.ts"
      },
      {
        "method": "POST",
        "path": "/",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/whatsapp-templates.ts"
      },
      {
        "method": "GET",
        "path": "/",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/whatsapp-templates.ts"
      },
      {
        "method": "POST",
        "path": "/send",
        "source_path": "topolo-platform/services/TopoloNexus/apps/gateway/src/routes/whatsapp.ts"
      }
    ],
    "ui_routes": [
      {
        "path": "/",
        "source_path": "topolo-platform/services/TopoloNexus/apps/dashboard/src/App.tsx"
      },
      {
        "path": "/login",
        "source_path": "topolo-platform/services/TopoloNexus/apps/dashboard/src/App.tsx"
      },
      {
        "path": "/auth/callback",
        "source_path": "topolo-platform/services/TopoloNexus/apps/dashboard/src/App.tsx"
      }
    ],
    "test_cases": [],
    "database_tables": []
  },
  "documentation": {
    "declared_paths": [
      "applications/nexus",
      "internal/apps/nexus"
    ],
    "present_paths": [
      "applications/nexus",
      "internal/apps/nexus"
    ],
    "missing_paths": [],
    "human_reference": "/systems/topolo-nexus",
    "machine_reference": "/machine/systems/topolo-nexus.json",
    "action_examples": 77,
    "action_schemas": 77
  },
  "source_findings": [
    {
      "type": "uncatalogued_routes",
      "source_path": "topolo-platform/services/TopoloNexus/topolo.app.json",
      "detail": [
        {
          "key": "POST /internal/platform/encryption/master-key/rewrap",
          "method": "POST",
          "path": "/internal/platform/encryption/master-key/rewrap",
          "source": "apps/gateway/src/index.ts",
          "target": "gateway"
        }
      ]
    }
  ]
}