Commit Graph

291 Commits (fd0bb98155c63ca229529c821355b27f3f1d4abd)

Author SHA1 Message Date
Jason Stirnaman 863ba93744 feat(api): improve parent index pages with intro and children listing 2025-12-31 13:16:48 -06:00
Jason Stirnaman dde5900133 fix(api-docs): resolve duplicate api/api paths and menu warnings
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.
2025-12-31 12:14:46 -06:00
Jason Stirnaman fa9eda452a feat(api): improve auth UX with sessionStorage and fix styling issues
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
2025-12-30 16:31:08 -06:00
Jason Stirnaman 4fccddc255 fix(api): propagate showSecuritySchemes to content generation
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.
2025-12-29 15:19:33 -06:00
Jason Stirnaman b6e585ecb1 fix(api): add showSecuritySchemes to Authentication pages
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.
2025-12-29 15:07:45 -06:00
Jason Stirnaman dee9c355c9 feat(api-docs): add link placeholder transformation for OpenAPI specs
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.
2025-12-29 14:55:12 -06:00
Jason Stirnaman 6bc90b2ad0 feat(api): Convert auth input to popover with filtered schemes
- 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)
2025-12-29 14:55:11 -06:00
Jason Stirnaman e39d6aec30 feat(api): Add per-operation security definitions to OpenAPI specs
- 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
2025-12-29 14:55:11 -06:00
Jason Stirnaman 9a3c29baa1 fix(api): Complete Auth token rename and remove Redoc x-tagGroups
- 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
2025-12-29 14:55:09 -06:00
Jason Stirnaman 3f4364a511 fix(api): Fix RapiDoc operation filtering and improve API reference quality
- 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
2025-12-29 14:55:09 -06:00
Jason Stirnaman f6de23b5ec feat(api): Add RapiDoc Mini component for API operation 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
2025-12-29 14:55:08 -06:00
Jason Stirnaman da990a3252 feat(api): Add compatibility version badges for v1/v2 endpoints
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
2025-12-29 14:55:08 -06:00
Jason Stirnaman 593309c2b4 chore: Rebuild API generator scripts and update tests 2025-12-29 14:55:06 -06:00
Jason Stirnaman c3a418feab feat(api): Update config, styles, and content for API docs uplift
- Update hugo.yml config for API docs settings
- Simplify _api-overrides.scss (removed hardcoded content styles)
- Import _api-layout.scss in styles-default.scss
- Update API landing pages for Core and Enterprise with redirects
- Update OpenAPI spec files
- Update dependencies
2025-12-29 14:55:05 -06:00
Jason Stirnaman 7c04b8ad57 feat(api): Update OpenAPI article generators for tag-based structure
- 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
2025-12-29 14:55:04 -06:00
Jason Stirnaman 7c7d92bbb6 feat(api): Uplift API reference docs with Scalar renderer
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]
2025-12-29 14:48:26 -06:00
Jason Stirnaman abbc4e8c50
fix(influxdb3): add show_deleted parameter for listing databases (#6631)
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
2025-12-16 14:28:35 -06:00
Jason Stirnaman 87083291f5
fix(influxdb3): add trigger settings and related API parameters (#6630)
Add trigger configuration and cluster targeting parameters to API specs:

Core:
- TriggerSettings schema (run_async, error_behavior)
- trigger_settings field in ProcessingEngineTriggerRequest (required)
- Updated all trigger creation examples

Enterprise:
- TriggerSettings schema (run_async, error_behavior)
- ApiNodeSpec schema for cluster node targeting
- trigger_settings and node_spec fields in ProcessingEngineTriggerRequest
- node_spec field in cache creation requests (DistinctCache, LastCache)
- force parameter description for trigger deletion
- Request body schemas for plugin test/update endpoints:
  - WALPluginTestRequest
  - SchedulePluginTestRequest
  - PluginFileRequest
  - PluginDirectoryRequest
  - PluginFileEntry
- Updated all trigger creation examples

closes #6610
2025-12-16 13:31:56 -06:00
Jason Stirnaman c681491423
fix(influxdb3): add retention_period to CreateDatabaseRequest (#6629)
Add the undocumented retention_period parameter to the database
creation API for InfluxDB 3 Core.

closes #6610
2025-12-15 13:20:44 -06:00
Scott Anderson 6b1905c1d5
fix: updates write reponses, suggests exponential backoffs (#6574)
* fix: updates write reponses, suggests exponential backoffs, closes influxdata/DAR#557

* Apply suggestions from code review

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix cURL example to use $max_delay variable instead of hardcoded value (#6575)

* Initial plan

* Fix: use $max_delay variable instead of hardcoded 30 in cURL example

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>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jstirnaman <212227+jstirnaman@users.noreply.github.com>
Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com>
2025-12-02 11:40:56 -08:00
Jason Stirnaman 2330308a0f
feat(api): add missing endpoints for InfluxDB 3.7 API (#6569)
- 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
2025-11-25 15:01:31 -06:00
Jason Stirnaman baadaeee15
feat(influxdb3): Update API docs for 3.7 release (#6558)
* 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>
2025-11-20 10:25:54 -06:00
dependabot[bot] 07a299dc14
chore(deps): bump js-yaml from 4.1.0 to 4.1.1 in /api-docs
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-14 18:17:12 +00:00
Jason Stirnaman 17558b8207
Jts 6477 fix writelp precision (#6478)
* 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
2025-10-21 21:10:27 -05:00
Jameelah Mercer 8b402e4f32
Update api-docs/influxdb3/core/v3/ref.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-16 10:23:58 -07:00
Jameelah Mercer 4b5c6a1fe7
Update api-docs/influxdb3/enterprise/v3/ref.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-16 10:23:51 -07:00
meelahme 18a26b6a74 docs(api): add parameter descriptions for cache DELETE endpoints [Enterprise] 2025-10-16 10:22:42 -07:00
meelahme 9b66957fce docs(api): add parameter descriptions for cache DELETE endpoints [Core] 2025-10-16 10:14:28 -07:00
meelahme 7fe9ffa999 feat(enterprise): add DELETE endpoint for distinct cache 2025-10-15 12:02:52 -07:00
meelahme be7fcd94b1 feat(core): add DELETE endpoint for distinct cache 2025-10-15 11:47:30 -07:00
Jason Stirnaman 3e4864a836 Instructions files cleanup:
- 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.
2025-09-23 10:37:10 -05:00
Jason Stirnaman 7b43569049
Update api-docs/template.hbs
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-03 21:36:40 -05:00
Jason Stirnaman 69068a64bf fix(askai): Ask AI modal position and font:Removes Ask AI modal style overrides to correct positioning in the window.
For API reference docs, decreases the trigger button size and fixes the button and modal font.
2025-09-03 17:38:03 -05:00
meelahme 144de5785c minor updates to requestBody to fix Ci build error 2025-08-14 14:58:03 -07:00
Jameelah Mercer beb7bb2261
Update api-docs/influxdb3/cloud-serverless/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
2025-08-07 13:13:56 -07:00
Jameelah Mercer 4f0a7181ef
Update api-docs/influxdb3/clustered/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
2025-08-06 09:56:21 -07:00
Jameelah Mercer 33cae0b3e2
Update api-docs/influxdb3/clustered/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
2025-08-06 09:56:05 -07:00
Jameelah Mercer 4d77cde02e
Update api-docs/influxdb3/cloud-dedicated/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
2025-08-06 09:55:55 -07:00
Jameelah Mercer c6bd7bb726
Update api-docs/influxdb3/cloud-serverless/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
2025-08-06 09:55:44 -07:00
Jameelah Mercer a69fea8a00
Update api-docs/influxdb3/cloud-serverless/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
2025-08-06 09:55:33 -07:00
Jameelah Mercer bc890e4d6d
Update api-docs/influxdb3/cloud-serverless/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
2025-08-06 09:55:21 -07:00
Jameelah Mercer 89db6cdd51
Update api-docs/influxdb3/cloud-dedicated/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
2025-08-06 09:55:09 -07:00
Jameelah Mercer ce5d9292c5
Update api-docs/influxdb3/cloud-dedicated/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
2025-08-06 09:54:39 -07:00
Jameelah Mercer 6fb6454aa2
Update api-docs/influxdb3/cloud-dedicated/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Jason Stirnaman <stirnamanj@gmail.com>
2025-08-06 09:54:12 -07:00
Jameelah Mercer 9ee11d3d41
Update api-docs/influxdb3/clustered/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-05 14:38:30 -07:00
Jameelah Mercer 65e80cad92
Update api-docs/influxdb3/cloud-serverless/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-05 14:38:21 -07:00
Jameelah Mercer a2157763c9
Update api-docs/influxdb3/cloud-serverless/v1-compatibility/swaggerV1Compat.yml
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-05 14:38:10 -07:00
meelahme ae96f0154e docs: updates to clous-serveless rp 2025-08-05 14:02:39 -07:00
meelahme 78ecb89000 Merge branch 'docs/5625-v1-get-query-endpoint' of github.com:influxdata/docs-v2 into docs/5625-v1-get-query-endpoint 2025-08-05 13:52:45 -07:00
meelahme 5ef4d2e1e4 docs: updating rp for cluster and serverless 2025-08-05 13:52:18 -07:00