docs(savanna): REST API reference with OpenAPI-generated endpoint pages - #175
Merged
Tushar-TG-14 merged 22 commits intoSep 25, 2026
Merged
Conversation
Add split-endpoints.js to generate nav and one page per endpoint from the _catalog source, replacing the monolithic endpoints.adoc reference.
Replace the preview landing page and standalone authentication topic with a task-oriented overview, data-plane guide, and API key how-to under rest-api.
Move the API key how-to into the rest-api module and update nav and xrefs across administration and overview.
Watch local Savanna content and antora-ui sources, rebuild the UI bundle, and regenerate the site via gulp devHot and npm run dev.
Extend split-endpoints to ingest _catalog/openapi.json alongside the curated catalog so new control-plane endpoints and schema definitions stay in sync.
Add billing, add-ons, cloud provider, API key, and MCP endpoints; refresh nav, definitions, and org user paths from the updated catalog.
Drop OpenAPI snapshot ingestion and only emit pages for routes explicitly listed in LABELS so internal Swagger surface is not published by default.
Remove billing, add-on, cloud provider, and other internal-only pages and refresh nav and definitions to match the curated control-plane catalog.
Rename several allowlisted routes to more descriptive titles (for example workspace details and list workspace schedules) for nav and page slugs.
Refresh nav, overview xrefs, and per-endpoint pages to match the updated allowlist titles and slugs.
Introduce api-page.js with vendored OpenAPI, curated attribute descriptions, and response examples to generate rich per-endpoint reference content.
Wire split-endpoints to api-page.js, extend the public allowlist for cloud providers and add-ons, and fail dev preview when the UI bundle ships empty JS.
Rebuild all endpoint pages and nav from the catalog, drop the separate definitions page, and refresh overview copy and deep links.
Remove index-previous from nav and redirect it with a page alias on the current overview.
Add postman-collection.js to emit a v2.1 collection when running endpoints:split and export requestBodyJson from the API page renderer.
Remove postman-collection.js and the checked-in collection artifact; the REST API overview still links to the hosted Postman collection.
Render synthesized string fields as <string> and stop forcing empty Message values on success responses in generated examples.
✅ Deploy Preview for thriving-strudel-91d4a9 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Remove Data-plane APIs from REST API nav, mark the page hidden for deep links, and point the overview at TigerGraph Server GSQL and REST++ docs.
Collaborator
|
Contributor
Author
|
Thanks @Tushar-TG-14.
|
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
Replaces the monolithic Savanna control-plane API docs with a full REST API reference module: task-oriented overview, per-endpoint pages generated from the vendored OpenAPI catalog, and tooling to keep nav and pages in sync.
Docs & structure
_catalog/endpoints.adocinto one Antora page per allowlisted endpoint, grouped nav (workgroups, workspaces, cloud providers, add-ons, backups, IP allow list, org users, etc.).rest-api; cross-links updated across admin and overview.page-postman-url(hosted collection; no checked-in Postman artifact).Build & authoring
lib/split-endpoints.js— parses catalog + OpenAPI, enforces a public route allowlist, writespages/endpoints/*andnav.adoc.lib/api-page.js— renders each page (parameters, expanded schemas, multi-language request samples, response examples) with curatedapi-descriptions.json/api-examples.json.npm run endpoints:splitandgulp devHot/npm run devfor local preview with../antora-uibundle rebuild.Companion change: requires the matching antora-ui PR for section tabs, API sidebar (method badges), and the two-column API reference layout.
Test plan
cloud-docs:npm run endpoints:splitcompletes without errors.PLAYBOOK=antora-playbook.local.yml npm run dev(with localantora-uibundle) and open Savanna → API reference.rest-api:create-api-key.authentication,definitions, andindex-previousURLs resolve to the overview where configured.