grafana/docs/sources/http_api/reporting.md
Connor Lindsey b78a67cec7
PackageJson: Prettify markdown/mdx on commit with lint-staged (#37616)
* Format md,mdx files with prettier on lint-staged

* Manually run prettier on docs/sources
2021-08-06 07:52:36 -06:00

3.5 KiB

+++ title = "Reporting API" description = "Grafana Enterprise APIs" keywords = ["grafana", "enterprise", "api", "reporting"] aliases = ["/docs/grafana/latest/http_api/reporting/"] +++

Reporting API

This API allows you to interact programmatically with the [Reporting]({{< relref "../enterprise/reporting.md" >}}) feature.

Reporting is only available in Grafana Enterprise. Read more about [Grafana Enterprise]({{< relref "../enterprise" >}}).

If you have [Fine-grained access Control]({{< relref "../enterprise/access-control/_index.md" >}}) enabled, for some endpoints you would need to have relevant permissions. Refer to specific resources to understand what permissions are required.

Send a report

Only available in Grafana Enterprise v7.0+.

This API endpoint is experimental and may be deprecated in a future release. On deprecation, a migration strategy will be provided and the endpoint will remain functional until the next major release of Grafana.

POST /api/reports/email

Generate and send a report. This API waits for the report to be generated before returning. We recommend that you set the client's timeout to at least 60 seconds.

Required permissions

See note in the [introduction]({{< ref "#reporting-api" >}}) for an explanation.

Action Scope
reports:send n/a

Example request

POST /api/reports/email HTTP/1.1
Accept: application/json
Content-Type: application/json
Authorization: Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk

{
  "id":"3",
  "useEmailsFromReport": true
}

JSON Body Schema

Field name Data type Description
id string ID of the report to send. It is the same as in the URL when editing a report, not to be confused with the ID of the dashboard. Required.
emails string Comma-separated list of emails to which to send the report to. Overrides the emails from the report. Required if useEmailsFromReport is not present.
useEmailsFromReport boolean Send the report to the emails specified in the report. Required if emails is not present.

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 29

{"message":"Report was sent"}

Status Codes

Code Description
200 Report was sent.
400 Bad request (invalid json, missing content-type, missing or invalid fields, etc.).
401 Authentication failed, refer to [Authentication API]({{< relref "../http_api/auth.md" >}}).
403 User is authenticated but is not authorized to generate the report.
404 Report not found.
500 Unexpected error or server misconfiguration. Refer to server logs for more details.