grafana/docs/sources/http_api/playlist.md
Samuel Alfageme 261191ffd7 Docs: misc. nitpicks to the HTTP API docs (#21758)
* Replace bash/json with http in http_api codeblocks

Since http is used elsewhere on the API docs and makes the
markdown rendering look different on the blocks that use bash/json

* Fix the annotations API link on 'Features'

- Noticed the Features/Dashboard Features/Annotations link pointing to
the HTTP API was linking itself instead of '../http_api/annotations.md'.
- Also add a link on Dashboard Export and Import to its HTTP API.

* Add missing links to features in API Index

Noticed there was 3 missing references in the API docs index.
- https://grafana.com/docs/grafana/latest/http_api/playlist
- https://grafana.com/docs/grafana/latest/http_api/datasource_permissions
- https://grafana.com/docs/grafana/latest/http_api/external_group_sync

Last two are Grafana Enterprise -only, so created a separate subsection
for them.
2020-01-27 13:41:15 +01:00

4.8 KiB

+++ title = "Playlist HTTP API " description = "Playlist Admin HTTP API" keywords = ["grafana", "http", "documentation", "api", "playlist"] aliases = ["/docs/grafana/latest/http_api/playlist/"] type = "docs" [menu.docs] name = "Playlist" parent = "http_api" identifier = "http_api_playlist" +++

Playlist API

Search Playlist

GET /api/playlists

Get all existing playlist for the current organization using pagination

Example Request:

GET /api/playlists HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Querystring Parameters:

These parameters are used as querystring parameters.

  • query - Limit response to playlist having a name like this value.
  • limit - Limit response to X number of playlist.

Example Response:

HTTP/1.1 200
Content-Type: application/json
[
  {
    "id": 1,
    "name": "my playlist",
    "interval": "5m"
  }
]

Get one playlist

GET /api/playlists/:id

Example Request:

GET /api/playlists/1 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example Response:

HTTP/1.1 200
Content-Type: application/json
{
  "id" : 1,
  "name": "my playlist",
  "interval": "5m",
  "orgId": "my org",
  "items": [
    {
      "id": 1,
      "playlistId": 1,
      "type": "dashboard_by_id",
      "value": "3",
      "order": 1,
      "title":"my third dasboard"
    },
    {
      "id": 2,
      "playlistId": 1,
      "type": "dashboard_by_tag",
      "value": "myTag",
      "order": 2,
      "title":"my other dasboard"
    }
  ]
}

Get Playlist items

GET /api/playlists/:id/items

Example Request:

GET /api/playlists/1/items HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example Response:

HTTP/1.1 200
Content-Type: application/json
[
  {
    "id": 1,
    "playlistId": 1,
    "type": "dashboard_by_id",
    "value": "3",
    "order": 1,
    "title":"my third dasboard"
  },
  {
    "id": 2,
    "playlistId": 1,
    "type": "dashboard_by_tag",
    "value": "myTag",
    "order": 2,
    "title":"my other dasboard"
  }
]

Get Playlist dashboards

GET /api/playlists/:id/dashboards

Example Request:

GET /api/playlists/1/dashboards HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example Response:

HTTP/1.1 200
Content-Type: application/json
[
  {
    "id": 3,
    "title": "my third dasboard",
    "order": 1,
  },
  {
    "id": 5,
    "title":"my other dasboard"
    "order": 2,

  }
]

Create a playlist

POST /api/playlists/

Example Request:

PUT /api/playlists/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
  {
    "name": "my playlist",
    "interval": "5m",
    "items": [
      {
        "type": "dashboard_by_id",
        "value": "3",
        "order": 1,
        "title":"my third dasboard"
      },
      {
        "type": "dashboard_by_tag",
        "value": "myTag",
        "order": 2,
        "title":"my other dasboard"
      }
    ]
  }

Example Response:

HTTP/1.1 200
Content-Type: application/json
  {
    "id": 1,
    "name": "my playlist",
    "interval": "5m"
  }

Update a playlist

PUT /api/playlists/:id

Example Request:

PUT /api/playlists/1 HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
  {
    "name": "my playlist",
    "interval": "5m",
    "items": [
      {
        "playlistId": 1,
        "type": "dashboard_by_id",
        "value": "3",
        "order": 1,
        "title":"my third dasboard"
      },
      {
        "playlistId": 1,
        "type": "dashboard_by_tag",
        "value": "myTag",
        "order": 2,
        "title":"my other dasboard"
      }
    ]
  }

Example Response:

HTTP/1.1 200
Content-Type: application/json
{
  "id" : 1,
  "name": "my playlist",
  "interval": "5m",
  "orgId": "my org",
  "items": [
    {
      "id": 1,
      "playlistId": 1,
      "type": "dashboard_by_id",
      "value": "3",
      "order": 1,
      "title":"my third dasboard"
    },
    {
      "id": 2,
      "playlistId": 1,
      "type": "dashboard_by_tag",
      "value": "myTag",
      "order": 2,
      "title":"my other dasboard"
    }
  ]
}

Delete a playlist

DELETE /api/playlists/:id

Example Request:

DELETE /api/playlists/1 HTTP/1.1
Accept: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

Example Response:

HTTP/1.1 200
Content-Type: application/json
{}