# 監視ツールとの連携 API リファレンス

Source: https://instatus.com/help/ja/api/monitoring-integrations

REST API を使って、外部の監視ツールとの連携をプログラムから作成できます。

## 連携を作成する

**エンドポイント:**

```bash
POST /v3/integrations
```

**ボディのパラメーター**

| フィールド | 型 | 説明 |
| ----- | ---- | ----------- |
| `pageId` | `string` | ステータスページの ID |
| `integrationType` | `string` | 連携の種類。例: `PINGDOM`、`NEWRELIC` |
| `components` | `string[]` | 紐づけるコンポーネントの ID |

**リクエストの例**

```json
{
  "pageId": "page123",
  "integrationType": "PINGDOM",
  "components": ["component1", "component2"]
}
```

**レスポンスの例**

```json
{
  "integration": {
    "id": "int_abc",
    "monitoringTool": "PINGDOM"
  },
  "message": "Integration created successfully."
}
```

このエンドポイントは、[`MonitoringTool` の enum](https://github.com/instatushq/instatus/blob/master/packages/backend/prisma/schema.prisma) に定義されているすべての監視ツールを受け付けます。

## 連携を更新する

**エンドポイント:**

```bash
PUT /v3/integrations/:integration_id
```

作成用エンドポイントのフィールドを任意に送信するか、新しいテンプレートのデータを指定して、インシデントの作成と解決をカスタマイズできます。

**リクエストの例**

```json
{
  "label": "Pingdom Primary",
  "createTemplate": { "name": "New incident" },
  "resolveTemplate": { "name": "Incident resolved" }
}
```

**レスポンスの例**

```json
{
  "integration": {
    "id": "int_abc",
    "label": "Pingdom Primary"
  }
}
```

## 連携を削除する

**エンドポイント:**

```bash
DELETE /v3/integrations/:integration_id
```

**レスポンスの例**

```json
{}
```
