Skip to main content

Data sources & Prometheus

Generated reference

This page is generated from the OpenAPI spec (scripts/generate_api_docs.py). Do not edit by hand — regenerate when the API changes.

Data sources connect Skylogs to monitoring systems. The Prometheus endpoints let clients browse labels, rules, and currently firing alerts of a connected Prometheus.

All endpoints require Authorization: Bearer <accessToken> — see Authentication.

Data Sources

EndpointSummary
GET /api/v1/data-sourceGet list of data sources
POST /api/v1/data-sourceCreate new data source
GET /api/v1/data-source/typesGet available data source types
GET /api/v1/data-source/{id}Get data source by ID
PUT /api/v1/data-source/{id}Update data source
DELETE /api/v1/data-source/{id}Delete data source
GET /api/v1/data-source/status/{id}Check if data source is connected

GET /api/v1/data-source

Get list of data sources

Parameters

NameInRequiredTypeDescription
pagequeryintegerPage number
perPagequeryinteger
namequerystring

Responses: 200 List of data sources

POST /api/v1/data-source

Create new data source

Request body (application/json)

FieldTypeRequiredDescription
namestringExample: Production Prometheus
typestring (prometheus | sentry | grafana | pmm | zabbix | splunk | elastic)Example: prometheus
urlstringExample: https://prometheus.example.com
api_tokenstring
usernamestring
passwordstring

Responses: 201 Data source created · 422 Validation error

GET /api/v1/data-source/types

Get available data source types

Responses: 200 List of data source types

GET /api/v1/data-source/{id}

Get data source by ID

Parameters

NameInRequiredTypeDescription
idpathstring

Responses: 200 Data source details · 404 Not found

PUT /api/v1/data-source/{id}

Update data source

Parameters

NameInRequiredTypeDescription
idpathstring

Request body (application/json)

FieldTypeRequiredDescription
namestring
typestring
urlstring
api_tokenstring
usernamestring
passwordstring

Responses: 200 Data source updated · 404 Not found

DELETE /api/v1/data-source/{id}

Delete data source

Parameters

NameInRequiredTypeDescription
idpathstring

Responses: 200 Data source deleted · 404 Not found

GET /api/v1/data-source/status/{id}

Check if data source is connected

Parameters

NameInRequiredTypeDescription
idpathstring

Responses: 200 Connection status

Prometheus

EndpointSummary
GET /api/v1/prometheus/rulesGet Prometheus alert rule names
GET /api/v1/prometheus/labelsGet Prometheus label names
GET /api/v1/prometheus/label-values/{label}Get values for a Prometheus label
GET /api/v1/prometheus/triggeredGet currently firing Prometheus alerts

GET /api/v1/prometheus/rules

Get Prometheus alert rule names

Parameters

NameInRequiredTypeDescription
data_source_idquerystringPrometheus data source id

Responses: 200 External rule names (cached)

GET /api/v1/prometheus/labels

Get Prometheus label names

Responses: 200 Label names

GET /api/v1/prometheus/label-values/{label}

Get values for a Prometheus label

Parameters

NameInRequiredTypeDescription
labelpathstring

Responses: 200 Label values

GET /api/v1/prometheus/triggered

Get currently firing Prometheus alerts

Responses: 200 Triggered alerts from Prometheus (cached ~5s)