How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Apache Iceberg Catalog API API

The Catalog API API from Apache Iceberg — 18 operation(s) for catalog api.

Apache Iceberg Catalog API API is one of 5 APIs that Apache Iceberg publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Catalog API. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 30 operations across 18 paths, and defines 147 schemas. It is described by OpenAPI 3.2.0, at version 0.0.1.

Requests are made against 2 base URLs: {scheme}://{host}/{basePath}, {scheme}://{host}:{port}/{basePath}.

30 operations 18 paths 147 schemas 4 DELETE8 GET3 HEAD15 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
0.0.1
Servers
{scheme}://{host}/{basePath}
{scheme}://{host}:{port}/{basePath}
Authentication
OAuth 2.0, HTTP Bearer
License
Resource Areas
1

Authentication & Security 2

Apache Iceberg Catalog API API declares 2 security schemes for authenticating requests. It supports OAuth 2.0 (OAuth2) using the clientCredentials flow, exposing 1 scope. It accepts HTTP bearer tokens (BearerAuth). By default, every request must be authenticated.

  • OAuth2 — This scheme is used for OAuth2 authorization. For unauthorized requests, services should return an appropriate 401 or 403 response. Implementations must not re…

Paths & Operations 30

Across 18 paths, the API surfaces 30 operations — 4 DELETE, 8 GET, 3 HEAD, 15 POST. Each is listed below with its method, path, parameters, and response codes.

Catalog API 30
GET
/v1/{prefix}/namespaces
Apache Iceberg List Namespaces, Optionally Providing a Parent Namespace to List Underneath
listNamespaces 4 params → 2004004014034044195035XX
POST
/v1/{prefix}/namespaces
Apache Iceberg Create a Namespace
createNamespace 2 params body → 200400401403406409419503
GET
/v1/{prefix}/namespaces/{namespace}
Apache Iceberg Load the Metadata Properties for a Namespace
loadNamespaceMetadata 2 params → 2004004014034044195035XX
HEAD
/v1/{prefix}/namespaces/{namespace}
Apache Iceberg Check if a Namespace Exists
namespaceExists 2 params → 2044004014034044195035XX
DELETE
/v1/{prefix}/namespaces/{namespace}
Apache Iceberg Drop a Namespace from the Catalog. Namespace Must Be Empty.
dropNamespace 3 params → 204400401403404409419503
POST
/v1/{prefix}/namespaces/{namespace}/properties
Apache Iceberg Set or Remove Properties on a Namespace
updateProperties 3 params body → 200400401403404406422419
GET
/v1/{prefix}/namespaces/{namespace}/tables
Apache Iceberg List All Table Identifiers Underneath a Given Namespace
listTables 4 params → 2004004014034044195035XX
POST
/v1/{prefix}/namespaces/{namespace}/tables
Apache Iceberg Create a Table in the Given Namespace
createTable 4 params body → 200400401403404409419503
POST
/v1/{prefix}/namespaces/{namespace}/tables/{table}/plan
Apache Iceberg Submit a Scan for Planning
planTableScan 5 params body → 200400401403404406419503
GET
/v1/{prefix}/namespaces/{namespace}/tables/{table}/plan/{plan-id}
Apache Iceberg Fetches the Result of Scan Planning for a Plan-id
fetchPlanningResult 5 params → 2004004014034044195035XX
DELETE
/v1/{prefix}/namespaces/{namespace}/tables/{table}/plan/{plan-id}
Apache Iceberg Cancels Scan Planning for a Plan-id
cancelPlanning 6 params → 2044004014034044195035XX
POST
/v1/{prefix}/namespaces/{namespace}/tables/{table}/tasks
Apache Iceberg Fetches Result Tasks for a Plan Task
fetchScanTasks 4 params body → 2004004014034044195035XX
POST
/v1/{prefix}/namespaces/{namespace}/register
Apache Iceberg Register a Table in the Given Namespace Using Given Metadata File Location
registerTable 4 params body → 200400401403404409419503
GET
/v1/{prefix}/namespaces/{namespace}/tables/{table}
Apache Iceberg Load a Table from the Catalog
loadTable 7 params → 200304400401403404419503
POST
/v1/{prefix}/namespaces/{namespace}/tables/{table}
Apache Iceberg Commit Updates to a Table
updateTable 4 params body → 200400401403404409419500
DELETE
/v1/{prefix}/namespaces/{namespace}/tables/{table}
Apache Iceberg Drop a Table from the Catalog
dropTable 5 params → 2044004014034044195035XX
HEAD
/v1/{prefix}/namespaces/{namespace}/tables/{table}
Apache Iceberg Check if a Table Exists
tableExists 3 params → 2044004014034044195035XX
GET
/v1/{prefix}/namespaces/{namespace}/tables/{table}/credentials
Apache Iceberg Load Vended Credentials for a Table from the Catalog
loadCredentials 5 params → 2004004014034044195035XX
POST
/v1/{prefix}/namespaces/{namespace}/tables/{table}/sign
Apache Iceberg Remotely Signs Requests to Object Storage
signRequest 3 params body → 2004004014034195035XX
POST
/v1/{prefix}/tables/rename
Apache Iceberg Rename a Table from its Current Name to a New Name
renameTable 2 params body → 204400401403404406409419
POST
/v1/{prefix}/namespaces/{namespace}/tables/{table}/metrics
Apache Iceberg Send a Metrics Report to This Endpoint to Be Processed by the Backend
reportMetrics 3 params body → 2044004014034044195035XX
POST
/v1/{prefix}/transactions/commit
Apache Iceberg Commit Updates to Multiple Tables in an Atomic Operation
commitTransaction 2 params body → 204400401403404409419500
GET
/v1/{prefix}/namespaces/{namespace}/views
Apache Iceberg List All View Identifiers Underneath a Given Namespace
listViews 4 params → 2004004014034044195035XX
POST
/v1/{prefix}/namespaces/{namespace}/views
Apache Iceberg Create a View in the Given Namespace
createView 2 params body → 200400401403404409419503
GET
/v1/{prefix}/namespaces/{namespace}/views/{view}
Apache Iceberg Load a View from the Catalog
loadView 4 params → 2004004014034044195035XX
POST
/v1/{prefix}/namespaces/{namespace}/views/{view}
Apache Iceberg Replace a View
replaceView 4 params body → 200400401403404409419500
DELETE
/v1/{prefix}/namespaces/{namespace}/views/{view}
Apache Iceberg Drop a View from the Catalog
dropView 4 params → 2044004014034044195035XX
HEAD
/v1/{prefix}/namespaces/{namespace}/views/{view}
Apache Iceberg Check if a View Exists
viewExists 3 params → 2044004014044195035XX
POST
/v1/{prefix}/views/rename
Apache Iceberg Rename a View from its Current Name to a New Name
renameView 2 params body → 204400401403404406409419
POST
/v1/{prefix}/namespaces/{namespace}/register-view
Apache Iceberg Register a View in the Catalog
registerView 3 params body → 200400401403404409419503

