# Referensi API Metrik

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

## Mendapatkan semua metrik

**Endpoint:**

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

- Nomor halaman bawaannya adalah 1.
- Nilai per_page bawaannya adalah 50 dan maksimumnya 100 item per halaman.

**Contoh respons:**

```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
      },
      ...
    ]
  },
  ...
]
```

## Mendapatkan sebuah metrik

**Endpoint:**

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

**Contoh respons:**

```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
    },
    ...
  ]
}
```

## Menambahkan metrik

**Endpoint:**

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

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

**Contoh respons:**

```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
    },
    ...
  ]
}
```

## Memperbarui metrik

**Endpoint:**

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

**Contoh permintaan:**

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

**Contoh respons:**

```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
    },
    ...
  ]
}
```

## Menghapus metrik

**Endpoint:**

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

### Menambahkan titik data ke sebuah metrik

**Endpoint:**

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

**Permintaan:**

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

**Respons:**

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

## Menambahkan beberapa titik data ke sebuah metrik

**Endpoint:**

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

**Permintaan:**

```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
  },
  ...
  ]
}
```

**Respons**

```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
  }
]
```

## Menghapus titik data dari sebuah metrik

**Endpoint:**

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

**Respons**

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