Juniper Networks VPN API

IPsec VPN tunnel configuration.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

juniper-networks-vpn-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Juniper Networks Juniper Apstra Intent-Based Networking Alarms VPN 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: VPN
  description: IPsec VPN tunnel configuration.
paths:
  /v1/security/ipsec/vpn:
    get:
      operationId: listIpsecVpns
      summary: Juniper Networks List IPsec VPN tunnels
      description: Returns all IPsec VPN tunnel configurations, including IKE gateway associations, encryption settings, and tunnel status.
      tags:
      - VPN
      responses:
        '200':
          description: IPsec VPN tunnels returned.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ipsec-vpns:
                    type: array
                    items:
                      $ref: '#/components/schemas/IpsecVpn'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message.
    IpsecVpn:
      type: object
      properties:
        name:
          type: string
          description: VPN tunnel name.
        ike_gateway:
          type: string
          description: IKE gateway name.
        ike_policy:
          type: string
          description: IKE policy name.
        ipsec_policy:
          type: string
          description: IPsec policy name.
        bind_interface:
          type: string
          description: Tunnel interface (e.g., st0.0).
        establish_tunnels:
          type: string
          enum:
          - immediately
          - on-traffic
          description: Tunnel establishment trigger.
        status:
          type: string
          enum:
          - up
          - down
          description: Current tunnel status.
  responses:
    Unauthorized:
      description: Authentication required.
      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.