Juniper Networks Sites WAN Usages API

API Calls to retrieve WAN Assurance statistics about the WAN Usage

Operations 2

GET /api/v1/sites/{site_id}/wan_usages/count countSiteWanUsage #
GET /api/v1/sites/{site_id}/wan_usages/search searchSiteWanUsage #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/juniper:juniper-sites-wan-usages-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

juniper-sites-wan-usages-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mist Sites WAN Usages 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: Sites WAN Usages
  description: API Calls to retrieve WAN Assurance statistics about the WAN Usage
paths:
  /api/v1/sites/{site_id}/wan_usages/count:
    parameters: []
    get:
      tags:
      - Sites WAN Usages
      summary: countSiteWanUsage
      description: Count Site WAN Usages
      operationId: countSiteWanUsage
      parameters:
      - name: site_id
        in: path
        description: ''
        required: true
        schema:
          type: string
          contentEncoding: uuid
          examples:
          - 000000ab-00ab-00ab-00ab-0000000000ab
      - name: mac
        in: query
        description: Filter results by MAC address
        style: form
        explode: true
        schema:
          type: string
          examples:
          - '001122334455'
      - name: peer_mac
        in: query
        description: Filter results by peer MAC address
        style: form
        explode: true
        schema:
          type: string
          examples:
          - '001122334455'
      - name: port_id
        in: query
        description: Port ID for the device
        style: form
        explode: true
        schema:
          type: string
          examples:
          - ge-0/0/0
      - name: peer_port_id
        in: query
        description: Peer Port ID for the device
        style: form
        explode: true
        schema:
          type: string
          examples:
          - ge-0/0/0
      - name: policy
        in: query
        description: Filter results by WAN path policy
        style: form
        explode: true
        schema:
          type: string
      - name: tenant
        in: query
        description: Filter results by tenant network
        style: form
        explode: true
        schema:
          type: string
      - name: path_type
        in: query
        description: Filter results by port path type
        style: form
        explode: true
        schema:
          type: string
          examples:
          - primary
      - name: distinct
        in: query
        description: 'Field used to group this count response. enum: `mac`, `path_type`, `peer_mac`, `peer_port_id`, `policy`, `port_id`, `tenant`'
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/wan_usages_count_distinct'
          - description: 'Field used to group this count response. enum: `mac`, `path_type`, `peer_mac`, `peer_port_id`, `policy`, `port_id`, `tenant`'
      - 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
      - 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: limit
        in: query
        description: Maximum number of results to return per page
        style: form
        explode: true
        schema:
          minimum: 0
          type: integer
          contentEncoding: int32
          default: 100
      responses:
        '200':
          description: Result of Count
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_count'
                - description: Distinct count response for time-bounded search results
                  examples:
                  - distinct: string
                    end: 0
                    limit: 0
                    results:
                    - count: 0
                      property: string
                    start: 0
                    total: 0
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    distinct: string
                    end: 0
                    limit: 0
                    results:
                    - count: 0
                      property: string
                    start: 0
                    total: 0
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_count'
                - description: Distinct count response for time-bounded search results
                  examples:
                  - distinct: string
                    end: 0
                    limit: 0
                    results:
                    - count: 0
                      property: string
                    start: 0
                    total: 0
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                    distinct: string
                    end: 0
                    limit: 0
                    results:
                    - count: 0
                      property: string
                    start: 0
                    total: 0
        '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
  /api/v1/sites/{site_id}/wan_usages/search:
    parameters: []
    get:
      tags:
      - Sites WAN Usages
      summary: searchSiteWanUsage
      description: Search Site WAN Usages
      operationId: searchSiteWanUsage
      parameters:
      - name: site_id
        in: path
        description: ''
        required: true
        schema:
          type: string
          contentEncoding: uuid
          examples:
          - 000000ab-00ab-00ab-00ab-0000000000ab
      - name: mac
        in: query
        description: Filter results by MAC address
        style: form
        explode: true
        schema:
          type: string
          examples:
          - '001122334455'
      - name: peer_mac
        in: query
        description: Filter results by peer MAC address
        style: form
        explode: true
        schema:
          type: string
          examples:
          - '001122334455'
      - name: port_id
        in: query
        description: Port ID for the device
        style: form
        explode: true
        schema:
          type: string
          examples:
          - ge-0/0/0
      - name: peer_port_id
        in: query
        description: Peer Port ID for the device
        style: form
        explode: true
        schema:
          type: string
          examples:
          - ge-0/0/0
      - name: policy
        in: query
        description: Filter results by WAN path policy
        style: form
        explode: true
        schema:
          type: string
          examples:
          - primary
      - name: tenant
        in: query
        description: Filter results by tenant network
        style: form
        explode: true
        schema:
          type: string
      - name: path_type
        in: query
        description: Filter results by port path type
        style: form
        explode: true
        schema:
          type: string
          examples:
          - primary
      - name: limit
        in: query
        description: Maximum number of results to return per page
        style: form
        explode: true
        schema:
          minimum: 0
          type: integer
          contentEncoding: int32
          default: 100
      - 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
      - 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: sort
        in: query
        description: On which field the list should be sorted, -prefix represents DESC order
        style: form
        explode: true
        schema:
          type: string
          default: timestamp
          examples:
          - -site_id
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/search_wan_usage'
                - description: Paginated response for WAN usage searches
                contentMediaType: application/json
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/search_wan_usage'
                - description: Paginated response for WAN usage searches
                contentMediaType: application/vnd.api+json
        '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
    count_result:
      title: count_result
      required:
      - count
      type: object
      properties:
        count:
          type: integer
          description: Number of matching items for the distinct value or values in this result
          contentEncoding: int32
      additionalProperties:
        type: string
      description: Count result row with the matching distinct field values
    search_wan_usage:
      title: search_wan_usage
      type: object
      properties:
        end:
          type: number
          description: Upper bound timestamp of the WAN usage search window, in epoch seconds
        limit:
          type: integer
          description: Maximum number of WAN usage records returned by this page
          contentEncoding: int32
        results:
          type: array
          items:
            $ref: '#/components/schemas/wan_usages'
          description: WAN usage records returned by the search response
        start:
          type: number
          description: Lower bound timestamp of the WAN usage search window, in epoch seconds
      description: Paginated response for WAN usage searches
    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
    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
    wan_usages_count_distinct:
      title: wan_usages_count_distinct
      enum:
      - mac
      - path_type
      - peer_mac
      - peer_port_id
      - policy
      - port_id
      - tenant
      type: string
      description: 'enum: `mac`, `path_type`, `peer_mac`, `peer_port_id`, `policy`, `port_id`, `tenant`'
    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
    response_count:
      title: response_count
      required:
      - distinct
      - end
      - limit
      - results
      - start
      - total
      type: object
      properties:
        distinct:
          type: string
          description: Field used to group the count results
        end:
          type: integer
          description: Search window end timestamp for the count request, in epoch seconds
          contentEncoding: int32
        limit:
          type: integer
          description: Maximum number of distinct count results requested
          contentEncoding: int32
        results:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/count_result'
          description: Count results grouped by the distinct field
        start:
          type: integer
          description: Search window start timestamp for the count request, in epoch seconds
          contentEncoding: int32
        total:
          type: integer
          description: Number of distinct result buckets returned
          contentEncoding: int32
      description: Distinct count response for time-bounded search results
    wan_usages:
      title: wan_usages
      type: object
      properties:
        mac:
          type: string
          description: Local router MAC address for the WAN usage record
          examples:
          - 5c5b35000001
        path_type:
          type: string
          description: WAN path type used by this usage record
          examples:
          - vpn
        path_weight:
          type: integer
          description: Configured weight for the WAN path
          contentEncoding: int32
          examples:
          - 10
        peer_mac:
          type: string
          description: Remote peer MAC address for the WAN path
          examples:
          - 0200018c95e1
        peer_port_id:
          type: string
          description: Remote peer interface identifier for the WAN path
          examples:
          - ge-0/0/3
        policy:
          type: string
          description: WAN path policy that selected this path
          examples:
          - policy1
        port_id:
          type: string
          description: Local router interface identifier for the WAN path
          examples:
          - ge-0/0/0.0
        tenant:
          type: string
          description: Network tenant context for the WAN usage record
          examples:
          - tenant1
      description: WAN usage record returned by site WAN usage searches
  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