openapi: 3.2.0 info: title: Mist MSPs SLEs API description: '> Version: **2607.1.1** > > Date: **August 17, 2026** NOTE: Some important API changes will be introduced.' contact: name: Thomas Munzer email: tmunzer@juniper.net version: 2607.1.1 servers: - url: https://api.mist.com variables: {} - url: https://api.gc1.mist.com variables: {} - url: https://api.ac2.mist.com variables: {} - url: https://api.gc2.mist.com variables: {} - url: https://api.gc4.mist.com variables: {} - url: https://api.eu.mist.com variables: {} - url: https://api.gc3.mist.com variables: {} - url: https://api.ac6.mist.com variables: {} - url: https://api.gc6.mist.com variables: {} - url: https://api.ac5.mist.com variables: {} - url: https://api.gc5.mist.com variables: {} - url: https://api.gc7.mist.com variables: {} security: - apiToken: [] - csrfToken: [] tags: - name: MSPs SLEs description: SLEs, or Service-Level Expectations, are metrics used to monitor and report on the user experience of a Wireless, Wired or Wan network. paths: /api/v1/msps/{msp_id}/insights/{metric}: parameters: [] get: tags: - MSPs SLEs summary: getMspSle description: Return MSP-level SLE insight metrics for the selected metric and time range. Depending on the metric, the response can include all organizations or the worst-performing organizations in the MSP. operationId: getMspSle parameters: - name: msp_id in: path description: '' required: true schema: type: string contentEncoding: uuid examples: - 000000ab-00ab-00ab-00ab-0000000000ab - name: metric in: path description: See [List Insight Metrics]($e/Constants%20Definitions/listInsightMetrics) for available metrics required: true schema: type: string - name: sle in: query description: See [List Insight Metrics]($e/Constants%20Definitions/listInsightMetrics) for more details style: form explode: true schema: type: string - name: duration in: query description: Time range duration for the query, using relative units such as `10m`, `7d`, or `2w` style: form explode: true schema: type: string default: 1d examples: - 10m - name: interval in: query description: Aggregation works by giving a time range plus interval (e.g. 1d, 1h, 10m) where aggregation function would be applied to. style: form explode: true schema: type: string examples: - 10m - name: start in: query description: Lower bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d` or `-1w` style: form explode: true schema: type: string - name: end in: query description: Upper bound of the time range, as an epoch timestamp in seconds or a relative value such as `-1d`, `-2h`, or `now` style: form explode: true schema: type: string responses: '200': description: OK headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/insight_metrics' - description: Insight metric response for a requested time range and aggregation interval examples: - end: 1643706000 interval: 3600 limit: 100 results: - ap-availability: 0.9919400860511628 ap-health: 0.967607512909879 capacity: 0.7484652273070254 coverage: 0.91217567374857 num_aps: 13 num_clients: 12 org_id: ab0aca7a-d45c-469b-b3bb-4fe240642d0b roaming: 0.991735537682683 roaming-exp: 0.991735537682683 successful-connect: 0.46052632135780236 throughput: 0.6775702123846302 time-to-connect: 0.9349112447196916 - ap-availability: 0.9990384613092129 ap-health: 0.48201754375507955 capacity: 0.9702673450306101 coverage: 0.8335392334930375 num_aps: 1 num_clients: 6 org_id: 49ff76e0-a283-4e7d-b38d-041f1e9aff3c roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 0 time-to-connect: 1 - ap-availability: 1 ap-health: 0.982456140612301 capacity: 1 coverage: 0.9276041182442488 num_aps: 2 num_clients: 3 org_id: 9b9b48f1-15a4-459e-86cc-9cbec9005983 roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 1 time-to-connect: 0.8125 - ap-availability: 0.9981132070973234 ap-health: 0.9991228068084047 capacity: 1 coverage: 1 num_aps: 1 num_clients: 0 org_id: eb0e1671-7a6b-472b-94c3-c187dafe5274 roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 0 time-to-connect: 0.5 start: 1643670000 contentMediaType: application/json examples: Orgs Sle: value: end: 1643706000 interval: 3600 limit: 100 results: - ap-availability: 0.9919400860511628 ap-health: 0.967607512909879 capacity: 0.7484652273070254 coverage: 0.91217567374857 num_aps: 13 num_clients: 12 org_id: ab0aca7a-d45c-469b-b3bb-4fe240642d0b roaming: 0.991735537682683 roaming-exp: 0.991735537682683 successful-connect: 0.46052632135780236 throughput: 0.6775702123846302 time-to-connect: 0.9349112447196916 - ap-availability: 0.9990384613092129 ap-health: 0.48201754375507955 capacity: 0.9702673450306101 coverage: 0.8335392334930375 num_aps: 1 num_clients: 6 org_id: 49ff76e0-a283-4e7d-b38d-041f1e9aff3c roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 0 time-to-connect: 1 - ap-availability: 1 ap-health: 0.982456140612301 capacity: 1 coverage: 0.9276041182442488 num_aps: 2 num_clients: 3 org_id: 9b9b48f1-15a4-459e-86cc-9cbec9005983 roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 1 time-to-connect: 0.8125 - ap-availability: 0.9981132070973234 ap-health: 0.9991228068084047 capacity: 1 coverage: 1 num_aps: 1 num_clients: 0 org_id: eb0e1671-7a6b-472b-94c3-c187dafe5274 roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 0 time-to-connect: 0.5 start: 1643670000 application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/insight_metrics' - description: Insight metric response for a requested time range and aggregation interval examples: - end: 1643706000 interval: 3600 limit: 100 results: - ap-availability: 0.9919400860511628 ap-health: 0.967607512909879 capacity: 0.7484652273070254 coverage: 0.91217567374857 num_aps: 13 num_clients: 12 org_id: ab0aca7a-d45c-469b-b3bb-4fe240642d0b roaming: 0.991735537682683 roaming-exp: 0.991735537682683 successful-connect: 0.46052632135780236 throughput: 0.6775702123846302 time-to-connect: 0.9349112447196916 - ap-availability: 0.9990384613092129 ap-health: 0.48201754375507955 capacity: 0.9702673450306101 coverage: 0.8335392334930375 num_aps: 1 num_clients: 6 org_id: 49ff76e0-a283-4e7d-b38d-041f1e9aff3c roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 0 time-to-connect: 1 - ap-availability: 1 ap-health: 0.982456140612301 capacity: 1 coverage: 0.9276041182442488 num_aps: 2 num_clients: 3 org_id: 9b9b48f1-15a4-459e-86cc-9cbec9005983 roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 1 time-to-connect: 0.8125 - ap-availability: 0.9981132070973234 ap-health: 0.9991228068084047 capacity: 1 coverage: 1 num_aps: 1 num_clients: 0 org_id: eb0e1671-7a6b-472b-94c3-c187dafe5274 roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 0 time-to-connect: 0.5 start: 1643670000 contentMediaType: application/vnd.api+json examples: Orgs Sle: value: end: 1643706000 interval: 3600 limit: 100 results: - ap-availability: 0.9919400860511628 ap-health: 0.967607512909879 capacity: 0.7484652273070254 coverage: 0.91217567374857 num_aps: 13 num_clients: 12 org_id: ab0aca7a-d45c-469b-b3bb-4fe240642d0b roaming: 0.991735537682683 roaming-exp: 0.991735537682683 successful-connect: 0.46052632135780236 throughput: 0.6775702123846302 time-to-connect: 0.9349112447196916 - ap-availability: 0.9990384613092129 ap-health: 0.48201754375507955 capacity: 0.9702673450306101 coverage: 0.8335392334930375 num_aps: 1 num_clients: 6 org_id: 49ff76e0-a283-4e7d-b38d-041f1e9aff3c roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 0 time-to-connect: 1 - ap-availability: 1 ap-health: 0.982456140612301 capacity: 1 coverage: 0.9276041182442488 num_aps: 2 num_clients: 3 org_id: 9b9b48f1-15a4-459e-86cc-9cbec9005983 roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 1 time-to-connect: 0.8125 - ap-availability: 0.9981132070973234 ap-health: 0.9991228068084047 capacity: 1 coverage: 1 num_aps: 1 num_clients: 0 org_id: eb0e1671-7a6b-472b-94c3-c187dafe5274 roaming: 1 roaming-exp: 1 successful-connect: 1 throughput: 0 time-to-connect: 0.5 start: 1643670000 '400': description: Bad Syntax headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http400' - description: Standard HTTP 400 bad request error response examples: - detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' contentMediaType: application/vnd.api+json examples: Example: value: detail: 'JSON parse error - Expecting value: line 5 column 8 (char 56)' '401': description: Unauthorized headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/json examples: Example: value: detail: Authentication credentials were not provided. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http401' - description: Standard HTTP 401 authentication error response examples: - detail: Authentication credentials were not provided. contentMediaType: application/vnd.api+json examples: Example: value: detail: Authentication credentials were not provided. '403': description: Permission Denied headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/json examples: Example: value: detail: You do not have permission to perform this action. application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http403' - description: Standard HTTP 403 permission error response examples: - detail: You do not have permission to perform this action. contentMediaType: application/vnd.api+json examples: Example: value: detail: You do not have permission to perform this action. '404': description: Not found. The API endpoint doesn’t exist or resource doesn’ t exist headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/json application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http404' - description: Standard HTTP 404 not found error response contentMediaType: application/vnd.api+json '429': description: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold headers: {} content: application/json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold application/vnd.api+json: schema: allOf: - $ref: '#/components/schemas/response_http429' - description: Standard HTTP 429 rate limit error response examples: - detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold contentMediaType: application/vnd.api+json examples: Example: value: detail: Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold deprecated: false components: schemas: response_http403: title: response_http403 type: object properties: detail: type: string description: Human-readable explanation of the permission error examples: - You do not have permission to perform this action. description: Standard HTTP 403 permission error response response_http400: title: response_http400 type: object properties: detail: type: string description: Human-readable explanation of the bad request error examples: - 'JSON parse error - Expecting value: line 5 column 8 (char 56)' description: Standard HTTP 400 bad request error response insight_metrics: title: insight_metrics required: - end - interval - start type: object properties: end: type: integer description: Window end timestamp for the returned insight metrics contentEncoding: int32 interval: type: integer description: Aggregation interval used for the metric results contentEncoding: int32 limit: type: integer description: Maximum number of insight metric result items returned contentEncoding: int32 results: uniqueItems: true type: array items: $ref: '#/components/schemas/insight_metrics_results_item' description: Metric result values for the requested insight metric start: type: integer description: Window start timestamp for the returned insight metrics contentEncoding: int32 description: Insight metric response for a requested time range and aggregation interval response_http404: title: response_http404 type: object properties: id: type: string description: Missing resource identifier, when the API includes one description: Standard HTTP 404 not found error response insight_metrics_results_item: anyOf: - type: number - type: object description: Insight metric result item, returned either as a number or an object depending on the requested metric response_http401: title: response_http401 type: object properties: detail: type: string description: Human-readable explanation of the authentication error examples: - Authentication credentials were not provided. description: Standard HTTP 401 authentication error response response_http429: title: response_http429 type: object properties: detail: type: string description: Human-readable explanation of the rate limit error examples: - Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold description: Standard HTTP 429 rate limit error response securitySchemes: apiToken: type: apiKey description: "Preferred authentication method for automation and integrations. Send the API token in the HTTP `Authorization` header.\n\n**Format**:\n `Authorization: Token {apitoken}`\n\n**Notes**:\n* An API token generated for a specific admin has the same privileges as that admin\n* An API token is automatically removed if it is not used for more than 90 days\n* SSO admins cannot generate admin API tokens. Use organization API tokens when scoped Org/Site privileges are needed." name: Authorization in: header csrfToken: type: apiKey description: 'Session-based authentication for browser or login/password flows. After a successful [Login]($e/Admins%20Login/login) request, Mist returns a `csrftoken` cookie. Send that value in the `X-CSRFToken` header on later API requests that use the login session. **Format**: ``` X-CSRFToken: vwvBuq9qkqaKh7lu8tNc0gkvBfEaLAmx ``` For automation, API Token authentication is preferred.' name: X-CSRFToken in: header