Cisco MerakiダッシュボードAPI
このドキュメントは原文を 2025年07月07日付けで翻訳したものです。
最新の情報は原文をご確認ください。
概要
以下の Meraki Learning Hub の無料オンラインコースでも API を学べます:
Meraki ダッシュボード API は、ソフトウェアから Meraki クラウドおよび管理デバイスに直接アクセスするためのインターフェイスです。プロビジョニング、一括設定変更、監視、ロールベースアクセス制御などを自動化できます。RESTful API で HTTPS リクエストを送り、JSON をやり取りします。たとえば:
- オーガナイゼーション、管理者、ネットワーク、デバイス、VLAN、SSID の追加
- 自動化スクリプトで数千サイトを数分で展開
- テレワーカー機器の自動オンボーディング/オフボーディング
- 独自のダッシュボード構築
API ドキュメント
詳細は Meraki Developer Hub をご覧ください。
Postman コレクションは Meraki Developer Hub > Resources > Postman Collections からダウンロードできます。
注意:API コールはオーガナイゼーション単位で 1 秒あたり 10 コールに制限されています。
API & Webhooks ダッシュボードページ
API キーや Webhooks はダッシュボードの専用 UI で設定できます。オーガナイゼーション → 構成 → API & Webhooks に移動してください。
タブは以下の 3 つです:
- API 分析
- API キーとアクセス
- Webhooks
このページはオーガナイゼーション管理者のみが閲覧できます。
API キーの生成
Cisco Meraki ダッシュボード API はすべてのオーガナイゼーションでデフォルトで有効化されています。
「API キーとアクセス」タブを開き、「API キー生成」をクリックしてキーを生成します。このキーは生成元の管理者アカウントと同じ権限を持ちます。
API キーのライフサイクル
- ユーザープロファイルあたり2つまで:2つ生成するとボタンが無効化され、既存キーを1つ取り消すまで新規生成できません。
- SAML/SSO 管理者は生成不可:セキュリティ要件により生成できません。
- キーは管理者がアクセスするすべてのオーガナイゼーションを利用可能:複数オーガナイゼーションに属する管理者が生成すると、そのキーはすべてのオーガナイゼーションにアクセスできます。
- 管理者削除とキー取り消し:管理者がオーガナイゼーションから削除されると、その管理者が生成したキーは当該オーガナイゼーションで無効化されます。他のオーガナイゼーションでは引き続き有効です。キーを取り消すと、すべてのオーガナイゼーションでアクセスが失われます。
- キーに有効期限なし:管理者パスワードの有効期限切れは API キーに影響しません。
代替方法 – マイプロファイルページから生成
右上のアバターアイコン → My Profile でも API キーを生成できます。
API 分析の概要
API Analytics はオーガナイゼーションの API 利用状況を可視化し、統合やカスタムアプリの性能最適化を支援します。データは以下の API から取得されます:
- getOrganizationAdmins
- getOrganizationApiRequests
- getOrganizationApiRequestOverview
- getOrganizationApiRequestOverviewResponseCodesByInterval
API 分析へのアクセス
Meraki ダッシュボードで左ナビゲーションの オーガナイゼーション → 構成 → API & Webhooks を開くと、最初のタブが API 分析です。
このページはすべてのオーガナイゼーション管理者が閲覧できます。
概要カード
「概要」セクションでは直近 24 時間の API 利用状況を一目で確認できます:
- 総リクエスト数と内訳
- 成功リクエスト数と割合
- レート制限ヒット数(HTTP 429)と割合
詳細は API レート制限ドキュメント を参照 - その他エラー数(HTTP 400~499、429除く)と割合
前日比の増減率も表示されます
- 完全に処理された API リクエストのみ集計されます(リーチしないリクエストは除外)
- 前日比増減率 = (最新24hのエラー合計 − 直前の24hのエラー合計)÷ 直前24hエラー合計 ×100
トレンドグラフ
「トレンド」セクションでは時間経過による API 利用を可視化します。グラフは 3 線で構成:
- 緑:成功リクエスト(HTTP 200~399)
- 赤:レート制限ヒット(HTTP 429)
- 黄:その他クライアントエラー(HTTP 400~499、429除く)
ポイントにカーソルを合わせるとリクエスト数と具体的なステータスコードが表示されます。HTTP ステータスコード解説も参照可能です。
フィルタで管理者やステータスコード別に表示を絞り込めます。時間範囲は最大 30 日間まで選択可能です。
指標テーブル
「指標」セクションでは以下別に上位の利用状況を表示:
- Applications: custom apps/スクリプト/パートナー連携
- Operations: API で実行可能な具体操作
- Admins: API キーを発行した管理者
- Source IPs: リクエスト元 IP
各タブでリクエスト数、成功数、エラー数、成功率、全体に占める割合を表示し、色アイコンで問題箇所を示します。
- 赤:失敗率80%以上
- 黄:成功率20~80%
- 緑:成功率80%以上
ダウンロード(CSV エクスポート)
詳細な履歴ログを CSV でダウンロードできます。フィルタ適用後に「Download detailed logs」をクリックしてください。最大 100,000 件までエクスポートされます。
100,000 件を超える場合は期間を短くしてください。ダウンロード中はページを閉じないでください。
CSV に含まれるカラム:
- Admin ID
- Admin Name
- Admin Email
- HTTP Method
- Host
- Path
- Query String
- User Agent
- Timestamp
- HTTP Response Code
- Source IP
- API Version
- Operation ID
API Analytics FAQ
なぜ 5xx エラーは表示されないのですか?
5xx エラーは Cisco 側で監視およびアラート対象としており、顧客が対処可能なクライアントエラー(4xx)に絞って表示しています。
ダッシュボード API の利用
API リクエスト
すべてのリクエストにヘッダーで API キーを指定し、URL にバージョンを含めます。キー未指定や誤りの場合、リソース存在有無を隠すため 404 を返します。
X-Cisco-Meraki-API-Key: <secret key>
URL の例:
https://api.meraki.com/api/v1/<resource>
中国リージョンは api.meraki.cn、カナダは api.meraki.ca、インドは api.meraki.in、政府向けは api.gov-meraki.com を使用します。
リリース後のバージョンは下位互換を保ち、新リソース/オプションパラメータ/レスポンス追加/プロパティ順変更のみ行います。
ID は数値に見えても文字列として扱い、解析は避けてください。
HTTP メソッドは REST 規約に従います:
- GET:リソース取得(一覧または個別)
- POST:リソース作成や非冪等処理
- PUT:リソース更新(既存のみ、冪等)
- DELETE:リソース削除
注意:コール量はオーガナイゼーション単位で 1 秒あたり10件に制限されています。
POST /api/v1/organizations/{organizationId}/inventory/claim 等は 5 分あたり IP ごとに10件制限が追加適用され、429 と Retry-After が返ります。
ステータスとエラーコード
標準 RFC 9110 HTTP Status Codes を使用します。
- 400: Bad Request:不正リクエスト(パラメータ不足など)
- 401: Unauthorized:無効な API キー
- 403: Forbidden:権限なし
- 404: Not found:URL 不存在またはアクセス権限なし
- 429: Too Many Requests:レート制限超過
さらに詳細な原因は JSON 形式で返されます:
{ "errors": [ "VLANs are not enabled for this network" ] }
読み取り専用管理者は GET のみ可能で、その他は 403: Forbidden が返ります。
Examples
以下はリクエスト/レスポンスの例です。すべてではなく概要です。詳細は Meraki Developer Hub を参照してください。
オーガナイゼーション
指定した X-Cisco-Meraki-API-Key でオーガナイゼーション一覧を取得:
GET https://api.meraki.com/api/v1/organizations Response code: 200 Response body: [{"id":"","name":" "}]
特定オーガナイゼーションのメタデータを取得:
GET https://api.meraki.com/api/v1/organizations/Response code: 200 Response body: { "id": , "name": "Test Organization" }
新しいオーガナイゼーションを作成:
POST https://api.meraki.com/api/v1/organizations Request body: { "name": "Second Test Organization" } Response code: 201 Response body: { "id":, "name": "Second Test Organization" }
注意:最終管理者を削除するとオーガナイゼーションが操作不能になるため、最後の管理者削除はできません。
ネットワーク
オーガナイゼーション内のネットワーク一覧を取得:
GET https://api.meraki.com/api/v1/organizations/networks Response code: 200 Response body: [ { "id": , "name": "Test Network", "organization_id": , "type": "wireless", "timeZone": "America/Los_Angeles", "tags": " test " } ]
新しいネットワークを作成:
POST https://api.meraki.com/api/v1/organizations/networks Request body: { "name": "Test Network 2", "organizationId": , "type": "appliance" } Response code: 201 Response body: { "id": , "name": "Test Network 2", "organization_id": , "type": "appliance", "tags": null }
type には appliance, switch, wireless, systemsManager, camera を指定可能です。複合ネットワークはスペース区切りで複数指定します。
ライセンスとデバイス
デバイス/ライセンス/注文をオーガナイゼーションにクレーム:
POST https://api.meraki.com/api/v1/organizations/claim Request body: { "order": "4CXXXXXXX" } Response code: 200 Response body:
SNMP 設定
オーガナイゼーションの SNMP 設定を取得/更新:
GET https://api.meraki.com/api/v1/organizations/snmp Request body: { "v2cEnabled": true, "v3Enabled": true, "v3AuthMode": "SHA", "v3AuthPass": , "v3PrivMode": "AES128", "v3PrivPass": , "allowedIPs": ["5.6.7.8"] } Response code: 200 Response body: { "v2Enabled": true, "v2CommunityString": , "v3Enabled": true, "authMode": "SHA", "authPass": , "privMode": "AES128", "privPass": , "allowedIPs": ["5.6.7.8"] }
管理者
オーガナイゼーションの管理者一覧を取得:
GET https://api.meraki.com/api/v1/organizations/admins Response code: 200 Response body: [ { "name": "Jane Doe", "email": "jane@doe.com", "orgAccess": "full", "id": } ]
orgAccess は full, read-only, none から選択します。
ネットワーク単位で権限を付与して管理者を追加:
POST https://api.meraki.com/api/v1/organizations/admins Request body: { "name": "John Doe", "email": "john@doe.com", "orgAccess": "none", "networks": [{ "id": , "access": "full" }] } Response code: 201 Response body: { "id": , "name": "John Doe", "email": "john@doe.com", "orgAccess": "none", "networks": [{ "id": , "access": "full" }] }
ネットワーク権限は full, read-only, monitor-only, guest-ambassador から選択します。タグ単位付与も可能です:
"tags": [{ "tag": "foo", "access": "read-only" }]
管理者を削除:
DELETE https://api.meraki.com/api/v1/organizations/admins/ Response code: 204 Response body: