# API機能と管理

EMQXプラットフォームのAPIは、プラットフォームAPIとデプロイメントAPIの2種類に分類され、いずれもRESTfulに準拠しています。プラットフォームAPIはプラットフォームレベルの機能を制御・管理するために使用され、デプロイメントAPIはデプロイメントレベルの機能を管理するために使用されます。本章では、プラットフォームAPIおよびデプロイメントAPIへのアクセス方法と利用方法について紹介します。

## APIの呼び出し

[プラットフォームAPI](./api_platform.md)および[デプロイメントAPI](./api_deployment.md)のページには、APIアクセスアドレスの取得方法が記載されています。APIにはHTTPS経由でアクセスし、ネットワーク上で送信されるすべてのデータがTLSによって暗号化されていることを確認してください。

## 認証

HTTP APIは[Basic認証](https://datatracker.ietf.org/doc/html/rfc7617)を使用しており、IDとパスワードはプラットフォームAPIの場合はKeyとSecret、デプロイメントAPIの場合はApp IDとApp Secretである必要があります。そのため、[プラットフォームAPIキーの作成](./api_platform.md#create-and-manage-platform-api-key)または[デプロイメントAPIキーの作成](./api_deployment.md#create-and-manage-deployment-api-key)を行う必要があります。すべてのSecretは作成時に一度だけ表示され、安全に保管してください。

## HTTPステータスコード

以下のHTTPステータスコードはプラットフォームAPIおよびデプロイメントAPIの両方に適用されます。インターフェースは呼び出し成功時に200を返し、レスポンスはJSON形式で返されます。

ステータスコード一覧：

| ステータスコード | 説明                                                         |
| ---------------- | ------------------------------------------------------------ |
| 200              | 成功。返されるJSONデータに詳細情報が含まれます。             |
| 400              | クライアントのリクエストが無効（リクエストボディやパラメータの誤りなど）。 |
| 401              | クライアント認証に失敗（認証情報が無効の可能性があります）。  |
| 404              | リクエストされたパスが見つからない、またはリクエストされたオブジェクトが存在しない。 |
| 422              | プロパティの誤り。                                            |
| 500              | サーバーがリクエスト処理中に内部エラーが発生。               |
