Create a new Space
Creates a new space with the provided name, labels, and embedder configuration. A space is a container for organizing related memories.
OWNER DEFAULTS: Owner defaults to authenticated user unless ownerId is provided (requires CREATE_SPACE_ANY if differs).
EMBEDDER DEFAULTS: If no embedders are specified, a system-default embedder is attached.
DUPLICATE DETECTION: Returns ALREADY_EXISTS if another space exists with identical {ownerId, name} (case-sensitive). Requires CREATE_SPACE_OWN permission (or CREATE_SPACE_ANY for admin users). This operation is NOT idempotent.
In: header
Space configuration details
The desired name for the space. Must be unique within the user's scope.
"My Research Space"1 <= length <= 255A set of key-value pairs to categorize or tag the space. Used for filtering and organizational purposes.
{"category":"research","project":"ai-embeddings"}properties <= 20Empty Object
List of embedder configurations to associate with this space. Each specifies an embedder ID and a relative default retrieval weight used when no per-request overrides are provided.
[{"embedderId":"a867b266-2f63-485c-897d-3494669db253","defaultRetrievalWeight":1}]1 <= itemsIndicates if the space and its memories can be read by unauthenticated users or users other than the owner. Defaults to false.
falseOptional owner ID. If not provided, derived from the authentication context. Requires CREATE_SPACE_ANY permission if specified.
uuidDefault chunking strategy for memories in this space
Configuration for text chunking strategy used when processing content. Exactly one of none, recursive, or sentence must be provided.
No chunking strategy - preserve original content as single unit
Configuration for text chunking strategy used when processing content. Exactly one of none, recursive, or sentence must be provided.
Recursive hierarchical chunking strategy with configurable separators
{"chunkSize":1000,"chunkOverlap":200,"separators":["\n\n","\n","."," "],"keepStrategy":"KEEP_END","separatorIsRegex":false,"lengthMeasurement":"CHARACTER_COUNT"}Configuration for text chunking strategy used when processing content. Exactly one of none, recursive, or sentence must be provided.
Sentence-based chunking strategy with language detection
{"maxChunkSize":1000,"minChunkSize":100,"enableLanguageDetection":true,"lengthMeasurement":"CHARACTER_COUNT"}Optional client-provided UUID for idempotent creation. If not provided, server generates a new UUID. Returns ALREADY_EXISTS if ID is already in use.
uuidResponse Body
curl -X POST "http://localhost:8080/v1/spaces" \ -H "Content-Type: application/json" \ -d '{ "name": "My Research Space", "labels": { "category": "research", "project": "ai-embeddings" }, "spaceEmbedders": [ { "embedderId": "a867b266-2f63-485c-897d-3494669db253", "defaultRetrievalWeight": 1 } ], "publicRead": false, "defaultChunkingConfig": { "recursive": { "chunkSize": 1000, "chunkOverlap": 200, "separators": [ "\\n\\n", "\\n", ".", " " ], "separatorIsRegex": false, "keepStrategy": "KEEP_END", "lengthMeasurement": "CHARACTER_COUNT" } }, "spaceId": "550e8400-e29b-41d4-a716-446655440000" }'{
"spaceId": "550e8400-e29b-41d4-a716-446655440000",
"name": "Research Project Space",
"labels": {
"project": "AI Research",
"team": "NLP Group"
},
"spaceEmbedders": [
{
"spaceId": "550e8400-e29b-41d4-a716-446655440000",
"embedderId": "550e8400-e29b-41d4-a716-446655440000",
"defaultRetrievalWeight": 1,
"createdAt": 1651483320000,
"updatedAt": 1651483320000,
"createdById": "550e8400-e29b-41d4-a716-446655440000",
"updatedById": "550e8400-e29b-41d4-a716-446655440000"
}
],
"createdAt": 1651483320000,
"updatedAt": 1651483320000,
"ownerId": "550e8400-e29b-41d4-a716-446655440000",
"createdById": "550e8400-e29b-41d4-a716-446655440000",
"updatedById": "550e8400-e29b-41d4-a716-446655440000",
"publicRead": false,
"defaultChunkingConfig": {
"recursive": {
"chunkSize": 1000,
"chunkOverlap": 200,
"separators": [
"\n\n",
"\n",
".",
" "
],
"keepStrategy": "KEEP_END",
"separatorIsRegex": false,
"lengthMeasurement": "CHARACTER_COUNT"
},
"sentence": {
"maxChunkSize": 1000,
"minChunkSize": 100,
"enableLanguageDetection": true,
"lengthMeasurement": "CHARACTER_COUNT"
}
}
}