mirror of
https://github.com/grafana/grafana.git
synced 2025-07-31 21:42:38 +08:00

* Query history: Add search functionality * Add more tests * Add documentation * Fix spell errors * Update docs * Update docs * Fix lint error * Update docs/sources/http_api/query_history.md Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com> * Document limit * Run tests with postgres and mysql * Use CASE insted of IIF * Use BooleanStr instead of 1 * Change LIKE to LikeStr() * Return back integration tests * Update SQL to use Bool() everywhere * Create new tests for sorting * Update docs/sources/http_api/query_history.md Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com> * Update docs/sources/http_api/query_history.md Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com> * Update docs/sources/http_api/query_history.md Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com> * Update docs/sources/http_api/query_history.md Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com> * Update docs/sources/http_api/query_history.md Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com> * Add page, count and limit to results * Remove newline * Update documentation * Update docs Co-authored-by: Piotr Jamróz <pm.jamroz@gmail.com> Co-authored-by: achatterjee-grafana <70489351+achatterjee-grafana@users.noreply.github.com>
324 lines
7.5 KiB
Markdown
324 lines
7.5 KiB
Markdown
+++
|
||
title = "Query History HTTP API "
|
||
description = "Grafana Query History HTTP API"
|
||
keywords = ["grafana", "http", "documentation", "api", "queryHistory"]
|
||
aliases = ["/docs/grafana/latest/http_api/query_history/"]
|
||
+++
|
||
|
||
# Query history API
|
||
|
||
This API can be used to add queries to Query history. It requires that the user is logged in and that Query history feature is enabled in config file.
|
||
|
||
## Add query to Query history
|
||
|
||
`POST /api/query-history`
|
||
|
||
Adds query to query history.
|
||
|
||
**Example request:**
|
||
|
||
```http
|
||
POST /api/query-history HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
{
|
||
```
|
||
|
||
JSON body schema:
|
||
|
||
- **datasourceUid** – Data source uid.
|
||
- **queries** – JSON of query or queries.
|
||
|
||
**Example response:**
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
{
|
||
```
|
||
|
||
Status codes:
|
||
|
||
- **200** – OK
|
||
- **400** - Errors (invalid JSON, missing or invalid fields)
|
||
- **500** – Unable to add query to the database
|
||
|
||
## Query history search
|
||
|
||
`GET /api/query-history`
|
||
|
||
Returns a list of queries in the query history that matches the search criteria. Query history search supports pagination. Use the `limit` parameter to control the maximum number of queries returned; the default limit is 100. You can also use the `page` query parameter to fetch queries from any page other than the first one.
|
||
|
||
Query parameters:
|
||
|
||
- **datasourceUid** - Filter the query history for selected data sources. You must specify at least one data source UID. To perform an "AND" filtering with multiple data sources, specify the data source parameter using the following format: `datasourceUid=uid1&datasourceUid=uid2`.
|
||
- **searchString** – Filter the query history based on the content.
|
||
- **sort** - Specify the sorting order. Sorting can be `time-asc` or `time-desc`. The default is `time-desc`.
|
||
- **onlyStarred** - Search for queries that are starred. Defaults to `false`.
|
||
- **page** - Search supports pagination. Specify which page number to return. Use the limit parameter to specify the number of queries per page.
|
||
- **limit** - Limits the number of returned query history items per page. The default is 100 queries per page.
|
||
|
||
**Example request for query history search**:
|
||
|
||
```http
|
||
GET /api/query-history?datasourceUid="PE1C5CBDA0504A6A3"&datasourceUid="FG1C1CBDA0504A6EL"&searchString="ALERTS"&sort="time-asc" HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
```
|
||
|
||
**Example response for query history search**:
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
{
|
||
```
|
||
|
||
Status codes:
|
||
|
||
- **200** – OK
|
||
- **500** – Unable to add query to the database
|
||
|
||
## Delete query from Query history by UID
|
||
|
||
`DELETE /api/query-history/:uid`
|
||
|
||
Deletes the query in query history that matches the specified uid. It requires that the user is logged in and that Query history feature is enabled in config file.
|
||
|
||
**Example Request**:
|
||
|
||
```http
|
||
DELETE /api/query-history/P8zM2I1nz HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
```
|
||
|
||
**Example Response**:
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
|
||
```
|
||
|
||
Status codes:
|
||
|
||
- **200** – OK
|
||
- **500** – Unable to delete query from the database
|
||
|
||
## Update comment of query in Query history by UID
|
||
|
||
`PATCH /api/query-history/:uid`
|
||
|
||
Updates comment of a query with a specific uid that is stored in the query history.
|
||
|
||
Query parameters:
|
||
|
||
- **comment** – New comment that will be added to the specified query.
|
||
|
||
**Example Request**:
|
||
|
||
```http
|
||
PATCH /api/query-history/P8zM2I1nz HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
{
|
||
```
|
||
|
||
**Example Response**:
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
{
|
||
```
|
||
|
||
Status codes:
|
||
|
||
- **200** – OK
|
||
- **400** - Errors (invalid JSON, missing or invalid fields)
|
||
- **500** – Unable to update comment of query in the database
|
||
|
||
## Star query in Query history
|
||
|
||
`POST /api/query-history/star/:uid`
|
||
|
||
Stars query in query history.
|
||
|
||
**Example request:**
|
||
|
||
```http
|
||
POST /api/query-history/star/P8zM2I1nz HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
```
|
||
|
||
**Example response:**
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
{
|
||
```
|
||
|
||
Status codes:
|
||
|
||
- **200** – OK
|
||
- **500** – Unable to star query in the database
|
||
|
||
## Unstar query in Query history
|
||
|
||
`DELETE /api/query-history/star/:uid`
|
||
|
||
Removes stars from query in query history.
|
||
|
||
**Example request:**
|
||
|
||
```http
|
||
DELETE /api/query-history/star/P8zM2I1nz HTTP/1.1
|
||
Accept: application/json
|
||
Content-Type: application/json
|
||
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
|
||
```
|
||
|
||
**Example response:**
|
||
|
||
```http
|
||
HTTP/1.1 200
|
||
Content-Type: application/json
|
||
{
|
||
```
|
||
|
||
Status codes:
|
||
|
||
- **200** – OK
|
||
- **500** – Unable to unstar query in the database
|