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/