application · active
Topolo Developers
Standalone developer control plane with a public signup entrypoint, per-application manifest and machine-action partitions, notification-contract publication and discovery, credential-scoped discovery for SDK/CLI/MCP, the Developers-owned Topolo app store read model, bounded registry reconcile, and the authenticated workspace-backed console where publishers and internal operators manage applications, artifacts, submissions, visibility, commerce, pricing, and payout readiness.
Documentation map
- Topolo Developers — Public overview of the authenticated Topolo developer portal and its submission/request workflows.
- Topolo Web — Build, preview, quality-check, publish, and recover responsive websites through a typed agent workflow.
- Agents and Automation — Clean-room operating guide for Codex, Claude, and headless automation using Topolo OAuth or API keys.
Authority and runtime
- System ID
topolo-developers- App IDs
- app_topolo_developers
- Owners
- platform-experience
- Repositories
- apps/TopoloDevelopers
- Hosts
- https://developers.topolo.app, https://developers.stg.topolo.us
- Dependencies
- topolo-auth, topolo-one, topolo-p2p
Security and data ownership
- Risk tier
- critical
- Tenant isolation
- organization_scoped
- Privacy classification
- secret
- Storage
- d1, external_provider, r2
- Export and deletion
- planned
- Enterprise ready
- no
Source-derived capability inventory
Source revisions: apps/TopoloDevelopers@690f230abf462c7a526b16186b94b7fc05e210dd
Declared actions: 59 · API routes: 1 · UI routes: 30
{
"id": "topolo-developers",
"name": "Topolo Developers",
"slug": "topolo-developers",
"kind": "application",
"visibility": "public",
"repo_paths": [
"apps/TopoloDevelopers"
],
"source_revisions": [
{
"source_path": "apps/TopoloDevelopers",
"repository": "apps/TopoloDevelopers",
"revision": "690f230abf462c7a526b16186b94b7fc05e210dd",
"ref": "origin/staging"
}
],
"source_counts": {
"source_files": 153,
"test_files": 116,
"test_cases": 0,
"migration_files": 0,
"database_tables": 0,
"manifests": 1,
"deploy_targets": 3,
"actions": 59,
"mobile_contracts": 1,
"notifications": 7,
"package_manifests": 2,
"deployment_configs": 0
},
"manifests": [
{
"source_path": "apps/TopoloDevelopers/topolo.app.json",
"service_slug": "topolo-developers",
"name": "topolo-developers",
"app_id": "app_topolo_developers",
"compatibility_date": "2026-07-11",
"primary_target": "web",
"environments": [
"development",
"production",
"staging"
],
"targets": [
{
"name": "api",
"kind": "worker",
"directory": "apps/api",
"main": "src/worker.ts",
"worker_name": "topolo-developers-api",
"subdomain": null,
"healthcheck_path": "/api/health",
"variable_names": [
"AUTH_API_URL",
"AUTH_APP_ID",
"DEVELOPERS_PUBLIC_BASE_URL",
"ENVIRONMENT",
"P2P_API_URL",
"P2P_APP_ID",
"PLATFORM_DEVELOPER_ORGANIZATION_ID",
"TOPOLO_NOTIFY_URL",
"TOPOLO_SEED_APP_ID"
],
"secret_names": [],
"bindings": [
{
"kind": "services",
"binding": "AUTH_SERVICE",
"target": null
},
{
"kind": "services",
"binding": "AUTH_SERVICE",
"target": null
},
{
"kind": "services",
"binding": "AUTH_SERVICE",
"target": null
},
{
"kind": "d1",
"binding": "DEVELOPERS_CONTROL_DB",
"target": null
},
{
"kind": "d1",
"binding": "DEVELOPERS_CATALOG_DB",
"target": null
},
{
"kind": "d1",
"binding": "DEVELOPERS_INTEGRATIONS_DB",
"target": null
},
{
"kind": "d1",
"binding": "DEVELOPERS_ARTIFACTS_DB",
"target": null
},
{
"kind": "d1",
"binding": "DEVELOPERS_INTAKE_DB",
"target": null
},
{
"kind": "r2",
"binding": "MOBILE_ARTIFACTS",
"target": null
},
{
"kind": "durableObjects",
"binding": "ACTION_CATALOG_PARTITIONS",
"target": null
},
{
"kind": "durableObjects",
"binding": "APPLICATION_CATALOG_PARTITIONS",
"target": null
},
{
"kind": "vectorize",
"binding": "VECTORIZE",
"target": null
},
{
"kind": "ai",
"binding": "AI",
"target": null
}
]
},
{
"name": "web",
"kind": "worker",
"directory": "apps/web",
"main": "src/worker.ts",
"worker_name": "topolo-developers",
"subdomain": "developers",
"healthcheck_path": "/api/health",
"variable_names": [
"INSIGHTS_SITE_KEY"
],
"secret_names": [],
"bindings": [
{
"kind": "services",
"binding": "API",
"target": null
},
{
"kind": "services",
"binding": "API",
"target": null
},
{
"kind": "services",
"binding": "API",
"target": null
}
]
},
{
"name": "jobs",
"kind": "worker",
"directory": "apps/jobs",
"main": "src/index.ts",
"worker_name": "topolo-catalog-cron",
"subdomain": null,
"healthcheck_path": null,
"variable_names": [
"AUTH_API_URL",
"CATALOG_EMBEDDINGS_URL",
"NEXUS_GATEWAY_URL"
],
"secret_names": [],
"bindings": []
}
],
"notifications": [
"developers.app.approved",
"developers.app.published",
"developers.app.rejected",
"developers.app.submitted",
"developers.build.completed",
"developers.build.failed",
"developers.catalog.sync_failed"
],
"notification_contract": {
"source_path": "topolo.notification-contracts.json",
"role": "producer",
"schema_version": 1,
"owner_app_id": "app_topolo_developers",
"events": [
{
"type": "developers.app.approved",
"version": 1,
"description": "A persisted marketplace review approved a developer application.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"surface",
"priority",
"severity",
"category",
"object_type",
"object_id",
"app_id",
"app_name",
"status",
"cta_url",
"cta_label",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"surface": {
"const": "notification"
},
"priority": {
"const": "normal"
},
"severity": {
"const": "success"
},
"category": {
"const": "developers"
},
"object_type": {
"const": "app"
},
"object_id": {
"type": "string",
"minLength": 1
},
"app_id": {
"type": "string",
"minLength": 1
},
"app_name": {
"type": "string",
"minLength": 1
},
"status": {
"const": "approved"
},
"cta_url": {
"type": "string",
"format": "uri"
},
"cta_label": {
"type": "string",
"minLength": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "App approved: Example",
"body": "Your application passed marketplace review.",
"surface": "notification",
"priority": "normal",
"severity": "success",
"category": "developers",
"object_type": "app",
"object_id": "app_123",
"app_id": "app_123",
"app_name": "Example",
"status": "approved",
"cta_url": "https://developers.topolo.app/apps/app_123",
"cta_label": "Open app",
"occurred_at": "2026-07-20T12:00:00.000Z"
}
],
"dataClassification": "internal",
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^developers:submission:"
}
},
{
"type": "developers.app.published",
"version": 1,
"description": "Developers durably published an application manifest into the live catalog.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"surface",
"priority",
"severity",
"category",
"object_type",
"object_id",
"app_id",
"app_name",
"status",
"cta_url",
"cta_label",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"surface": {
"const": "notification"
},
"priority": {
"const": "normal"
},
"severity": {
"const": "success"
},
"category": {
"const": "developers"
},
"object_type": {
"const": "app"
},
"object_id": {
"type": "string",
"minLength": 1
},
"app_id": {
"type": "string",
"minLength": 1
},
"app_name": {
"type": "string",
"minLength": 1
},
"status": {
"const": "published"
},
"cta_url": {
"type": "string",
"format": "uri"
},
"cta_label": {
"type": "string",
"minLength": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "App published: Example",
"body": "Your application is published in the Topolo catalog.",
"surface": "notification",
"priority": "normal",
"severity": "success",
"category": "developers",
"object_type": "app",
"object_id": "app_123",
"app_id": "app_123",
"app_name": "Example",
"status": "published",
"cta_url": "https://developers.topolo.app/apps/app_123",
"cta_label": "Open app",
"occurred_at": "2026-07-20T12:00:00.000Z"
}
],
"dataClassification": "internal",
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^developers:app:"
}
},
{
"type": "developers.app.rejected",
"version": 1,
"description": "A persisted marketplace review rejected a developer application.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"surface",
"priority",
"severity",
"category",
"object_type",
"object_id",
"app_name",
"status",
"failure_reason",
"cta_url",
"cta_label",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"surface": {
"const": "action"
},
"priority": {
"const": "high"
},
"severity": {
"const": "warning"
},
"category": {
"const": "developers"
},
"object_type": {
"const": "app"
},
"object_id": {
"type": "string",
"minLength": 1
},
"app_id": {
"type": "string",
"minLength": 1
},
"app_name": {
"type": "string",
"minLength": 1
},
"status": {
"const": "rejected"
},
"failure_reason": {
"type": "string",
"minLength": 5
},
"cta_url": {
"type": "string",
"format": "uri"
},
"cta_label": {
"type": "string",
"minLength": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "App rejected: Example",
"body": "Missing required evidence.",
"surface": "action",
"priority": "high",
"severity": "warning",
"category": "developers",
"object_type": "app",
"object_id": "app_123",
"app_id": "app_123",
"app_name": "Example",
"status": "rejected",
"failure_reason": "Missing required evidence.",
"cta_url": "https://developers.topolo.app/apps/app_123",
"cta_label": "Open app",
"occurred_at": "2026-07-20T12:00:00.000Z"
}
],
"dataClassification": "confidential",
"sensitiveFields": [
"body",
"failure_reason"
],
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^developers:submission:"
}
},
{
"type": "developers.app.submitted",
"version": 1,
"description": "A developer application submission was durably persisted for marketplace review.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"surface",
"priority",
"severity",
"category",
"object_type",
"object_id",
"app_id",
"app_name",
"status",
"cta_url",
"cta_label",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"surface": {
"const": "notification"
},
"priority": {
"const": "normal"
},
"severity": {
"const": "info"
},
"category": {
"const": "developers"
},
"object_type": {
"const": "app"
},
"object_id": {
"type": "string",
"minLength": 1
},
"app_id": {
"type": "string",
"minLength": 1
},
"app_name": {
"type": "string",
"minLength": 1
},
"status": {
"const": "pending"
},
"cta_url": {
"type": "string",
"format": "uri"
},
"cta_label": {
"type": "string",
"minLength": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "App submitted: Example",
"body": "Your application was submitted for marketplace review.",
"surface": "notification",
"priority": "normal",
"severity": "info",
"category": "developers",
"object_type": "app",
"object_id": "app_123",
"app_id": "app_123",
"app_name": "Example",
"status": "pending",
"cta_url": "https://developers.topolo.app/apps/app_123",
"cta_label": "Open app",
"occurred_at": "2026-07-20T12:00:00.000Z"
}
],
"dataClassification": "internal",
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^developers:app:"
}
},
{
"type": "developers.build.completed",
"version": 1,
"description": "A persisted developer build request reached the completed state.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"surface",
"priority",
"severity",
"category",
"object_type",
"object_id",
"build_request_id",
"build_title",
"status",
"cta_url",
"cta_label",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"surface": {
"const": "notification"
},
"priority": {
"const": "normal"
},
"severity": {
"const": "success"
},
"category": {
"const": "developers"
},
"object_type": {
"const": "build_request"
},
"object_id": {
"type": "string",
"minLength": 1
},
"build_request_id": {
"type": "string",
"minLength": 1
},
"build_title": {
"type": "string",
"minLength": 1
},
"status": {
"const": "completed"
},
"cta_url": {
"type": "string",
"format": "uri"
},
"cta_label": {
"type": "string",
"minLength": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Build completed: Queue monitor",
"body": "Your requested build is complete.",
"surface": "notification",
"priority": "normal",
"severity": "success",
"category": "developers",
"object_type": "build_request",
"object_id": "req_123",
"build_request_id": "req_123",
"build_title": "Queue monitor",
"status": "completed",
"cta_url": "https://developers.topolo.app/requests",
"cta_label": "Open build request",
"occurred_at": "2026-07-20T12:00:00.000Z"
}
],
"dataClassification": "confidential",
"sensitiveFields": [
"body",
"build_title"
],
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^developers:build:"
}
},
{
"type": "developers.build.failed",
"version": 1,
"description": "A persisted developer build request reached the failed state.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"surface",
"priority",
"severity",
"category",
"object_type",
"object_id",
"build_request_id",
"build_title",
"status",
"failure_reason",
"cta_url",
"cta_label",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"surface": {
"const": "action"
},
"priority": {
"const": "high"
},
"severity": {
"const": "critical"
},
"category": {
"const": "developers"
},
"object_type": {
"const": "build_request"
},
"object_id": {
"type": "string",
"minLength": 1
},
"build_request_id": {
"type": "string",
"minLength": 1
},
"build_title": {
"type": "string",
"minLength": 1
},
"status": {
"const": "failed"
},
"failure_reason": {
"type": "string",
"minLength": 1
},
"cta_url": {
"type": "string",
"format": "uri"
},
"cta_label": {
"type": "string",
"minLength": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Build failed: Queue monitor",
"body": "The build failed during validation.",
"surface": "action",
"priority": "high",
"severity": "critical",
"category": "developers",
"object_type": "build_request",
"object_id": "req_123",
"build_request_id": "req_123",
"build_title": "Queue monitor",
"status": "failed",
"failure_reason": "The build failed during validation.",
"cta_url": "https://developers.topolo.app/requests",
"cta_label": "Open build request",
"occurred_at": "2026-07-20T12:00:00.000Z"
}
],
"dataClassification": "confidential",
"sensitiveFields": [
"body",
"build_title",
"failure_reason"
],
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^developers:build:"
}
},
{
"type": "developers.catalog.sync_failed",
"version": 1,
"description": "Developers persisted a catalog publication failure after the live catalog sync failed.",
"status": "published",
"payloadSchema": {
"type": "object",
"required": [
"title",
"body",
"surface",
"priority",
"severity",
"category",
"object_type",
"object_id",
"app_id",
"app_name",
"status",
"failure_reason",
"cta_url",
"cta_label",
"occurred_at"
],
"properties": {
"title": {
"type": "string",
"minLength": 1
},
"body": {
"type": "string",
"minLength": 1
},
"surface": {
"const": "action"
},
"priority": {
"const": "high"
},
"severity": {
"const": "critical"
},
"category": {
"const": "developers"
},
"object_type": {
"const": "catalog_sync"
},
"object_id": {
"type": "string",
"minLength": 1
},
"app_id": {
"type": "string",
"minLength": 1
},
"app_name": {
"type": "string",
"minLength": 1
},
"status": {
"const": "failed"
},
"failure_reason": {
"type": "string",
"minLength": 1
},
"cta_url": {
"type": "string",
"format": "uri"
},
"cta_label": {
"type": "string",
"minLength": 1
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"additionalProperties": false
},
"examples": [
{
"title": "Catalog sync failed: Example",
"body": "Permission publication failed.",
"surface": "action",
"priority": "high",
"severity": "critical",
"category": "developers",
"object_type": "catalog_sync",
"object_id": "catalog_failure_123",
"app_id": "app_123",
"app_name": "Example",
"status": "failed",
"failure_reason": "Permission publication failed.",
"cta_url": "https://developers.topolo.app/apps/app_123",
"cta_label": "Open app",
"occurred_at": "2026-07-20T12:00:00.000Z"
}
],
"dataClassification": "confidential",
"sensitiveFields": [
"body",
"failure_reason"
],
"recipients": {
"modes": [
"organization_member"
],
"externalAddress": "forbidden"
},
"idempotency": {
"required": true,
"pattern": "^developers:catalog-sync:"
}
}
]
},
"actions": [
{
"name": "widget.get",
"title": "Get widget summary",
"description": "Get the TopoloOne widget summary for this service.",
"method": "GET",
"path": "/api/widget",
"permission": "workspace:read",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"target": "api",
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {},
"cli_example": [
"topolo actions --service topolo-developers --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": "apps.list",
"title": "List developer apps",
"description": "List apps owned by the developer workspace.",
"method": "GET",
"path": "/api/developer-console/apps",
"permission": "apps:read",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by List developer apps.",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps",
"body": null
},
"effects": "Reads state through GET /api/developer-console/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/developer-console/apps",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.create",
"title": "Create developer app",
"description": "Create a developer app registration.",
"method": "POST",
"path": "/api/developer-console/apps",
"permission": "apps:write",
"readOnly": false,
"requiresConfirmation": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 2,
"maxLength": 100
},
"description": {
"type": "string",
"maxLength": 2000
},
"category": {
"type": "string",
"maxLength": 80
},
"distributionModel": {
"type": "string",
"enum": [
"marketplace",
"organization_internal"
]
},
"pricingType": {
"type": "string",
"enum": [
"free",
"paid"
]
},
"version": {
"type": "string"
},
"supportEmail": {
"type": "string"
},
"websiteUrl": {
"type": "string"
},
"demoUrl": {
"type": "string"
},
"repoUrl": {
"type": "string"
},
"notes": {
"type": "string"
},
"monthlyPrice": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"const": ""
},
{
"type": "null"
}
]
},
"tags": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
"screenshots": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
"members": {
"minItems": 1,
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"role": {
"type": "string",
"enum": [
"owner",
"admin",
"developer",
"viewer"
]
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"userId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"addedAt": {
"type": "string"
}
},
"required": [
"email",
"role"
],
"additionalProperties": false
}
}
},
"required": [
"name"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by Create developer app.",
"additionalProperties": true
},
"destructive": false,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"name": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps",
"body": {
"name": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps. 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/developer-console/apps",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.get",
"title": "Get developer app",
"description": "Get one developer app registration.",
"method": "GET",
"path": "/api/developer-console/apps/{appId}",
"permission": "apps:read",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1
}
},
"required": [
"appId"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by Get developer app.",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example",
"body": null
},
"effects": "Reads state through GET /api/developer-console/apps/{appId} 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/developer-console/apps/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.update",
"title": "Update developer app",
"description": "Update one developer app registration.",
"method": "PATCH",
"path": "/api/developer-console/apps/{appId}",
"permission": "apps:write",
"readOnly": false,
"requiresConfirmation": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"category": {
"type": "string"
},
"distributionModel": {
"type": "string",
"enum": [
"marketplace",
"organization_internal"
]
},
"pricingType": {
"type": "string",
"enum": [
"free",
"paid"
]
},
"version": {
"type": "string"
},
"supportEmail": {
"type": "string"
},
"websiteUrl": {
"type": "string"
},
"demoUrl": {
"type": "string"
},
"repoUrl": {
"type": "string"
},
"notes": {
"type": "string"
},
"monthlyPrice": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"const": ""
},
{
"type": "null"
}
]
},
"tags": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
"screenshots": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "string"
}
]
},
"members": {
"minItems": 1,
"maxItems": 12,
"type": "array",
"items": {
"type": "object",
"properties": {
"email": {
"type": "string",
"format": "email",
"pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"role": {
"type": "string",
"enum": [
"owner",
"admin",
"developer",
"viewer"
]
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"userId": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"addedAt": {
"type": "string"
}
},
"required": [
"email",
"role"
],
"additionalProperties": false
}
},
"appStatus": {
"type": "string",
"enum": [
"draft",
"configured",
"archived"
]
}
},
"required": [
"appId"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by Update developer app.",
"additionalProperties": true
},
"destructive": false,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example",
"body": {
"appId": "example"
}
},
"effects": "May change state through PATCH /api/developer-console/apps/{appId}. 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/developer-console/apps/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.submit",
"title": "Submit developer app",
"description": "Submit an app for review.",
"method": "POST",
"path": "/api/developer-console/apps/{appId}/submit",
"permission": "submissions:write",
"readOnly": false,
"requiresConfirmation": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1
}
},
"required": [
"appId"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by Submit developer app.",
"additionalProperties": true
},
"destructive": false,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/submit",
"body": {
"appId": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps/{appId}/submit. 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/developer-console/apps/*/submit",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "build_requests.list",
"title": "List build requests",
"description": "List developer build requests.",
"method": "GET",
"path": "/api/developer-console/build-requests",
"permission": "requests:read",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by List build requests.",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/build-requests",
"body": null
},
"effects": "Reads state through GET /api/developer-console/build-requests 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/developer-console/build-requests",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "build_requests.create",
"title": "Create build request",
"description": "Submit a developer build request for a community or company application.",
"method": "POST",
"path": "/api/developer-console/build-requests",
"permission": "requests:write",
"readOnly": false,
"requiresConfirmation": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"requestType": {
"type": "string",
"enum": [
"community",
"company"
]
},
"title": {
"type": "string",
"minLength": 4,
"maxLength": 140
},
"summary": {
"type": "string",
"minLength": 20,
"maxLength": 2000
},
"impact": {
"type": "string",
"maxLength": 1000
},
"budgetContext": {
"type": "string",
"maxLength": 500
}
},
"required": [
"title",
"summary"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by Create build request.",
"additionalProperties": true
},
"destructive": false,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"title": "example",
"summary": "examplexxxxxxxxxxxxx"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/build-requests",
"body": {
"title": "example",
"summary": "examplexxxxxxxxxxxxx"
}
},
"effects": "May change state through POST /api/developer-console/build-requests. 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/developer-console/build-requests",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "review.submissions.list",
"title": "List app submissions",
"description": "List app submissions awaiting review.",
"method": "GET",
"path": "/api/developer-console/review/app-submissions",
"permission": "review:read",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by List app submissions.",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/review/app-submissions",
"body": null
},
"effects": "Reads state through GET /api/developer-console/review/app-submissions 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/developer-console/review/app-submissions",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "review.submissions.review",
"title": "Review app submission",
"description": "Review an app submission.",
"method": "POST",
"path": "/api/developer-console/review/app-submissions/{submissionId}/review",
"permission": "review:write",
"readOnly": false,
"requiresConfirmation": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"submissionId": {
"type": "string",
"minLength": 1
},
"status": {
"type": "string",
"enum": [
"pending",
"in_review",
"approved",
"rejected",
"requires_changes"
]
},
"rejectionReason": {
"type": "string",
"maxLength": 1000
}
},
"required": [
"submissionId",
"status"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by Review app submission.",
"additionalProperties": true
},
"destructive": false,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"submissionId": "example",
"status": "pending"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/review/app-submissions/example/review",
"body": {
"submissionId": "example",
"status": "pending"
}
},
"effects": "May change state through POST /api/developer-console/review/app-submissions/{submissionId}/review. 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/developer-console/review/app-submissions/*/review",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "catalog.embeddings.sync",
"title": "Sync catalog embeddings",
"description": "Process one bounded page of stale, selected, or all catalog application embeddings.",
"method": "POST",
"path": "/api/catalog/embeddings",
"permission": "marketplace:write",
"readOnly": false,
"requiresConfirmation": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]{1,256}$"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"all": {
"type": "boolean"
},
"appId": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"properties": {
"ok": {
"type": "boolean"
},
"embedded": {
"type": "integer"
},
"failed": {
"type": "integer"
},
"scanned": {
"type": "integer"
},
"page": {
"type": "object",
"additionalProperties": true
}
},
"required": [
"ok",
"embedded",
"failed",
"scanned",
"page"
],
"additionalProperties": true
},
"destructive": false,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"cursor": "2026-01-01",
"limit": 1,
"all": true
},
"cli_example": [
"topolo actions --service topolo-developers --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/catalog/embeddings",
"body": {
"cursor": "2026-01-01",
"limit": 1,
"all": true
}
},
"effects": "May change state through POST /api/catalog/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/catalog/embeddings",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "catalog.registry.reconcile",
"title": "Reconcile catalog registry projection",
"description": "Republish one developer application into the public catalog projection.",
"method": "POST",
"path": "/api/internal/registry-reconcile",
"permission": "marketplace:write",
"readOnly": false,
"requiresConfirmation": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1
}
},
"required": [
"appId"
],
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"properties": {
"source": {
"type": "string",
"const": "developer-apps"
},
"operation": {
"type": "string",
"const": "registry-reconcile"
},
"appId": {
"type": "string",
"minLength": 1
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 1
},
"published": {
"type": "integer",
"minimum": 0,
"maximum": 1
},
"skipped": {
"type": "integer",
"minimum": 0,
"maximum": 1
},
"skippedAppIds": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 1
},
"failed": {
"type": "integer",
"minimum": 0,
"maximum": 1
},
"failures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"appId": {
"type": "string"
},
"error": {
"type": "string"
}
},
"required": [
"appId",
"error"
],
"additionalProperties": false
},
"maxItems": 1
},
"page": {
"type": "object",
"properties": {
"nextCursor": {
"type": "null"
},
"hasMore": {
"type": "boolean",
"const": false
}
},
"required": [
"nextCursor",
"hasMore"
],
"additionalProperties": false
}
},
"required": [
"source",
"operation",
"appId",
"total",
"published",
"skipped",
"skippedAppIds",
"failed",
"failures",
"page"
],
"additionalProperties": false
},
"destructive": false,
"agentAccess": "confirm",
"authorizationMode": "static",
"agentContract": {
"docsUrl": "https://docs.topolo.app/reference/actions?service=topolo-developers&action=catalog.registry.reconcile",
"resource": {
"kind": "catalog_application",
"idPath": "$.appId"
},
"effects": [
"Republishes the current developer application metadata into the public catalog projection for exactly one app."
],
"examples": [
{
"input": {
"appId": "app_topolo_example"
}
}
],
"errors": [
{
"status": 401,
"code": "authentication_required",
"recovery": "Authenticate again with the intended Topolo environment."
},
{
"status": 403,
"code": "permission_denied",
"recovery": "Use a credential with marketplace:write permission for Topolo Developers."
},
{
"status": 422,
"code": "invalid_input",
"recovery": "Provide exactly one non-empty appId and validate the action before retrying."
},
{
"status": 502,
"code": "registry_reconcile_failed",
"recovery": "Inspect the returned failure for the selected app, correct its source metadata, and retry the unchanged appId."
}
],
"verify": [
"Call app_topolo_developers.catalog.search with q equal to the appId and confirm the returned catalog entry matches the current developer application metadata."
],
"nextActionIds": [
"app_topolo_developers.catalog.search"
]
},
"documentation": {
"example_input": {
"appId": "app_topolo_example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/internal/registry-reconcile",
"body": {
"appId": "app_topolo_example"
}
},
"effects": "Republishes the current developer application metadata into the public catalog projection for exactly one app.",
"verification": [
"Call app_topolo_developers.catalog.search with q equal to the appId and confirm the returned catalog entry matches the current developer application metadata."
],
"recovery": [
"401 authentication_required: Authenticate again with the intended Topolo environment.",
"403 permission_denied: Use a credential with marketplace:write permission for Topolo Developers.",
"422 invalid_input: Provide exactly one non-empty appId and validate the action before retrying.",
"502 registry_reconcile_failed: Inspect the returned failure for the selected app, correct its source metadata, and retry the unchanged appId."
],
"docs_url": "https://docs.topolo.app/reference/actions?service=topolo-developers&action=catalog.registry.reconcile",
"resource": {
"kind": "catalog_application",
"idPath": "$.appId"
},
"next_action_ids": [
"app_topolo_developers.catalog.search"
],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "POST /api/internal/registry-reconcile",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "notifications.catalog.list",
"title": "List notification contracts",
"description": "Search the app-owned notification event and projection catalog.",
"method": "GET",
"path": "/api/catalog/notifications",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"q": {
"type": "string"
},
"app": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"draft",
"published",
"deprecated"
]
},
"deliveryClass": {
"type": "string",
"enum": [
"automation",
"notification",
"action",
"transactional"
]
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"cursor": {
"type": "string"
}
},
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"required": [
"notifications",
"count",
"page"
],
"properties": {
"notifications": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"count": {
"type": "integer"
},
"page": {
"type": "object",
"additionalProperties": true
}
},
"additionalProperties": false
},
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"authorizationMode": "public",
"documentation": {
"example_input": {
"q": "example",
"app": "example",
"status": "draft"
},
"cli_example": [
"topolo actions --service topolo-developers --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/catalog/notifications",
"body": null
},
"effects": "Reads state through GET /api/catalog/notifications 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/catalog/notifications",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "catalog.search",
"title": "Search app catalog",
"description": "Search the live app catalog.",
"method": "GET",
"path": "/api/catalog/search",
"readOnly": true,
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"q": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 40
}
},
"additionalProperties": false
},
"target": "api",
"outputSchema": {
"type": "object",
"description": "Response returned by Search app catalog.",
"additionalProperties": true
},
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"authorizationMode": "public",
"documentation": {
"example_input": {
"q": "example",
"limit": 1
},
"cli_example": [
"topolo actions --service topolo-developers --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/catalog/search",
"body": null
},
"effects": "Reads state through GET /api/catalog/search without a declared mutation.",
"verification": [
"Check the structured action result and pagination or resource identifiers before using it downstream."
],
"recovery": [
"Correct identity, resource context, permission, or input validation failures, then retry the read."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "GET /api/catalog/search",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "workspace.summary.get",
"title": "workspace summary get",
"description": "Execute workspace.summary.get in Topolo Developers.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/summary",
"permission": "apps:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/summary",
"body": null
},
"effects": "Reads state through GET /api/developer-console/summary 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/developer-console/summary",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "workspace.onboarding.get",
"title": "workspace onboarding get",
"description": "Execute workspace.onboarding.get in Topolo Developers.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/onboarding",
"permission": "apps:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/onboarding",
"body": null
},
"effects": "Reads state through GET /api/developer-console/onboarding 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/developer-console/onboarding",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "workspace.onboarding.update",
"title": "workspace onboarding update",
"description": "Execute workspace.onboarding.update in Topolo Developers.",
"target": "api",
"method": "PUT",
"path": "/api/developer-console/onboarding",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/onboarding",
"body": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
}
},
"effects": "May change state through PUT /api/developer-console/onboarding. 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/developer-console/onboarding",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.scaffold",
"title": "apps scaffold",
"description": "Execute apps.scaffold in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/apps/scaffold",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/scaffold",
"body": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps/scaffold. 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/developer-console/apps/scaffold",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.reconcile",
"title": "Reconcile application registration",
"description": "Check or apply a declarative third-party application registration for the authenticated developer organization.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/apps/reconcile",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {},
"mode": {
"type": "string",
"enum": [
"check",
"apply"
]
},
"healthcheckPath": {},
"callbackUrls": {
"type": "array",
"items": {
"type": "string"
}
},
"requestedScopes": {
"type": "array",
"items": {
"type": "string"
}
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
}
},
"marketplace": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"notifications": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"actions": {
"type": "array",
"maxItems": 250,
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/reconcile",
"body": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps/reconcile. 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/developer-console/apps/reconcile",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.claim_transfer",
"title": "apps claim transfer",
"description": "Execute apps.claim_transfer in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/apps/claim-transfer",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/claim-transfer",
"body": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps/claim-transfer. 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/developer-console/apps/claim-transfer",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.transfer",
"title": "apps transfer",
"description": "Execute apps.transfer in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/apps/{appId}/transfer",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/transfer",
"body": {
"appId": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps/{appId}/transfer. 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/developer-console/apps/*/transfer",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.icon.upload",
"title": "apps icon upload",
"description": "Execute apps.icon.upload in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/apps/{appId}/icon",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1
},
"contentBase64": {
"type": "string",
"minLength": 1,
"maxLength": 350000
},
"contentType": {
"type": "string",
"enum": [
"image/svg+xml",
"image/png",
"image/jpeg",
"image/webp"
]
},
"fileName": {
"type": "string",
"minLength": 1
}
},
"required": [
"appId",
"contentBase64",
"contentType",
"fileName"
],
"additionalProperties": false
},
"agentContract": {
"upload": {
"profile": "inline-base64",
"contentField": "contentBase64",
"contentTypeField": "contentType",
"fileNameField": "fileName",
"maxBytes": 262144,
"acceptedContentTypes": [
"image/svg+xml",
"image/png",
"image/jpeg",
"image/webp"
]
}
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example",
"contentBase64": "example",
"contentType": "image/svg+xml",
"fileName": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/icon",
"body": {
"appId": "example",
"contentBase64": "example",
"contentType": "image/svg+xml",
"fileName": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps/{appId}/icon. 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/developer-console/apps/*/icon",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.marketing.get",
"title": "apps marketing get",
"description": "Execute apps.marketing.get in Topolo Developers.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/apps/{appId}/marketing",
"permission": "apps:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/marketing",
"body": null
},
"effects": "Reads state through GET /api/developer-console/apps/{appId}/marketing 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/developer-console/apps/*/marketing",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.marketing.update",
"title": "apps marketing update",
"description": "Execute apps.marketing.update in Topolo Developers.",
"target": "api",
"method": "PUT",
"path": "/api/developer-console/apps/{appId}/marketing",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {
"type": "string",
"minLength": 130,
"maxLength": 200
},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroMedia": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"image",
"video"
]
},
"src": {
"type": "string",
"format": "uri"
},
"alt": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"poster": {
"type": "string",
"format": "uri"
},
"caption": {
"type": "string",
"maxLength": 400
}
},
"required": [
"type",
"src",
"alt"
],
"additionalProperties": false
},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {
"type": "string",
"enum": [
"active",
"preview",
"platform",
"community"
]
},
"subcategory": {
"type": "string"
},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {},
"marketplaceCategory": {
"type": "string"
},
"stageLabel": {
"type": "string"
},
"surface": {
"type": "string"
},
"shortBlurb": {
"type": "string"
},
"tagline": {
"type": "string"
},
"problemStatement": {
"type": "string"
},
"solutionStatement": {
"type": "string"
},
"docsUrl": {
"type": "string"
},
"appUrl": {
"type": "string"
},
"gallery": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"image",
"video"
]
},
"src": {
"type": "string",
"format": "uri"
},
"alt": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"poster": {
"type": "string",
"format": "uri"
},
"caption": {
"type": "string",
"maxLength": 400
}
},
"required": [
"type",
"src",
"alt"
],
"additionalProperties": false
}
},
"benefits": {},
"features": {},
"stats": {},
"gettingStarted": {},
"worksWellWith": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/marketing",
"body": {
"appId": "example"
}
},
"effects": "May change state through PUT /api/developer-console/apps/{appId}/marketing. 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/developer-console/apps/*/marketing",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.mobile_artifacts.list",
"title": "apps mobile artifacts list",
"description": "Execute apps.mobile_artifacts.list in Topolo Developers.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/apps/{appId}/mobile-artifacts",
"permission": "apps:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/mobile-artifacts",
"body": null
},
"effects": "Reads state through GET /api/developer-console/apps/{appId}/mobile-artifacts 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/developer-console/apps/*/mobile-artifacts",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.mobile_artifacts.create",
"title": "apps mobile artifacts create",
"description": "Execute apps.mobile_artifacts.create in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/apps/{appId}/mobile-artifacts",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1
},
"platform": {
"type": "string",
"enum": [
"android",
"ios"
]
},
"releaseTrack": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"packageName": {
"type": "string",
"minLength": 1
},
"bundleId": {
"type": "string",
"minLength": 1
},
"versionName": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"buildNumber": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"artifactType": {
"type": "string",
"enum": [
"metadata",
"apk",
"aab",
"ipa",
"app_store",
"testflight"
]
},
"artifactUrl": {
"type": "string",
"format": "uri"
},
"checksumSha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"status": {
"type": "string",
"enum": [
"draft",
"submitted",
"approved",
"published",
"retired"
]
},
"minimumOsVersion": {
"type": "string",
"minLength": 1,
"maxLength": 40
},
"supportedDeviceClasses": {
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"distributionChannel": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"catalogCategory": {
"type": "string",
"enum": [
"system-apps",
"topolo-store",
"topolo-apps",
"apkList"
]
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"appId",
"platform",
"versionName",
"artifactType"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example",
"platform": "android",
"versionName": "example",
"artifactType": "metadata"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/mobile-artifacts",
"body": {
"appId": "example",
"platform": "android",
"versionName": "example",
"artifactType": "metadata"
}
},
"effects": "May change state through POST /api/developer-console/apps/{appId}/mobile-artifacts. 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/developer-console/apps/*/mobile-artifacts",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.native_mobile_experience.update",
"title": "apps native mobile experience update",
"description": "Execute apps.native_mobile_experience.update in Topolo Developers.",
"target": "api",
"method": "PUT",
"path": "/api/developer-console/apps/{appId}/native-mobile-experience",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/native-mobile-experience",
"body": {
"appId": "example"
}
},
"effects": "May change state through PUT /api/developer-console/apps/{appId}/native-mobile-experience. 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/developer-console/apps/*/native-mobile-experience",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.native_mobile_experience.delete",
"title": "apps native mobile experience delete",
"description": "Execute apps.native_mobile_experience.delete in Topolo Developers.",
"target": "api",
"method": "DELETE",
"path": "/api/developer-console/apps/{appId}/native-mobile-experience",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": true,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/native-mobile-experience",
"body": null
},
"effects": "May change state through DELETE /api/developer-console/apps/{appId}/native-mobile-experience. 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/developer-console/apps/*/native-mobile-experience",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.actions.list",
"title": "apps actions list",
"description": "Execute apps.actions.list in Topolo Developers.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/apps/{appId}/actions",
"permission": "apps:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/actions",
"body": null
},
"effects": "Reads state through GET /api/developer-console/apps/{appId}/actions 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/developer-console/apps/*/actions",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.actions.create",
"title": "apps actions create",
"description": "Execute apps.actions.create in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/apps/{appId}/actions",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/actions",
"body": {
"appId": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps/{appId}/actions. 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/developer-console/apps/*/actions",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.actions.publish",
"title": "apps actions publish",
"description": "Execute apps.actions.publish in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/apps/{appId}/actions/{actionId}/publish",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {
"type": "string",
"minLength": 1
},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId",
"actionId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example",
"actionId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/actions/example/publish",
"body": {
"appId": "example",
"actionId": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps/{appId}/actions/{actionId}/publish. Inspect the plan and honor the published confirmation policy.",
"verification": [
"Check the structured action result.",
"Read the affected resource back through the corresponding get or list action."
],
"recovery": [
"Do not retry an ambiguous mutation until a read confirms whether it applied.",
"Use a published inverse, update, archive, or delete action only after inspecting its contract."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "POST /api/developer-console/apps/*/actions/*/publish",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.api_key_resources.list",
"title": "apps api key resources list",
"description": "Execute apps.api_key_resources.list in Topolo Developers.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/apps/{appId}/api-key-resources",
"permission": "apps:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/api-key-resources",
"body": null
},
"effects": "Reads state through GET /api/developer-console/apps/{appId}/api-key-resources 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/developer-console/apps/*/api-key-resources",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.api_key_resources.update",
"title": "apps api key resources update",
"description": "Execute apps.api_key_resources.update in Topolo Developers.",
"target": "api",
"method": "PUT",
"path": "/api/developer-console/apps/{appId}/api-key-resources",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/api-key-resources",
"body": {
"appId": "example"
}
},
"effects": "May change state through PUT /api/developer-console/apps/{appId}/api-key-resources. 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/developer-console/apps/*/api-key-resources",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.api_key_resources.publish",
"title": "apps api key resources publish",
"description": "Execute apps.api_key_resources.publish in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/apps/{appId}/api-key-resources/publish",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/api-key-resources/publish",
"body": {
"appId": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps/{appId}/api-key-resources/publish. Inspect the plan and honor the published confirmation policy.",
"verification": [
"Check the structured action result.",
"Read the affected resource back through the corresponding get or list action."
],
"recovery": [
"Do not retry an ambiguous mutation until a read confirms whether it applied.",
"Use a published inverse, update, archive, or delete action only after inspecting its contract."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "POST /api/developer-console/apps/*/api-key-resources/publish",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.p2p_capabilities.list",
"title": "apps p2p capabilities list",
"description": "Execute apps.p2p_capabilities.list in Topolo Developers.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/apps/{appId}/p2p-capabilities",
"permission": "apps:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/p2p-capabilities",
"body": null
},
"effects": "Reads state through GET /api/developer-console/apps/{appId}/p2p-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/developer-console/apps/*/p2p-capabilities",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.p2p_capabilities.create",
"title": "apps p2p capabilities create",
"description": "Execute apps.p2p_capabilities.create in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/apps/{appId}/p2p-capabilities",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {},
"pricingModel": {},
"pricingAmountMinor": {},
"currency": {},
"supportedContexts": {},
"trustLevel": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/p2p-capabilities",
"body": {
"appId": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps/{appId}/p2p-capabilities. 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/developer-console/apps/*/p2p-capabilities",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.p2p_capabilities.update",
"title": "apps p2p capabilities update",
"description": "Execute apps.p2p_capabilities.update in Topolo Developers.",
"target": "api",
"method": "PUT",
"path": "/api/developer-console/apps/{appId}/p2p-capabilities/{capabilityId}",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {
"type": "string",
"minLength": 1
},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {},
"pricingModel": {},
"pricingAmountMinor": {},
"currency": {},
"supportedContexts": {},
"trustLevel": {}
},
"required": [
"appId",
"capabilityId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example",
"capabilityId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/p2p-capabilities/example",
"body": {
"appId": "example",
"capabilityId": "example"
}
},
"effects": "May change state through PUT /api/developer-console/apps/{appId}/p2p-capabilities/{capabilityId}. 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/developer-console/apps/*/p2p-capabilities/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "apps.p2p_capabilities.sync",
"title": "apps p2p capabilities sync",
"description": "Execute apps.p2p_capabilities.sync in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/apps/{appId}/p2p-capabilities/{capabilityId}/sync",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {
"type": "string",
"minLength": 1
},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId",
"capabilityId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"appId": "example",
"capabilityId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/apps/example/p2p-capabilities/example/sync",
"body": {
"appId": "example",
"capabilityId": "example"
}
},
"effects": "May change state through POST /api/developer-console/apps/{appId}/p2p-capabilities/{capabilityId}/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/developer-console/apps/*/p2p-capabilities/*/sync",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "review.build_requests.list",
"title": "review build requests list",
"description": "Execute review.build_requests.list in Topolo Developers.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/review/build-requests",
"permission": "review:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/review/build-requests",
"body": null
},
"effects": "Reads state through GET /api/developer-console/review/build-requests 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/developer-console/review/build-requests",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "review.build_requests.review",
"title": "review build requests review",
"description": "Execute review.build_requests.review in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/review/build-requests/{requestId}/review",
"permission": "review:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {
"type": "string",
"minLength": 1
},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"requestId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"requestId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/review/build-requests/example/review",
"body": {
"requestId": "example"
}
},
"effects": "May change state through POST /api/developer-console/review/build-requests/{requestId}/review. 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/developer-console/review/build-requests/*/review",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.marketplace.summary.get",
"title": "admin marketplace summary get",
"description": "Execute admin.marketplace.summary.get in Topolo Developers.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/admin/marketplace/summary",
"permission": "marketplace:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"developersCursor": {
"type": "string"
},
"appsCursor": {
"type": "string"
},
"payoutAccountsCursor": {
"type": "string"
},
"payoutEventsCursor": {
"type": "string"
}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "off",
"documentation": {
"example_input": {
"limit": 1,
"developersCursor": "example",
"appsCursor": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/marketplace/summary",
"body": null
},
"effects": "Reads state through GET /api/developer-console/admin/marketplace/summary 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/developer-console/admin/marketplace/summary",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.developers.update",
"title": "admin developers update",
"description": "Execute admin.developers.update in Topolo Developers.",
"target": "api",
"method": "PUT",
"path": "/api/developer-console/admin/developers/{developerId}",
"permission": "marketplace:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {
"type": "string",
"minLength": 1
},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {},
"reviewState": {}
},
"required": [
"developerId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"developerId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/developers/example",
"body": {
"developerId": "example"
}
},
"effects": "May change state through PUT /api/developer-console/admin/developers/{developerId}. 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/developer-console/admin/developers/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.platform_app_scaffolds.create",
"title": "admin platform app scaffolds create",
"description": "Execute admin.platform_app_scaffolds.create in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/admin/platform-app-scaffolds",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/platform-app-scaffolds",
"body": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
}
},
"effects": "May change state through POST /api/developer-console/admin/platform-app-scaffolds. 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/developer-console/admin/platform-app-scaffolds",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.first_party_app_scaffolds.create",
"title": "admin first party app scaffolds create",
"description": "Execute admin.first_party_app_scaffolds.create in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/admin/first-party-app-scaffolds",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/first-party-app-scaffolds",
"body": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
}
},
"effects": "May change state through POST /api/developer-console/admin/first-party-app-scaffolds. 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/developer-console/admin/first-party-app-scaffolds",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.apps.reconcile",
"title": "Reconcile first-party application registration",
"description": "Check or apply a declarative first-party application registration and its catalog and Auth projections.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/admin/apps/reconcile",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {},
"mode": {
"type": "string",
"enum": [
"check",
"apply"
]
},
"healthcheckPath": {},
"callbackUrls": {
"type": "array",
"items": {
"type": "string"
}
},
"requestedScopes": {
"type": "array",
"items": {
"type": "string"
}
},
"capabilities": {
"type": "array",
"items": {
"type": "string"
}
},
"marketplace": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"notifications": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
{
"type": "null"
}
]
},
"actions": {
"type": "array",
"maxItems": 250,
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/apps/reconcile",
"body": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
}
},
"effects": "May change state through POST /api/developer-console/admin/apps/reconcile. 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/developer-console/admin/apps/reconcile",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.apps.catalog_projection.delete",
"title": "Retire orphan application catalog registration",
"description": "Archive an exactly matched orphan developer application when explicitly requested, then permanently remove its public catalog directory row and per-app manifest partition.",
"target": "api",
"method": "DELETE",
"path": "/api/developer-console/admin/apps/{appId}/catalog-projection",
"permission": "apps:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"appId": {
"type": "string",
"minLength": 1
},
"expectedSlug": {
"type": "string",
"minLength": 1
},
"archiveActive": {
"description": "Must be true to archive a matching active developer application before its public catalog projection is removed.",
"type": "boolean"
}
},
"required": [
"appId",
"expectedSlug"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": true,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"appId": "example",
"expectedSlug": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/apps/example/catalog-projection",
"body": null
},
"effects": "May change state through DELETE /api/developer-console/admin/apps/{appId}/catalog-projection. 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/developer-console/admin/apps/*/catalog-projection",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.apps.marketing.update",
"title": "admin apps marketing update",
"description": "Execute admin.apps.marketing.update in Topolo Developers.",
"target": "api",
"method": "PUT",
"path": "/api/developer-console/admin/apps/{appId}/marketing",
"permission": "marketplace:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {
"type": "string",
"minLength": 130,
"maxLength": 200
},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroMedia": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"image",
"video"
]
},
"src": {
"type": "string",
"format": "uri"
},
"alt": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"poster": {
"type": "string",
"format": "uri"
},
"caption": {
"type": "string",
"maxLength": 400
}
},
"required": [
"type",
"src",
"alt"
],
"additionalProperties": false
},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {
"type": "string",
"enum": [
"active",
"preview",
"platform",
"community"
]
},
"subcategory": {
"type": "string"
},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {},
"marketplaceCategory": {
"type": "string"
},
"stageLabel": {
"type": "string"
},
"surface": {
"type": "string"
},
"shortBlurb": {
"type": "string"
},
"tagline": {
"type": "string"
},
"problemStatement": {
"type": "string"
},
"solutionStatement": {
"type": "string"
},
"docsUrl": {
"type": "string"
},
"appUrl": {
"type": "string"
},
"gallery": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"image",
"video"
]
},
"src": {
"type": "string",
"format": "uri"
},
"alt": {
"type": "string",
"minLength": 1,
"maxLength": 240
},
"poster": {
"type": "string",
"format": "uri"
},
"caption": {
"type": "string",
"maxLength": 400
}
},
"required": [
"type",
"src",
"alt"
],
"additionalProperties": false
}
},
"benefits": {},
"features": {},
"stats": {},
"gettingStarted": {},
"worksWellWith": {}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/apps/example/marketing",
"body": {
"appId": "example"
}
},
"effects": "May change state through PUT /api/developer-console/admin/apps/{appId}/marketing. 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/developer-console/admin/apps/*/marketing",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.apps.marketplace.update",
"title": "admin apps marketplace update",
"description": "Execute admin.apps.marketplace.update in Topolo Developers.",
"target": "api",
"method": "PUT",
"path": "/api/developer-console/admin/apps/{appId}/marketplace",
"permission": "marketplace:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {
"anyOf": [
{
"type": "number"
},
{
"type": "string",
"const": ""
},
{
"type": "null"
}
]
},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {
"type": "string",
"enum": [
"included",
"free",
"paid",
"request",
"external"
]
},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {},
"currency": {
"type": "string",
"minLength": 3,
"maxLength": 3
},
"billingInterval": {
"type": "string",
"enum": [
"monthly",
"annual",
"one_time"
]
},
"priceLabel": {
"type": "string",
"maxLength": 80
},
"catalogListingState": {
"type": "string",
"enum": [
"draft",
"developer_only",
"internal",
"unlisted",
"public",
"retired"
]
},
"runtimeState": {
"type": "string",
"enum": [
"healthy",
"disabled",
"sunset"
]
},
"checkoutStatus": {
"type": "string",
"enum": [
"not_configured",
"ready",
"blocked"
]
},
"platformFeeBps": {
"type": "integer",
"minimum": 0,
"maximum": 10000
}
},
"required": [
"appId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"appId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/apps/example/marketplace",
"body": {
"appId": "example"
}
},
"effects": "May change state through PUT /api/developer-console/admin/apps/{appId}/marketplace. 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/developer-console/admin/apps/*/marketplace",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.payout_accounts.update",
"title": "admin payout accounts update",
"description": "Execute admin.payout_accounts.update in Topolo Developers.",
"target": "api",
"method": "PUT",
"path": "/api/developer-console/admin/payout-accounts/{developerId}",
"permission": "marketplace:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {
"type": "string",
"minLength": 1
},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {},
"provider": {},
"accountReference": {},
"defaultCurrency": {},
"payoutSchedule": {}
},
"required": [
"developerId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"developerId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/payout-accounts/example",
"body": {
"developerId": "example"
}
},
"effects": "May change state through PUT /api/developer-console/admin/payout-accounts/{developerId}. 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/developer-console/admin/payout-accounts/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.payout_events.create",
"title": "admin payout events create",
"description": "Execute admin.payout_events.create in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/admin/payout-events",
"permission": "marketplace:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {},
"eventType": {},
"amount": {},
"currency": {}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/payout-events",
"body": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
}
},
"effects": "May change state through POST /api/developer-console/admin/payout-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 /api/developer-console/admin/payout-events",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.catalog.get",
"title": "admin catalog get",
"description": "Execute admin.catalog.get in Topolo Developers.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/admin/catalog",
"permission": "marketplace:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"resource": {
"type": "string",
"enum": [
"collections",
"apps"
]
},
"cursor": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"query": {
"type": "string"
}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "off",
"documentation": {
"example_input": {
"resource": "collections",
"cursor": "example",
"limit": 1
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/catalog",
"body": null
},
"effects": "Reads state through GET /api/developer-console/admin/catalog 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/developer-console/admin/catalog",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.catalog.collections.create",
"title": "admin catalog collections create",
"description": "Execute admin.catalog.collections.create in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/admin/catalog/collections",
"permission": "marketplace:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/catalog/collections",
"body": {
"action": "example",
"apiKeyResources": "example",
"appDir": "example"
}
},
"effects": "May change state through POST /api/developer-console/admin/catalog/collections. 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/developer-console/admin/catalog/collections",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.catalog.collections.update",
"title": "admin catalog collections update",
"description": "Execute admin.catalog.collections.update in Topolo Developers.",
"target": "api",
"method": "PUT",
"path": "/api/developer-console/admin/catalog/collections/{collectionId}",
"permission": "marketplace:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {
"type": "string",
"minLength": 1
},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"collectionId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"collectionId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/catalog/collections/example",
"body": {
"collectionId": "example"
}
},
"effects": "May change state through PUT /api/developer-console/admin/catalog/collections/{collectionId}. 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/developer-console/admin/catalog/collections/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.catalog.collections.apps.list",
"title": "admin catalog collections apps list",
"description": "Execute admin.catalog.collections.apps.list in Topolo Developers.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/admin/catalog/collections/{collectionId}/apps",
"permission": "marketplace:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"collectionId": {
"type": "string",
"minLength": 1
},
"cursor": {
"type": "string"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100
},
"query": {
"type": "string"
}
},
"required": [
"collectionId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "off",
"documentation": {
"example_input": {
"collectionId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/catalog/collections/example/apps",
"body": null
},
"effects": "Reads state through GET /api/developer-console/admin/catalog/collections/{collectionId}/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/developer-console/admin/catalog/collections/*/apps",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.catalog.collections.apps.add",
"title": "admin catalog collections apps add",
"description": "Execute admin.catalog.collections.apps.add in Topolo Developers.",
"target": "api",
"method": "POST",
"path": "/api/developer-console/admin/catalog/collections/{collectionId}/apps",
"permission": "marketplace:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {
"type": "string",
"minLength": 1
},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"collectionId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": false,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"collectionId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/catalog/collections/example/apps",
"body": {
"collectionId": "example"
}
},
"effects": "May change state through POST /api/developer-console/admin/catalog/collections/{collectionId}/apps. 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/developer-console/admin/catalog/collections/*/apps",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "admin.catalog.collections.apps.remove",
"title": "admin catalog collections apps remove",
"description": "Execute admin.catalog.collections.apps.remove in Topolo Developers.",
"target": "api",
"method": "DELETE",
"path": "/api/developer-console/admin/catalog/collections/{collectionId}/apps/{appId}",
"permission": "marketplace:write",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"action": {},
"apiKeyResources": {},
"appDir": {},
"appId": {
"type": "string",
"minLength": 1
},
"appIdea": {},
"appStatus": {},
"applicationId": {},
"audience": {},
"budgetContext": {},
"category": {},
"communityBenefitIdea": {},
"companyName": {},
"companySpecificNeeds": {},
"containerAppId": {},
"demoUrl": {},
"description": {},
"descriptor": {},
"distributionModel": {},
"eyebrow": {},
"featured": {},
"firstAppCategory": {},
"firstAppName": {},
"heroImage": {},
"heroMedia": {},
"id": {},
"impact": {},
"intent": {},
"launcherQuickLinks": {},
"location": {},
"members": {},
"mobileExperience": {},
"monthlyPrice": {},
"name": {},
"notes": {},
"onboardingConfirmed": {},
"onboardingState": {},
"onboardingStep": {},
"operationalContactEmail": {},
"operationalContactName": {},
"ownerType": {},
"packageName": {},
"planPreference": {},
"portfolio": {},
"pricingType": {},
"productionUrl": {},
"rejectionReason": {},
"repoUrl": {},
"requestType": {},
"resources": {},
"reviewNotes": {},
"screenshots": {},
"serviceSlug": {},
"slug": {},
"sortOrder": {},
"source": {},
"status": {},
"subcategory": {},
"summary": {},
"supportEmail": {},
"surfaceModel": {},
"tags": {},
"tenancy": {},
"title": {},
"transferCode": {},
"useCase": {},
"version": {},
"websiteUrl": {},
"actionId": {},
"capabilityId": {},
"collectionId": {
"type": "string",
"minLength": 1
},
"developerId": {},
"requestId": {},
"submissionId": {},
"inputSchema": {},
"outputSchema": {},
"method": {},
"path": {},
"permission": {},
"readOnly": {},
"destructive": {},
"requiresConfirmation": {},
"agentAccess": {}
},
"required": [
"appId",
"collectionId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": true,
"requiresConfirmation": true,
"agentAccess": "off",
"documentation": {
"example_input": {
"appId": "example",
"collectionId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/admin/catalog/collections/example/apps/example",
"body": null
},
"effects": "May change state through DELETE /api/developer-console/admin/catalog/collections/{collectionId}/apps/{appId}. 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/developer-console/admin/catalog/collections/*/apps/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "workspaces.data.export",
"title": "Export workspace data",
"description": "Export the selected workspace data owned by Topolo Developers with credential fields redacted.",
"target": "api",
"method": "GET",
"path": "/api/developer-console/workspaces/{workspaceId}/data",
"permission": "workspace:read",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1
}
},
"required": [
"workspaceId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": true,
"destructive": false,
"requiresConfirmation": false,
"agentAccess": "auto",
"documentation": {
"example_input": {
"workspaceId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/workspaces/example/data",
"body": null
},
"effects": "Reads state through GET /api/developer-console/workspaces/{workspaceId}/data 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/developer-console/workspaces/*/data",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "workspaces.data.erase",
"title": "Erase workspace data",
"description": "Permanently erase the selected workspace data and derived projections owned by Topolo Developers.",
"target": "api",
"method": "DELETE",
"path": "/api/developer-console/workspaces/{workspaceId}/data",
"permission": "workspace:delete",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1
}
},
"required": [
"workspaceId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": true,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"workspaceId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/workspaces/example/data",
"body": null
},
"effects": "May change state through DELETE /api/developer-console/workspaces/{workspaceId}/data. 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/developer-console/workspaces/*/data",
"evidence": "Matched to a served route extracted from canonical staging source."
}
},
{
"name": "workspaces.delete",
"title": "workspaces delete",
"description": "Manage app-local workspaces in Topolo Developers.",
"target": "api",
"method": "DELETE",
"path": "/api/developer-console/workspaces/{workspaceId}",
"permission": "workspace:delete",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"workspaceId": {
"type": "string",
"minLength": 1
}
},
"required": [
"workspaceId"
],
"additionalProperties": false
},
"outputSchema": {
"type": "object",
"additionalProperties": true
},
"readOnly": false,
"destructive": true,
"requiresConfirmation": true,
"agentAccess": "confirm",
"documentation": {
"example_input": {
"workspaceId": "example"
},
"cli_example": [
"topolo actions --service topolo-developers --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/developer-console/workspaces/example",
"body": null
},
"effects": "May change state through DELETE /api/developer-console/workspaces/{workspaceId}. Inspect the plan and honor the published confirmation policy.",
"verification": [
"Check the structured action result.",
"Read the affected resource back through the corresponding get or list action."
],
"recovery": [
"Do not retry an ambiguous mutation until a read confirms whether it applied.",
"Use a published inverse, update, archive, or delete action only after inspecting its contract."
],
"docs_url": null,
"resource": null,
"next_action_ids": [],
"rollback_action_id": null
},
"implementation": {
"status": "implemented",
"route_key": "DELETE /api/developer-console/workspaces/*",
"evidence": "Matched to a served route extracted from canonical staging source."
}
}
],
"action_coverage": {
"status": "ok",
"served_routes": 75,
"matched_actions": 59,
"declared_unserved_actions": [],
"coverage_excluded_actions": [],
"uncatalogued_routes": [],
"ignored_routes": 16,
"configured_exclusions": 17,
"configuration_findings": [
"* /api/*: exclusion matches no served route",
"* /run: exclusion matches no served route"
],
"notes": [
"no routes extracted from jobs",
"54 manually-declared route(s)"
]
},
"runtime_contract_audit": {
"status": "verified",
"actions": 59,
"contracts": 59,
"contract_module": "topolo.action-contracts.mjs",
"validator_sources": [
"apps/api/src/worker.ts"
],
"authorization_sources": [
"apps/api/src/worker.ts"
],
"findings": []
}
}
],
"mobile_contracts": [
{
"source_path": "apps/TopoloDevelopers/topolo.mobile-experience.json",
"contract": {
"version": "2026-07-03",
"status": "approved",
"mode": "web",
"webOnly": true,
"appId": "app_topolo_developers",
"localizationNamespace": "developers",
"fallbackPath": "/overview",
"notes": "TopoloDevelopers is the developer portal and catalog/registry control plane (OAuth clients, API credentials, app submissions, review queues, catalog admin, registry reconcile). It is a desktop developer-tooling surface with no first-class mobile use case; it deliberately does not ship a native dynamic-app experience. webOnly opts it out of the TopoloOne native shell while keeping it web-accessible."
}
}
],
"package_manifests": [],
"deployment_configs": [],
"source_signals": {
"api_routes": [
{
"method": "ALL",
"path": "*",
"source_path": "apps/TopoloDevelopers/apps/api/src/worker.ts"
}
],
"ui_routes": [
{
"path": "/api/widget",
"source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
},
{
"path": "/api/developer-console/apps",
"source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
},
{
"path": "/api/developer-console/apps/{appId}",
"source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
},
{
"path": "/api/developer-console/apps/{appId}/submit",
"source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
},
{
"path": "/api/developer-console/build-requests",
"source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
},
{
"path": "/api/developer-console/review/app-submissions",
"source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
},
{
"path": "/api/developer-console/review/app-submissions/{submissionId}/review",
"source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
},
{
"path": "/api/catalog/embeddings",
"source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
},
{
"path": "/api/internal/registry-reconcile",
"source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
},
{
"path": "/api/catalog/search",
"source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
},
{
"path": "/api/catalog/notifications",
"source_path": "apps/TopoloDevelopers/apps/api/src/action-contracts.js"
},
{
"path": "/mobile/actions",
"source_path": "apps/TopoloDevelopers/apps/api/src/registry/reconcile.ts"
},
{
"path": "/overview",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/onboarding",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/getting-started",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/apps",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/apps/:appId",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/notifications",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/credentials",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/developers/oauth-clients",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/requests",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/admin/apps",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/admin/catalog",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/admin/payouts",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/review/app-submissions",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/review/build-requests",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/settings",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/settings/:section",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/signup",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
},
{
"path": "/developers/oauth/consent",
"source_path": "apps/TopoloDevelopers/apps/web/src/App.tsx"
}
],
"test_cases": [],
"database_tables": []
},
"documentation": {
"declared_paths": [
"applications/developers",
"internal/apps/topolo-developers"
],
"present_paths": [
"applications/developers",
"internal/apps/topolo-developers"
],
"missing_paths": [],
"human_reference": "/systems/topolo-developers",
"machine_reference": "/machine/systems/topolo-developers.json",
"action_examples": 59,
"action_schemas": 59
},
"source_findings": [
{
"type": "action_coverage_configuration",
"source_path": "apps/TopoloDevelopers/topolo.app.json",
"detail": [
"* /api/*: exclusion matches no served route",
"* /run: exclusion matches no served route"
]
}
]
}