Outcome
Rename canonical workspace presentation without changing its stable id or slug.
Before you start
-
Verify the credential with topolo whoami --json and inspect the exact published action. Stop on runtime authorization denial; do not widen permissions or switch contexts automatically.
-
Discover the target application and use the organization carried by the credential. A request organizationId is not a context override.
-
Use workspaces.list for the same target application and organization. Inspect policy.canCreate and reason; ownership, application access and permission to create additional workspaces are distinct.
-
Validate and plan the exact request before execution. --confirm is a transport guard; the intended change must already be authorized.
Discover the target
topolo actions get app_topolo_auth.workspaces.rename --detail --json
topolo apps --json
topolo whoami --json
topolo workspaces list topolo-docs --json
Input fields
| Field | Required | Meaning |
|---|---|---|
workspaceId | Yes | Existing canonical workspace identifier from workspaces.list. Preserve its application and organization boundary. |
organizationId | Yes | Active organization identifier from credential identity. It does not override the credential context; conflicting organization selections are refused. |
appId | Yes | Exact target application identifier from credential-scoped discovery. Key grants and workspace policy are evaluated for this application. |
name | Yes | Canonical workspace display name, trimmed and limited to 120 characters. It does not change the stable slug. |
Effects
-
Changes the canonical display name while preserving id, slug, application, organization and ownership.
-
Attempts to announce the rename to the owning application; the response proves the canonical record, not immediate delivery of the announcement.
Interpret the response
data.workspace contains the renamed canonical identity. The stable slug does not follow the new display name. Application-owned projections may need independent verification.
Worked examples
These are raw target-handler responses, not gateway or CLI envelopes. They were captured in a local test with simulated dependencies. Fixture identifiers and credentials are illustrative and cannot authorize a live call. Discover your own organization, application, workspace and key ids. Local CLI/stdio MCP may replace credential strings with protected references; preserve the reference and do not extract the underlying secret.
Minimal example
Input · payload.json:
{
"workspaceId": "ws_created_minimal",
"organizationId": "org_fixture",
"appId": "app_topolo_docs",
"name": "Reviewed integration reference"
}
CLI:
topolo actions validate app_topolo_auth.workspaces.rename --data @payload.json --json
topolo actions plan app_topolo_auth.workspaces.rename --data @payload.json --json
topolo actions call app_topolo_auth.workspaces.rename --data @payload.json --confirm --json
MCP:
{
"tool": "topolo_call_action",
"arguments": {
"actionId": "app_topolo_auth.workspaces.rename",
"input": {
"workspaceId": "ws_created_minimal",
"organizationId": "org_fixture",
"appId": "app_topolo_docs",
"name": "Reviewed integration reference"
},
"confirm": true
}
}
Captured local handler response · HTTP 200:
{
"success": true,
"message": "Workspace renamed",
"data": {
"workspace": {
"id": "ws_created_minimal",
"appId": "app_topolo_docs",
"organizationId": "org_fixture",
"name": "Reviewed integration reference",
"avatar": {
"kind": "preset",
"presetId": "orbit"
},
"slug": "ws_created_minimal",
"status": "active",
"isDefault": false,
"ownerUserId": "usr_fixture",
"createdByUserId": "usr_fixture",
"createdAt": 1,
"updatedAt": 1,
"archivedAt": null
}
},
"timestamp": "2026-10-02T14:48:16.382Z"
}
data.workspace contains the renamed canonical identity. The stable slug does not follow the new display name. Application-owned projections may need independent verification.
Workflow example
Input · payload.json:
{
"workspaceId": "ws_created_workflow",
"organizationId": "org_fixture",
"appId": "app_topolo_docs",
"name": "Reviewed integration reference"
}
CLI:
topolo actions validate app_topolo_auth.workspaces.rename --data @payload.json --json
topolo actions plan app_topolo_auth.workspaces.rename --data @payload.json --json
topolo actions call app_topolo_auth.workspaces.rename --data @payload.json --confirm --json
MCP:
{
"tool": "topolo_call_action",
"arguments": {
"actionId": "app_topolo_auth.workspaces.rename",
"input": {
"workspaceId": "ws_created_workflow",
"organizationId": "org_fixture",
"appId": "app_topolo_docs",
"name": "Reviewed integration reference"
},
"confirm": true
}
}
Captured local handler response · HTTP 200:
{
"success": true,
"message": "Workspace renamed",
"data": {
"workspace": {
"id": "ws_created_workflow",
"appId": "app_topolo_docs",
"organizationId": "org_fixture",
"name": "Reviewed integration reference",
"avatar": {
"kind": "preset",
"presetId": "orbit"
},
"slug": "ws_created_workflow",
"status": "active",
"isDefault": true,
"ownerUserId": "usr_fixture",
"createdByUserId": "usr_fixture",
"createdAt": 1,
"updatedAt": 1,
"archivedAt": null
}
},
"timestamp": "2026-10-02T14:48:16.402Z"
}
data.workspace contains the renamed canonical identity. The stable slug does not follow the new display name. Application-owned projections may need independent verification.
Verify the result
- List workspaces and compare the returned name on the unchanged id and slug. Verify any application-owned name projection separately before claiming complete runtime propagation.
Errors and recovery
Captured local refusal · HTTP 404:
{
"input": {
"workspaceId": "ws_missing_fixture",
"organizationId": "org_fixture",
"appId": "app_topolo_docs",
"name": "Missing workspace"
},
"response": {
"success": false,
"error": {
"message": "Workspace not found",
"code": "NOT_FOUND",
"details": null,
"timestamp": "2026-10-02T14:48:16.393Z"
}
}
}
Save the previous display name. Rediscover the current workspace and plan rename with that reviewed name, preserving the same app/organization/id. This does not change its stable slug.
Evidence boundary
The handler test proves response shape and control flow under the listed simulated dependencies. It does not prove real grant evaluation, durable SQL storage, protected credential-store handoff, target application synchronization or downstream use of a key.