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"
}
]
}
]
}