> For the complete documentation index, see [llms.txt](https://docs.e6data.com/query-engine/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.e6data.com/query-engine/guides/catalogs/iceberg-rest-catalog.md).

# Iceberg REST Catalog

The Iceberg REST Catalog (IRC) spec is an open standard for managing Iceberg table metadata over HTTP. e6data supports connecting to any spec-compliant IRC server, including **Lakekeeper** (open-source), **Tabular** (managed), **Nessie REST** (Git-like), **Gravitino**, or any server implementing the [Iceberg REST OpenAPI spec](https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml).

For Snowflake's Polaris-managed catalog specifically, use [Apache Polaris](/query-engine/guides/catalogs/apache-polaris.md) instead - it's tuned to Polaris's behavior. For AWS S3 Tables, use [Amazon S3 Tables](/query-engine/guides/catalogs/amazon-s3-tables.md).

## Before you start

* Have the **Catalog URI** of your IRC server (for example, `https://lakekeeper.example.com/catalog`).
* Know the **warehouse name** and **prefix** your IRC server uses.
* Decide which **authentication scheme** matches your server.
* For Serverless, your e6data workspace must already have storage access granted for the underlying data location.

## Connect to Iceberg REST

1. Navigate to the **Catalogs** section from the sidebar and click **Create Catalog**.
2. Enter a **Catalog Name** (for example, `iceberg-rest-catalog`). Lowercase letters, numbers, and hyphens are recommended.
3. Select **Catalog Type** as **Iceberg REST (Lakekeeper)**.
4. (Optional) Enable **Governance**. Apply fine-grained access control using Ranger, OPA, Unity, or Lake Formation.
5. Provide the catalog configuration:

   | Field            | Description                                                                             |
   | ---------------- | --------------------------------------------------------------------------------------- |
   | **Catalog URI**  | The base URL of your IRC server (for example, `https://lakekeeper.example.com/catalog`) |
   | **Warehouse**    | The warehouse name configured in your IRC                                               |
   | **Prefix**       | Path prefix used by your IRC, often the warehouse name                                  |
   | **Display Name** | (Optional) Friendly name shown in the UI                                                |
6. Select **Authentication** and provide credentials for the chosen scheme - paste the token for **Bearer Token**, or provide Client ID, Client Secret, and Token Endpoint URL for **OAuth 2 Client Credentials**.
7. (Optional) Enable **Cross-Account Access** if your underlying storage is in a different cloud account or tenant. Provide the **Tenant ID** (Azure) or equivalent, the **Client ID** of the cross-account identity, and the **Storage Account Name**. See [Cross-account access](/query-engine/guides/catalogs/cross-account.md).
8. Click **Test Connection** to verify connectivity and permissions. The form validates that a catalog name and Catalog URI are provided.
9. After a successful test, select the **schemas** you want this catalog to expose.
10. Click **Create Catalog**. (Optional) Click **Reset** to clear all entered fields.

## Edit an Iceberg REST catalog

Edit when your IRC server's URL changes, you rotate credentials, or you want to expose different schemas.

1. Open the **Catalogs** page in the Compute Plane.
2. Find the IRC catalog, click the row actions (⋮), and click **Edit**.
3. Update what you need - selected schemas, **Bearer Token** or **Client Secret** (to rotate), **Catalog URI**, **Warehouse / Prefix**, or the **Authentication scheme**.
4. Click **Test Connection** if you changed connection details.
5. Click **Update Catalog**.

A re-test is required when you change the Catalog URI, Warehouse or Prefix, Authentication scheme, credentials, or Cross-Account configuration. Schema-selection and display-name changes don't. Schema changes apply on the next query; credential rotation is seamless; a Catalog URI change takes effect within seconds (in-flight queries may briefly fail and need a retry).

## Delete an Iceberg REST catalog

1. Open the **Catalogs** page, find the IRC catalog, click the row actions (⋮), and click **Delete**. Confirm.

Deletion removes the catalog from this workspace; attached clusters lose access. The underlying IRC server, Iceberg tables, and storage data are **not** modified.

## See also

* [Catalogs overview](/query-engine/guides/catalogs.md)
* [Register and manage catalogs](/query-engine/guides/catalogs/register-and-manage-catalogs.md)
* [Apache Polaris](/query-engine/guides/catalogs/apache-polaris.md) - for Snowflake Polaris specifically
* [Cross-account access](/query-engine/guides/catalogs/cross-account.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.e6data.com/query-engine/guides/catalogs/iceberg-rest-catalog.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
