+++ # ----------------------------------------------------------------------- # Do not edit this file. It is automatically generated by API Documenter. # ----------------------------------------------------------------------- title = "BackendSrv" keywords = ["grafana","documentation","sdk","@grafana/runtime"] type = "docs" +++ ## BackendSrv interface Used to communicate via http(s) to a remote backend such as the Grafana backend, a datasource etc. The BackendSrv is using the [Fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) under the hood to handle all the communication. The request function can be used to perform a remote call by specifying a [BackendSrvRequest](./runtime/backendsrvrequest.md). To make the BackendSrv a bit easier to use we have added a couple of shorthand functions that will use default values executing the request. Signature ```typescript export interface BackendSrv ``` Import ```typescript import { BackendSrv } from '@grafana/runtime'; ``` ## Remarks By default Grafana will display an error message alert if the remote call fails. If you want to prevent this from happending you need to catch the error thrown by the BackendSrv and set the `isHandled = true` on the incoming error. Methods | Method | Description | | --- | --- | | [datasourceRequest(options)](#datasourcerequest-method) | Special function used to communicate with datasources that will emit core events that the Grafana QueryInspector and QueryEditor is listening for to be able to display datasource query information. Can be skipped by adding option.silent when initializing the request. | | [delete(url)](#delete-method) | | | [get(url, params, requestId)](#get-method) | | | [patch(url, data)](#patch-method) | | | [post(url, data)](#post-method) | | | [put(url, data)](#put-method) | | | [request(options)](#request-method) | | ### datasourceRequest method Special function used to communicate with datasources that will emit core events that the Grafana QueryInspector and QueryEditor is listening for to be able to display datasource query information. Can be skipped by adding `option.silent` when initializing the request. Signature ```typescript datasourceRequest(options: BackendSrvRequest): Promise; ``` Parameters | Parameter | Type | Description | | --- | --- | --- | | options | BackendSrvRequest | | Returns: `Promise` ### delete method Signature ```typescript delete(url: string): Promise; ``` Parameters | Parameter | Type | Description | | --- | --- | --- | | url | string | | Returns: `Promise` ### get method Signature ```typescript get(url: string, params?: any, requestId?: string): Promise; ``` Parameters | Parameter | Type | Description | | --- | --- | --- | | url | string | | | params | any | | | requestId | string | | Returns: `Promise` ### patch method Signature ```typescript patch(url: string, data?: any): Promise; ``` Parameters | Parameter | Type | Description | | --- | --- | --- | | url | string | | | data | any | | Returns: `Promise` ### post method Signature ```typescript post(url: string, data?: any): Promise; ``` Parameters | Parameter | Type | Description | | --- | --- | --- | | url | string | | | data | any | | Returns: `Promise` ### put method Signature ```typescript put(url: string, data?: any): Promise; ``` Parameters | Parameter | Type | Description | | --- | --- | --- | | url | string | | | data | any | | Returns: `Promise` ### request method Signature ```typescript request(options: BackendSrvRequest): Promise; ``` Parameters | Parameter | Type | Description | | --- | --- | --- | | options | BackendSrvRequest | | Returns: `Promise`