Skip to content

Spaces

A Space is a presentation-layer rename of what the API still calls a team - not a new resource, not a schema change. If you’re already using Canopy, your existing team is your Space; there’s nothing to migrate. The name shows up in the dashboard nav switcher and in a handful of new endpoints (/spaces/* is the exact same router as /teams/*, mounted under both prefixes).

If you only have one team, there’s little reason to think about Spaces as a separate concept at all - the value is in the new capabilities layered on top, described below.

What’s built today

Free-text search across the resources Canopy already knows about for your Space (projects, environments, and other node kinds registered in the engineering graph).

canopy space search "redis" --space <id-or-slug> --kinds environment,database
GET /spaces/:id/search?q=redis&kinds=environment,database

This is Host-only - it doesn’t reach into Cortex-owned data.

Overview

A read-only monitoring roll-up: recent platform events, open incidents, recent builds, and budget status for the Space, in one page. No alerts, no write path - just a dashboard.

canopy space monitor --space <id-or-slug>
GET /spaces/:id/overview

In the dashboard: Spaces → (a Space) → Overview.

Space AI assistant

A chat surface scoped to one Space, backed by a bounded tool loop over the engineering graph (pre-bound to your team and user, so a prompt can’t re-scope itself to another Space). Answers questions like “which environments use Redis?”

canopy space ask "which environments are behind on deploys?" --space <id-or-slug>
POST /spaces/:id/assistant/chat
{ "messages": [...] }

Returns 503 if the assistant isn’t configured for your deployment (same fail-closed behavior as Canopy’s other AI-assistant surfaces) - this isn’t a bug, it means the feature needs an API key set on the server side.

CLI reference

canopy space list
canopy space create <name>
canopy space use <id-or-slug>
canopy space current
canopy space search <query> [--space <id-or-slug>] [--kinds k1,k2]
canopy space monitor [--space <id-or-slug>]
canopy space ask <question> [--space <id-or-slug>]

What’s not built yet

Spaces has more phases planned that aren’t live: automation triggers (binding graph events to workflows), a fuller custom-role permission model, Space-scoped API keys, cross-Space sharing, a canopy space deploy that fans out across every environment in a Space, and a Cortex link-status indicator on the overview page. None of these exist today - don’t build against them.