# Instatus API をはじめる

Source: https://instatus.com/help/ja/api

すべてのエンドポイントは `https://api.instatus.com` 配下にあります。基本的に REST のアーキテクチャに従っています。

すべてのリクエストは JSON でエンコードし、`Content-Type: application/json` ヘッダーを付ける必要があります。

Instatus API からのレスポンスは、エラーも含めて JSON でエンコードされます。

## 認証

Instatus API へのリクエストでは、Authorization ヘッダーで API トークンを渡す必要があります。

API キーは、ユーザー設定 → [開発者設定](https://dashboard.instatus.com/developer)から取得できます。

```bash
Authorization: Bearer <API_KEY>
```

## ページ ID を取得する
ページ ID は、ダッシュボードで次の手順により確認できます。
1. ダッシュボードへ移動します。
2. 左上のプロジェクトを右クリックしてメニューを開きます。
3. **Copy Project ID** をクリックすると、ページ ID がクリップボードにコピーされます。

![ページ ID](https://instatus.com/help/page_id.png)

## エラー

すべての API エンドポイントは、エラーのレスポンスにコードとメッセージを含みます。

```json
{
  "error": {
    "code": "forbidden",
    "message": "Not authorized"
  }
}
```

## ステータスの値

ページのステータスとして返る値です。これは現行の API (v2 以降) が返す詳細な `status` です。従来の `summary.json` エンドポイントと [Webhook 通知](https://instatus.com/help/ja/webhooks)は、`UP`、`HASISSUES`、`UNDERMAINTENANCE` のみの簡略な形式を使います。

- `UP`
- `HASISSUES`
- `ALLUNDERMAINTENANCE`
- `ALLDEGRADEDPERFORMANCE`
- `ALLPARTIALOUTAGE`
- `ALLMINOROUTAGE`
- `ALLMAJOROUTAGE`
- `SOMEUNDERMAINTENANCE`
- `SOMEDEGRADEDPERFORMANCE`
- `SOMEPARTIALOUTAGE`
- `SOMEMINOROUTAGE`
- `SOMEMAJOROUTAGE`
- `ONEUNDERMAINTENANCE`
- `ONEDEGRADEDPERFORMANCE`
- `ONEPARTIALOUTAGE`
- `ONEMINOROUTAGE`
- `ONEMAJOROUTAGE`

コンポーネントのステータスとして返る値:

- `OPERATIONAL`
- `UNDERMAINTENANCE`
- `DEGRADEDPERFORMANCE`
- `PARTIALOUTAGE`
- `MAJOROUTAGE`

インシデントのステータスとして返る値:

- `INVESTIGATING`
- `IDENTIFIED`
- `MONITORING`
- `RESOLVED`

メンテナンスのステータスとして返る値:

- `NOTSTARTEDYET`
- `INPROGRESS`
- `COMPLETED`

## エンドポイントを見る:

- [ステータスページ](https://instatus.com/help/ja/api/status-pages)
- [ワークスペース](https://instatus.com/help/ja/api/workspaces)
- [コンポーネント](https://instatus.com/help/ja/api/components)
- [インシデント](https://instatus.com/help/ja/api/incidents)
- [インシデントの更新](https://instatus.com/help/ja/api/incident-updates)
- [メンテナンス](https://instatus.com/help/ja/api/maintenances)
- [メンテナンスの更新](https://instatus.com/help/ja/api/maintenance-updates)
- [テンプレート](https://instatus.com/help/ja/api/templates)
- [お知らせ](https://instatus.com/help/ja/api/generic-notices)
- [障害](https://instatus.com/help/ja/api/outages)
- [チームメンバー](https://instatus.com/help/ja/api/teammates)
- [購読者](https://instatus.com/help/ja/api/subscribers)
- [メトリクス](https://instatus.com/help/ja/api/metrics)
- [ユーザープロフィール](https://instatus.com/help/ja/api/user-profile)
- [公開データ](https://instatus.com/help/ja/api/public-data)
- [プライベートページ](https://instatus.com/help/ja/api/private-pages)
- [オーディエンスグループ](https://instatus.com/help/ja/api/audience-groups)
- [モニター](https://instatus.com/help/ja/api/monitors)
- [監視連携](https://instatus.com/help/ja/api/monitoring-integrations)
- [ルーティングルール](https://instatus.com/help/ja/api/routing-rules)
- [エスカレーションポリシー](https://instatus.com/help/ja/api/escalation-policies)
- [オンコールスケジュール](https://instatus.com/help/ja/api/on-call-schedules)