Schemas 147

The contract defines 147 schemas that model the data the API accepts and returns. The most detailed are TableMetadata (23 properties), ContentFile (10 properties), PlanTableScanRequest (9 properties), Snapshot (9 properties). Each schema is shown below with its type and property counts.

PlanTableScanRequest
object
9 properties
AssertViewUUID
object
The view UUID must match the requirement's uuid
2 properties 2 required
CommitTableResponse
object
2 properties 2 required
EqualityDeleteFile
object
2 properties 1 required
LongTypeValue
integer
TimestampNanoTypeValue
string
Timestampns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
NullOrder
string
AddViewVersionUpdate
object
2 properties 1 required
UUIDTypeValue
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
ListNamespacesResponse
object
2 properties
FetchPlanningResult
object
Result of server-side scan planning for fetchPlanningResult
StringTypeValue
string
AddSchemaUpdate
object
3 properties 1 required
RemoteSignRequest
object
The request to be signed remotely.
7 properties 4 required
TableUpdate
SetCurrentSchemaUpdate
object
2 properties 1 required
Expression
TableMetadata
object
23 properties 2 required
SetSnapshotRefUpdate
object
2 properties 1 required
SortOrder
object
2 properties 2 required
ListType
object
4 properties 4 required
SnapshotReferences
object
ContentFile
object
10 properties 7 required
CommitTableRequest
object
3 properties 2 required
ViewRepresentation
RemoveSnapshotRefUpdate
object
2 properties 1 required
RemovePartitionSpecsUpdate
object
2 properties 1 required
PartitionStatisticsFile
object
3 properties 3 required
FixedTypeValue
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
MapType
object
6 properties 6 required
SnapshotLog
array
FailedPlanningResult
object
Failed server-side planning result
FileScanTask
object
3 properties 1 required
PlanStatus
string
Status of a server-side planning operation
RemoteSignResult
object
The result of a remote request signing operation.
2 properties 2 required
LoadViewResult
object
Result used when a view is successfully loaded. The view metadata JSON is returned in the metadata field. The corresponding file location of view metadata is r…
3 properties 2 required
ScanTasks
object
Scan and planning tasks for server-side scan planning - plan-tasks contains opaque units of planning work - file-scan-tasks contains a partial or complete list…
3 properties
SetPropertiesUpdate
object
2 properties 1 required
DeleteFile
BinaryTypeValue
string
Binary type values are stored and serialized as an uppercase hexadecimal string
ErrorModel
object
JSON error payload returned in a response with further details on the error
4 properties 3 required
AddEncryptionKeyUpdate
object
2 properties 1 required
BaseUpdate
object
1 property 1 required
PlanTask
string
An opaque string provided by the REST server that represents a unit of work to produce file scan tasks for scan planning. This allows clients to fetch tasks ac…
RemoveEncryptionKeyUpdate
object
2 properties 1 required
SetDefaultSpecUpdate
object
2 properties 1 required
PageToken
string
An opaque token that allows clients to make use of pagination for list APIs (e.g. ListTables). Clients may initiate the first paginated request by sending an e…
GetNamespaceResponse
object
2 properties 1 required
IntegerTypeValue
integer
CommitViewRequest
object
3 properties 1 required
ViewVersion
object
7 properties 6 required
Type
PartitionField
object
4 properties 3 required
CommitTransactionRequest
object
1 property 1 required
ViewHistoryEntry
object
2 properties 2 required
AssignUUIDUpdate
object
Assigning a UUID to a table/view should only be done when creating the table/view. It is not safe to re-assign the UUID if a table/view already has a UUID assi…
2 properties 1 required
DecimalTypeValue
string
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scienti…
ViewRequirement
object
Metrics
object
Namespace
array
Reference to one or more levels of a namespace
RegisterTableRequest
object
3 properties 2 required
UpdateNamespacePropertiesRequest
object
2 properties
SQLViewRepresentation
object
3 properties 3 required
LoadCredentialsResponse
object
1 property 1 required
CreateNamespaceRequest
object
2 properties 1 required
MetadataLog
array
TimestampTzNanoTypeValue
string
Timestampns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
PartitionSpec
object
2 properties 1 required
SetPartitionStatisticsUpdate
object
2 properties 1 required
TransformTerm
object
3 properties 3 required
Transform
string
CreateTableRequest
object
7 properties 2 required
MultiValuedMap
object
A map of string keys where each key can map to multiple string values.
FileFormat
string
TableRequirement
object
1 property 1 required
ValueMap
object
2 properties
FetchScanTasksResult
object
Response schema for fetchScanTasks
LoadTableResult
object
Result used when a table is successfully loaded. The table metadata JSON is returned in the metadata field. The corresponding file location of table metadata s…
4 properties 1 required
FalseExpression
object
1 property 1 required
PlanTableScanResult
object
Result of server-side scan planning for planTableScan
ScanReport
object
8 properties 7 required
FetchScanTasksRequest
object
1 property 1 required
TimestampTzTypeValue
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
CompletedPlanningResult
object
Completed server-side planning result
Schema
CommitReport
object
6 properties 5 required
StructType
object
2 properties 2 required
BlobMetadata
object
5 properties 4 required
SetExpression
object
3 properties 3 required
ListTablesResponse
object
2 properties
TrueExpression
object
1 property 1 required
EmptyPlanningResult
object
Empty server-side planning result
1 property 1 required
SetStatisticsUpdate
object
3 properties 1 required
Term
CreateNamespaceResponse
object
2 properties 1 required
RemovePropertiesUpdate
object
2 properties 1 required
IcebergErrorResponse
object
JSON wrapper for all error responses (non-2xx)
1 property 1 required
MetricResult
BooleanTypeValue
boolean
DataFile
object
8 properties 1 required
TimestampTypeValue
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
PrimitiveTypeValue
RegisterViewRequest
object
2 properties 2 required
Reference
string
EncryptedKey
object
4 properties 2 required
Snapshot
object
9 properties 4 required
CompletedPlanningWithIDResult
object
NotExpression
object
2 properties 2 required
ViewMetadata
object
8 properties 7 required
UnaryExpression
object
2 properties 2 required
StorageCredential
object
2 properties 2 required
UpgradeFormatVersionUpdate
object
2 properties 1 required
DateTypeValue
string
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
ViewUpdate
LiteralExpression
object
3 properties 3 required
RemoveStatisticsUpdate
object
2 properties 1 required
UpdateNamespacePropertiesResponse
object
3 properties 2 required
ExpressionType
string
SetLocationUpdate
object
2 properties 1 required
SetDefaultSortOrderUpdate
object
2 properties 1 required
StructField
object
7 properties 4 required
AddSortOrderUpdate
object
2 properties 1 required
FieldName
string
A full field name (including parent field names), such as those passed in APIs like Java SchemafindField(String name). The nested field name follows these rule…
RemoveSchemasUpdate
object
2 properties 1 required
CountMap
object
2 properties
RemoveSnapshotsUpdate
object
2 properties 1 required
TimerResult
object
3 properties 3 required
StatisticsFile
object
5 properties 5 required
AddPartitionSpecUpdate
object
2 properties 1 required
AndOrExpression
object
3 properties 3 required
CreateViewRequest
object
5 properties 4 required
SortField
object
4 properties 4 required
TableIdentifier
object
2 properties 2 required
AddSnapshotUpdate
object
2 properties 1 required
SnapshotReference
object
5 properties 2 required
SortDirection
string
ReportMetricsRequest
object
1 property 1 required
FloatTypeValue
number
PositionDeleteFile
object
3 properties 1 required
RenameTableRequest
object
2 properties 2 required
TimeTypeValue
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
DoubleTypeValue
number
AsyncPlanningResult
object
2 properties 2 required
SetCurrentViewVersionUpdate
object
2 properties 1 required
RemovePartitionStatisticsUpdate
object
2 properties 1 required
CounterResult
object
2 properties 2 required
PrimitiveType
string

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

apache-iceberg-catalog-api-api-openapi.yml Raw ↑

Other APIs Apache Iceberg publishes across the network.

Apache Iceberg Java API
PyIceberg Python API
Apache Iceberg Configuration API API
Apache Iceberg OAuth2 API API
Where this information came from

This is an independent, third-party profile of Apache Iceberg Catalog API API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.