Juniper Networks Security Groups API

Security group and firewall rule management

OpenAPI Specification

juniper-security-groups-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Juniper Networks Juniper Apstra Allowlists and Blocklists Security Groups API
  description: Juniper Apstra is an intent-based networking platform for data center automation. The Apstra API provides RESTful access to manage blueprints, design elements, devices, connectivity templates, virtual networks, and intent-based analytics. It supports multivendor environments and enables closed-loop automation from design through deployment and operations.
  version: 4.2.0
  contact:
    name: Juniper Support
    url: https://www.juniper.net/us/en/products/network-automation/apstra.html
    email: support@juniper.net
  license:
    name: Proprietary
    url: https://www.juniper.net/us/en/legal-notices.html
  termsOfService: https://www.juniper.net/us/en/legal-notices.html
servers:
- url: https://{apstra_server}/api
  description: Apstra Server
  variables:
    apstra_server:
      default: apstra.example.com
      description: Hostname or IP of the Apstra server
security:
- authToken: []
tags:
- name: Security Groups
  description: Security group and firewall rule management
paths:
  /security-groups:
    get:
      operationId: listSecurityGroups
      summary: Juniper Networks List security groups
      description: Returns all security groups.
      tags:
      - Security Groups
      parameters:
      - $ref: '#/components/parameters/ParentId'
      - $ref: '#/components/parameters/DetailParam'
      responses:
        '200':
          description: List of security groups
          content:
            application/json:
              schema:
                type: object
                properties:
                  security-groups:
                    type: array
                    items:
                      $ref: '#/components/schemas/ResourceRef'
    post:
      operationId: createSecurityGroup
      summary: Juniper Networks Create security group
      description: Creates a new security group with access control rules.
      tags:
      - Security Groups
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                security-group:
                  $ref: '#/components/schemas/SecurityGroup'
      responses:
        '200':
          description: Security group created
components:
  parameters:
    DetailParam:
      name: detail
      in: query
      description: Return full object details instead of references
      schema:
        type: boolean
        default: false
    ParentId:
      name: parent_id
      in: query
      description: Filter by parent resource UUID
      schema:
        type: string
        format: uuid
  schemas:
    ResourceRef:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        fq_name:
          type: array
          items:
            type: string
        href:
          type: string
          format: uri
    SecurityGroup:
      type: object
      properties:
        uuid:
          type: string
          format: uuid
        fq_name:
          type: array
          items:
            type: string
        display_name:
          type: string
        security_group_entries:
          type: object
          properties:
            policy_rule:
              type: array
              items:
                type: object
                properties:
                  direction:
                    type: string
                  protocol:
                    type: string
                  ethertype:
                    type: string
                    enum:
                    - IPv4
                    - IPv6
                  src_addresses:
                    type: array
                    items:
                      type: object
                  dst_addresses:
                    type: array
                    items:
                      type: object
                  src_ports:
                    type: array
                    items:
                      type: object
                  dst_ports:
                    type: array
                    items:
                      type: object
  securitySchemes:
    authToken:
      type: apiKey
      in: header
      name: AuthToken
      description: Authentication token obtained from the /aaa/login endpoint. Include as AuthToken header in all requests.
externalDocs:
  description: Apstra API Documentation
  url: https://www.juniper.net/documentation/us/en/software/apstra/