Query history API

    Adds query to query history.

    Example request:

    JSON body schema:

    • datasourceUid – Data source uid.
    • queries – JSON of query or queries.

    Example response:

    1. HTTP/1.1 200
    2. Content-Type: application/json
    3. {
    4. "result": {
    5. "uid": "Ahg678z",
    6. "datasourceUid": "PE1C5CBDA0504A6A3",
    7. "createdBy": 1,
    8. "createdAt": 1643630762,
    9. "starred": false,
    10. "comment": "",
    11. "queries": [
    12. {
    13. "refId": "A",
    14. "key": "Q-87fed8e3-62ba-4eb2-8d2a-4129979bb4de-0",
    15. "scenarioId": "csv_content",
    16. "datasource": {
    17. "type": "testdata",
    18. "uid": "PD8C576611E62080A"
    19. }
    20. }
    21. ]
    22. }
    23. }

    Status codes:

    • 200 – OK
    • 400 - Errors (invalid JSON, missing or invalid fields)
    • 401 – Unauthorized
    • 500 – Internal error

    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 the selected data source. 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.
    • from/to - Specifies time range for the query history search. The time can be either epoch timestamps in milliseconds or relative using Grafana time units. For example, now-5m.

    Example request for query history search:

    1. GET /api/query-history?datasourceUid="PE1C5CBDA0504A6A3"&datasourceUid="FG1C1CBDA0504A6EL"&searchString="ALERTS"&sort="time-asc" HTTP/1.1
    2. Accept: application/json
    3. Content-Type: application/json
    4. Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

    Example response for query history search:

    1. HTTP/1.1 200
    2. Content-Type: application/json
    3. {
    4. "result": {
    5. "totalCount": 150,
    6. "page": 1,
    7. "perPage": 100
    8. "queryHistory":[{
    9. "uid": "Ahg678z",
    10. "datasourceUid": "PE1C5CBDA0504A6A3",
    11. "createdBy": 1,
    12. "createdAt": 1643630762,
    13. "starred": false,
    14. "comment": "",
    15. "queries": [
    16. "refId": "A",
    17. "key": "Q-87fed8e3-62ba-4eb2-8d2a-4129979bb4de-0",
    18. "datasource": {
    19. "type": "testdata",
    20. "uid": "PE1C5CBDA0504A6A3"
    21. }
    22. }
    23. ]
    24. }]
    25. }

    Status codes:

    • 200 – OK
    • 401 – Unauthorized
    • 500 – Internal error

    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:

    Example Response:

    1. HTTP/1.1 200
    2. Content-Type: application/json
    3. {
    4. "message": "Query deleted",
    5. "id": 28
    6. }

    Status codes:

    • 200 – OK
    • 401 – Unauthorized
    • 500 – Internal error

    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:

    1. PATCH /api/query-history/P8zM2I1nz HTTP/1.1
    2. Accept: application/json
    3. Content-Type: application/json
    4. Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
    5. {
    6. "comment": "Debugging query",
    7. }

    Example Response:

    1. HTTP/1.1 200
    2. Content-Type: application/json
    3. {
    4. "result": {
    5. "uid": "P8zM2I1nz",
    6. "datasourceUid": "PE1C5CBDA0504A6A3",
    7. "createdBy": 1,
    8. "createdAt": 1643630762,
    9. "starred": false,
    10. "comment": "Debugging query",
    11. "queries": [
    12. {
    13. "refId": "A",
    14. "key": "Q-87fed8e3-62ba-4eb2-8d2a-4129979bb4de-0",
    15. "scenarioId": "csv_content",
    16. "datasource": {
    17. "type": "testdata",
    18. "uid": "PD8C576611E62080A"
    19. }
    20. }
    21. ]
    22. }
    23. }

    Status codes:

    • 200 – OK
    • 400 - Errors (invalid JSON, missing or invalid fields)
    • 401 – Unauthorized
    • 500 – Internal error

    POST /api/query-history/star/:uid

    Stars query in query history.

    Example response:

    1. HTTP/1.1 200
    2. Content-Type: application/json
    3. {
    4. "uid": "P8zM2I1nz",
    5. "createdBy": 1,
    6. "createdAt": 1643630762,
    7. "starred": false,
    8. "comment": "Debugging query",
    9. "queries": [
    10. {
    11. "refId": "A",
    12. "key": "Q-87fed8e3-62ba-4eb2-8d2a-4129979bb4de-0",
    13. "scenarioId": "csv_content",
    14. "datasource": {
    15. "type": "testdata",
    16. "uid": "PD8C576611E62080A"
    17. }
    18. }
    19. ]
    20. }
    21. }

    Status codes:

    • 200 – OK
    • 401 – Unauthorized
    • 500 – Internal error

    Unstar query in Query history

    DELETE /api/query-history/star/:uid

    Removes stars from query in query history.

    Example request:

    1. DELETE /api/query-history/star/P8zM2I1nz HTTP/1.1
    2. Accept: application/json
    3. Content-Type: application/json
    4. Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

    Example response:

    1. HTTP/1.1 200
    2. Content-Type: application/json
    3. {
    4. "result": {
    5. "uid": "P8zM2I1nz",
    6. "datasourceUid": "PE1C5CBDA0504A6A3",
    7. "createdBy": 1,
    8. "createdAt": 1643630762,
    9. "starred": false,
    10. "comment": "Debugging query",
    11. "queries": [
    12. {
    13. "refId": "A",
    14. "key": "Q-87fed8e3-62ba-4eb2-8d2a-4129979bb4de-0",
    15. "scenarioId": "csv_content",
    16. "datasource": {
    17. "type": "testdata",
    18. "uid": "PD8C576611E62080A"
    19. }
    20. }
    21. ]
    22. }
    23. }

    Status codes:

    • 200 – OK
    • 401 – Unauthorized
    • 500 – Internal error

    POST /api/query-history/migrate

    Migrates multiple queries in to query history.

    Example request:

    JSON body schema:

    • queries – JSON of query history items.

    Example response:

    1. HTTP/1.1 200
    2. Content-Type: application/json
    3. {
    4. "message": "Query history successfully migrated",
    5. "totalCount": 105,
    6. "starredCount": 10
    7. }
    • 200 – OK
    • 400 - Errors (invalid JSON, missing or invalid fields)
    • 500 – Internal error