Fixed two issues causing Hugo warnings about duplicate menu entries:
1. Path generation bug: apiPathToSlug returns 'api/v3/...' for paths
starting with '/api/', but the generator always prepended 'api/',
creating 'api/api/v3/...' paths.
Fix: Only add 'api/' prefix if path doesn't already start with it.
2. Config inconsistency: cloud-dedicated, cloud-serverless, and clustered
had '/api' in pagesDir while core/enterprise didn't. The function
always adds '/api', causing double prefixes for some products.
Fix: Removed '/api' from pagesDir for affected products to match
core/enterprise pattern.
Auth credentials:
- Switch from in-memory to sessionStorage for credentials
- Credentials persist across page navigations within browser tab
- Auto-clear when tab closes (no long-term storage)
- Pre-fill form fields with saved credentials on page load
- Update status text and button based on credential state
Styling fixes:
- Add right padding to code blocks so Copy button doesn't overlap content
- Make long URLs wrap instead of requiring horizontal scroll
- Hide TOC sidebar when no headings exist (e.g., quick-start page)
- Remove "Use RapiDoc's navigation..." message from TOC
API docs:
- Remove x-codeSamples from write_lp endpoints (Core and Enterprise)
- Add schema descriptions for line protocol request body
Add showSecuritySchemes field handling to generate-openapi-articles.ts
to ensure the flag is written to content frontmatter. Regenerate API
docs for cloud-dedicated and clustered products.
Add showSecuritySchemes field to Article interface and automatically
set it to true for Authentication tag pages. This ensures the Security
Schemes section renders on authentication pages after API docs are
regenerated.
Transform /influxdb/version/ placeholders in OpenAPI spec description
and summary fields to product-specific paths at build time.
- Add deriveProductPath() to extract product path from spec location
- Add transformDocLinks() to recursively transform markdown links
- Add validateDocLinks() with --validate-links CLI flag for checking
- Integrate transformation into processProduct() workflow
- Add placeholder links to Authorization header descriptions
The product path is derived from the spec file location, so
api-docs/influxdb3/core/v3/ref.yml produces /influxdb3/core paths.
- Convert collapsible auth panel to popover UI triggered by
"Set credentials" button positioned above RapiDoc
- Filter auth schemes based on API path:
- /api/v3/* endpoints: Bearer only
- /api/v2/* endpoints: Bearer + Token
- /write, /query (v1): All 4 schemes
- Fix "Authentication Not Required" bug by adding global security
field to path-specific OpenAPI specs
- Change RapiDoc --blue CSS variable to green so status text and
type links don't look like clickable links
- Add explicit button styling for Apply/Clear in popover
- Hide RapiDoc's built-in auth section (use custom popover instead)
- Set global security to BearerAuthentication only (best practice)
- Add per-operation security to v1 endpoints (all 4 auth schemes)
- Add per-operation security to v2 endpoint (Bearer + Token)
- Add no-auth option for initial token creation endpoint
- Fix TOC sidebar to include security scheme headings (move id to h3)
- Update Authentication tag table to accurately describe endpoint support
- Update api_nav_groups.yml to use "Auth token" instead of "Token"
- Remove x-tagGroups from Core and Enterprise specs (Redoc-specific, not needed for RapiDoc)
- Add migration notes to plan document for future product migrations
- Restore original RapiDoc match-paths format (method /path) for proper filtering
- Restrict operation tags to primary tag in tag-specific specs to prevent duplicates
- Rename Token tag to Auth token for clarity in Core and Enterprise specs
- Remove Table tag from cache operations (distinct_cache, last_cache)
- Add build script combining API docs, Hugo, and Markdown generation
- Skip summary rendering for conceptual pages
- Add isConceptual check to hide operations in nav for conceptual pages
The feature is shippable, but needs a few small fixes and we'll need to update or alias all API docs links for Core and Ent3.
- Add rapidoc-mini.ts TypeScript component with CDN loading and theme sync
- Add api-operation layout for standalone operation pages
- Add rapidoc-mini.html partial for reusable RapiDoc rendering
- Add rapidoc-custom.css for RapiDoc style overrides
- Register rapidoc-mini component in main.js
- Add article data for cloud-dedicated and clustered products
- Update API reference Cypress tests
Add visual badges to distinguish v1-compatible and v2-compatible API
endpoints in the sidebar navigation. This helps users migrating from
InfluxDB v1 or v2 quickly identify which compatibility layer each
endpoint belongs to.
Changes:
- Add x-compatibility-version extension to compatibility operations
- Add externalDocs links to reduce verbose descriptions in specs
- Update generator to extract compatVersion and externalDocs fields
- Display colored badges (purple for v1, cyan for v2) in sidebar nav
- Strip redundant "(v1-compatible)" text when badge is shown
- Add hover tooltips explaining compatibility context
- Add support for tag-based article generation with operations metadata
- Generate articles.yml data files with tag, menuName, and isConceptual fields
- Include operations array in frontmatter for tag pages
Replace legacy API documentation approach with modern Scalar-based rendering:
## Architecture Changes
- Add renderer abstraction (`layouts/partials/api/`) supporting Scalar and RapiDoc
- Create `api` layout type for API reference pages (single.html, list.html)
- Configure renderer via `site.Params.apiRenderer` (default: scalar)
## OpenAPI Processing Pipeline (TypeScript)
- `api-docs/scripts/generate-openapi-articles.ts` - Main generation script
- `api-docs/scripts/openapi-paths-to-hugo-data/` - OpenAPI to Hugo data converter
- Generates per-endpoint path fragments for AI agent access
- Creates Hugo content pages with `type: api` frontmatter
## AI Agent Accessibility
- Full specs at `/openapi/influxdb-{product}.yml` and `.json`
- Per-endpoint fragments at `/openapi/influxdb-{product}/paths/`
- `<link rel="alternate">` tags in HTML for machine discovery
## Scalar Features
- Dark/light theme support synchronized with site theme
- InfluxData brand colors
- Responsive layout
- Download link for OpenAPI spec
## Products Supported
- cloud-v2, oss-v2
- influxdb3-core, influxdb3-enterprise
- cloud-dedicated, cloud-serverless, clustered
Usage: node api-docs/scripts/dist/generate-openapi-articles.js [product]
Add the show_deleted query parameter to the list databases endpoint
in the Enterprise API spec. This parameter allows users to include
soft-deleted databases in the response.
closes#6610
- Add DELETE /api/v3/configure/database/retention_period
- Add DELETE /api/v3/configure/token
- Add POST /api/v3/configure/token/named_admin
- Add PUT /api/v3/plugins/files (requires admin token)
- Add PUT /api/v3/plugins/directory (requires admin token)
Apply to both influxdb3/core/v3 and influxdb3/enterprise/v3 specs.
chore(api): Add RemoveInternalOperations decorator to document Redocly's built-in behavior, hiding endpoints that have `x-internal: true`
chore(api): Add yarn build:api-docs
This command:
1. Changes to the api-docs directory
2. Executes the generate-api-docs.sh script to generate API
documentation HTML from the OpenAPI specs
* chore: 3.7 update
* fix(influxdb3): influxdb3 3.7 release:
- Avoid use of "retention policy" except for the storage engine
- User guide: specific heading, active voice
- Use SOURCE
* feat(influxdb3): update API docs for 3.7 release
- Add cluster-uuid response header to all write endpoints
- Document multi-member gzip payload support in ContentEncoding
- Update API version to 3.7.0 for both Core and Enterprise
- Extract cluster-uuid header to reusable component
Changes for InfluxDB 3.7 release include:
- cluster-uuid header now included in all HTTP responses
- Multi-member gzip support per RFC 1952 for write endpoints
- Compatible with v1 and v2 write endpoints
* fix(influxdb3): remove precision bug note - fixed in 3.7
Removed outdated bug note about abbreviated precision values not working
with /api/v3/write_lp endpoint. Testing confirms all abbreviated values
(ns, ms, us, s) now work correctly in InfluxDB 3.7.
Tested precision values:
- ns (nanoseconds) ✅
- ms (milliseconds) ✅
- us (microseconds) ✅
- s (seconds) ✅
* docs(influxdb3): add precision bug fix to v3.6.0 release notes
Document that abbreviated precision values (ns, ms, us, s) were fixed
in v3.6.0 to work with /api/v3/write_lp endpoint.
The fix was implemented in commit 97dafa177c and included in v3.6.0 release.
---------
Co-authored-by: Peter Barnett <peter.barnett03@gmail.com>
* docs(influxdb3): update write endpoint recommendations and add Telegraf guidance
- Update write endpoint recommendations for Core/Enterprise
- Add Telegraf output plugin guidance (v1.x and v2.x)
- Improve introductory content and formatting
- Change Note to Tip for write endpoint recommendations
- Add italics to v1/v2 for clarity
* docs(influxdb3): add precision parameter comparison and format details
- Add precision comparison table across v1, v2, v3 write APIs
- Document auto precision detection with exponential notation (5e9, 5e12, 5e15)
- Add tabbed code examples for different precision values
- Update OpenAPI specs with long-form precision values only (auto, nanosecond, microsecond, millisecond, second)
- Add timestamp conversion details for internal storage
- Use long-form precision values in all examples
Note: Currently /api/v3/write_lp only supports long forms despite source code indicating short form support.
Related to #6472 - precision parameter behavior may have bugs
- Follow Copilot guidelines for naming instructions files according to the directory they apply to
- Copy instructions files as CLAUDE.md to the relevant directory.
- Update placeholder instructions
- Optimize Copilot instructions
- Remove Claude instructions and reference the Copilot instructions file instead
TODO: update the commit hook script to correctly generate and place the files.