Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

RESTful APIの概要

REST(Representational State Transfer)について理解し、ジュニパー Mist™ で RESTful API を使用する方法を理解しましょう。

ジュニパー Mist の 100% API アーキテクチャは、ジュニパー Mist ポータルの目に見えるすべての機能をサポートしています。ポータルで実行できることはすべて、API を使用して大規模に自動化できます。Representational State Transfer(REST)は、統一されたインターフェイスを備えたステートレスなクライアント/サーバーアーキテクチャです。マシンはユーザーインターフェイスを使用しないため、APIを使用することで、マシンが相互に通信するための定義された高速な方法が可能になります。

REST API を使用すると、システムやアプリケーションとの対話に関する独自の方法を作成できます。カスタム機能を作成することもできます。REST APIのその他の一般的なユースケースには、アプリケーション間の通信とデータ交換、アプリケーションとサーバー間のデータ交換、アプリケーション内のマイクロサービス間の通信などがあります。RESTはステートレスであるため、クラウドベースのサービスに最適です。

ジュニパー Mist API は、ジュニパー Mist アカウントをお持ちのお客様なら誰でも利用できます。

Mist APIリファレンスも参照してください。これには、開発者向けの追加のドキュメントと、API 呼び出しをテストする機能が含まれています。

ジュニパー Mist API アーキテクチャ

ジュニパーMistは、HTTPメソッド(GET、POST、PUT、DELETE)を使用するREST APIを使用して、JavaScript Object Notation(JSON)形式でデータを転送します。

RESTful APIリクエスト

RESTful API の使用は、開発で使用される CRUD (CREATE、READ、UPDATE、DELETE) メソッドと同様の方法に従います。これらは、データを扱うときに使用される 4 つの基本的なアクションまたは関数です。

表1:基本的なCRUDアクション
CRUD HTTP/REST
作成 投稿
読む 取得
更新 プット
削除 削除

APIエンドポイントURLフォーマット

APIエンドポイントURLは、次の2つの部分で構成されています。

  • APIホスト(またはエンドポイント)—ジュニパーMist組織が関連付けられているグローバルリージョンのエンドポイント。これらのエンドポイントは、「 APIエンドポイント」と「グローバルリージョン」に一覧表示されています。

  • 関数—APIエンドポイントの後ろはすべて、APIが呼び出す関数を表します。

例文

https://{api-host}/api/v1/sites/{site_id}/stats/devices/{device_id}

https://{api-host}/api/v1/sites/13b0ee00-121a-456e-84e0-ead3008bc2f2/stats/devices/00000000-0000-0000-1000-d420b08532eb

注:

コードブロックを再利用する場合は、プレースホルダー値を実際の値(APIトークン、組織ID、サイトID、AP名など)に置き換えます。

{api-host} 以降はすべて関数です。コールはグローバル クラウドに移動し、指定されたサイトにある指定されたデバイスの統計情報を要求します。

次のセクションでは、API 呼び出しを構成する構造について詳しく見ていきます。

API呼び出し構造

次の図は、API 呼び出しとそれを構成するさまざまなコンポーネントの例です。

表2:API呼び出しコンポーネント

APIコールコンポーネント

説明

HTTPメソッド

  • POST—オブジェクトを作成します。—POSTは、既存の値をペイロードに含まれる値で上書きします。POST ペイロードで指定されていない値は、元の値に戻ります。

  • GET—オブジェクトを一覧表示します。—GETは、識別子が指定されているかどうかに応じて、リソースの値またはリソースのリストを返します。

    • GET /api/v1/orgs/:org_id

      指定された :org_idに基づいて組織に関する情報を返します。

    • GET /api/v1/orgs/:org_id/site

      :org_idに属するサイトのリストを返します。

    • GET /api/v1/sites/:site_id

      :site_idで指定されたサイトに関する情報を返します。

  • PUT—オブジェクトを更新します。—PUTは、ペイロード内の指定されたすべての値を変更します。PUTで更新する場合、ペイロードで指定されていない単純な値(文字列または数値)は既存の値を保持します。値に配列やオブジェクトなどのデータ構造が含まれている場合、ペイロードに含まれる値によってその構造全体が置き換えられます。既存の値に対する不要な変更を避けるために、このことを覚えておいてください。

  • DELETE—オブジェクトを削除します。—DELETEはリソースを削除します。

ホスト(またはAPIエンドポイント)

使用するMist Cloudを決定します(グローバル01、EMEA 01など)。ジュニパーMist組織が関連付けられているグローバルリージョンのエンドポイント。 APIエンドポイントとグローバルリージョンを参照してください。

バージョン

使用するAPIバージョン(現在、すべてのAPIでv1が使用されています)。

スコープ

要求が実行されているレベルを示します。例としては、msp、org、site、self、register、installer、const などがあります。

