Juniper Networks Sites Skyatp API

SkyATP is a cloud-based solution that provides advanced threat protection for network security. It allows security analysts to update their defense against new attack techniques in real-time and distribute threat intelligence quickly. SkyATP inspects network traffic and blocks devices that have downloaded malware or accessed command and control servers. It also offers configuration and troubleshooting capabilities for administrators.

Business capability
Threat Detection & Response Management BC-620.30

Operations 2

GET /api/v1/sites/{site_id}/skyatp/events/count countSiteSkyatpEvents #
GET /api/v1/sites/{site_id}/skyatp/events/search searchSiteSkyatpEvents #

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-skyatp-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-skyatp-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Mist Sites Skyatp 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 Skyatp
  description: 'SkyATP is a cloud-based solution that provides advanced threat protection for network security.


    It allows security analysts to update their defense against new attack techniques in real-time and distribute threat intelligence quickly.


    SkyATP inspects network traffic and blocks devices that have downloaded malware or accessed command and control servers. It also offers configuration and troubleshooting capabilities for administrators.'
paths:
  /api/v1/sites/{site_id}/skyatp/events/count:
    parameters: []
    get:
      tags:
      - Sites Skyatp
      summary: countSiteSkyatpEvents
      description: Count by Distinct Attributes of Skyatp Events (WIP)
      operationId: countSiteSkyatpEvents
      parameters:
      - name: site_id
        in: path
        description: ''
        required: true
        schema:
          type: string
          contentEncoding: uuid
          examples:
          - 000000ab-00ab-00ab-00ab-0000000000ab
      - name: distinct
        in: query
        description: 'Field used to group this count response. enum: `device_mac`, `mac`, `threat_level`, `type`'
        style: form
        explode: true
        schema:
          allOf:
          - $ref: '#/components/schemas/site_sky_atp_events_count_distinct'
          - description: 'Field used to group this count response. enum: `device_mac`, `mac`, `threat_level`, `type`'
      - name: type
        in: query
        description: Event type, e.g. cc, fs, mw
        style: form
        explode: true
        schema:
          type: string
      - name: mac
        in: query
        description: Filter results by MAC address
        style: form
        explode: true
        schema:
          type: string
      - name: device_mac
        in: query
        description: Filter results by device MAC address
        style: form
        explode: true
        schema:
          type: string
      - name: threat_level
        in: query
        description: Filter results by threat level
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ip
        in: query
        description: Filter results by IPv4 address
        style: form
        explode: true
        schema:
          type: string
          contentEncoding: ipv4
          examples:
          - 192.168.1.1
      - 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}/skyatp/events/search:
    parameters: []
    get:
      tags:
      - Sites Skyatp
      summary: searchSiteSkyatpEvents
      description: Search Skyatp Events (WIP)
      operationId: searchSiteSkyatpEvents
      parameters:
      - name: site_id
        in: path
        description: ''
        required: true
        schema:
          type: string
          contentEncoding: uuid
          examples:
          - 000000ab-00ab-00ab-00ab-0000000000ab
      - name: type
        in: query
        description: Event type, e.g. cc, fs, mw
        style: form
        explode: true
        schema:
          type: string
      - name: mac
        in: query
        description: Filter results by MAC address
        style: form
        explode: true
        schema:
          type: string
      - name: device_mac
        in: query
        description: Filter results by device MAC address
        style: form
        explode: true
        schema:
          type: string
      - name: threat_level
        in: query
        description: Filter results by threat level
        style: form
        explode: true
        schema:
          type: integer
          contentEncoding: int32
      - name: ip
        in: query
        description: Filter results by IPv4 address
        style: form
        explode: true
        schema:
          type: string
          contentEncoding: ipv4
          examples:
          - 192.168.1.1
      - 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
      - name: search_after
        in: query
        description: Pagination cursor for retrieving subsequent pages of results. This value is automatically populated by Mist in the `next` URL from the previous response and should not be manually constructed.
        style: form
        explode: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          headers: {}
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_events_sky_atp_search'
                - description: Paginated response for Sky ATP event search results
                  examples:
                  - end: 1513176951
                    limit: 10
                    results:
                    - device_mac: 658279bb1fa4
                      ip: 172.16.0.11
                      mac: b019c66c8348
                      org_id: 3139f2c2-fac6-11e5-8156-0242ac110006
                      site_id: 70e0f468-fc13-11e5-85ad-0242ac110008
                      threat_level: 7
                      timestamp: 1592524478
                      type: cc
                    start: 1512572151
                    total: 1
                contentMediaType: application/json
              examples:
                Example:
                  value:
                    end: 1513176951
                    limit: 10
                    results:
                    - device_mac: 658279bb1fa4
                      ip: 172.16.0.11
                      mac: b019c66c8348
                      org_id: 3139f2c2-fac6-11e5-8156-0242ac110006
                      site_id: 70e0f468-fc13-11e5-85ad-0242ac110008
                      threat_level: 7
                      timestamp: 1592524478
                      type: cc
                    start: 1512572151
                    total: 1
            application/vnd.api+json:
              schema:
                allOf:
                - $ref: '#/components/schemas/response_events_sky_atp_search'
                - description: Paginated response for Sky ATP event search results
                  examples:
                  - end: 1513176951
                    limit: 10
                    results:
                    - device_mac: 658279bb1fa4
                      ip: 172.16.0.11
                      mac: b019c66c8348
                      org_id: 3139f2c2-fac6-11e5-8156-0242ac110006
                      site_id: 70e0f468-fc13-11e5-85ad-0242ac110008
                      threat_level: 7
                      timestamp: 1592524478
                      type: cc
                    start: 1512572151
                    total: 1
                contentMediaType: application/vnd.api+json
              examples:
                Example:
                  value:
                    end: 1513176951
                    limit: 10
                    results:
                    - device_mac: 658279bb1fa4
                      ip: 172.16.0.11
                      mac: b019c66c8348
                      org_id: 3139f2c2-fac6-11e5-8156-0242ac110006
                      site_id: 70e0f468-fc13-11e5-85ad-0242ac110008
                      threat_level: 7
                      timestamp: 1592524478
                      type: cc
                    start: 1512572151
                    total: 1
        '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
    events_skyatp:
      title: events_skyatp
      required:
      - device_mac
      - ip
      - mac
      - org_id
      - site_id
      - threat_level
      - timestamp
      - type
      type: object
      properties:
        device_mac:
          type: string
          description: Network device MAC address that reported the SkyATP event
          readOnly: true
        for_site:
          type: boolean
          description: Whether the SkyATP event is scoped to a site rather than only the organization
          readOnly: true
        ip:
          type: string
          description: Client IP address associated with the SkyATP event
          readOnly: true
        mac:
          type: string
          description: Client MAC address associated with the SkyATP event
          readOnly: true
        org_id:
          type: string
          description: Organization that contains the SkyATP event
          contentEncoding: uuid
          readOnly: true
          examples:
          - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61
        site_id:
          type: string
          description: Site where the SkyATP event occurred
          contentEncoding: uuid
          readOnly: true
          examples:
          - 441a1214-6928-442a-8e92-e1d34b8ec6a6
        threat_level:
          type: integer
          description: Numeric SkyATP threat level reported for the event
          contentEncoding: int32
          readOnly: true
        timestamp:
          type: number
          description: Time when the SkyATP event occurred
          readOnly: true
        type:
          type: string
          description: SkyATP event type, such as `cc`, `fs`, or `mw`
          readOnly: true
      description: SkyATP threat event returned by SkyATP event search APIs
    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
    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
    site_sky_atp_events_count_distinct:
      title: site_sky_atp_events_count_distinct
      enum:
      - device_mac
      - mac
      - threat_level
      - type
      type: string
      description: 'enum: `device_mac`, `mac`, `threat_level`, `type`'
    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
    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_events_sky_atp_search:
      title: response_events_sky_atp_search
      required:
      - end
      - limit
      - results
      - start
      - total
      type: object
      properties:
        end:
          type: integer
          description: Epoch timestamp for the end of the Sky ATP event search window
          contentEncoding: int32
        limit:
          type: integer
          description: Maximum number of Sky ATP event records returned in this page
          contentEncoding: int32
        next:
          type: string
          description: Pagination cursor or URL for retrieving the next page of Sky ATP event records
        results:
          uniqueItems: true
          type: array
          items:
            $ref: '#/components/schemas/events_skyatp'
          description: Sky ATP event records matching the search filters
        start:
          type: integer
          description: Epoch timestamp for the start of the Sky ATP event search window
          contentEncoding: int32
        total:
          type: integer
          description: Number of Sky ATP event records matching the search filters across all pages
          contentEncoding: int32
      description: Paginated response for Sky ATP event search results
  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