- Add standard OpenAPI `externalDocs` field to all tags.yml files that
have `x-related` entries (uses first link as the primary doc link)
- Convert `externalDocs` to `{title, href}` objects in related links
instead of bare URL strings
- Strip `https://docs.influxdata.com` from description/summary fields
in `transformDocLinks()` so Hugo pages use relative paths
- Fix article generation reading from absolutified download spec instead
of the Hugo spec with relative links (new `hugoSpecPath` output)
- Add `externalDocs.url` support to `absolutifyLinks()` for downloads
Hugo-native templates for API
reference documentation. Operations render as server-side HTML instead
of client-side Redoc, providing faster page loads, full SEO
indexability, and consistent styling.
Architecture:
- Tag-based navigation: operations grouped by OpenAPI tag, accessed
via tag pages only (no individual operation URLs)
- Generation script auto-discovers products from .config.yml files,
deriving Hugo paths and menu keys from directory structure
- Per-tag JSON/YAML chunks for fast Hugo template rendering
- Inline curl examples generated from OpenAPI specs at build time
Templates (layouts/api/, layouts/partials/api/):
- tag-renderer.html: renders all operations for a tag
- operation.html: individual operation with parameters, request body,
responses, and schema rendering
- code-sample.html: curl examples with Ask AI integration
- section-children.html: tag listing on section index pages
- all-endpoints-list.html: all operations sorted by path
Generation (api-docs/scripts/generate-openapi-articles.ts):
- Auto-discovery from .config.yml replaces hardcoded productConfigs
- Each API section generates independently (no cross-spec merging)
- Frontmatter-driven template data (specDownloadPath, articleDataKey)
- Link transformation: /influxdb/version/ placeholders resolved to
product-specific paths
Removed:
- Redoc renderer, JavaScript components, and CSS
- Shadow DOM test infrastructure (~160 lines)
- Operation page generation (dead generatePathPages function)
- mergeArticleData() and slugifyDisplayName()
Styles (assets/styles/layouts/_api-*.scss):
- 3-column layout: sidebar, content, sticky TOC
- Theme-aware code blocks for curl examples
- Method badges (GET/POST/PUT/DELETE) with color coding
- Collapsible schema sections with depth tracking
Tests (cypress/e2e/content/api-reference.cy.js):
- Tag page rendering with operation structure
- Download button verification per section
- All-endpoints page with operation cards
- Related links from x-related OpenAPI extension
- Code sample and Ask AI link validation
Add ReDoc-Inject: <security-definitions> directive and scheme links to
the Authentication tag description in all 9 tags.yml files. This renders
the security scheme definitions inline in the Redoc HTML, matching the
pre-uplift behavior. Each product lists its actual security schemes with
anchor links to the scheme definitions section.
Add x-traitTag to TagConfig interface so the post-processor propagates
it from tags.yml into specs. Mark all supplementary documentation tags
(Authentication, Quick start, Headers, Usage, etc.) with x-traitTag: true
so Redoc renders them as documentation sections with descriptions rather
than empty operation groups. Also exclude root .config.yml from the
Redoc HTML generation find command.
- Flatten Core/Enterprise v3/ subdirectories to product root
- Rewrite generate-api-docs.sh as clean 3-step pipeline:
post-process-specs → Redoc HTML → static spec downloads
- Add --static-only flag to generate-openapi-articles.ts
- Remove circular getswagger.sh call from generate-openapi-articles.ts
- Remove dead execCommand function and --skip-fetch flag
- Apply post-processed tag enrichments to all spec files
Strip title, version, description, license, and contact from Core and
Enterprise info.yml overlays so the values from docs-tooling generated
specs are preserved. Keep only x-influxdata-* fields used for Hugo
page metadata.
Fix set-info.cjs decorator to not blank version or summary when the
overlay omits them — the old else branches would clear spec values
that should pass through.
Add apply-tag-config.ts that reads colocated tags.yml files and patches
OpenAPI spec tags in place (descriptions, x-related links, renames).
Runs between getswagger.sh and generate-openapi-articles.ts in the
build pipeline.
Create tags.yml for all 11 product specs:
- Core, Enterprise: extracted from existing spec tag metadata
- v2-compat, v2, v1: new descriptions and x-related links
Include test suite (16 assertions) covering description setting, tag
rename propagation, x-related links, stale/uncovered tag warnings,
silent skip when no config, and malformed YAML failure.
Extract all api-docs/ changes from feat-api-uplift into a standalone
branch for independent testing and merging to master.
Changes include:
- Updated generation scripts (generate-openapi-articles.ts,
openapi-paths-to-hugo-data/index.ts) for Hugo-native templates
- Removed dead x-tagGroups infrastructure (decorator, config files)
- Updated Core and Enterprise specs with tag descriptions, x-related
links, and Cache Data tag split
- Added v1 product configs and specs (OSS v1, Enterprise v1)
- Updated getswagger.sh for renamed spec files
- Updated generate-api-docs.sh with clean regeneration support
Rename Core and Enterprise OpenAPI spec files from ref.yml to
descriptive names (influxdb3-core-openapi.yaml, influxdb3-enterprise-openapi.yaml).
Copy specs to static/openapi/ and add download links in the API description.
* fix(influxdb3): Mark disabled field as required in processing engine trigger API specs
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* Add HTTP API examples to Processing Engine plugin documentation (#6789)
- Add disabled field and api-ref to API examples per review feedback
- Add api-ref to upload plugin endpoint and remove duplicate link sentence
- Convert {{% code-placeholders %}} shortcode to placeholders code block
attribute for cleaner syntax
- Add second argument to token-link shortcodes for admin tokens to
ensure consistent linking to /admin/tokens/admin/ path
- Follows PR 6789 review feedback for processing engine documentation
fix(influxdb3): update placeholder and token-link syntax in get-started
- Convert code-placeholders wrapper shortcodes to code block attributes
* fix(influxdb3): Fix broken trigger anchor links in plugin documentation
Rename "Set up a trigger" heading to "Create a trigger" and update
all internal anchor references to match.
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
- Updates identify-version guide and Core/Ent3 API specs
- Use GET. HEAD `/ping` responds with `404`
- Specify default auth requirement for Enterprise
- Tested with Core and Ent v3.8.0
- 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
Fix `create token --admin` name in frontmatter
Improve schedule trigger docs with more detail:
1. Core API documentation
(/api-docs/influxdb3/core/v3/ref.yml):
- Added missing duration units (weeks, months, years)
- Added "Maximum interval: 1 year"
2. Enterprise API documentation
(/api-docs/influxdb3/enterprise/v3/ref.yml):
- Added missing duration units (weeks, months, years)
- Added "Maximum interval: 1 year"
3. CLI reference documentation
(/content/shared/influxdb3-cli/create/trigger.md):
- Added complete list of supported duration units
- Added "Maximum interval is 1 year" note
All documentation now consistently reflects:
- The complete set of supported duration units for
every triggers
- The 1-year maximum limit for interval-based
scheduling
- Clear examples showing the syntax
Resolves issue #6161 with InfluxDB 3.2 API reference updates.
## API Reference Updates
- Add `hard_delete_at` parameter to database and table deletion endpoints for scheduled hard deletion
- Add update database and update table endpoints with retention period configuration
- Add license endpoint response schema
- Fix request trigger specification format from `path:` to `request:` in Core API
- Fix OpenAPI schema validation error in Enterprise API by removing conflicting type declaration
## Processing Engine Documentation Fixes
- Standardize terminology across documentation:
- "Data write" (not "WAL flush" or "On WAL flush")
- "Scheduled" (not "On Schedule")
- "HTTP request" (not "On Request")
- Fix placeholder inconsistencies: use REQUEST_PATH instead of ENDPOINT_PATH
- Add Enterprise-specific warnings about request trigger format differences
- Update trigger specification format in Enterprise API to use JSON object format
- Add proper table of contents with consistent structure
- Improve distributed cluster configuration documentation
## Enterprise Request Trigger Bug Documentation
Due to a bug in InfluxDB 3 Enterprise, the request trigger specification format differs between CLI and API:
- CLI: `request:<REQUEST_PATH>` (same as Core CLI and API)
- Enterprise API: `{"request_path": {"path": "<REQUEST_PATH>"}}`
This difference is now properly documented with warnings in all relevant sections.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update trigger-spec syntax for schedule triggers
- Specify that cron only supports extended cron format
- Provide examples and pattern validation for trigger-specs
- Update response status
- Cleanup use
- Misc. updates and cleanup
- Add test plugins
- Add token management endpoints
- Update auth traitTag content
- Revise tags
- Add cache information
- Add Cache data tag group
- Remove Data I/O tag group
- Add Query data and Write data tags
- Add a custom x-influxdata-short-description field that replaces the previous non-standard summary field used by Redocly.
- Double quote the title and description vars to preserve the entire value when passing them to the CLI