openapi: 3.1.0 info: title: Juniper Networks Juniper Apstra Intent-Based Networking Alarms Resources 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: Resources description: Resource pool management for ASN, IP, and VNI allocation. paths: /resources/asn-pools: get: operationId: listAsnPools summary: Juniper Networks List ASN pools description: Returns all ASN (Autonomous System Number) pools. ASN pools are allocated to spine and leaf switches for BGP peering in the data center fabric. tags: - Resources responses: '200': description: ASN pools returned. content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/AsnPool' '401': $ref: '#/components/responses/Unauthorized' post: operationId: createAsnPool summary: Juniper Networks Create ASN pool description: Creates a new ASN pool with defined ranges. tags: - Resources requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AsnPool' responses: '201': description: ASN pool created. content: application/json: schema: $ref: '#/components/schemas/AsnPool' '400': $ref: '#/components/responses/BadRequest' /resources/ip-pools: get: operationId: listIpPools summary: Juniper Networks List IP pools description: Returns all IP address pools. IP pools are used to allocate loopback addresses, fabric link subnets, and virtual network gateways across the data center fabric. tags: - Resources responses: '200': description: IP pools returned. content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/IpPool' '401': $ref: '#/components/responses/Unauthorized' /resources/vni-pools: get: operationId: listVniPools summary: Juniper Networks List VNI pools description: Returns all VNI (VXLAN Network Identifier) pools. VNI pools provide unique identifiers for VXLAN tunnels used in the EVPN-VXLAN fabric overlay. tags: - Resources responses: '200': description: VNI pools returned. content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/VniPool' '401': $ref: '#/components/responses/Unauthorized' components: schemas: VniPool: type: object properties: id: type: string format: uuid display_name: type: string ranges: type: array items: type: object properties: first: type: integer last: type: integer Error: type: object properties: errors: type: string description: Error message. IpPool: type: object properties: id: type: string format: uuid display_name: type: string subnets: type: array items: type: object properties: network: type: string description: Subnet in CIDR notation. status: type: string description: Subnet usage status. AsnPool: type: object properties: id: type: string format: uuid display_name: type: string ranges: type: array items: type: object properties: first: type: integer description: First ASN in the range. last: type: integer description: Last ASN in the range. status: type: string description: Pool usage status. responses: BadRequest: description: Invalid request parameters or malformed payload. content: application/json: schema: $ref: '#/components/schemas/Error' Unauthorized: description: Authentication required or token expired. 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.