Table Format Namespaces API
Namespace (database/schema) management
Operations 5
Documentation
Documentation
https://iceberg.apache.org/rest-catalog-spec/
Documentation
https://www.unitycatalog.io/
Namespace (database/schema) management
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/table-format:table-format-namespaces-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Apache Iceberg REST Catalog Namespaces API
description: The Apache Iceberg REST Catalog API is an open standard (OpenAPI spec) for interacting with Apache Iceberg table catalogs. It provides a common HTTP interface for catalog operations including namespace management, table lifecycle, view management, and metadata operations. Multiple catalog implementations support this specification including Apache Polaris, Project Nessie, AWS Glue, and Google BigLake.
version: 0.0.1
contact:
name: Apache Iceberg Community
url: https://iceberg.apache.org/community/
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://{catalog-host}
description: Iceberg REST Catalog endpoint
variables:
catalog-host:
default: localhost:8181
description: Hostname and port of the Iceberg REST catalog service
security:
- BearerAuth: []
- OAuth2:
- catalog
tags:
- name: Namespaces
description: Namespace (database/schema) management
paths:
/v1/namespaces:
get:
operationId: listNamespaces
summary: List Namespaces
description: List all namespaces. A namespace is a container for tables, analogous to a database or schema.
tags:
- Namespaces
parameters:
- name: parent
in: query
description: Parent namespace (for nested namespaces)
required: false
schema:
type: string
- name: pageToken
in: query
required: false
schema:
type: string
- name: pageSize
in: query
required: false
schema:
type: integer
responses:
'200':
description: List of namespaces
content:
application/json:
schema:
$ref: '#/components/schemas/ListNamespacesResponse'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createNamespace
summary: Create Namespace
description: Create a new namespace with optional properties.
tags:
- Namespaces
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNamespaceRequest'
responses:
'200':
description: Namespace created
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNamespaceResponse'
'409':
$ref: '#/components/responses/Conflict'
/v1/namespaces/{namespace}:
get:
operationId: loadNamespaceMetadata
summary: Get Namespace Metadata
description: Load metadata properties for a namespace.
tags:
- Namespaces
parameters:
- $ref: '#/components/parameters/NamespaceParam'
responses:
'200':
description: Namespace metadata
content:
application/json:
schema:
$ref: '#/components/schemas/GetNamespaceResponse'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: dropNamespace
summary: Drop Namespace
description: Drop a namespace. The namespace must be empty.
tags:
- Namespaces
parameters:
- $ref: '#/components/parameters/NamespaceParam'
responses:
'204':
description: Namespace dropped
'404':
$ref: '#/components/responses/NotFound'
/v1/namespaces/{namespace}/properties:
post:
operationId: updateNamespaceProperties
summary: Update Namespace Properties
description: Set or remove namespace properties.
tags:
- Namespaces
parameters:
- $ref: '#/components/parameters/NamespaceParam'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNamespacePropertiesRequest'
responses:
'200':
description: Properties updated
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateNamespacePropertiesResponse'
components:
schemas:
CreateNamespaceResponse:
type: object
properties:
namespace:
type: array
items:
type: string
properties:
type: object
additionalProperties:
type: string
IcebergErrorResponse:
type: object
properties:
error:
type: object
properties:
message:
type: string
type:
type: string
code:
type: integer
UpdateNamespacePropertiesRequest:
type: object
properties:
removals:
type: array
items:
type: string
updates:
type: object
additionalProperties:
type: string
UpdateNamespacePropertiesResponse:
type: object
properties:
updated:
type: array
items:
type: string
removed:
type: array
items:
type: string
missing:
type: array
items:
type: string
CreateNamespaceRequest:
type: object
required:
- namespace
properties:
namespace:
type: array
items:
type: string
description: Namespace identifier parts (e.g., ["mydb"] or ["catalog", "schema"])
properties:
type: object
additionalProperties:
type: string
GetNamespaceResponse:
type: object
properties:
namespace:
type: array
items:
type: string
properties:
type: object
additionalProperties:
type: string
ListNamespacesResponse:
type: object
properties:
namespaces:
type: array
items:
type: array
items:
type: string
next-page-token:
type: string
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
Unauthorized:
description: Authentication required
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
Conflict:
description: Commit conflict or resource already exists
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
parameters:
NamespaceParam:
name: namespace
in: path
required: true
description: Namespace identifier (can be multi-level with ASCII unit separator)
schema:
type: string
securitySchemes:
BearerAuth:
type: http
scheme: bearer
OAuth2:
type: oauth2
flows:
clientCredentials:
tokenUrl: /v1/oauth/tokens
scopes:
catalog: Access catalog operations
externalDocs:
description: Apache Iceberg REST Catalog Specification
url: https://iceberg.apache.org/rest-catalog-spec/