# Довідник API: метрики

Source: https://instatus.com/help/uk/api/metrics

## Отримати всі метрики

**Ендпоінт:**

```bash
GET /v1/:page_id/metrics?page=:page&per_page=:per_page
```

- Номер сторінки за замовчуванням — 1.
- Значення per_page за замовчуванням — 50, максимум — 100 елементів на сторінку.

**Приклад відповіді:**

```json
[
  {
    "id": "ckj1qyonq9sdk09819xdg4ehm",
    "name": "Testing",
    "active": true,
    "order": 1,
    "suffix": "ms",
    "data": [
      {
        "timestamp": 1608474985000,
        "value": 355
      },
      {
        "timestamp": 1608475225000,
        "value": 428.25
      },
      {
        "timestamp": 1608475465000,
        "value": 356
      },
      {
        "timestamp": 1608475705000,
        "value": 451.75
      },
      ...
    ]
  },
  ...
]
```

## Отримати метрику

**Ендпоінт:**

```bash
GET /v1/:page_id/metrics/:metric_id
```

**Приклад відповіді:**

```json
{
  "id": "ckj1qyonq9sdk09819xdg4ehm",
  "name": "Testing",
  "active": true,
  "order": 1,
  "suffix": "ms",
  "data": [
    {
      "timestamp": 1608474985000,
      "value": 355
    },
    {
      "timestamp": 1608475225000,
      "value": 428.25
    },
    {
      "timestamp": 1608475465000,
      "value": 356
    },
    {
      "timestamp": 1608475705000,
      "value": 451.75
    },
    ...
  ]
}
```

## Додати метрику

**Ендпоінт:**

```bash
POST /v1/:page_id/metrics
```

```json
{
  "subdomain": "nasa",
  "name": "Response time",
  "suffix": "ms"
}
```

**Приклад відповіді:**

```json
{
  "id": "ckj1qyonq9sdk09819xdg4ehm",
  "name": "Response time",
  "active": true,
  "order": 1,
  "suffix": "ms",
  "lastDataAt": 1608561235000,
  "data": [
    {
      "timestamp": 1608474985000,
      "value": 355
    },
    {
      "timestamp": 1608475225000,
      "value": 428.25
    },
    {
      "timestamp": 1608475465000,
      "value": 356
    },
    ...
  ]
}
```

## Оновити метрику

**Ендпоінт:**

```bash
PUT /v1/:page_id/metrics/:metric_id
```

**Приклад запиту:**

```json
{
  "name": "Response time",
  "suffix": "ms"
}
```

**Приклад відповіді:**

```json
{
  "id": "ckj1qyonq9sdk09819xdg4ehm",
  "name": "Response time",
  "active": true,
  "order": 1,
  "suffix": "ms",
  "lastDataAt": 1608561235000,
  "data": [
    {
      "timestamp": 1608474985000,
      "value": 355
    },
    {
      "timestamp": 1608475225000,
      "value": 428.25
    },
    {
      "timestamp": 1608475465000,
      "value": 356
    },
    ...
  ]
}
```

## Видалити метрику

**Ендпоінт:**

```bash
DELETE /v1/:page_id/metrics/:metric_id
```

### Додати точку даних до метрики

**Ендпоінт:**

```bash
POST /v1/:page_id/metrics/:metric_id
```

**Запит:**

```json
{
  "timestamp": 1608672985000,
  "value": 356
}
```

**Відповідь:**

```json
{
  "id": "ckj395ptx9ha40995ckzv0pz2",
  "value": 356,
  "timestamp": 1608672985000
}
```

## Додати кілька точок даних до метрики

**Ендпоінт:**

```bash
POST /v1/:page_id/metrics/:metric_id/data
```

**Запит:**

```json
{
  "data": [
  {
    "timestamp": 1608474985000,
    "value": 355
  },
  {
    "timestamp": 1608475225000,
    "value": 428.25
  },
  {
    "timestamp": 1608475465000,
    "value": 356
  },
  {
    "timestamp": 1608475705000,
    "value": 451.75
  },
  {
    "timestamp": 1608475945000,
    "value": 395
  },
  {
    "timestamp": 1608476185000,
    "value": 375.75
  },
  {
    "timestamp": 1608476425000,
    "value": 380.25
  },
  ...
  ]
}
```

**Відповідь**

```json
[
  {
    "timestamp": 1608474985000,
    "value": 355
  },
  {
    "timestamp": 1608475225000,
    "value": 428.25
  },
  {
    "timestamp": 1608475465000,
    "value": 356
  },
  {
    "timestamp": 1608475705000,
    "value": 451.75
  },
  {
    "timestamp": 1608475945000,
    "value": 395
  },
  {
    "timestamp": 1608476185000,
    "value": 375.75
  },
  {
    "timestamp": 1608476425000,
    "value": 380.25
  }
]
```

## Видалити точки даних метрики

**Ендпоінт:**

```bash
DELETE /v1/:page_id/metrics/:metric_id/data
```

**Відповідь**

```json
{
  "name": "Response time",
  "site": {
    "id": "ckj1qyonq9sdk09819xdg4ehm",
    "subdomain": "our"
  }
}
```
