openapi: 3.0.3 info: title: Apache Iceberg REST Catalog Commits 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: Commits description: Transaction commits and metadata updates paths: /v1/transactions/commit: post: operationId: commitTransaction summary: Commit Multi-Table Transaction description: Atomically commit updates to multiple tables in a single transaction. tags: - Commits requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CommitTransactionRequest' responses: '204': description: Transaction committed '409': $ref: '#/components/responses/Conflict' components: schemas: IcebergErrorResponse: type: object properties: error: type: object properties: message: type: string type: type: string code: type: integer CommitTransactionRequest: type: object required: - table-changes properties: table-changes: type: array items: $ref: '#/components/schemas/CommitTableRequest' TableIdentifier: type: object properties: namespace: type: array items: type: string name: type: string CommitTableRequest: type: object required: - requirements - updates properties: identifier: $ref: '#/components/schemas/TableIdentifier' requirements: type: array items: type: object updates: type: array items: type: object responses: Conflict: description: Commit conflict or resource already exists content: application/json: schema: $ref: '#/components/schemas/IcebergErrorResponse' 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/