Skip to main content

Namespace API

Namespace endpoints manage the hierarchical organization of tables and views in an Iceberg catalog.

List Namespaces

List all namespaces at a certain level, optionally starting from a parent namespace.

Path Parameters

string
required
Optional prefix for multi-tenant deployments

Query Parameters

string
An optional namespace to list underneath. If not provided, all top-level namespaces are listed.For multi-part namespaces, parts must be separated by the namespace separator (default: %1F).Example: accounting%1Ftax
string
Pagination token from a previous response
integer
Maximum number of namespaces to return

Response

array
required
List of namespace identifiers
string
Token for fetching the next page of results. Null if no more results.

Examples

List top-level namespaces:
List namespaces under a parent:

Create Namespace

Create a new namespace with optional properties.

Path Parameters

string
required
Optional prefix for multi-tenant deployments

Headers

string (uuid)
UUIDv7 for idempotent request handling

Request Body

array
required
Array of strings representing the namespace to createExample: ["accounting", "tax"]
object
String-to-string map of namespace propertiesExample: {"owner": "finance-team"}

Response

array
required
The created namespace identifier
object
Properties of the created namespace (may include server-added properties)

Examples


Load Namespace Metadata

Retrieve metadata properties for a namespace.

Path Parameters

string
required
Optional prefix for multi-tenant deployments
string
required
Namespace identifier. Multi-part namespaces use separator (default: %1F).Examples:
  • accounting - Single-part namespace
  • accounting%1Ftax - Multi-part namespace

Response

array
required
The namespace identifier
object
All stored metadata properties for the namespace

Example


Check Namespace Exists

Check if a namespace exists without retrieving its metadata.

Path Parameters

string
required
Optional prefix for multi-tenant deployments
string
required
Namespace identifier

Response

No response body. Status code indicates existence.

Example

Success:
Not Found:

Update Namespace Properties

Set and/or remove properties on a namespace.

Path Parameters

string
required
Optional prefix for multi-tenant deployments
string
required
Namespace identifier

Headers

string (uuid)
UUIDv7 for idempotent request handling

Request Body

array
List of property keys to remove
object
Map of property keys and values to set or update

Response

array
required
List of property keys that were updated
array
required
List of property keys that were removed
array
List of properties requested for removal that were not found

Example

Properties not in the request are not modified. A key cannot appear in both removals and updates.

Drop Namespace

Delete a namespace from the catalog. The namespace must be empty.

Path Parameters

string
required
Optional prefix for multi-tenant deployments
string
required
Namespace identifier to delete

Headers

string (uuid)
UUIDv7 for idempotent request handling

Response

No response body on success.

Example

Success:
The namespace must be empty (no tables or views). Otherwise, the request returns 409 Conflict.

Status Codes

Success

  • 200 OK - Request successful with response body
  • 204 No Content - Request successful without response body

Client Errors

  • 400 Bad Request - Invalid request format
  • 401 Unauthorized - Authentication required
  • 403 Forbidden - Not authorized
  • 404 Not Found - Namespace does not exist
  • 406 Not Acceptable - Server doesn’t support namespace properties
  • 409 Conflict - Namespace already exists or not empty
  • 419 Authentication Timeout - Authentication expired
  • 422 Unprocessable Entity - Property key in both removals and updates

Server Errors

  • 503 Service Unavailable - Service temporarily unavailable
  • 5XX - Other server errors

Common Use Cases

Create Hierarchical Namespace

List All Namespaces in Hierarchy

Manage Namespace Lifecycle