Topolo Docs Topolo Platform
Open workspace

Create workspace QR export

Stores a ready JSON snapshot of non-deleted workspace code fields and queues a local export-ready event.

Outcome

Stores a ready JSON snapshot of non-deleted workspace code fields and queues a local export-ready event.

Before you start

  • Verify identity, environment and the intended organization before discovery.
  • Discover the published codes:read permission and the target policy.
  • Select an accessible canonical Auth workspace and set WORKSPACE_ID to its returned id. Workspace binding is separate from input.
  • Review and confirm the exact unchanged plan before execution. Example identifiers grant no live authority.

Discover the target

topolo whoami --json
topolo workspaces list topolo-quro --json
topolo actions get app_topolo_quro.exports.create --detail --json

Request

POST /exports

Inspect parameters and test this action.

Input fields

Use an empty input object. Credential identity and workspace binding are separate.

Worked examples

Actual exported Quro Worker with local Miniflare D1/KV and every committed app/analytics migration. Auth, service tokens, Nexus, destination probes and platform archival are synthetic responses; outbound fetch is sealed. Notifications remain in the local outbox. No live redirect propagation, QR scan, destination health, provider delivery, archival or production erasure is established.

Save reviewed input as payload.json, replacing fixture identifiers through discovery.

topolo actions validate app_topolo_quro.exports.create --data @payload.json --json
topolo actions plan app_topolo_quro.exports.create --resource-type workspace --resource-id "$WORKSPACE_ID" --data @payload.json --confirm --json
topolo actions call app_topolo_quro.exports.create --resource-type workspace --resource-id "$WORKSPACE_ID" --data @payload.json --confirm --detail --json

MCP uses the same reviewed input and separately discovered resource binding:

{
  "tool": "topolo_prepare_action",
  "arguments": {
    "actionId": "app_topolo_quro.exports.create",
    "input": {},
    "resourceType": "workspace",
    "resourceId": "ws_quro_fixture",
    "confirm": true
  }
}
{
  "tool": "topolo_call_action",
  "arguments": {
    "actionId": "app_topolo_quro.exports.create",
    "input": {},
    "resourceType": "workspace",
    "resourceId": "ws_quro_fixture",
    "confirm": true,
    "detail": true
  }
}

Worked response 1 · HTTP 201

Input · payload.json:

{}

Captured SDK response:

{
  "success": true,
  "data": {
    "id": "quroexport_b9687a20-ded1-4f1c-abb6-5cd01f8144f2",
    "record_count": 15,
    "status": "ready",
    "format": "json",
    "created_at": "2026-10-06T11:16:13.625Z"
  }
}

HTTP 201. Read the returned id, record_count, status and format, then download that exact export. Notification queueing does not prove recipient delivery.

Verify the result

  • Read the returned id, record_count, status and format, then download that exact export. Notification queueing does not prove recipient delivery.

Errors and recovery

  • HTTP 401 · auth_error: Authenticate again in the intended environment and organization.
  • HTTP 403 · action_permission_required: Inspect the actual refusal. The action permission and the verified workspace access are both required; a caller cannot name an ungranted workspace.

Inspect the original handler body as well as the SDK error code. These are observed local refusals, not an exhaustive provider-failure list.

Recovery boundary

After uncertainty, retain the returned id if available. There is no published export listing/deletion action; another create produces a new snapshot and event.

  • Download workspace QR export: Downloads a stored ready export as a raw JSON array, with an attachment filename; it is not a success/data envelope or a full organization backup.

Evidence

Actual exported Quro Worker with local Miniflare D1/KV and every committed app/analytics migration. Auth, service tokens, Nexus, destination probes and platform archival are synthetic responses; outbound fetch is sealed. Notifications remain in the local outbox. No live redirect propagation, QR scan, destination health, provider delivery, archival or production erasure is established.