Migration details
v5 renames the public isolation boundary from container tag to namespace. Existing values remain valid identifiers; no stored data rename is required.Endpoint mapping
GET /ns is an alias for GET /namespaces. Prefer /namespaces in new integrations.
List namespaces
The list is paginated:GET /namespaces?page=1&limit=10 returns {namespaces, pagination}, newest first, with limit up to 100. Each entry now exposes id, namespace, documentCount, memoryCount, nullable description, and system.createdAt/updatedAt. Update readers that still expect containerTag, flat timestamps, or unbounded internal settings.
Read and update settings
namespace, supportingContext, and lifecycle timestamps. Profile buckets have their own /profile/buckets resource and are not namespace settings.
Send supportingContext: null to remove existing context. Omitting the field entirely is invalid because PATCH requires at least one supported setting.
Permanently delete a namespace
moveTo, deletion is synchronous and returns 200 with status: "deleted", deletedDocumentsCount, and deletedMemoriesCount. Branch on status (deleted or queued) to tell the two outcomes apart. This removes the namespace and its content.
Move then remove a namespace
moveTo is a query parameter. This returns 202 with status: "queued" and operationId. The destination must differ from the source. Do not treat acceptance as completed migration.
Legacy merge can accept multiple sources; v5 moves one source per request. Run multi-source migrations sequentially and record each operation independently.
With the SDK
Replace calls to/v3/container-tags/* with supermemory.namespaces:
namespaces.list() returns { namespaces, pagination }, where each namespace is { id, namespace, documentCount, memoryCount, description, system }. A delete without moveTo returns { status: "deleted", namespace, deletedDocumentsCount, deletedMemoriesCount }; with moveTo it returns { status: "queued", operationId, namespace, moveTo }.
Verification
- Confirm existing container-tag values resolve unchanged as namespace paths.
- Compare namespace counts with namespace-scoped document and memory lists.
- Verify a permanent delete returns final counts while a move returns
202. - Verify restricted callers cannot read or mutate namespaces outside their scope.
- Verify only organization-authorized callers can change settings or lifecycle.