- Add data/article_data/ to .gitignore
- Integrate generate-openapi-articles into generate-api-docs.sh
- Remove tracked article_data files (now generated at build time)
This avoids large data file diffs in PRs and ensures article data
stays in sync with OpenAPI specs.
Add new fields to product definitions for API documentation:
- api_path: URL path to the API reference section
- alt_link_key: Short key for cross-product linking
- Add get-started/migrate-from-influxdb-v1-v2.md pages for Core and Enterprise
- Move migration link from info description to x-influxdata-related field
- Remove all Redoc-style links (#operation/, #section/) from spec descriptions
- Rename x-influxdata-guides to x-influxdata-related throughout
- Update Core info description to match Enterprise format
- Regenerate article data for both products
Remove the empty migrate tag page from Enterprise API docs.
The tag had no operations and the migration content is covered
by existing guides linked from other sections.
- Add brief summary sentences to OpenAPI tag descriptions for better
display in children lists (API compatibility, Authentication,
Common parameters, Quick start)
- Rename Management API "Authentication" to "Admin authentication
(management operations)" to distinguish from data API authentication
- Standardize "Quick start" tag naming (was "Quickstart" in some specs)
- Regenerate article data for cloud-dedicated, clustered, cloud-serverless
* docs(v2): Specify versions for v2 Cloud and OSS
* docs(v2): Use specific version for OSS v2, add ToC
* docs(v1): Use specific versions and names. Replace Enterprise v1 with 3
Ent.
* docs(v1): More detailed description for OSS v1 release notes. Repetition
fixes.
* docs(v1): Update Download instructions. Add version specificity
* docs(v1): OSS v1 specificity, fix config commands, cleanup lists
* docs(cloud1): Shared note shortcode to guide Cloud 1 users to Enterprise
documentation, Cloud 1 support, and v3 migration
* Provide Cloud 1.x in version detector and product selector menu,
simplify InfluxDB 1.x section
- Simplify InfluxDB 1.x section on platform page to product links and
migration guidance
- Remove detailed TICK stack and Enterprise feature descriptions
- Update all Cloud 1 links to point to /platform/#influxdb-cloud-1
- Keep Cloud 1 infrastructure intact:
- products.yml configuration
- Product selector entry (links to platform page section)
- Version detector for *.influxcloud.net service URLs
- Ask AI integration
Files changed:
- content/platform/_index.md (simplified, updated links)
- content/shared/identify-version.md (updated links)
- layouts/shortcodes/influxdb-cloud1-note.html (updated links)
- assets/js/utils/product-mappings.ts
- assets/js/influxdb-version-detector.ts
Closes /influxdata/dar/issues/563
* Delete content/influxcloud/v1/_index.md
* Update content/enterprise_influxdb/v1/_index.md
* Update content/influxdb/v1/introduction/install.md
* Fix PR Preview skipping when layout changes include wildcard URL patterns (#6725)
* Initial plan
* Fix: Strip wildcards from URL paths in PR Preview detection
- Update normalizeUrlPath() to remove asterisk wildcards
- Collapse multiple consecutive slashes after wildcard removal
- Add backtick as valid URL delimiter for code-wrapped URLs
- Add comprehensive test cases for wildcard handling
- Update backtick test to reflect safer truncation behavior
Fixes issue where PR descriptions with wildcard patterns like
`/influxdb3/enterprise/*` were not properly extracted, causing
PR Preview to skip even when URLs were provided.
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* docs: Clarify backtick handling in URL validation
Add comment explaining that backticks act as delimiters in regex
extraction, preventing them from appearing in extracted paths even
though they're in the rejection pattern.
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* docs: Improve comments explaining normalization and regex logic
- Clarify why wildcards are removed before slash collapsing
- Document the defense-in-depth backtick handling
- Add examples of the normalization process
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
* Update content/platform/_index.md
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
* refactor: organize cloud1-note shortcode into influxdb directory (#6734)
Move the Cloud 1 note shortcode from influxdb-cloud1-note.html
to influxdb/cloud1-note.html to follow the existing organizational
pattern in layouts/shortcodes/influxdb/.
This change also applies the Cloud 1 content updates from PR #6729
using the new organized shortcode path: {{< influxdb/cloud1-note >}}
closesinfluxdata/docs-v2#6729
Co-authored-by: Claude <noreply@anthropic.com>
---------
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>
Co-authored-by: Claude <noreply@anthropic.com>
- Update latest_patch version in products.yml from 1.4.0 to 1.6.2
- Create release notes page for Explorer
- v1.6.2 includes important fixes and improvements for Ask AI
closesinfluxdata/docs-v2#6737
Co-authored-by: Claude <noreply@anthropic.com>
- Add "All endpoints" page showing all operations grouped by API version
- Generate all-endpoints page automatically via TypeScript generation script
- Make "All endpoints" nav item a clickable link instead of just a toggle
- Fix duplicate menu entry warnings for cloud-v2 and oss-v2 products
by adding skipParentMenu: true to their configs
- Fix 404 errors for paths with curly braces (e.g., {request_path})
by removing braces in normalize-path.html partial
- Add Cypress tests for API section structure and all-endpoints page
- Update v2 product article data with tag-based generation
- Fix apiPathToSlug() to strip curly braces from path parameters
(e.g., {db} → db) to avoid URL encoding issues in Hugo
- Update Quick start tag description to include intro sentence:
"Authenticate, write, and query with the API:"
- Remove {{< children >}} shortcode from API section _index.md files
(layout's section-children.html partial already handles tag listing)
- Delete old cloud-serverless API pages with curly braces in paths
- Regenerate article data for all products
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)
- Remove api_nav_groups.yml config file (no longer needed)
- Update api-menu-items.html to derive order from article data
- Sort: conceptual tags (traitTags) first, then other tags alphabetically
- Reduces template from 255 to 152 lines
- 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
Remove multi-tag groups (Administration, Concepts) and flatten to
single-tag groups for direct linking. Each API tag now renders as
a direct nav item instead of being nested under a parent group.
- Update api_nav_groups.yml to use single-tag groups only
- Delete Administration landing pages (not needed without nesting)
- Improve SCSS styling for API nav visibility and active states
Add API nav items as children of "InfluxDB HTTP API" menu item:
- New api-menu-items.html partial generates nav from data/articles.yml
- Modified nested-menu.html to inject API nav for API parent menu item
- Updated api_nav_groups.yml to add url for Administration group
- Created Administration landing pages for Core and Enterprise
- Updated .gitignore to allow hand-crafted API conceptual pages
The Administration page uses layout: list and isConceptual: true to render
content directly without RapiDoc wrapper.
- Add YAML article data files for all InfluxDB products
- Add sidebar-nav.html partial for API navigation rendering
- Rename data directory from article-data to article_data for Hugo compatibility
- Remove obsolete JSON articles file
- Add CSS for operations list cards with method badges, paths, and summaries
- Remove duplicate Overview section from list.html (was duplicating summary)
- Split "Data Operations" into separate nav groups: Write data, Query data, Cache data
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]
* feat(askai): add Kapa.ai source group filtering for InfluxDB v3
- Add ai_source_group_ids field to all InfluxDB v3 products in data/products.yml
- Add getProductSourceGroupIds() function to retrieve source group IDs from product data
- Enables filtered AI responses using Kapa source groups for documentation pages
- Follows existing pattern for dynamic product configuration
- Implement version-specific config support (__v1, __v2 suffixes)
- Append version hints to example questions for InfluxDB database products only
- Make example questions generic (remove product-specific names)
- Tools (Telegraf, Chronograf, Kapacitor, Flux, Explorer) display questions without version hints
- Pre-fills chat input with [version: /path/] for InfluxDB database products
- Users can easily edit or remove the pre-filled text
- Works for manual opens (Cmd+K) and programmatic opens
- Converts module to TypeScript
* refactor(ask-ai): change version format to 'My version: <product name>'
Use human-readable product names instead of URL paths for better UX.
Example: 'My version: InfluxDB 3 Core' instead of '[version: /influxdb3/core/]'
* fix(ask-ai): restore working Kapa.open() pre-fill implementation
- Replace textarea detection with direct Kapa.open() call
- Add Kapa preinitialization code
- Use click handler on .ask-ai-open button with capture phase
- Handle conversation reset event to re-fill version context
- Remove console logging for cleaner production code
* fix(ask-ai): remove parentheses from example questions for consistency
Make example question format match the pre-fill format:
- Before: 'question (My version: product)'
- After: 'question My version: product'
This ensures users don't think there's a difference between the two formats.
* fix(askai): add Explorer product mapping for Ask AI widget
- Add influxdb3_explorer mapping to getCurrentProductData()
- Add explorer context to getContext() function
- Ensures Explorer pages use correct ai_sample_questions from products.yml
- Reorder Explorer questions with 'install and run' first
This fixes the issue where Explorer Ask AI widget was showing wrong
example questions by properly loading the influxdb3_explorer config.
* test(page-context): add comprehensive e2e tests for product mappings
Add Cypress tests to validate page-context.js correctly identifies:
- Product context values for all InfluxDB products
- Product data from products.yml configuration
- Version information
- AI sample questions and source group IDs
- Placeholder host values
Tests cover:
- InfluxDB 3 (Core, Enterprise, Explorer, Cloud variants, Clustered)
- InfluxDB v2 and v1
- InfluxDB Cloud (TSM)
- Tools (Telegraf, Chronograf, Kapacitor, Flux)
Validates the fix for Explorer Ask AI showing correct example questions.
Related to #jts-askai-group-filters branch work.
* feat(test): add --no-mapping flag to e2e test runner
Allow running functionality tests without requiring content file paths.
The --no-mapping flag skips content-to-URL mapping, making it easier
to run tests that don't depend on specific content files.
Usage:
# With content mapping (for content-specific tests)
node run-e2e-specs.js content/influxdb3/core/_index.md
# Without content mapping (for functionality tests)
node run-e2e-specs.js --spec cypress/e2e/page-context.cy.js --no-mapping
Benefits:
- Simplifies running functionality tests like page-context.cy.js
- Reduces test startup time by skipping unnecessary file mapping
- Makes test commands clearer about their purpose
The page-context test was updated to work correctly with this flag.
* deps: update caniuse and related hook files
* test: Add a `--no-mapping` flag to run tests without specific content files (i.e., test contains all the URLs it needs)
* chore(ask-ai): Format example questions
* test(page-context): add comprehensive e2e tests for all products in products.yml
- Expanded test suite from 6 to 27 tests covering all products
- Added tests for InfluxDB 3 products (Explorer, Core, Enterprise, Cloud Serverless, Cloud Dedicated, Clustered)
- Added tests for InfluxDB v2 and Cloud (TSM)
- Added tests for InfluxDB v1 and Enterprise v1
- Added tests for other products (Telegraf, Chronograf, Kapacitor, Flux)
- Validates page mappings in page-context.js
- Validates AI sample questions configuration in products.yml
- All 27 tests passing
* fix(page-context): correct enterprise_influxdb URL pattern matching
- Changed pattern from /enterprise_v1/ to /enterprise_influxdb/
- Fixes Ask AI example questions not showing correctly for Enterprise v1
- Pattern now matches actual URL structure /enterprise_influxdb/v1/
- All 27 e2e tests passing
* test(page-context): add UI validation for Ask AI widget configuration
- Added 4 tests checking Kapa widget script data attributes
- Tests verify data-modal-example-questions contains correct product-specific questions
- Validates Explorer, Core, Enterprise, and Enterprise v1 configurations
- All 31 tests passing (27 existing + 4 new UI tests)
* feat(ask-ai): add help in Ask AI widget placeholder
- InfluxDB placeholder recommends specifying product and version
- Fix page-context.js to use products.influxdb_cloud instead of products.cloud
- Add UI tests verifying version-specific naming in Kapa widget script tags
* feat(ask-ai): Tailors placeholder for each version/product. Disables "Viewing <product>" in disclaimer note.
* chore(docs): Add content/create.md tutorial page for the How to create your own documentation tutorial
chore(scripts): docs:create and docs:edit scripts for content creation and editing
Major improvements to docs:create UX for both Claude Code and external tool integration:
**New `docs` CLI command:**
- Add scripts/docs-cli.js - main CLI with subcommand routing
- Add bin field to package.json for `docs` command
- Usage: `docs create` and `docs edit` (cleaner than yarn commands)
**Smart piping detection:**
- Auto-detect when stdout is piped (\!process.stdout.isTTY)
- When piping: automatically output prompt text (no flag needed)
- When interactive: output prompt file path
- --print-prompt flag now optional (auto-enabled when piping)
**Specify products:**
- simplify link following behavior - treat relative paths as local files, all HTTP/HTTPS as external
- stdin now requires --products flag with product keys
- --products now accepts keys from products.yml (influxdb3_core, telegraf, etc.)
Examples:
--products influxdb3_core
--products influxdb3_core,influxdb3_enterprise
--products telegraf
**Usage examples:**
# Inside Claude Code - automatic execution
docs create drafts/new-feature.md
# Pipe to external AI - prompt auto-detected
docs create FILE --products X | claude -p
docs create FILE --products X | copilot -p
# Pipe from stdin
echo 'content' | docs create --products X | claude -p
Benefits:
- Cleaner syntax (no yarn --silent needed)
- No manual --print-prompt flag when piping
- Consistent with industry tools (git, npm, etc.)
- Backward compatible with yarn commands
WIP: docs:create usage examples
- Redesign of the docs CLI tools for creating and editing content
- Cleaner interface works better for piping output to agents and downstream utilities
- Updates README.md and other authoring docs
This repository includes a `docs` CLI tool for common documentation workflows:
```sh
npx docs create drafts/new-feature.md --products influxdb3_core
npx docs edit https://docs.influxdata.com/influxdb3/core/admin/
npx docs placeholders content/influxdb3/core/admin/upgrade.md
npx docs --help
```
**Run test cases:**
```sh
npx docs test
```
* Update content/create.md
* Update content/create.md
* Update content/create.md
* Update content/create.md
* Update scripts/templates/chatgpt-prompt.md
* Update DOCS-SHORTCODES.md
* chore: update notifications for InfluxDB 3.6 release
Updated the notifications for InfluxDB version 3.6, including changes to the title, slug, and message content.
* Update data/notifications.yaml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* chore(enterprise_influxdb): specify Enterprise v1 and remove new signup notes:
- Removes instructions for new signups at portal.influxdata (at Marketing's request)
- Uses Enterprise v1 in titles and descriptions
- Updates title metadata template to use InfluxDB Enterprise v1
- Updates products.yml to use InfluxDB Enterprise v1
- Removes unused enterprise-name/-link shortcodes
I chose InfluxDB Enterprise v1 over InfluxDB v1 Enterprise due to recent usage patterns and because it's compatible with uses like "InfluxDB Enterprise 1.11.x" without being redundant.
* Apply suggestion from @jstirnaman
* Apply suggestion from @jstirnaman
* Apply suggestion from @jstirnaman
* chore: update Docker latest tag notification date to February 1, 2026
Updates the notification warning about Docker latest tag changing to InfluxDB 3 Core from November 3, 2025 to February 1, 2026.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
* Change date for InfluxDB Docker latest tag notification
Update the date for InfluxDB Docker latest tag change.
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Scott Anderson <sanderson@users.noreply.github.com>