> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Metrics opvragen

Lees metricgegevens met de [Public API (V2)](/api/v2/overview). Haal een
timeseries op voor grafieken, een geaggregeerde lijst voor tabellen of ontdek welke metrics
en tags een site heeft. Alle eindpunten authenticeren met uw persoonlijke API-token en
zijn beperkt tot één `site_id`.

## Een timeseries opvragen

Dit eindpunt retourneert een of meer reeksen datapunten over een tijdsbereik. Gebruik het
om grafieken te tekenen.

<CodeGroup>
  ```shell Endpoint theme={null}
  POST /api/v2/metrics/timeseries
  ```
</CodeGroup>

### Request body

| Veld         | Type                  | Vereist | Beschrijving                                                        |
| ------------ | --------------------- | ------- | ------------------------------------------------------------------- |
| `site_id`    | string                | Ja      | Site om op te vragen.                                               |
| `from`       | string (ISO 8601)     | Ja      | Startpunt van het tijdsbereik (inclusief).                          |
| `to`         | string (ISO 8601)     | Ja      | Eindpunt van het tijdsbereik (inclusief).                           |
| `select`     | TimeseriesSelector\[] | Ja      | Welke metrics, velden en tags moeten worden opgehaald.              |
| `resolution` | Resolution            | Nee     | Interval tussen datapunten. Automatisch gekozen wanneer weggelaten. |
| `limit`      | number                | Nee     | Maximum aantal reeksen om te retourneren.                           |

Elke `select`-entry neemt een metric-`name`, een `tags`-object om op te filteren (waarden
mogen `*` als wildcard gebruiken), een `field` (zie [velden](#fields)), een optionele
`aggregation` (zie [aggregaties](#aggregations)) en `draw_null_as_zero` (wanneer `true` worden ontbrekende punten gevuld met `0`).

<CodeGroup>
  ```json body.json theme={null}
  {
    "site_id": "YOUR-SITE-ID",
    "from": "2026-06-22T00:00:00Z",
    "to": "2026-06-22T01:00:00Z",
    "resolution": "MINUTELY",
    "select": [
      {
        "name": "transaction_duration",
        "tags": { "namespace": "web" },
        "field": "mean",
        "aggregation": "avg",
        "draw_null_as_zero": false
      }
    ],
    "limit": null
  }
  ```
</CodeGroup>

### Response

Retourneert een `Timeseries` met de opgevraagde `resolution`, `from`, `to` en een
`series`-array. Elke reeks heeft een `id`, de metric-`name`, zijn `tags`, het
`field` dat hij vertegenwoordigt, `min` en `max` over het bereik, en een `data`-array van
punten. Elk punt heeft een `timestamp` en een numerieke `value`.

## Een lijst opvragen

Dit eindpunt retourneert geaggregeerde metric-waarden gegroepeerd in rijen. Gebruik het om
tabellen te bouwen.

<CodeGroup>
  ```shell Endpoint theme={null}
  POST /api/v2/metrics/list
  ```
</CodeGroup>

### Request body

| Veld         | Type              | Vereist | Beschrijving                                           |
| ------------ | ----------------- | ------- | ------------------------------------------------------ |
| `site_id`    | string            | Ja      | Site om op te vragen.                                  |
| `from`       | string (ISO 8601) | Ja      | Startpunt van het tijdsbereik (inclusief).             |
| `to`         | string (ISO 8601) | Ja      | Eindpunt van het tijdsbereik (inclusief).              |
| `select`     | ListSelector\[]   | Ja      | Welke metrics, velden en tags moeten worden opgehaald. |
| `group_by`   | GroupBy\[]        | Ja      | Hoe rijen te groeperen.                                |
| `resolution` | Resolution        | Nee     | Interval gebruikt voor aggregatie.                     |
| `limit`      | number            | Nee     | Maximum aantal rijen om te retourneren.                |

Een `ListSelector` is als een timeseries-selector, met een extra `id` die de waarde van de
selector benoemt in het `data`-object van elke rij. `group_by`-entries zijn `Name` (groeperen
op metricnaam) of `Tag` (groeperen op een tag-waarde).

<CodeGroup>
  ```json body.json theme={null}
  {
    "site_id": "YOUR-SITE-ID",
    "from": "2026-06-22T00:00:00Z",
    "to": "2026-06-22T01:00:00Z",
    "resolution": "HOURLY",
    "select": [
      {
        "id": "mean",
        "name": "transaction_duration",
        "tags": { "namespace": "*" },
        "field": "mean",
        "aggregation": "avg"
      }
    ],
    "group_by": ["Name"],
    "limit": 50
  }
  ```
</CodeGroup>

### Response

Retourneert een `List` met de opgevraagde `resolution`, `from`, `to` en een `rows`-array.
Elke rij heeft een `id`, een `group`-object van de tag-waarden die hem definiëren, en een
`data`-object van geaggregeerde waarden, gerangschikt op selector-`id` (bijvoorbeeld
`{ "mean": 42.5 }`).

## Metric-namen opsommen

Retourneert elke metric-naam die beschikbaar is voor een site.

<CodeGroup>
  ```shell Endpoint theme={null}
  GET /api/v2/metrics/names/{site_id}
  ```
</CodeGroup>

Retourneert een array van strings.

## Type en tags van een metric ophalen

Retourneert het type van een metric en de tagcombinaties waarmee deze kan worden opgevraagd.

<CodeGroup>
  ```shell Endpoint theme={null}
  GET /api/v2/metrics/type_and_tags/{site_id}/{metric_name}
  ```
</CodeGroup>

Retourneert een `metric_type` (`gauge`, `counter` of `measurement`) en
`available_tags`, een array waarbij elke entry één geldige combinatie van tag-sleutels is.

## Referentie

### Velden

Het `field` selecteert welke meting moet worden opgehaald uit een metric:

| Waarde         | Beschrijving                                                                                                       |
| -------------- | ------------------------------------------------------------------------------------------------------------------ |
| `gauge`        | De waarde van de metric op één moment, zoals huidig CPU- of geheugengebruik.                                       |
| `counter`      | Uit `counter`-metrics, de cumulatieve waarde, die alleen toeneemt in de tijd, zoals het aantal bediende verzoeken. |
| `mean`         | Het gemiddelde van de waarden vastgelegd in het tijdsbucket, zoals de gemiddelde responstijd.                      |
| `count`        | Uit `measurement`-metrics, hoeveel waarden zijn vastgelegd tijdens het tijdsbucket.                                |
| `min`          | De laagste waarde vastgelegd in het tijdsbucket.                                                                   |
| `max`          | De hoogste waarde vastgelegd in het tijdsbucket.                                                                   |
| `p_90`, `p_95` | Percentielwaarden.                                                                                                 |

Voor meer typereferenties, lees de [AppSignal V2 API-documentatie](https://appsignal.com/api/v2/docs).

### Aggregaties

De `aggregation` combineert meerdere waarden binnen een tijdsbucket: `sum`, `avg`,
`min`, `max`, `first` of `last`.

### Resoluties

`resolution` accepteert `MINUTELY`, `FIVE_MINUTELY`, `TEN_MINUTELY`,
`FIFTEEN_MINUTELY`, `HOURLY` of `DAILY`.
