Skip to main content
A space is one memory store. Its id is its name. These commands take no --space: the space is the argument, or there is none.

spaces list

One space per line: its id (owner:name for one shared with you), who shared it, and its description. GET /v1/spaces/. --json: {"spaces": [{"space_id", "name", "description", "qualified_id", "shared_by", ...}], "total"}.

spaces create

Prints the new space’s id. POST /v1/spaces/. You rarely need this: the first record or documents upload to a space that does not exist creates it. A temporary profile holds exactly one space, so spaces create on one is refused with temp_profile_single_space (exit 4). --json: {"space_id", "name", "description", "created_at", "space_type", ...}.

spaces get

The space’s fields. GET /v1/spaces/{id}. A shared space is addressed by its bare name until that name collides with one of your own; then the API answers space_ambiguous and you use the owner:name form that spaces list shows. --json: {"space_id", "name", "description", "created_at", "qualified_id", "shared_by"}.

spaces delete

Deletes the space and every memory in it, permanently. DELETE /v1/spaces/{id}. Without --yes it exits 2, sends nothing, and says what would have been deleted:
It never asks interactively, because the caller is often an agent with no terminal to answer on. Only the space’s owner can delete it; a member of a shared space gets space_owner_only (exit 4). --json: {"deleted": true, "space_id"}, written by the CLI (the API answers with no body).