ReferenceAPI ReferenceNamespaces

Namespaces

Namespaces provide logical isolation for pipelines, tables, landing zones, and other resources. Every resource belongs to exactly one namespace. The default namespace always exists and cannot be deleted.

In the Community Edition, namespaces are available but function as organizational groups (no access control). In the Pro Edition, namespaces integrate with the ACL system for multi-tenant access control.


Endpoints

MethodEndpointDescription
GET/api/v1/namespacesList all namespaces
POST/api/v1/namespacesCreate a namespace
PUT/api/v1/namespaces/{name}Update a namespace
DELETE/api/v1/namespaces/{name}Delete a namespace

List Namespaces

GET /api/v1/namespaces

Returns a list of all namespaces.

Request

curl http://localhost:8080/api/v1/namespaces

Response — 200 OK

{
  "namespaces": [
    {
      "name": "default",
      "description": "",
      "created_at": "2026-02-10T10:00:00Z"
    },
    {
      "name": "analytics",
      "description": "Analytics team namespace",
      "created_at": "2026-02-12T10:00:00Z"
    }
  ],
  "total": 2
}

Response Fields

FieldTypeDescription
namespacesarrayList of namespace objects
namespaces[].namestringNamespace name
namespaces[].descriptionstringNamespace description
namespaces[].created_atstringISO 8601 creation timestamp
totalintegerTotal number of namespaces

Create Namespace

POST /api/v1/namespaces

Creates a new namespace.

Request Body

FieldTypeRequiredDescription
namestringYesNamespace name (lowercase, alphanumeric, hyphens)
descriptionstringNoHuman-readable description

Request

curl -X POST http://localhost:8080/api/v1/namespaces \
  -H "Content-Type: application/json" \
  -d '{"name": "analytics", "description": "Analytics team namespace"}'

Response — 201 Created

{
  "name": "analytics",
  "description": "Analytics team namespace",
  "created_at": "2026-02-12T10:00:00Z"
}

Error Responses

StatusCodeDescription
400INVALID_ARGUMENTMissing or invalid name
409ALREADY_EXISTSNamespace already exists

Update Namespace

PUT /api/v1/namespaces/{name}

Updates a namespace’s description.

Path Parameters

ParameterTypeDescription
namestringNamespace name

Request Body

FieldTypeRequiredDescription
descriptionstringYesUpdated description

Request

curl -X PUT http://localhost:8080/api/v1/namespaces/analytics \
  -H "Content-Type: application/json" \
  -d '{"description": "Analytics team namespace — Q1 2026"}'

Response — 204 No Content

No response body.

Error Responses

StatusCodeDescription
400INVALID_ARGUMENTInvalid request body
404NOT_FOUNDNamespace not found

Delete Namespace

DELETE /api/v1/namespaces/{name}

Deletes a namespace. The default namespace is protected and cannot be deleted.

Path Parameters

ParameterTypeDescription
namestringNamespace name

Request

curl -X DELETE http://localhost:8080/api/v1/namespaces/analytics

Response — 204 No Content

No response body.

Error Responses

StatusCodeDescription
403AUTHORIZATIONCannot delete the default namespace
404NOT_FOUNDNamespace not found
⚠️

Deleting a namespace does not automatically delete the pipelines, tables, landing zones, and other resources within it. You must delete those resources first, or they will become orphaned. In the Pro Edition, namespace deletion requires admin permission on the namespace.


Namespace Naming Rules

RuleValidInvalid
Lowercase alphanumericanalyticsAnalytics
Hyphens allowedmy-teammy_team
Must start with a letterteam11team
3-63 charactersdevab
No special charactersdata-teamdata@team