# Tài liệu tham khảo API Chỉ số

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

## Lấy tất cả chỉ số

**Endpoint:**

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

- Số trang mặc định là 1.
- Giá trị per_page mặc định là 50 và tối đa là 100 mục mỗi trang.

**Phản hồi ví dụ:**

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

## Lấy một chỉ số

**Endpoint:**

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

**Phản hồi ví dụ:**

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

## Thêm một chỉ số

**Endpoint:**

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

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

**Phản hồi ví dụ:**

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

## Cập nhật một chỉ số

**Endpoint:**

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

**Yêu cầu ví dụ:**

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

**Phản hồi ví dụ:**

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

## Xóa một chỉ số

**Endpoint:**

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

### Thêm một điểm dữ liệu vào một chỉ số

**Endpoint:**

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

**Yêu cầu:**

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

**Phản hồi:**

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

## Thêm nhiều điểm dữ liệu vào một chỉ số

**Endpoint:**

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

**Yêu cầu:**

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

**Phản hồi**

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

## Xóa các điểm dữ liệu của một chỉ số

**Endpoint:**

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

**Phản hồi**

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