Repository navigation
docs(api): the Iceberg REST catalog endpoints are served at /v1/config and /v1/namespaces, not under /v1/iceberg - #2334
Merged
Merged
Conversation
…g and /v1/namespaces, not under /v1/iceberg
Contributor
✅ Pull with Spice PassedPassing checks:
|
Contributor
🔍 Pull with Spice FailedPassing checks:
Failed checks:
Please address these issues and update your pull request. |
Contributor
There was a problem hiding this comment.
🟢 Approved
The documented paths, encoded metadata, OpenAPI keys, and current response example consistently match the runtime routes.
0 open findings
What changed in this PR
Corrects Iceberg REST catalog endpoint documentation to match the runtime routes across current and versioned API references.
Changes:
- Replaces
/v1/icebergendpoint prefixes in 56 generated API pages. - Updates OpenAPI paths and the current
/v1/configresponse example.
| File | Description |
|---|---|
website/public/openapi.json |
Corrects OpenAPI paths and current config example. |
website/docs/api/HTTP/list-tables.api.mdx |
Corrects the list-tables path. |
website/docs/api/HTTP/head-table.api.mdx |
Corrects the table-check path. |
website/docs/api/HTTP/head-namespace.api.mdx |
Corrects the namespace-check path. |
website/docs/api/HTTP/get-table.api.mdx |
Corrects the get-table path. |
website/docs/api/HTTP/get-namespace.api.mdx |
Corrects the get-namespace path. |
website/docs/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the list-namespaces path. |
website/docs/api/HTTP/get-config.api.mdx |
Corrects the config path and metadata. |
website/docs/api/HTTP/get-config.StatusCodes.json |
Updates the current config example. |
website/versioned_docs/version-2.3.x/api/HTTP/list-tables.api.mdx |
Corrects the versioned list-tables path. |
website/versioned_docs/version-2.3.x/api/HTTP/head-table.api.mdx |
Corrects the versioned table-check path. |
website/versioned_docs/version-2.3.x/api/HTTP/head-namespace.api.mdx |
Corrects the versioned namespace-check path. |
website/versioned_docs/version-2.3.x/api/HTTP/get-table.api.mdx |
Corrects the versioned get-table path. |
website/versioned_docs/version-2.3.x/api/HTTP/get-namespace.api.mdx |
Corrects the versioned get-namespace path. |
website/versioned_docs/version-2.3.x/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the versioned list-namespaces path. |
website/versioned_docs/version-2.3.x/api/HTTP/get-config.api.mdx |
Corrects the versioned config path. |
website/versioned_docs/version-2.2.x/api/HTTP/list-tables.api.mdx |
Corrects the versioned list-tables path. |
website/versioned_docs/version-2.2.x/api/HTTP/head-table.api.mdx |
Corrects the versioned table-check path. |
website/versioned_docs/version-2.2.x/api/HTTP/head-namespace.api.mdx |
Corrects the versioned namespace-check path. |
website/versioned_docs/version-2.2.x/api/HTTP/get-table.api.mdx |
Corrects the versioned get-table path. |
website/versioned_docs/version-2.2.x/api/HTTP/get-namespace.api.mdx |
Corrects the versioned get-namespace path. |
website/versioned_docs/version-2.2.x/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the versioned list-namespaces path. |
website/versioned_docs/version-2.2.x/api/HTTP/get-config.api.mdx |
Corrects the versioned config path. |
website/versioned_docs/version-2.1.x/api/HTTP/list-tables.api.mdx |
Corrects the versioned list-tables path. |
website/versioned_docs/version-2.1.x/api/HTTP/head-table.api.mdx |
Corrects the versioned table-check path. |
website/versioned_docs/version-2.1.x/api/HTTP/head-namespace.api.mdx |
Corrects the versioned namespace-check path. |
website/versioned_docs/version-2.1.x/api/HTTP/get-table.api.mdx |
Corrects the versioned get-table path. |
website/versioned_docs/version-2.1.x/api/HTTP/get-namespace.api.mdx |
Corrects the versioned get-namespace path. |
website/versioned_docs/version-2.1.x/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the versioned list-namespaces path. |
website/versioned_docs/version-2.1.x/api/HTTP/get-config.api.mdx |
Corrects the versioned config path. |
website/versioned_docs/version-2.0.x/api/HTTP/list-tables.api.mdx |
Corrects the versioned list-tables path. |
website/versioned_docs/version-2.0.x/api/HTTP/head-table.api.mdx |
Corrects the versioned table-check path. |
website/versioned_docs/version-2.0.x/api/HTTP/head-namespace.api.mdx |
Corrects the versioned namespace-check path. |
website/versioned_docs/version-2.0.x/api/HTTP/get-table.api.mdx |
Corrects the versioned get-table path. |
website/versioned_docs/version-2.0.x/api/HTTP/get-namespace.api.mdx |
Corrects the versioned get-namespace path. |
website/versioned_docs/version-2.0.x/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the versioned list-namespaces path. |
website/versioned_docs/version-2.0.x/api/HTTP/get-config.api.mdx |
Corrects the versioned config path. |
website/versioned_docs/version-1.11.x/api/HTTP/head-namespace.api.mdx |
Corrects the versioned namespace-check path. |
website/versioned_docs/version-1.11.x/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the versioned list-namespaces path. |
website/versioned_docs/version-1.11.x/api/HTTP/get-config.api.mdx |
Corrects the versioned config path. |
website/versioned_docs/version-1.10.x/api/HTTP/head-namespace.api.mdx |
Corrects the versioned namespace-check path. |
website/versioned_docs/version-1.10.x/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the versioned list-namespaces path. |
website/versioned_docs/version-1.10.x/api/HTTP/get-config.api.mdx |
Corrects the versioned config path. |
website/versioned_docs/version-1.9.x/api/HTTP/head-namespace.api.mdx |
Corrects the versioned namespace-check path. |
website/versioned_docs/version-1.9.x/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the versioned list-namespaces path. |
website/versioned_docs/version-1.9.x/api/HTTP/get-config.api.mdx |
Corrects the versioned config path. |
website/versioned_docs/version-1.8.x/api/HTTP/head-namespace.api.mdx |
Corrects the versioned namespace-check path. |
website/versioned_docs/version-1.8.x/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the versioned list-namespaces path. |
website/versioned_docs/version-1.8.x/api/HTTP/get-config.api.mdx |
Corrects the versioned config path. |
website/versioned_docs/version-1.7.x/api/HTTP/head-namespace.api.mdx |
Corrects the versioned namespace-check path. |
website/versioned_docs/version-1.7.x/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the versioned list-namespaces path. |
website/versioned_docs/version-1.7.x/api/HTTP/get-config.api.mdx |
Corrects the versioned config path. |
website/versioned_docs/version-1.6.x/api/HTTP/head-namespace.api.mdx |
Corrects the versioned namespace-check path. |
website/versioned_docs/version-1.6.x/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the versioned list-namespaces path. |
website/versioned_docs/version-1.6.x/api/HTTP/get-config.api.mdx |
Corrects the versioned config path. |
website/versioned_docs/version-1.5.x/api/HTTP/head-namespace.api.mdx |
Corrects the versioned namespace-check path. |
website/versioned_docs/version-1.5.x/api/HTTP/get-iceberg-namespaces.api.mdx |
Corrects the versioned list-namespaces path. |
website/versioned_docs/version-1.5.x/api/HTTP/get-config.api.mdx |
Corrects the versioned config path. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Contributor
|
🚀 deployed to https://3fcbb0ee.spiceai-org-website.pages.dev |
…d Iceberg API pages
Contributor
|
🚀 deployed to https://f59e1e19.spiceai-org-website.pages.dev |
lukekim
approved these changes
Oct 9, 2026
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
The HTTP API reference lists the Iceberg REST catalog endpoints under
/v1/iceberg/(/v1/iceberg/config,/v1/iceberg/namespaces, and so on). The runtime has never served them there. The router serves them at/v1/config,/v1/namespaces,/v1/namespaces/{namespace},/v1/namespaces/{namespace}/tables, and/v1/namespaces/{namespace}/tables/{table}, which are the paths the Iceberg REST spec defines. The wrong paths came from theutoipa::pathannotations that generate the OpenAPI spec. spiceai/spiceai#14588 corrected those annotations on trunk.This PR corrects the path on each Iceberg API page in
website/docs/and in every versioned copy (1.5.x through 2.3.x), and the path keys inwebsite/public/openapi.json. For each.api.mdxpage, thepath=prop and the encodedapi:front-matter field change, including the request URL insideapi:that the page's code samples use (fc228cb fixes that URL in the versioned copies). TheGenerate API Docsworkflow then regeneratedwebsite/docs/api/HTTP/from the correctedopenapi.jsonand pushed f07235c. Its changes to the Iceberg pages are only a different compressed encoding of the sameapi:field. It also adds thePOST /v1/datasets/{name}/cdcpage, whichopenapi.jsonalready described (served atcrates/runtime/src/http/routes.rs:409on trunk, and documented infeatures/cdc/debezium-ingest.md), and it re-encodes or reformats several other pages with no content change.For vNext only, the
GET /v1/configresponse example now lists the endpoints in the form trunk returns since #14588 (GET /v1/{prefix}/namespaces, ...). The versioned examples are unchanged, because they show what those releases return (see the run below).The other #14588 behavior changes (an accelerated or non-Iceberg table refused with an error, a JSON
404body, the namespace response shape) are not in this PR. They belong to the nextopenapi.jsonsync after spiceai/spiceai regenerates.schema/openapi.json, which still carries the/v1/iceberg/annotations as of the trunk SHA below.Source PRs
Reproduction
Doc said (
website/docs/api/HTTP/get-config.api.mdx, and the same in every versioned copy):Code says, at every release tag the versioned docs map to, and on trunk (
routes.rs):At v2.3.2 the annotation disagreed with the route (
crates/runtime/src/http/v1/iceberg/mod.rs:40: path = "/v1/iceberg/config"). On trunk it iscrates/runtime/src/http/v1/iceberg/mod.rs:41: path = "/v1/config".Reproduced on released
spicedv2.3.2 (release) with onefile:CSV dataset:The v2.3.2
/v1/configresponse itself lists/v1/iceberg/...endpoints, so the versioned response examples are left as they are.Verification
8a1e2a4c706d8f8e0718c02e146d19aceb997c83. The trunk/v1/configexample comes fromCONFIG_RESPONSEiniceberg/mod.rs.git grep -c 'path={"/v1/iceberg' -- websitereturns 0 files after the change;path={"/v1/config"orpath={"/v1/namespaces...now appears in 56 pages (7 inwebsite/docs/, 7 in each of 2.0.x–2.3.x, 3 in each of 1.5.x–1.11.x).gh pr list --repo spiceai/docs --state all --search "iceberg in:title"and--search "/v1/config"return no earlier PR that changed these paths.gen-api-docs allrun left tracked files unchanged. That run proved nothing: the generator skips pages that already exist, which is why the workflow empties the directory first. Decoding theapi:field before and after f07235c shows the same object on every changed page outside the Iceberg set. On the Iceberg pages, the only difference was the request URL (postman.url.pathstill heldiceberg). The first commit missed that field, and fc228cb fixes it in the versioned copies. After fc228cb, decoding everyapi:field underwebsite/docs/andwebsite/versioned_docs/finds no/v1/icebergrequest path or URL.Test plan
cd website && npm run buildat 7e2dc81:[SUCCESS] Generated static files in "build". exit=0(no broken links or undefined tags)api:object, plus the new CDC page