Embucket implements the Apache Iceberg REST Catalog API specification, allowing Iceberg clients to interact with table metadata stored in the metastore.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/embucket/embucket/llms.txt
Use this file to discover all available pages before exploring further.
Base URL
Configuration Endpoint
GET /v1/config
Retrieve catalog configuration properties. Query Parameters:Warehouse location or identifier to request from the service.
- defaults - Properties used as default configuration; applied before client configuration
- overrides - Properties used to override client configuration; applied after defaults and client configuration
- Setting the defaults
- Applying client-provided configuration
- Applying overrides
Properties that override client configuration.
Properties used as default configuration.
Common Catalog Properties
The following properties are commonly returned in catalog configuration:Base location for the warehouse (e.g.,
s3://bucket/warehouse/).Catalog URI for client connections.
Number of client connections to use.
Authentication token for catalog operations (if required).
Schema Types
The Iceberg REST API uses the following schema types:Schema
Unique identifier for the schema.
Array of field IDs that make up the identifier.
Must be
"struct".Array of struct fields.
StructField
Unique field identifier.
Field name.
Field data type (primitive or complex).
Whether the field is required (non-nullable).
Optional documentation for the field.
Primitive Types
Supported primitive types:booleanintlongfloatdoubledecimal(precision,scale)- Example:decimal(10,2)datetimetimestamptimestamptzstringuuidfixed[N]- Example:fixed[16]binary
Complex Types
List Type:Partition Specification
Unique identifier for the partition spec.
Array of partition fields.
PartitionField
Unique field identifier.
Source column ID from the schema.
Partition field name.
Transform function applied to the source column.
identity- No transformationyear- Extract year from timestampmonth- Extract month from timestampday- Extract day from timestamphour- Extract hour from timestampbucket[N]- Hash bucket with N buckets (e.g.,bucket[256])truncate[W]- Truncate string to W characters (e.g.,truncate[16])
Sort Order
Unique identifier for the sort order.
Array of sort fields.
SortField
Source column ID from the schema.
Transform function (same as partition transforms).
Sort direction:
asc or desc.Null ordering:
nulls-first or nulls-last.Table Metadata
Iceberg table format version (1 or 2).
Unique identifier for the table.
Base location for table data.
Timestamp of last update in milliseconds.
Table properties as key-value pairs.
Array of schema objects.
ID of the current schema.
Array of partition specifications.
ID of the default partition spec.
Array of sort orders.
ID of the default sort order.
Array of table snapshots.
ID of the current snapshot.
Snapshot
Unique snapshot identifier.
ID of the parent snapshot.
Snapshot timestamp in milliseconds.
Location of the snapshot’s manifest list file.
Snapshot summary information.
Snapshot operation type:
append, replace, overwrite, or delete.Snapshot References
Reference type:
tag or branch.ID of the referenced snapshot.
Maximum age of the reference in milliseconds.
Maximum age of snapshots in milliseconds.
Minimum number of snapshots to retain.
Usage Examples
Python (pyiceberg)
Java (Iceberg)
Spark Configuration
Configuration Examples
S3 Warehouse
File System Warehouse
Error Handling
The API returns standard HTTP status codes:- 200 OK - Request succeeded
- 400 Bad Request - Invalid request parameters
- 401 Unauthorized - Authentication required
- 404 Not Found - Resource not found
- 409 Conflict - Resource conflict (e.g., table already exists)
- 500 Internal Server Error - Server error