Juniper Networks Systems API

Managed system (device) agent lifecycle and telemetry.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

juniper-networks-systems-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Juniper Networks Juniper Apstra Intent-Based Networking Alarms Systems 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: Systems
  description: Managed system (device) agent lifecycle and telemetry.
paths:
  /systems:
    get:
      operationId: listSystems
      summary: Juniper Networks List managed systems
      description: Returns all systems (network devices) known to Apstra, including their agent status, management IP, and hardware information.
      tags:
      - Systems
      responses:
        '200':
          description: Systems returned.
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/System'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /systems/{system_id}:
    get:
      operationId: getSystem
      summary: Juniper Networks Get system details
      description: Returns detailed information for a specific managed system.
      tags:
      - Systems
      parameters:
      - $ref: '#/components/parameters/SystemId'
      responses:
        '200':
          description: System returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/System'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  responses:
    NotFound:
      description: Resource not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Authentication required or token expired.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        errors:
          type: string
          description: Error message.
    System:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: System unique identifier.
        label:
          type: string
          description: System label.
        hostname:
          type: string
          description: Device hostname.
        management_ip:
          type: string
          description: Management IP address.
        serial_number:
          type: string
          description: Hardware serial number.
        device_key:
          type: string
          description: Device key for agent authentication.
        facts:
          type: object
          properties:
            os_family:
              type: string
              description: Operating system family (e.g., junos, eos, nxos).
            os_version:
              type: string
              description: Operating system version.
            vendor:
              type: string
              description: Hardware vendor.
            hw_model:
              type: string
              description: Hardware model.
          description: Device hardware and software facts.
        status:
          type: string
          enum:
          - OOS-READY
          - IS-ACTIVE
          - MAINT
          - DECOMM
          description: System operational status.
  parameters:
    SystemId:
      name: system_id
      in: path
      required: true
      description: System unique identifier.
      schema:
        type: string
        format: uuid
  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.