スコープID

使用するスコープを特定します。

オブジェクト

使用するオブジェクトのタイプ(デバイス、WLANなど)。

オブジェクトID

リクエストするオブジェクトを特定します。

REST API で上記の REST コマンド (POST、GET、PUT、DELETE) のいずれかを実行するには、各リクエストで次のようないくつかの要件を満たす必要があります。

  • 認証:

    • APIトークン、ジュニパー Mistのログイン資格情報(この認証タイプは2026年9月に非推奨になる予定)、または外部のOAuth2プロバイダを使用して、自分の身分と認証プロセス中にアクセスできるものを示すことができます。

    • さまざまな認証方法の詳細については、「 認証」を参照してください。

      注:

      すでに manage.mist.com にログインしている場合は、新しいブラウザタブを開き、https://{api-host}/api/v1/self/apitokensに移動し、[ POST ]ボタンをクリックするだけです。これにより、新しいAPIユーザートークンが自動的に作成されます。ホスト(APIエンドポイント)を確認するには、「 APIエンドポイントとグローバルリージョン」を参照してください。

      トークンの詳細については、 APIトークンの作成 を参照してください。

  • HTTPヘッダー: このヘッダーは、次のようにコンテンツと認証タイプを指定します。

    • ジュニパーMistの場合、コンテンツタイプは常にapplication/jsonです。

    • 認証は、トークンまたはCookie(CSRFトークンとセッションIDを含む)です。

  • ジュニパーMist組織が関連付けられているグローバルリージョンのエンドポイント。 APIエンドポイントとグローバルリージョンを参照してください。

  • JSON ペイロード

次の表は、RESTful API リクエストを構成するさまざまな部分の例を示しています。

表3:RESTful APIリクエストの例

CRUD動作

HTTPヘッダー認証

エンドポイントURL

ペイロード(JSON)

取得

APIトークン

https://api.mist.com/api/v1/sites/:site_id/wlans

 

削除

CSRFトークン、セッションID

https://api.mist.com/api/v1/sites/:site_id/wlans/:wlan_id

 

投稿

CSRFトークン、セッションID

https://api.mist.com/api/v1/orgs/:org_id/inventory

{[" "]}

プット

APIトークン

https://api.mist.com/api/v1/sites/:site_id/wlans/:wlan_id

{"ssid" : "新しい名前"}

JSON ペイロード

関数が異なれば、JSON ペイロードに必要な要素も異なります。必要な詳細は 、APIドキュメントで確認できます。

以下は、サンプルのAPI呼び出しとレスポンス(JSONペイロード)です。

API呼び出し:

応答(JSONペイロード):

APIレート制限

ジュニパー Mist では、API 呼び出しが 1 時間あたり 5,000 に制限されています。1時間あたり5,000件を超える電話をかける必要がある場合は、 サポートチケットを作成してください

大規模なデプロイでは、API呼び出しの制限にすぐに到達しないように、組織レベルでAPI呼び出しを行うことをお勧めします。

注:

ブルートフォース攻撃を防ぐために、ログインAPI(/api/v1/login)は、3回のログイン失敗の後、レート制限されます。

API認証オプション

ジュニパー Mist API では、次の 3 つのオプションで認証をリクエストできます。

  • 基本認証—トークン

    • パスワードのように保護します。

    • APIトークンの作成手順については、 APIトークンの作成を参照してください。

    注意:セキュリティを強化し、業界のベストプラクティスに沿うため、Mistは2026年9月をもって、管理者ログインやスクリプトを含むすべてのユースケースで基本認証を非推奨にします。中断のないアクセスとサポートを確保するために、2026年9月までにすべての統合をトークンベースの認証に移行する必要があります。 APIトークンの作成を参照してください。
  • HTTPログイン—ユーザー名とパスワード

    • ダッシュボードログインのようなものです

    • 二要素認証が可能です。

  • OAuth2

    • アカウントはOAuthプロバイダにリンクされている必要があります。

    • ブラウザへのアクセスが必要です。

認証の詳細については、 Mist APIリファレンスを参照してください。

簡単なAPIの例

Django APIインターフェイスは、API内でCRUD操作を実行できるWebベースのインターフェイスです。「 Django Web インターフェイスを使用して API を変更する」を参照してください。

Django API インターフェイスを使用して、最初の API 呼び出しを行うことができます。Mistにログインした後、同じブラウザを使用して新しいウィンドウを開き、URL https://{api-host}/api/v1/selfを入力します。これは、Global 01クラウドのURLです。別のクラウドを使用している場合、このURLは異なります。

これは、このAPI呼び出しを GET /api/v1/selfにすることと同じです。

上記の結果には、関連付けられている組織とサイトに対して割り当てられている権限が表示されます。