Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
4d88770
feat(api): Uplift API reference docs with Scalar renderer
jstirnaman Dec 2, 2025
14e9497
fix(shortcodes): Fix Hugo 0.134 compatibility issues
jstirnaman Dec 2, 2025
29bfeb5
chore: Update build:api-docs script to use new generator
jstirnaman Dec 2, 2025
e282e03
chore(claude): Add claude skill for Hugo development/testing workflow…
jstirnaman Dec 5, 2025
802f7fa
fix(api): Add operations list styling and regroup sidebar navigation
jstirnaman Dec 8, 2025
a7dff61
chore(claude): Update ui-testing agent and hugo-template-dev skill
jstirnaman Dec 8, 2025
eb33772
feat(api): Update OpenAPI article generators for tag-based structure
jstirnaman Dec 8, 2025
e42999e
feat(api): Update Hugo layouts for tag-based API documentation
jstirnaman Dec 8, 2025
6a85622
feat(api): Add TypeScript components for API UI interactions
jstirnaman Dec 8, 2025
2e18f52
feat(api): Add article data files and sidebar navigation partial
jstirnaman Dec 8, 2025
54fc853
feat(api): Update config, styles, and content for API docs uplift
jstirnaman Dec 8, 2025
9c2e276
test(api): Update Cypress tests for API reference pages
jstirnaman Dec 8, 2025
f5fba5a
chore: Rebuild API generator scripts and update tests
jstirnaman Dec 8, 2025
a7f75b8
fix(api): Extract first sentence for header summary, add Overview sec…
jstirnaman Dec 8, 2025
a0a4a16
fix(api): Show operations in sidebar nav, fix CSS for menu and summary
jstirnaman Dec 8, 2025
023e749
fix(api): Match sidebar nav font sizes for operation items
jstirnaman Dec 8, 2025
c9b3e01
fix(api): Reset button styles for dark mode, increase operation font …
jstirnaman Dec 8, 2025
b0b4e44
feat(api): Integrate API navigation into Hugo menu system
jstirnaman Dec 9, 2025
eb1ee7e
refactor(api): Remove unused separate API nav code
jstirnaman Dec 9, 2025
31ab877
refactor(api): Flatten API nav groups to single-tag items
jstirnaman Dec 9, 2025
0328f53
feat(api): Add compatibility version badges for v1/v2 endpoints
jstirnaman Dec 9, 2025
a113214
feat(api): Add RapiDoc Mini component for API operation pages
jstirnaman Dec 11, 2025
2fa00a3
fix(api): Fix RapiDoc operation filtering and improve API reference q…
jstirnaman Dec 12, 2025
5610b7b
fix(api): Complete Auth token rename and remove Redoc x-tagGroups
jstirnaman Dec 12, 2025
76b5873
refactor(api): Simplify sidebar nav to sort by isConceptual, then alp…
jstirnaman Dec 12, 2025
beb8088
feat(api): Add section index and All endpoints nav item
jstirnaman Dec 12, 2025
a8a96fe
style(api): Adjust All endpoints path font size to 0.9rem
jstirnaman Dec 12, 2025
44bf81a
feat(api): Create api-rapidoc TypeScript component
jstirnaman Dec 12, 2025
dcddc05
feat(api): Register api-rapidoc component in main.js
jstirnaman Dec 12, 2025
f882370
refactor(api): Replace inline JS with data-component in rapidoc.html
jstirnaman Dec 12, 2025
e2939dc
refactor(api): Remove Scalar renderer and related code
jstirnaman Dec 12, 2025
e38e6eb
refactor(api): Remove deprecated api-tabs component
jstirnaman Dec 12, 2025
efcae76
test(api): Remove deprecated tab-related tests
jstirnaman Dec 12, 2025
f074d22
feat(api): Add security-schemes partial for OpenAPI spec rendering
jstirnaman Dec 12, 2025
82ec8ef
feat(api): Display security schemes on conceptual API pages
jstirnaman Dec 16, 2025
3e6ce64
style(api): Add security schemes section styling
jstirnaman Dec 16, 2025
4ee1311
feat(api): Experiment with auth input visibility on operation pages
jstirnaman Dec 16, 2025
1c8a2d3
feat(api): Add custom auth input component for operation pages
jstirnaman Dec 16, 2025
9df7098
feat(api): Add per-operation security definitions to OpenAPI specs
jstirnaman Dec 22, 2025
6c25072
feat(api): Convert auth input to popover with filtered schemes
jstirnaman Dec 22, 2025
8605097
feat(claude): add docs-cli-workflow skill and update hugo-template-de…
jstirnaman Dec 10, 2025
ec5ad90
fix(ci): add path offset for PR preview subdirectory baseURL (#6662)
jstirnaman Dec 22, 2025
f1a520c
fix(ci): add path offset for PR preview subdirectory baseURL (#6665)
jstirnaman Dec 22, 2025
4369a86
docs(api): add OpenAPI link processing design
jstirnaman Dec 29, 2025
d258fa5
fix(api): Remove duplicated Authentication section
jstirnaman Dec 29, 2025
6a4e63b
feat(api-docs): add link placeholder transformation for OpenAPI specs
jstirnaman Dec 29, 2025
31d9bfc
chore: remove openapi-link-processing design doc from tracking
jstirnaman Dec 29, 2025
a392b95
fix(api): add showSecuritySchemes to Authentication pages
jstirnaman Dec 29, 2025
64c3d7b
fix(api): propagate showSecuritySchemes to content generation
jstirnaman Dec 29, 2025
c57011d
feat(api): improve auth UX with sessionStorage and fix styling issues
jstirnaman Dec 30, 2025
f3c8411
fix(api-docs): resolve duplicate api/api paths and menu warnings
jstirnaman Dec 31, 2025
e841ae1
feat(api): improve parent index pages with intro and children listing
jstirnaman Dec 31, 2025
ed65fb4
chore: remove design files
jstirnaman Dec 31, 2025
5866560
fix(api): render children listing on API section index pages
jstirnaman Dec 31, 2025
9693417
feat(api): Fix API reference tag-based section template (#6686)
jstirnaman Jan 2, 2026
149b9c0
fix(api): improve API section index children display
jstirnaman Jan 2, 2026
216795f
feat(api): normalize API paths with version prefixes
jstirnaman Jan 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .claude/agents/ts-component-dev.md
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,7 @@ assets/js/
│ ├── api-nav.ts # API navigation behavior
│ ├── api-toc.ts # Table of contents
│ ├── api-tabs.ts # Tab switching
│ └── api-scalar.ts # Scalar/RapiDoc integration
│ └── api-rapidoc.ts # RapiDoc integration
└── utils/
├── dom-helpers.ts # Shared DOM utilities
└── debug-helpers.js # Debugging utilities
Expand Down
2 changes: 1 addition & 1 deletion .claude/skills/hugo-template-dev/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -345,7 +345,7 @@ assets/
│ │ ├── api-nav.ts # API navigation behavior
│ │ ├── api-toc.ts # Table of contents
│ │ ├── api-tabs.ts # Tab switching (if needed beyond CSS)
│ │ └── api-scalar.ts # Scalar/RapiDoc integration
│ │ └── api-rapidoc.ts # RapiDoc integration
│ └── utils/
│ └── dom-helpers.ts # Shared DOM utilities
└── styles/
Expand Down
14 changes: 14 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,20 @@ package-lock.json

# Content generation
/content/influxdb*/**/api/**/*.html
/content/influxdb*/**/api/**/*.md
!api-docs/**/.config.yml
/api-docs/redoc-static.html*

# API documentation generation (generated by api-docs/scripts/)
/content/influxdb/*/api/**
/content/influxdb3/*/api/**
/content/influxdb3/*/reference/api/**
/static/openapi

# Exception: hand-crafted API conceptual pages (not generated)
!/content/influxdb3/*/api/administration/
!/content/influxdb3/*/api/administration/_index.md

/helper-scripts/output/*
/telegraf-build
!telegraf-build/templates
Expand All @@ -38,6 +50,8 @@ tmp

# TypeScript build output
**/dist/
# Exception: include compiled API doc scripts for easier use
!api-docs/scripts/dist/
**/dist-lambda/

# User context files for AI assistant tools
Expand Down
69 changes: 58 additions & 11 deletions api-docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@
```

3. To generate the HTML files for local testing, follow the instructions to [generate API docs locally](#generate-api-docs-locally).

4. To commit your updated spec files, push your branch to `influxdata/docs-v2`, and create a PR against the `master` branch.

## Update API docs for an InfluxDB OSS release
Expand Down Expand Up @@ -106,8 +107,8 @@
# Copy the old version directory to a directory for the new version:
cp -r v2.2 v2.3
```
8. In your editor, update custom content files in NEW_VERSION/content.

8. In your editor, update custom content files in NEW\_VERSION/content.

9. Enter the following commands into your terminal to fetch and process the contracts:

Expand All @@ -117,6 +118,7 @@
```

10. To generate the HTML files for local testing, follow the instructions to [generate API docs locally](#generate-api-docs-locally).

11. To commit your updated spec files, push your branch to `influxdata/docs-v2`, and create a PR against the `master` branch.

## Update API docs for OSS spec changes between releases
Expand All @@ -142,6 +144,8 @@ Follow these steps to update OSS API docs between version releases--for example,
git cherry-pick [COMMIT_SHAs]
git push -f origin docs-release/influxdb-oss

```

4. Go into your `docs-v2` directory and create a branch for your changes--for example:

```sh
Expand All @@ -165,6 +169,7 @@ Follow these steps to update OSS API docs between version releases--for example,
```

7. To generate the HTML files for local testing, follow the instructions to [generate API docs locally](#generate-api-docs-locally).

8. To commit your updated spec files, push your branch to `influxdata/docs-v2`, and create a PR against the `master` branch.

## Generate InfluxDB API docs
Expand Down Expand Up @@ -197,7 +202,7 @@ The script uses `npx` to download and execute the Redocly CLI.

If `npx` returns errors, [download](https://nodejs.org/en/) and run a recent version of the Node.js installer for your OS.

2. To generate API docs for _all_ InfluxDB versions in `./openapi`, enter the following command into your terminal:
2. To generate API docs for *all* InfluxDB versions in `./openapi`, enter the following command into your terminal:

```sh
sh generate-api-docs.sh
Expand Down Expand Up @@ -239,17 +244,17 @@ We regenerate API reference docs from `influxdata/openapi`

### InfluxDB OSS v2 version

Given that
`influxdata/openapi` **master** may contain OSS spec changes not implemented
in the current OSS release, we (Docs team) maintain a release branch, `influxdata/openapi`
Given that
`influxdata/openapi` **master** may contain OSS spec changes not implemented
in the current OSS release, we (Docs team) maintain a release branch, `influxdata/openapi`
**docs-release/influxdb-oss**, used to generate OSS reference docs.

### How to find the API spec used by an InfluxDB OSS version

`influxdata/openapi` does not version the InfluxData API.
To find the `influxdata/openapi` commit SHA used in a specific version of InfluxDB OSS,
see `/scripts/fetch-swagger.sh` in `influxdata/influxdb`--for example,
for the `influxdata/openapi` commit used in OSS v2.2.0, see https://github.com/influxdata/influxdb/blob/v2.2.0/scripts/fetch-swagger.sh#L13=.
for the `influxdata/openapi` commit used in OSS v2.2.0, see <https://github.com/influxdata/influxdb/blob/v2.2.0/scripts/fetch-swagger.sh#L13=>.
For convenience, we tag `influxdata/influxdb` (OSS) release points in `influxdata/openapi` as
`influxdb-oss-v[OSS_VERSION]`. See <https://github.com/influxdata/openapi/tags>.

Expand Down Expand Up @@ -281,16 +286,17 @@ To add new YAML files for other nodes in the contracts, follow these steps:

`@redocly/cli` also provides some [built-in decorators](https://redocly.com/docs/cli/decorators/)
that you can configure in `.redocly` without having to write JavaScript.

### How to add tag content or describe a group of paths

In API reference docs, we use OpenAPI `tags` elements for navigation,
the `x-traitTag` vendor extension for providing custom content, and the `x-tagGroups` vendor extension
for grouping tags in navigation.

| Example | OpenAPI field | |
|:-------------------------------------------------------------------------------------------------------|-------------------------------------------------------|--------------------------------------------|
| [Add supplementary documentation](https://docs.influxdata.com/influxdb/cloud/api/#tag/Quick-start) | `tags: [ { name: 'Quick start', x-traitTag: true } ]` | [Source](https://github.com/influxdata/openapi/master/src/cloud/tags.yml) |
| Group tags in navigation | `x-tagGroups: [ { name: 'All endpoints', tags: [...], ...} ]` | [Source](https://github.com/influxdata/docs-v2/blob/da6c2e467de7212fc2197dfe0b87f0f0296688ee/api-docs/cloud-iox/content/tag-groups.yml)) |
| Example | OpenAPI field | |
| :------------------------------------------------------------------------------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| [Add supplementary documentation](https://docs.influxdata.com/influxdb/cloud/api/#tag/Quick-start) | `tags: [ { name: 'Quick start', x-traitTag: true } ]` | [Source](https://github.com/influxdata/openapi/master/src/cloud/tags.yml) |
| Group tags in navigation | `x-tagGroups: [ { name: 'All endpoints', tags: [...], ...} ]` | [Source](https://github.com/influxdata/docs-v2/blob/da6c2e467de7212fc2197dfe0b87f0f0296688ee/api-docs/cloud-iox/content/tag-groups.yml)) |

#### Add and update x-tagGroups

Expand All @@ -302,6 +308,47 @@ those tags.
If you assign an empty array(`[]`) to the `All endpoints` x-tagGroup in `PLATFORM/content/tag-groups.yml`,
the decorator replaces the empty array with the list of tags from all Operations in the spec.

## Documentation links in OpenAPI specs

Use the `/influxdb/version/` placeholder when including InfluxDB links in OpenAPI spec description and summary fields.
The build process automatically transforms these placeholders to product-specific paths based on the spec file location.

### Writing links

```yaml
# In api-docs/influxdb3/core/openapi/ref.yml
info:
description: |
See [authentication](/influxdb/version/api/authentication/) for details.
Related: [tokens](/influxdb/version/admin/tokens/)
```

After build, these become:

- `/influxdb3/core/api/authentication/`
- `/influxdb3/core/admin/tokens/`

### How it works

The product path is derived from the spec file location:

- `api-docs/influxdb3/core/...` → `/influxdb3/core`
- `api-docs/influxdb3/enterprise/...` → `/influxdb3/enterprise`
- `api-docs/influxdb/v2/...` → `/influxdb/v2`

Only `description` and `summary` fields are transformed.
Explicit cross-product links (e.g., `/telegraf/v1/plugins/`) remain unchanged.

### Link validation

Run with the `--validate-links` flag to check for broken links:

```bash
yarn build:api-docs --validate-links
```

This validates that transformed links point to existing Hugo content files and warns about any broken links.

## How to test your spec or API reference changes

You can use `getswagger.sh` to fetch contracts from any URL.
Expand Down
2 changes: 1 addition & 1 deletion api-docs/influxdb/cloud/v2/ref.yml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ tags:
| Header | Value type | Description |
|:------------------------ |:--------------------- |:-------------------------------------------|
| `Accept` | string | The content type that the client can understand. |
| `Authorization` | string | The authorization scheme and credential. |
| `Authorization` | string | The [authorization scheme and credential](/influxdb/version/api/authentication/). |
| `Content-Length` | integer | The size of the entity-body, in bytes, sent to the database. |
| `Content-Type` | string | The format of the data in the request body. |
name: Headers
Expand Down
2 changes: 1 addition & 1 deletion api-docs/influxdb/v2/v2/ref.yml
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ tags:
| Header | Value type | Description |
|:------------------------ |:--------------------- |:-------------------------------------------|
| `Accept` | string | The content type that the client can understand. |
| `Authorization` | string | The authorization scheme and credential. |
| `Authorization` | string | The [authorization scheme and credential](/influxdb/version/api/authentication/). |
| `Content-Length` | integer | The size of the entity-body, in bytes, sent to the database. |
| `Content-Type` | string | The format of the data in the request body. |
name: Headers
Expand Down
2 changes: 1 addition & 1 deletion api-docs/influxdb3/cloud-dedicated/v2/ref.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ tags:
| Header | Value type | Description |
|:------------------------ |:--------------------- |:-------------------------------------------|
| `Accept` | string | The content type that the client can understand. |
| `Authorization` | string | The authorization scheme and credential. |
| `Authorization` | string | The [authorization scheme and credential](/influxdb/version/api/authentication/). |
| `Content-Length` | integer | The size of the entity-body, in bytes, sent to the database. |
| `Content-Type` | string | The format of the data in the request body. |
name: Headers
Expand Down
2 changes: 1 addition & 1 deletion api-docs/influxdb3/cloud-serverless/v2/ref.yml
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ tags:
| Header | Value type | Description |
|:------------------------ |:--------------------- |:-------------------------------------------|
| `Accept` | string | The content type that the client can understand. |
| `Authorization` | string | The authorization scheme and credential. |
| `Authorization` | string | The [authorization scheme and credential](/influxdb/version/api/authentication/). |
| `Content-Length` | integer | The size of the entity-body, in bytes. |
| `Content-Type` | string | The format of the data in the request body. |
name: Headers
Expand Down
2 changes: 1 addition & 1 deletion api-docs/influxdb3/clustered/v2/ref.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ tags:
| Header | Value type | Description |
|:------------------------ |:--------------------- |:-------------------------------------------|
| `Accept` | string | The content type that the client can understand. |
| `Authorization` | string | The authorization scheme and credential. |
| `Authorization` | string | The [authorization scheme and credential](/influxdb/version/api/authentication/). |
| `Content-Length` | integer | The size of the entity-body, in bytes, sent to the database. |
| `Content-Type` | string | The format of the data in the request body. |
name: Headers
Expand Down
Loading
Loading