Spaces

5 actions. Each is callable by the agent as a tool, over HTTP via /api/invoke, and (usually) from a UI page.

spaces.list

GET

List the Workspaces (curated nav lenses) in the active team. Every workspace in a team reads the SAME projects/docs/tickets; they differ only in what they pin. Addressed at /w/.

  • AI tool: spaces_list
  • API: GET /api/invoke/spaces.list

Input

No parameters.

JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {}
}

spaces.get

GET

Get one Workspace by id or by its /w/ identifier.

  • AI tool: spaces_get
  • API: GET /api/invoke/spaces.get

Input

Field Type Required Description
id string
key string
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "key": {
      "type": "string"
    }
  }
}

spaces.create

POST · mutating

Create a Workspace lens in the active team. key is the short /w/ identifier (1–100 chars, letters/numbers/-/_, unique per team). Does NOT copy or move data — workspaces are just nav lenses over the shared team data.

  • AI tool: spaces_create
  • API: POST /api/invoke/spaces.create

Input

Field Type Required Description
key string yes
name string yes
icon union
description string
nav any[]
isDefault boolean
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "name": {
      "type": "string",
      "minLength": 1
    },
    "icon": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "description": {
      "type": "string"
    },
    "nav": {
      "type": "array",
      "items": {}
    },
    "isDefault": {
      "type": "boolean"
    }
  },
  "required": [
    "key",
    "name"
  ]
}

spaces.update

PATCH · mutating

Update a Workspace — rename, change its /w/ identifier or icon, reorder/replace its pinned nav, or set it as the team default.

  • AI tool: spaces_update
  • API: PATCH /api/invoke/spaces.update

Input

Field Type Required Description
id string yes
patch object yes
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    },
    "patch": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string",
          "minLength": 1,
          "maxLength": 100
        },
        "name": {
          "type": "string"
        },
        "icon": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        },
        "description": {
          "type": "string"
        },
        "nav": {
          "type": "array",
          "items": {}
        },
        "landing": {},
        "isDefault": {
          "type": "boolean"
        },
        "position": {
          "type": "number"
        }
      }
    }
  },
  "required": [
    "id",
    "patch"
  ]
}

spaces.delete

DELETE · mutating

Delete a Workspace lens. The underlying team data is untouched (workspaces only curate nav). Cannot delete the last workspace in a team.

  • AI tool: spaces_delete
  • API: DELETE /api/invoke/spaces.delete

Input

Field Type Required Description
id string yes
JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "id"
  ]
}