Dashboard API
Last updated
Was this helpful?
Last updated
Was this helpful?
Contents
GET
/api/v3/grafana/render/?target=
Returns PNG image of a dashboard panel. To display any data on the graph you must include a ‘target’, you can append multiple targets to the request as follows: ?target=foo.bar.A&target=foo.bar.B
target*
String
graphite query
from
String
Format: -<num>m|h|d|w|M|Y default: -6h
to
String
Format: now-<num>m|h|d|w|M|Y default: now
width
String
number measured in pixels default: 1000
height
String
number measured in pixels default: 500
style
String
Format: “light” | “dark ” default: dark
Curl Example:
Response:
<image data>
Time Queries:
m
= Minutes
h
= Hours
d
= Days
w
= Weeks
M
= Months
Y
= Years
To use the Grafana API, you will need to create a new Grafana Service Account Token within the Grafana UI (Settings => Service Accounts => Add Service Account with Admin role => Generate Service Account Token).
Additional Considerations:
Since MetricFire now hosts Grafana v9.5, dashboard JSON templates must now be wrapped in the following object, in order to create/update dashboards programatically ("folderID": 0, maps to the default "General" folder, but any folderID can be specified):
In all below examples <UID>
refers to the URL subdomain of your hosted instance, uid
refers to the unique identifier of the related resource. Below are examples of requests made using the Grafana Dashboard HTTP API.
POST
/api/dashboards/db
Creates a new dashboard or updates an existing dashboard
Example:
Example dashboard.json file:
GET
/api/dashboards/uid/:uid
Returns a dashboard given the dashboard's uid
Content-Type
application/json
Authorization
Bearer <SERVICE-ACCOUNT-TOKEN>
Curl examples:
Response:
DELETE
/api/dashboards/uid/:uid
Deletes a dashboard given the dashboard slug.
Content-Type
application/json
Authorization
Bearer <SERVICE-ACCOUNT-TOKEN>
Example:
Response:
GET
/api/search
Returns a list of dashboards given a search query.
Content-Type
application/json
Authorization
Bearer <SERVICE-ACCOUNT-TOKEN>
Example:
Response:
POST
/api/folders
Creates a new folder for dashboard organization.
Headers
Content-Type
application/json
Authorization
Bearer <SERVICE-ACCOUNT-TOKEN>
JSON Schema
title
string
name of new folder
Example:
Response: