--- sort: 20 --- # VictoriaMetrics API examples ## /api/v1/admin/tsdb/delete_series **Deletes time series from VictoriaMetrics** Single:
```bash curl 'http://:8428/api/v1/admin/tsdb/delete_series?match[]=vm_http_request_errors_total' ```
Cluster:
```bash curl 'http://:8481/delete/0/prometheus/api/v1/admin/tsdb/delete_series?match[]=vm_http_request_errors_total' ```
Additional information: * [How to delete time series](https://docs.victoriametrics.com/#how-to-delete-time-series) ## /api/v1/export/csv **Exports CSV data from VictoriaMetrics** Single:
```bash curl 'http://:8428/api/v1/export/csv?format=__name__,__value__,__timestamp__:unix_s&match=vm_http_request_errors_total' > filename.txt ```
Cluster:
```bash curl -G 'http://:8481/select/0/prometheus/api/v1/export/csv?format=__name__,__value__,__timestamp__:unix_s&match=vm_http_request_errors_total' > filename.txt ```
Additional information: * [How to export time series](https://docs.victoriametrics.com/#how-to-export-csv-data) * [URL Format](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#url-format) ## /api/v1/export/native **Exports data from VictoriaMetrics in native format** Single:
```bash curl -G 'http://:8428/api/v1/export/native?match[]=vm_http_request_errors_total' > filename.txt ```
Cluster:
```bash curl -G 'http://:8481/select/0/prometheus/api/v1/export/native?match=vm_http_request_errors_total' > filename.txt ```
More information: * [How to export data in native format](https://docs.victoriametrics.com/#how-to-export-data-in-native-format) ## /api/v1/import **Imports data obtained via /api/v1/export** Single:
```bash curl --data-binary "@import.txt" -X POST 'http://destination-victoriametrics:8428/api/v1/import' ```
Cluster:
```bash curl --data-binary "@import.txt" -X POST 'http://:8480/insert/prometheus/api/v1/import' ```
Additional information: * [How to import time series data](https://docs.victoriametrics.com/#how-to-import-time-series-data) ## /api/v1/import/csv **Imports CSV data to VictoriaMetrics** Single:
```bash curl --data-binary "@import.txt" -X POST 'http://localhost:8428/api/v1/import/prometheus' curl -d "GOOG,1.23,4.56,NYSE" 'http://localhost:8428/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market' ```
Cluster:
```bash curl --data-binary "@import.txt" -X POST 'http://:8480/insert/0/prometheus/api/v1/import/csv' curl -d "GOOG,1.23,4.56,NYSE" 'http://:8480/insert/0/prometheus/api/v1/import/csv?format=2:metric:ask,3:metric:bid,1:label:ticker,4:label:market' ```
Additional information: * [URL format](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#url-format) * [How to import CSV data](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-import-csv-data) ## /api/v1/labels **Get a list of label names** Single:
```bash curl -G 'http://localhost:8428/prometheus/api/v1/labels' ```
Cluster:
```bash curl -G 'http://:8481/select/0/prometheus/api/v1/labels' ```
Additional information: * [Prometheus querying API usage](https://docs.victoriametrics.com/#prometheus-querying-api-usage) * [Querying label values](https://prometheus.io/docs/prometheus/latest/querying/api/#querying-label-values) ## /api/v1/label//values **Querying label values** Single:
```bash curl -G 'http://localhost:8428/prometheus/api/v1/label/job/values' ```
Cluster:
```bash curl -G 'http://:8481/select/0/prometheus/api/v1/label/job/values' ```
Additional information: * [Getting label names](https://prometheus.io/docs/prometheus/latest/querying/api/#getting-label-names) ## /api/v1/query **Performs PromQL/MetricsQL instant query** Single:
```bash curl -G 'http://localhost:8428/prometheus/api/v1/query?query=vm_http_request_errors_total&time=2021-02-22T19:10:30.781Z' ```
Cluster:
```bash curl -G 'http://:8481/select/0/prometheus/api/v1/query?query=vm_http_request_errors_total&time=2021-02-22T19:10:30.781Z' ```
Additional information: * [Prometheus querying API usage](https://docs.victoriametrics.com/#prometheus-querying-api-usage) * [Instant queries](https://prometheus.io/docs/prometheus/latest/querying/api/#instant-queries) * [Instant vector selectors](https://prometheus.io/docs/prometheus/latest/querying/basics/#instant-vector-selectors) ## /api/v1/query_range **Performs PromQL/MetricsQL range_query** Single:
```bash curl -G 'http://localhost:8428/prometheus/api/v1/query_range?query=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z&step=20m' ```
Cluster:
```bash curl -G 'http://:8481/select/0/prometheus/api/v1/query_range?query=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z&step=20m' ```
```bash curl -G 'http://:8481/select/0/prometheus/api/v1/query_range?query=vm_http_request_errors_total&start=-1h&step=10m' ``` ```bash curl -G http://:8481/select/0/prometheus/api/v1/query_range --data-urlencode 'query=sum(increase(vm_http_request_errors_total{status=""}[5m])) by (status)' ```
Additional information: * [Prometheus querying API usage](https://docs.victoriametrics.com/#prometheus-querying-api-usage) * [Range queries](https://prometheus.io/docs/prometheus/latest/querying/api/#range-queries) * [Range Vector Selectors](https://prometheus.io/docs/prometheus/latest/querying/basics/#range-vector-selectors) ## /api/v1/series **Finding series by label matchers** Single:
```bash curl -G 'http://localhost:8428/prometheus/api/v1/series?match[]=vm_http_request_errors_total&start=-1h' ```
Cluster:
```bash curl -G 'http://:8481/select/0/prometheus/api/v1/series?match[]=vm_http_request_errors_total&start=-1h' ```
Additional information: * [Prometheus querying API usage](https://docs.victoriametrics.com/#prometheus-querying-api-usage) * [Finding series by label matchers](https://prometheus.io/docs/prometheus/latest/querying/api/#finding-series-by-label-matchers) ## /api/v1/status/tsdb **Cardinality statistics** Single:
```bash curl -G 'http://localhost:8428/prometheus/api/v1/status/tsdb' ```
Cluster:
```bash curl -G 'http://:8481/select/0/prometheus/api/v1/status/tsdb' ```
Additional information: * [Prometheus querying API usage](https://docs.victoriametrics.com/#prometheus-querying-api-usage) * [TSDB Stats](https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-stats) ## /api/v1/targets **Checking targets** Should be sent to vmagent/VMsingle Single:
```bash curl -G 'http://:8428/api/v1/targets' ```
cluster:
```bash curl -G 'http://:8429/api/v1/targets' ```
Additional information: * [Prometheus querying API usage](https://docs.victoriametrics.com/#prometheus-querying-api-usage) * [Targets](https://prometheus.io/docs/prometheus/latest/querying/api/#targets) ## /datadog/api/v1/series **Sends data from DataDog agent to VM** Single:
```bash echo ' { "series": [ { "host": "test.example.com", "interval": 20, "metric": "system.load.1", "points": [[ 0, 0.5 ]], "tags": [ "environment:test" ], "type": "rate" } ] } ' | curl -X POST --data-binary @- http://localhost:8428/datadog/api/v1/series ```
Cluster:
```bash echo ' { "series": [ { "host": "test.example.com", "interval": 20, "metric": "system.load.1", "points": [[ 0, 0.5 ]], "tags": [ "environment:test" ], "type": "rate" } ] } ' | curl -X POST --data-binary @- 'http://:8480/insert/0/datadog/api/v1/series' ```
Additional information: * [How to send data from datadog agent](https://docs.victoriametrics.com/#how-to-send-data-from-datadog-agent) ## /federate **Returns federated metrics** Single:
```bash curl -G 'http://localhost:8428/federate?match[]=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z' ```
Cluster:
```bash curl -G 'http://:8481/select/0/prometheus/federate?match[]=vm_http_request_errors_total&start=2021-02-22T19:10:30.781Z' ```
Additional information: * [Federation](https://docs.victoriametrics.com/#federation) * [Prometheus-compatible federation data](https://prometheus.io/docs/prometheus/latest/federation/#configuring-federation) ## /graphite/metrics/find **Searches Graphite metrics in VictoriaMetrics** Single:
```bash curl -G 'http://localhost:8428/graphite/metrics/find?query=vm_http_request_errors_total' ```
Cluster:
```bash curl -G 'http://:8481/select/0/graphite/metrics/find?query=vm_http_request_errors_total' ```
Additional information: * [Metrics find](https://graphite-api.readthedocs.io/en/latest/api.html#metrics-find) * [How to send data from graphite compatible agents such as statsd](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-send-data-from-graphite-compatible-agents-such-as-statsd) * [URL Format](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html#url-format) ## /influx/write **Writes data with InfluxDB line protocol to VictoriaMetrics** Single:
```bash curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://localhost:8428/write' ```
Cluster:
```bash curl -d 'measurement,tag1=value1,tag2=value2 field1=123,field2=1.23' -X POST 'http://:8480/insert/0/influx/write' ```
Additional information: * [How to send data from influxdb compatible agents such as telegraf](https://docs.victoriametrics.com/#how-to-send-data-from-influxdb-compatible-agents-such-as-telegraf) ## TCP and UDP **How to send data from OpenTSDB-compatible agents to VictoriaMetrics** Turned off by default. Enable OpenTSDB receiver in VictoriaMetrics by setting `-opentsdbListenAddr` command-line flag. *If run from docker, '-opentsdbListenAddr' port should be exposed* Single:
```bash echo "put foo.bar.baz `date +%s` 123 tag1=value1 tag2=value2" | nc -N localhost 4242 ```
Cluster:
```bash echo "put foo.bar.baz `date +%s` 123 tag1=value1 tag2=value2 VictoriaMetrics_AccountID=0" | nc -N http:// 4242 ```
Enable HTTP server for OpenTSDB /api/put requests by setting `-opentsdbHTTPListenAddr` command-line flag. Single:
```bash curl -H 'Content-Type: application/json' -d '[{"metric":"foo","value":45.34},{"metric":"bar","value":43}]' http://localhost:4242/api/put ```
Cluster:
```bash curl -H 'Content-Type: application/json' -d '[{"metric":"foo","value":45.34},{"metric":"bar","value":43}]' 'http://:8480/insert/42/opentsdb/api/put' ```
Additional information: * [Api http put](http://opentsdb.net/docs/build/html/api_http/put.html) * [How to send data from opentsdb compatible agents](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-send-data-from-opentsdb-compatible-agents) **How to write data with Graphite plaintext protocol to VictoriaMetrics** Enable Graphite receiver in VictoriaMetrics by setting `-graphiteListenAddr` command-line flag. Single:
```bash echo "foo.bar.baz;tag1=value1;tag2=value2 123 `date +%s`" | nc -N localhost 2003 ```
Cluster:
```bash echo "foo.bar.baz;tag1=value1;tag2=value2;VictoriaMetrics_AccountID=42 123 `date +%s`" | nc -N http:// 2003 ```
Additional information: `VictoriaMetrics_AccountID=42` - tag that indicated tenant ID. * [Request handler](https://github.com/VictoriaMetrics/VictoriaMetrics/blob/a3eafd2e7fc75776dfc19d3c68c85589454d9dce/app/vminsert/opentsdb/request_handler.go#L47) * [How to send data from graphite compatible agents such as statsd](https://docs.victoriametrics.com/Single-server-VictoriaMetrics.html#how-to-send-data-from-graphite-compatible-agents-such-as-statsd)