bito-code-review[bot] commented on code in PR #37434:
URL: https://github.com/apache/superset/pull/37434#discussion_r2734326763
##########
docs/docs/api.mdx:
##########
@@ -1,40 +1,590 @@
---
-title: API
+title: API Reference
hide_title: true
sidebar_position: 10
---
-import SwaggerUI from 'swagger-ui-react';
-import openapi from '/resources/openapi.json';
-import 'swagger-ui-react/swagger-ui.css';
import { Alert } from 'antd';
-## API
+## REST API Reference
-Superset's public **REST API** follows the
-[OpenAPI specification](https://swagger.io/specification/), and is
-documented here. The docs below are generated using
-[Swagger React UI](https://www.npmjs.com/package/swagger-ui-react).
-
-:::resources
-- [Blog: The Superset REST
API](https://preset.io/blog/2020-10-01-superset-api/)
-- [Blog: Accessing APIs with
Superset](https://preset.io/blog/accessing-apis-with-superset/)
-:::
+Superset exposes a comprehensive **REST API** that follows the [OpenAPI
specification](https://swagger.io/specification/).
+You can use this API to programmatically interact with Superset for
automation, integrations, and custom applications.
<Alert
type="info"
- message={
- <div>
- <strong>NOTE! </strong>
- You can find an interactive version of this documentation on your local
Superset
- instance at <strong>/swagger/v1</strong> (unless disabled)
- </div>
+ showIcon
+ message="Code Samples & Schema Documentation"
+ description={
+ <span>
+ Each endpoint includes ready-to-use code samples in
<strong>cURL</strong>, <strong>Python</strong>, and <strong>JavaScript</strong>.
+ The sidebar includes <strong>Schema definitions</strong> for detailed
data model documentation.
+ </span>
}
+ style={{ marginBottom: '24px' }}
/>
-<br />
-<br />
-<hr />
-<div className="swagger-container">
- <SwaggerUI spec={openapi} />
-</div>
+---
+
+### Authentication
+
+Most API endpoints require authentication via JWT tokens.
+
+#### Quick Start
+
+```bash
+# 1. Get a JWT token
+curl -X POST http://localhost:8088/api/v1/security/login \
+ -H "Content-Type: application/json" \
+ -d '{"username": "admin", "password": "admin", "provider": "db"}'
+
+# 2. Use the access_token from the response
+curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
+ http://localhost:8088/api/v1/dashboard/
+```
+
+#### Security Endpoints
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `GET` | [Get the CSRF token](./api/get-the-csrf-token) |
`/api/v1/security/csrf_token/` |
+| `POST` | [Get a guest token](./api/get-a-guest-token) |
`/api/v1/security/guest_token/` |
+| `POST` | [Create security login](./api/create-security-login) |
`/api/v1/security/login` |
+| `POST` | [Create security refresh](./api/create-security-refresh) |
`/api/v1/security/refresh` |
+
+---
+
+### API Endpoints
+
+#### Core Resources
+
+<details>
+<summary><strong>Dashboards</strong> (26 endpoints) — Create, read, update,
and delete dashboards.</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `DELETE` | [Bulk delete dashboards](./api/bulk-delete-dashboards) |
`/api/v1/dashboard/` |
+| `GET` | [Get a list of dashboards](./api/get-a-list-of-dashboards) |
`/api/v1/dashboard/` |
+| `POST` | [Create a new dashboard](./api/create-a-new-dashboard) |
`/api/v1/dashboard/` |
+| `GET` | [Get metadata information about this API resource
(dashboard--info)](./api/get-metadata-information-about-this-api-resource-dashboard-info)
| `/api/v1/dashboard/_info` |
+| `GET` | [Get a dashboard detail
information](./api/get-a-dashboard-detail-information) |
`/api/v1/dashboard/{id_or_slug}` |
+| `GET` | [Get a dashboard's chart
definitions.](./api/get-a-dashboards-chart-definitions) |
`/api/v1/dashboard/{id_or_slug}/charts` |
+| `POST` | [Create a copy of an existing
dashboard](./api/create-a-copy-of-an-existing-dashboard) |
`/api/v1/dashboard/{id_or_slug}/copy/` |
+| `GET` | [Get dashboard's datasets](./api/get-dashboards-datasets) |
`/api/v1/dashboard/{id_or_slug}/datasets` |
+| `DELETE` | [Delete a dashboard's embedded
configuration](./api/delete-a-dashboards-embedded-configuration) |
`/api/v1/dashboard/{id_or_slug}/embedded` |
+| `GET` | [Get the dashboard's embedded
configuration](./api/get-the-dashboards-embedded-configuration) |
`/api/v1/dashboard/{id_or_slug}/embedded` |
+| `POST` | [Set a dashboard's embedded
configuration](./api/set-a-dashboards-embedded-configuration) |
`/api/v1/dashboard/{id_or_slug}/embedded` |
+| `PUT` | [Update dashboard by id_or_slug
embedded](./api/update-dashboard-by-id-or-slug-embedded) |
`/api/v1/dashboard/{id_or_slug}/embedded` |
+| `GET` | [Get dashboard's tabs](./api/get-dashboards-tabs) |
`/api/v1/dashboard/{id_or_slug}/tabs` |
+| `DELETE` | [Delete a dashboard](./api/delete-a-dashboard) |
`/api/v1/dashboard/{pk}` |
+| `PUT` | [Update a dashboard](./api/update-a-dashboard) |
`/api/v1/dashboard/{pk}` |
+| `POST` | [Compute and cache a screenshot
(dashboard-pk-cache-dashboard-screenshot)](./api/compute-and-cache-a-screenshot-dashboard-pk-cache-dashboard-screenshot)
| `/api/v1/dashboard/{pk}/cache_dashboard_screenshot/` |
+| `PUT` | [Update colors configuration for a
dashboard.](./api/update-colors-configuration-for-a-dashboard) |
`/api/v1/dashboard/{pk}/colors` |
+| `DELETE` | [Remove the dashboard from the user favorite
list](./api/remove-the-dashboard-from-the-user-favorite-list) |
`/api/v1/dashboard/{pk}/favorites/` |
+| `POST` | [Mark the dashboard as favorite for the current
user](./api/mark-the-dashboard-as-favorite-for-the-current-user) |
`/api/v1/dashboard/{pk}/favorites/` |
+| `PUT` | [Update native filters configuration for a
dashboard.](./api/update-native-filters-configuration-for-a-dashboard) |
`/api/v1/dashboard/{pk}/filters` |
+| `GET` | [Get a computed screenshot from cache
(dashboard-pk-screenshot-digest)](./api/get-a-computed-screenshot-from-cache-dashboard-pk-screenshot-digest)
| `/api/v1/dashboard/{pk}/screenshot/{digest}/` |
+| `GET` | [Get dashboard's thumbnail](./api/get-dashboards-thumbnail) |
`/api/v1/dashboard/{pk}/thumbnail/{digest}/` |
+| `GET` | [Download multiple dashboards as YAML
files](./api/download-multiple-dashboards-as-yaml-files) |
`/api/v1/dashboard/export/` |
+| `GET` | [Check favorited dashboards for current
user](./api/check-favorited-dashboards-for-current-user) |
`/api/v1/dashboard/favorite_status/` |
+| `POST` | [Import dashboard(s) with associated
charts/datasets/databases](./api/import-dashboard-s-with-associated-charts-datasets-databases)
| `/api/v1/dashboard/import/` |
+| `GET` | [Get related fields data
(dashboard-related-column-name)](./api/get-related-fields-data-dashboard-related-column-name)
| `/api/v1/dashboard/related/{column_name}` |
+
+</details>
+
+<details>
+<summary><strong>Charts</strong> (20 endpoints) — Create, read, update, and
delete charts (slices).</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `DELETE` | [Bulk delete charts](./api/bulk-delete-charts) | `/api/v1/chart/`
|
+| `GET` | [Get a list of charts](./api/get-a-list-of-charts) |
`/api/v1/chart/` |
+| `POST` | [Create a new chart](./api/create-a-new-chart) | `/api/v1/chart/` |
+| `GET` | [Get metadata information about this API resource
(chart--info)](./api/get-metadata-information-about-this-api-resource-chart-info)
| `/api/v1/chart/_info` |
+| `DELETE` | [Delete a chart](./api/delete-a-chart) | `/api/v1/chart/{pk}` |
+| `GET` | [Get a chart detail
information](./api/get-a-chart-detail-information) | `/api/v1/chart/{pk}` |
+| `PUT` | [Update a chart](./api/update-a-chart) | `/api/v1/chart/{pk}` |
+| `GET` | [Compute and cache a screenshot
(chart-pk-cache-screenshot)](./api/compute-and-cache-a-screenshot-chart-pk-cache-screenshot)
| `/api/v1/chart/{pk}/cache_screenshot/` |
+| `GET` | [Return payload data response for a
chart](./api/return-payload-data-response-for-a-chart) |
`/api/v1/chart/{pk}/data/` |
+| `DELETE` | [Remove the chart from the user favorite
list](./api/remove-the-chart-from-the-user-favorite-list) |
`/api/v1/chart/{pk}/favorites/` |
+| `POST` | [Mark the chart as favorite for the current
user](./api/mark-the-chart-as-favorite-for-the-current-user) |
`/api/v1/chart/{pk}/favorites/` |
+| `GET` | [Get a computed screenshot from cache
(chart-pk-screenshot-digest)](./api/get-a-computed-screenshot-from-cache-chart-pk-screenshot-digest)
| `/api/v1/chart/{pk}/screenshot/{digest}/` |
+| `GET` | [Get chart thumbnail](./api/get-chart-thumbnail) |
`/api/v1/chart/{pk}/thumbnail/{digest}/` |
+| `POST` | [Return payload data response for the given query
(chart-data)](./api/return-payload-data-response-for-the-given-query-chart-data)
| `/api/v1/chart/data` |
+| `GET` | [Return payload data response for the given query
(chart-data-cache-key)](./api/return-payload-data-response-for-the-given-query-chart-data-cache-key)
| `/api/v1/chart/data/{cache_key}` |
+| `GET` | [Download multiple charts as YAML
files](./api/download-multiple-charts-as-yaml-files) | `/api/v1/chart/export/` |
+| `GET` | [Check favorited charts for current
user](./api/check-favorited-charts-for-current-user) |
`/api/v1/chart/favorite_status/` |
+| `POST` | [Import chart(s) with associated datasets and
databases](./api/import-chart-s-with-associated-datasets-and-databases) |
`/api/v1/chart/import/` |
+| `GET` | [Get related fields data
(chart-related-column-name)](./api/get-related-fields-data-chart-related-column-name)
| `/api/v1/chart/related/{column_name}` |
+| `PUT` | [Warm up the cache for the
chart](./api/warm-up-the-cache-for-the-chart) | `/api/v1/chart/warm_up_cache` |
+
+</details>
+
+<details>
+<summary><strong>Datasets</strong> (18 endpoints) — Manage datasets (tables)
used for building charts.</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `DELETE` | [Bulk delete datasets](./api/bulk-delete-datasets) |
`/api/v1/dataset/` |
+| `GET` | [Get a list of datasets](./api/get-a-list-of-datasets) |
`/api/v1/dataset/` |
+| `POST` | [Create a new dataset](./api/create-a-new-dataset) |
`/api/v1/dataset/` |
+| `GET` | [Get metadata information about this API resource
(dataset--info)](./api/get-metadata-information-about-this-api-resource-dataset-info)
| `/api/v1/dataset/_info` |
+| `DELETE` | [Delete a dataset](./api/delete-a-dataset) |
`/api/v1/dataset/{pk}` |
+| `GET` | [Get a dataset](./api/get-a-dataset) | `/api/v1/dataset/{pk}` |
+| `PUT` | [Update a dataset](./api/update-a-dataset) | `/api/v1/dataset/{pk}` |
+| `DELETE` | [Delete a dataset column](./api/delete-a-dataset-column) |
`/api/v1/dataset/{pk}/column/{column_id}` |
+| `DELETE` | [Delete a dataset metric](./api/delete-a-dataset-metric) |
`/api/v1/dataset/{pk}/metric/{metric_id}` |
+| `PUT` | [Refresh and update columns of a
dataset](./api/refresh-and-update-columns-of-a-dataset) |
`/api/v1/dataset/{pk}/refresh` |
+| `GET` | [Get charts and dashboards count associated to a
dataset](./api/get-charts-and-dashboards-count-associated-to-a-dataset) |
`/api/v1/dataset/{pk}/related_objects` |
+| `GET` | [Get distinct values from field data
(dataset-distinct-column-name)](./api/get-distinct-values-from-field-data-dataset-distinct-column-name)
| `/api/v1/dataset/distinct/{column_name}` |
+| `POST` | [Duplicate a dataset](./api/duplicate-a-dataset) |
`/api/v1/dataset/duplicate` |
+| `GET` | [Download multiple datasets as YAML
files](./api/download-multiple-datasets-as-yaml-files) |
`/api/v1/dataset/export/` |
+| `POST` | [Retrieve a table by name, or create it if it does not
exist](./api/retrieve-a-table-by-name-or-create-it-if-it-does-not-exist) |
`/api/v1/dataset/get_or_create/` |
+| `POST` | [Import dataset(s) with associated
databases](./api/import-dataset-s-with-associated-databases) |
`/api/v1/dataset/import/` |
+| `GET` | [Get related fields data
(dataset-related-column-name)](./api/get-related-fields-data-dataset-related-column-name)
| `/api/v1/dataset/related/{column_name}` |
+| `PUT` | [Warm up the cache for each chart powered by the given
table](./api/warm-up-the-cache-for-each-chart-powered-by-the-given-table) |
`/api/v1/dataset/warm_up_cache` |
+
+</details>
+
+<details>
+<summary><strong>Database</strong> (31 endpoints) — Manage database
connections and metadata.</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `GET` | [Get a list of databases](./api/get-a-list-of-databases) |
`/api/v1/database/` |
+| `POST` | [Create a new database](./api/create-a-new-database) |
`/api/v1/database/` |
+| `GET` | [Get metadata information about this API resource
(database--info)](./api/get-metadata-information-about-this-api-resource-database-info)
| `/api/v1/database/_info` |
+| `DELETE` | [Delete a database](./api/delete-a-database) |
`/api/v1/database/{pk}` |
+| `GET` | [Get a database](./api/get-a-database) | `/api/v1/database/{pk}` |
+| `PUT` | [Change a database](./api/change-a-database) |
`/api/v1/database/{pk}` |
+| `GET` | [Get all catalogs from a
database](./api/get-all-catalogs-from-a-database) |
`/api/v1/database/{pk}/catalogs/` |
+| `GET` | [Get a database connection
info](./api/get-a-database-connection-info) |
`/api/v1/database/{pk}/connection` |
+| `GET` | [Get function names supported by a
database](./api/get-function-names-supported-by-a-database) |
`/api/v1/database/{pk}/function_names/` |
+| `GET` | [Get charts and dashboards count associated to a
database](./api/get-charts-and-dashboards-count-associated-to-a-database) |
`/api/v1/database/{pk}/related_objects/` |
+| `GET` | [The list of the database schemas where to upload
information](./api/the-list-of-the-database-schemas-where-to-upload-information)
| `/api/v1/database/{pk}/schemas_access_for_file_upload/` |
+| `GET` | [Get all schemas from a
database](./api/get-all-schemas-from-a-database) |
`/api/v1/database/{pk}/schemas/` |
+| `GET` | [Get database select star for table
(database-pk-select-star-table-name)](./api/get-database-select-star-for-table-database-pk-select-star-table-name)
| `/api/v1/database/{pk}/select_star/{table_name}/` |
+| `GET` | [Get database select star for table
(database-pk-select-star-table-name-schema-name)](./api/get-database-select-star-for-table-database-pk-select-star-table-name-schema-name)
| `/api/v1/database/{pk}/select_star/{table_name}/{schema_name}/` |
+| `DELETE` | [Delete a SSH tunnel](./api/delete-a-ssh-tunnel) |
`/api/v1/database/{pk}/ssh_tunnel/` |
+| `POST` | [Re-sync all permissions for a database
connection](./api/re-sync-all-permissions-for-a-database-connection) |
`/api/v1/database/{pk}/sync_permissions/` |
+| `GET` | [Get table extra metadata
(database-pk-table-extra-table-name-schema-name)](./api/get-table-extra-metadata-database-pk-table-extra-table-name-schema-name)
| `/api/v1/database/{pk}/table_extra/{table_name}/{schema_name}/` |
+| `GET` | [Get table metadata](./api/get-table-metadata) |
`/api/v1/database/{pk}/table_metadata/` |
+| `GET` | [Get table extra metadata
(database-pk-table-metadata-extra)](./api/get-table-extra-metadata-database-pk-table-metadata-extra)
| `/api/v1/database/{pk}/table_metadata/extra/` |
+| `GET` | [Get database table metadata](./api/get-database-table-metadata) |
`/api/v1/database/{pk}/table/{table_name}/{schema_name}/` |
+| `GET` | [Get a list of tables for given
database](./api/get-a-list-of-tables-for-given-database) |
`/api/v1/database/{pk}/tables/` |
+| `POST` | [Upload a file to a database
table](./api/upload-a-file-to-a-database-table) |
`/api/v1/database/{pk}/upload/` |
+| `POST` | [Validate arbitrary SQL](./api/validate-arbitrary-sql) |
`/api/v1/database/{pk}/validate_sql/` |
+| `GET` | [Get names of databases currently
available](./api/get-names-of-databases-currently-available) |
`/api/v1/database/available/` |
+| `GET` | [Download database(s) and associated dataset(s) as a zip
file](./api/download-database-s-and-associated-dataset-s-as-a-zip-file) |
`/api/v1/database/export/` |
+| `POST` | [Import database(s) with associated
datasets](./api/import-database-s-with-associated-datasets) |
`/api/v1/database/import/` |
+| `GET` | [Receive personal access tokens from
OAuth2](./api/receive-personal-access-tokens-from-o-auth-2) |
`/api/v1/database/oauth2/` |
+| `GET` | [Get related fields data
(database-related-column-name)](./api/get-related-fields-data-database-related-column-name)
| `/api/v1/database/related/{column_name}` |
+| `POST` | [Test a database connection](./api/test-a-database-connection) |
`/api/v1/database/test_connection/` |
+| `POST` | [Upload a file and returns file
metadata](./api/upload-a-file-and-returns-file-metadata) |
`/api/v1/database/upload_metadata/` |
+| `POST` | [Validate database connection
parameters](./api/validate-database-connection-parameters) |
`/api/v1/database/validate_parameters/` |
+
+</details>
+
+#### Data Exploration
+
+<details>
+<summary><strong>Explore</strong> (1 endpoints) — Chart exploration and data
querying endpoints.</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `GET` | [Assemble Explore related information in a single
endpoint](./api/assemble-explore-related-information-in-a-single-endpoint) |
`/api/v1/explore/` |
+
+</details>
+
+<details>
+<summary><strong>SQL Lab</strong> (6 endpoints) — Execute SQL queries and
manage SQL Lab sessions.</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `GET` | [Get the bootstrap data for SqlLab
page](./api/get-the-bootstrap-data-for-sql-lab-page) | `/api/v1/sqllab/` |
+| `POST` | [Estimate the SQL query execution
cost](./api/estimate-the-sql-query-execution-cost) | `/api/v1/sqllab/estimate/`
|
+| `POST` | [Execute a SQL query](./api/execute-a-sql-query) |
`/api/v1/sqllab/execute/` |
+| `GET` | [Export the SQL query results to a
CSV](./api/export-the-sql-query-results-to-a-csv) |
`/api/v1/sqllab/export/{client_id}/` |
+| `POST` | [Format SQL code](./api/format-sql-code) |
`/api/v1/sqllab/format_sql/` |
+| `GET` | [Get the result of a SQL query
execution](./api/get-the-result-of-a-sql-query-execution) |
`/api/v1/sqllab/results/` |
+
+</details>
+
+<details>
+<summary><strong>Queries</strong> (17 endpoints) — View and manage SQL Lab
query history.</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `GET` | [Get a list of queries](./api/get-a-list-of-queries) |
`/api/v1/query/` |
+| `GET` | [Get query detail information](./api/get-query-detail-information) |
`/api/v1/query/{pk}` |
+| `GET` | [Get distinct values from field data
(query-distinct-column-name)](./api/get-distinct-values-from-field-data-query-distinct-column-name)
| `/api/v1/query/distinct/{column_name}` |
+| `GET` | [Get related fields data
(query-related-column-name)](./api/get-related-fields-data-query-related-column-name)
| `/api/v1/query/related/{column_name}` |
+| `POST` | [Manually stop a query with
client_id](./api/manually-stop-a-query-with-client-id) | `/api/v1/query/stop` |
+| `GET` | [Get a list of queries that changed after
last_updated_ms](./api/get-a-list-of-queries-that-changed-after-last-updated-ms)
| `/api/v1/query/updated_since` |
+| `DELETE` | [Bulk delete saved queries](./api/bulk-delete-saved-queries) |
`/api/v1/saved_query/` |
+| `GET` | [Get a list of saved queries](./api/get-a-list-of-saved-queries) |
`/api/v1/saved_query/` |
+| `POST` | [Create a saved query](./api/create-a-saved-query) |
`/api/v1/saved_query/` |
+| `GET` | [Get metadata information about this API resource
(saved-query--info)](./api/get-metadata-information-about-this-api-resource-saved-query-info)
| `/api/v1/saved_query/_info` |
+| `DELETE` | [Delete a saved query](./api/delete-a-saved-query) |
`/api/v1/saved_query/{pk}` |
+| `GET` | [Get a saved query](./api/get-a-saved-query) |
`/api/v1/saved_query/{pk}` |
+| `PUT` | [Update a saved query](./api/update-a-saved-query) |
`/api/v1/saved_query/{pk}` |
+| `GET` | [Get distinct values from field data
(saved-query-distinct-column-name)](./api/get-distinct-values-from-field-data-saved-query-distinct-column-name)
| `/api/v1/saved_query/distinct/{column_name}` |
+| `GET` | [Download multiple saved queries as YAML
files](./api/download-multiple-saved-queries-as-yaml-files) |
`/api/v1/saved_query/export/` |
+| `POST` | [Import saved queries with associated
databases](./api/import-saved-queries-with-associated-databases) |
`/api/v1/saved_query/import/` |
+| `GET` | [Get related fields data
(saved-query-related-column-name)](./api/get-related-fields-data-saved-query-related-column-name)
| `/api/v1/saved_query/related/{column_name}` |
+
+</details>
+
+<details>
+<summary><strong>Datasources</strong> (1 endpoints) — Query datasource
metadata and column values.</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `GET` | [Get possible values for a datasource
column](./api/get-possible-values-for-a-datasource-column) |
`/api/v1/datasource/{datasource_type}/{datasource_id}/column/{column_name}/values/`
|
+
+</details>
+
+<details>
+<summary><strong>Advanced Data Type</strong> (2 endpoints) — Endpoints for
advanced data type operations and conversions.</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `GET` | [Return an
AdvancedDataTypeResponse](./api/return-an-advanced-data-type-response) |
`/api/v1/advanced_data_type/convert` |
+| `GET` | [Return a list of available advanced data
types](./api/return-a-list-of-available-advanced-data-types) |
`/api/v1/advanced_data_type/types` |
+
+</details>
+
+#### Organization & Customization
+
+<details>
+<summary><strong>Tags</strong> (15 endpoints) — Organize assets with
tags.</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `DELETE` | [Bulk delete tags](./api/bulk-delete-tags) | `/api/v1/tag/` |
+| `GET` | [Get a list of tags](./api/get-a-list-of-tags) | `/api/v1/tag/` |
+| `POST` | [Create a tag](./api/create-a-tag) | `/api/v1/tag/` |
+| `GET` | [Get metadata information about tag API
endpoints](./api/get-metadata-information-about-tag-api-endpoints) |
`/api/v1/tag/_info` |
+| `POST` | [Add tags to an object](./api/add-tags-to-an-object) |
`/api/v1/tag/{object_type}/{object_id}/` |
+| `DELETE` | [Delete a tagged object](./api/delete-a-tagged-object) |
`/api/v1/tag/{object_type}/{object_id}/{tag}/` |
+| `DELETE` | [Delete a tag](./api/delete-a-tag) | `/api/v1/tag/{pk}` |
+| `GET` | [Get a tag detail information](./api/get-a-tag-detail-information) |
`/api/v1/tag/{pk}` |
+| `PUT` | [Update a tag](./api/update-a-tag) | `/api/v1/tag/{pk}` |
+| `DELETE` | [Delete tag by pk favorites](./api/delete-tag-by-pk-favorites) |
`/api/v1/tag/{pk}/favorites/` |
+| `POST` | [Create tag by pk favorites](./api/create-tag-by-pk-favorites) |
`/api/v1/tag/{pk}/favorites/` |
+| `POST` | [Bulk create tags and tagged
objects](./api/bulk-create-tags-and-tagged-objects) | `/api/v1/tag/bulk_create`
|
+| `GET` | [Get tag favorite status](./api/get-tag-favorite-status) |
`/api/v1/tag/favorite_status/` |
+| `GET` | [Get all objects associated with a
tag](./api/get-all-objects-associated-with-a-tag) | `/api/v1/tag/get_objects/` |
+| `GET` | [Get related fields data
(tag-related-column-name)](./api/get-related-fields-data-tag-related-column-name)
| `/api/v1/tag/related/{column_name}` |
+
+</details>
+
+<details>
+<summary><strong>Annotation Layers</strong> (14 endpoints) — Manage annotation
layers and annotations for charts.</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `DELETE` | [Delete multiple annotation layers in a bulk
operation](./api/delete-multiple-annotation-layers-in-a-bulk-operation) |
`/api/v1/annotation_layer/` |
+| `GET` | [Get a list of annotation layers
(annotation-layer)](./api/get-a-list-of-annotation-layers-annotation-layer) |
`/api/v1/annotation_layer/` |
+| `POST` | [Create an annotation layer
(annotation-layer)](./api/create-an-annotation-layer-annotation-layer) |
`/api/v1/annotation_layer/` |
+| `GET` | [Get metadata information about this API resource
(annotation-layer--info)](./api/get-metadata-information-about-this-api-resource-annotation-layer-info)
| `/api/v1/annotation_layer/_info` |
+| `DELETE` | [Delete annotation layer
(annotation-layer-pk)](./api/delete-annotation-layer-annotation-layer-pk) |
`/api/v1/annotation_layer/{pk}` |
+| `GET` | [Get an annotation layer
(annotation-layer-pk)](./api/get-an-annotation-layer-annotation-layer-pk) |
`/api/v1/annotation_layer/{pk}` |
+| `PUT` | [Update an annotation layer
(annotation-layer-pk)](./api/update-an-annotation-layer-annotation-layer-pk) |
`/api/v1/annotation_layer/{pk}` |
+| `DELETE` | [Bulk delete annotation
layers](./api/bulk-delete-annotation-layers) |
`/api/v1/annotation_layer/{pk}/annotation/` |
+| `GET` | [Get a list of annotation layers
(annotation-layer-pk-annotation)](./api/get-a-list-of-annotation-layers-annotation-layer-pk-annotation)
| `/api/v1/annotation_layer/{pk}/annotation/` |
+| `POST` | [Create an annotation layer
(annotation-layer-pk-annotation)](./api/create-an-annotation-layer-annotation-layer-pk-annotation)
| `/api/v1/annotation_layer/{pk}/annotation/` |
+| `DELETE` | [Delete annotation layer
(annotation-layer-pk-annotation-annotation-id)](./api/delete-annotation-layer-annotation-layer-pk-annotation-annotation-id)
| `/api/v1/annotation_layer/{pk}/annotation/{annotation_id}` |
+| `GET` | [Get an annotation layer
(annotation-layer-pk-annotation-annotation-id)](./api/get-an-annotation-layer-annotation-layer-pk-annotation-annotation-id)
| `/api/v1/annotation_layer/{pk}/annotation/{annotation_id}` |
+| `PUT` | [Update an annotation layer
(annotation-layer-pk-annotation-annotation-id)](./api/update-an-annotation-layer-annotation-layer-pk-annotation-annotation-id)
| `/api/v1/annotation_layer/{pk}/annotation/{annotation_id}` |
+| `GET` | [Get related fields data
(annotation-layer-related-column-name)](./api/get-related-fields-data-annotation-layer-related-column-name)
| `/api/v1/annotation_layer/related/{column_name}` |
+
+</details>
+
+<details>
+<summary><strong>CSS Templates</strong> (8 endpoints) — Manage CSS templates
for custom dashboard styling.</summary>
+
+| Method | Endpoint | Description |
+|--------|----------|-------------|
+| `DELETE` | [Bulk delete CSS templates](./api/bulk-delete-css-templates) |
`/api/v1/css_template/` |
+| `GET` | [Get a list of CSS templates](./api/get-a-list-of-css-templates) |
`/api/v1/css_template/` |
+| `POST` | [Create a CSS template](./api/create-a-css-template) |
`/api/v1/css_template/` |
+| `GET` | [Get metadata information about this API resource
(css-template--info)](./api/get-metadata-information-about-this-api-resource-css-template-info)
| `/api/v1/css_template/_info` |
+| `DELETE` | [Delete a CSS template](./api/delete-a-css-template) |
`/api/v1/css_template/{pk}` |
+| `GET` | [Get a CSS template](./api/get-a-css-template) |
`/api/v1/css_template/{pk}` |
+| `PUT` | [Update a CSS template](./api/update-a-css-template) |
`/api/v1/css_template/{pk}` |
+| `GET` | [Get related fields data
(css-template-related-column-name)](./api/get-related-fields-data-css-template-related-column-name)
| `/api/v1/css_template/related/{column_name}` |
Review Comment:
<div>
<div id="suggestion">
<div id="issue"><b>Broken Documentation Links</b></div>
<div id="fix">
The updated link paths (e.g., './api/bulk-delete-css-templates') point to
non-existent files, as no 'api' subdirectory exists in docs/docs/. This breaks
navigation for users reading the API reference. If these are intended as
placeholders, consider removing the links or adding redirects until the detail
pages are created.
</div>
</div>
<small><i>Code Review Run #f4daa5</i></small>
</div>
---
Should Bito avoid suggestions like this for future reviews? (<a
href=https://alpha.bito.ai/home/ai-agents/review-rules>Manage Rules</a>)
- [ ] Yes, avoid them
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]