Juniper Networks Insights API

AI-driven network insights, anomaly detection, and Marvis recommendations.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

juniper-networks-insights-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Juniper Networks Juniper Apstra Intent-Based Networking Alarms Insights API
  description: RESTful API for Juniper Apstra, an intent-based networking platform for automating data center network design, deployment, and operations. Apstra abstracts network infrastructure into design blueprints with logical models, rack types, templates, and connectivity. The platform continuously validates that the network state matches the intended configuration and raises anomalies when deviations occur. The API provides full access to design resources, blueprints, device management, telemetry, and IBA (Intent-Based Analytics) probes. Authentication uses token-based sessions obtained via the login endpoint.
  version: '4.2'
  contact:
    name: Juniper Networks Support
    url: https://www.juniper.net/documentation/product/us/en/juniper-apstra/
  license:
    name: Proprietary
    url: https://www.juniper.net/us/en/legal-notices.html
servers:
- url: https://{apstra_server}/api
  description: Apstra server API endpoint.
  variables:
    apstra_server:
      description: Hostname or IP address of the Apstra server.
      default: apstra.example.com
security:
- authToken: []
tags:
- name: Insights
  description: AI-driven network insights, anomaly detection, and Marvis recommendations.
paths:
  /sites/{site_id}/insights/marvis:
    get:
      operationId: listMarvisActions
      summary: Juniper Networks List Marvis actions
      description: Returns AI-driven Marvis actions for a site. Marvis uses machine learning to identify network issues, anomalies, and optimization opportunities. Actions include recommended fixes for AP health, client connectivity, and capacity issues.
      tags:
      - Insights
      parameters:
      - $ref: '#/components/parameters/SiteId'
      - name: start
        in: query
        description: Start time epoch in seconds.
        schema:
          type: integer
      - name: end
        in: query
        description: End time epoch in seconds.
        schema:
          type: integer
      responses:
        '200':
          description: Marvis actions returned.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/MarvisAction'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  parameters:
    SiteId:
      name: site_id
      in: path
      required: true
      description: Site unique identifier.
      schema:
        type: string
        format: uuid
  schemas:
    Error:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable error description.
    MarvisAction:
      type: object
      properties:
        type:
          type: string
          description: Action category (e.g., ap_health, client_connectivity, capacity).
        details:
          type: string
          description: Description of the detected issue and recommended action.
        site_id:
          type: string
          format: uuid
          description: Affected site ID.
        device_id:
          type: string
          format: uuid
          description: Affected device ID if applicable.
        severity:
          type: string
          enum:
          - critical
          - warning
          - info
          description: Severity level of the action.
        timestamp:
          type: number
          description: Detection timestamp in epoch seconds.
  responses:
    Unauthorized:
      description: Authentication required or token invalid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    authToken:
      type: apiKey
      in: header
      name: AuthToken
      description: Authentication token obtained from POST /api/aaa/login. Include in the AuthToken header for all authenticated API requests.