Configuration API
The configuration endpoint allows clients to discover server capabilities and receive catalog configuration.Get Catalog Configuration
Retrieve catalog configuration settings from the server.Query Parameters
Warehouse location or identifier to request from the service.
Request Example
Response
Properties that should be used as default configuration. Applied before client configuration.
Properties that should be used to override client configuration. Applied after defaults and client configuration.
List of endpoints supported by the server. Each endpoint is formatted as
<HTTP verb> <resource path>.If not provided, a default set of endpoints is assumed.Client reuse window for an Idempotency-Key (ISO-8601 duration, e.g.,
PT30M, PT24H).Indicates how long clients may reuse an idempotency key. Presence indicates server supports idempotency.Response Example
Status Codes
200 OK- Configuration retrieved successfully400 Bad Request- Invalid request parameters401 Unauthorized- Authentication required403 Forbidden- Not authorized to access configuration419 Authentication Timeout- Authentication expired503 Service Unavailable- Service temporarily unavailable
Configuration Properties
How Configuration is Applied
Catalog configuration is constructed in this order:- Defaults from server response
- Client configuration provided by the application
- Overrides from server response
- Suggest default values that clients can override
- Enforce specific values that cannot be changed by clients
Common Configuration Properties
Warehouse Location
The root location for table data:Client Pool Size
Number of HTTP client connections:Namespace Separator
Character used to separate namespace levels (default:0x1F):
OAuth2 Configuration
OAuth2 server URI for authentication:Additional Catalog Properties
Servers may return any Iceberg catalog configuration property:io-impl- FileIO implementation classlock-impl- Lock implementation classcache-enabled- Enable metadata cachingcache.expiration-interval-ms- Cache expiration time
Endpoint Discovery
Theendpoints array advertises which API operations the server supports.
Default Endpoints
Ifendpoints is not provided, clients should assume support for:
GET /v1/{prefix}/namespacesPOST /v1/{prefix}/namespacesGET /v1/{prefix}/namespaces/{namespace}DELETE /v1/{prefix}/namespaces/{namespace}POST /v1/{prefix}/namespaces/{namespace}/propertiesGET /v1/{prefix}/namespaces/{namespace}/tablesPOST /v1/{prefix}/namespaces/{namespace}/tablesGET /v1/{prefix}/namespaces/{namespace}/tables/{table}POST /v1/{prefix}/namespaces/{namespace}/tables/{table}DELETE /v1/{prefix}/namespaces/{namespace}/tables/{table}POST /v1/{prefix}/namespaces/{namespace}/registerPOST /v1/{prefix}/namespaces/{namespace}/tables/{table}/metricsPOST /v1/{prefix}/tables/renamePOST /v1/{prefix}/transactions/commit
Checking Endpoint Support
Before calling an endpoint, check if it’s in the advertised list:Idempotency Support
Theidempotency-key-lifetime field indicates:
- If present: Server supports idempotency keys
- Value: How long clients can reuse the same key
Using Idempotency Keys
Key Requirements
- Format: UUIDv7 (RFC 9562)
- Must be globally unique
- Reuse same key when retrying the same operation
- Generate new key for different operations
- Don’t reuse after lifetime expires
Client Implementation
Initialization Flow
Configuration Caching
Cache configuration to avoid repeated calls:Use Cases
Multi-Warehouse Setup
Custom Client Configuration
Client can set custom properties, but server overrides take precedence:Best Practices
- Call /config first: Always retrieve configuration before other operations
- Respect overrides: Don’t try to override server-enforced settings
- Cache configuration: Avoid repeated calls with appropriate TTL
- Check endpoint support: Gracefully handle unsupported operations
- Use warehouse parameter: For multi-tenant deployments
- Handle configuration changes: Re-fetch if errors suggest configuration issues
Related
- Catalog Properties - Complete property reference
- OAuth2 Authentication - Authentication configuration
- REST API Overview - API overview