2022-07-25 15:19:07 +01:00
---
aliases :
2022-12-09 12:36:04 -04:00
- ../../http_api/correlations/
2023-07-20 18:39:59 +02:00
canonical : /docs/grafana/latest/developers/http_api/correlations/
2022-07-25 15:19:07 +01:00
description : Grafana Correlations HTTP API
keywords :
- grafana
- http
- documentation
- api
- correlations
- Glue
2023-07-18 09:10:12 +01:00
labels :
products :
- enterprise
- oss
2022-07-25 15:19:07 +01:00
title : 'Correlations HTTP API '
---
# Correlations API
This API can be used to define correlations between data sources.
## Create correlations
2022-07-27 07:01:46 +01:00
`POST /api/datasources/uid/:sourceUID/correlations`
2022-07-25 15:19:07 +01:00
2022-07-27 07:01:46 +01:00
Creates a correlation between two data sources - the source data source identified by `sourceUID` in the path, and the target data source which is specified in the body.
2022-07-25 15:19:07 +01:00
**Example request:**
```http
POST /api/datasources/uid/uyBf2637k/correlations HTTP / 1.1
Accept : application/json
Content-Type : application/json
Authorization : Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
2022-07-27 07:01:46 +01:00
"targetUID" : "PDDA8E780A17E7EF1" ,
2022-07-25 15:19:07 +01:00
"label" : "My Label" ,
"description" : "Logs to Traces" ,
2022-10-04 09:39:55 +01:00
"config" : {
"type" : "query" ,
"field" : "message" ,
"target" : {},
}
2022-07-25 15:19:07 +01:00
}
```
JSON body schema:
2022-07-27 07:01:46 +01:00
- **targetUID** – Target data source uid.
2022-07-25 15:19:07 +01:00
- **label** – A label for the correlation.
- **description** – A description for the correlation.
**Example response:**
```http
HTTP / 1.1 200
Content-Type : application/json
{
"message" : "Correlation created" ,
"result" : {
"description" : "Logs to Traces" ,
"label" : "My Label" ,
2022-07-27 07:01:46 +01:00
"sourceUID" : "uyBf2637k" ,
"targetUID" : "PDDA8E780A17E7EF1" ,
2022-10-04 09:39:55 +01:00
"uid" : "50xhMlg9k" ,
"config" : {
"type" : "query" ,
"field" : "message" ,
"target" : {},
}
2022-07-25 15:19:07 +01:00
}
}
```
Status codes:
- **200** – OK
- **400** - Errors (invalid JSON, missing or invalid fields)
- **401** – Unauthorized
- **403** – Forbidden, source data source is read-only
- **404** – Not found, either source or target data source could not be found
- **500** – Internal error
2022-07-27 09:07:58 +01:00
## Delete correlations
`DELETE /api/datasources/uid/:sourceUID/correlations/:correlationUID`
Deletes a correlation.
**Example request:**
```http
DELETE /api/datasources/uid/uyBf2637k/correlations/J6gn7d31L HTTP / 1.1
Accept : application/json
Content-Type : application/json
Authorization : Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example response:**
```http
HTTP / 1.1 200
Content-Type : application/json
{
"message" : "Correlation deleted"
}
```
Status codes:
- **200** – OK
- **401** – Unauthorized
- **403** – Forbidden, data source is read-only
- **404** – Correlation not found
- **500** – Internal error
2022-08-03 14:18:51 +01:00
## Update correlations
`PATCH /api/datasources/uid/:sourceUID/correlations/:correlationUID`
Updates a correlation.
**Example request:**
```http
POST /api/datasources/uid/uyBf2637k/correlations/J6gn7d31L HTTP / 1.1
Accept : application/json
Content-Type : application/json
Authorization : Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
{
"label" : "My Label" ,
"description" : "Logs to Traces" ,
}
```
JSON body schema:
- **label** – A label for the correlation.
- **description** – A description for the correlation.
**Example response:**
```http
HTTP / 1.1 200
Content-Type : application/json
{
"message" : "Correlation updated" ,
"result" : {
"description" : "Logs to Traces" ,
"label" : "My Label" ,
"sourceUID" : "uyBf2637k" ,
"targetUID" : "PDDA8E780A17E7EF1" ,
2022-10-04 09:39:55 +01:00
"uid" : "J6gn7d31L" ,
"config" : {
"type" : "query" ,
"field" : "message" ,
"target" : {}
}
2022-08-03 14:18:51 +01:00
}
}
```
Status codes:
- **200** – OK
2022-10-10 15:36:14 +02:00
- **400** – Bad request
2022-08-03 14:18:51 +01:00
- **401** – Unauthorized
- **403** – Forbidden, source data source is read-only
- **404** – Not found, either source or target data source could not be found
- **500** – Internal error
2022-08-11 16:58:11 +01:00
## Get single correlation
`GET /api/datasources/uid/:sourceUID/correlations/:correlationUID`
Gets a single correlation.
**Example request:**
```http
GET /api/datasources/uid/uyBf2637k/correlations/J6gn7d31L HTTP / 1.1
Accept : application/json
Authorization : Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example response:**
```http
HTTP / 1.1 200
Content-Type : application/json
{
"description" : "Logs to Traces" ,
"label" : "My Label" ,
"sourceUID" : "uyBf2637k" ,
"targetUID" : "PDDA8E780A17E7EF1" ,
2022-10-04 09:39:55 +01:00
"uid" : "J6gn7d31L" ,
"config" : {
"type" : "query" ,
"field" : "message" ,
"target" : {},
}
2022-08-11 16:58:11 +01:00
}
```
Status codes:
- **200** – OK
- **401** – Unauthorized
- **404** – Not found, either source data source or correlation were not found
- **500** – Internal error
## Get all correlations originating from a given data source
`GET /api/datasources/uid/:sourceUID/correlations`
Get all correlations originating from the data source identified by the given `sourceUID` in the path.
**Example request:**
```http
GET /api/datasources/uid/uyBf2637k/correlations HTTP / 1.1
Accept : application/json
Authorization : Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example response:**
```http
HTTP / 1.1 200
Content-Type : application/json
[
{
"description" : "Logs to Traces" ,
"label" : "My Label" ,
"sourceUID" : "uyBf2637k" ,
"targetUID" : "PDDA8E780A17E7EF1" ,
2022-10-04 09:39:55 +01:00
"uid" : "J6gn7d31L" ,
"config" : {
"type" : "query" ,
"field" : "message" ,
"target" : {},
}
2022-08-11 16:58:11 +01:00
} ,
{
"description" : "Logs to Metrics" ,
"label" : "Another Label" ,
"sourceUID" : "uyBf2637k" ,
"targetUID" : "P15396BDD62B2BE29" ,
2022-10-04 09:39:55 +01:00
"uid" : "uWCpURgVk" ,
"config" : {
"type" : "query" ,
"field" : "message" ,
"target" : {},
}
2022-08-11 16:58:11 +01:00
}
]
```
Status codes:
- **200** – OK
- **401** – Unauthorized
- **404** – Not found, either source data source is not found or no correlation exists originating from the given data source
- **500** – Internal error
## Get all correlations
`GET /api/datasources/correlations`
Get all correlations.
2023-07-05 09:37:17 -05:00
Query parameters:
- **page** - Optional. Specify which page number to return. Use the limit parameter to specify the number of correlations per page. The default is page 1.
- **limit** - Optional. Limits the number of returned correlations per page. The default is 100 correlations per page. The maximum limit is 1000 correlations in a page.
- **sourceUID** - Optional. Specify a source datasource UID to filter by. This can be repeated to filter by multiple datasources.
2022-08-11 16:58:11 +01:00
**Example request:**
```http
GET /api/datasources/correlations HTTP / 1.1
Accept : application/json
Authorization : Bearer eyJrIjoiT0tTcG1pUlY2RnVKZTFVaDFsNFZXdE9ZWmNrMkZYbk
```
**Example response:**
```http
HTTP / 1.1 200
Content-Type : application/json
[
{
"description" : "Prometheus to Loki" ,
"label" : "My Label" ,
"sourceUID" : "uyBf2637k" ,
"targetUID" : "PDDA8E780A17E7EF1" ,
2022-10-04 09:39:55 +01:00
"uid" : "J6gn7d31L" ,
"config" : {
"type" : "query" ,
"field" : "message" ,
"target" : {},
}
2022-08-11 16:58:11 +01:00
} ,
{
"description" : "Loki to Tempo" ,
"label" : "Another Label" ,
"sourceUID" : "PDDA8E780A17E7EF1" ,
"targetUID" : "P15396BDD62B2BE29" ,
2022-10-04 09:39:55 +01:00
"uid" : "uWCpURgVk" ,
"config" : {
"type" : "query" ,
"field" : "message" ,
"target" : {},
}
2022-08-11 16:58:11 +01:00
}
]
```
Status codes:
- **200** – OK
- **401** – Unauthorized
- **404** – Not found, no correlation is found
- **500** – Internal error