Juniper Networks Design API

Design elements including rack types, templates, and logical devices

Operations 6

GET /design/rack-types Juniper Networks List rack types #
POST /design/rack-types Juniper Networks Create rack type #
GET /design/templates Juniper Networks List design templates #
POST /design/templates Juniper Networks Create design template #
GET /design/logical-devices Juniper Networks List logical devices #
GET /design/interface-maps Juniper Networks List interface maps #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/juniper-design-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

juniper-design-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Juniper Networks Juniper Apstra Design 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: Design
  description: Design elements including rack types, templates, and logical devices
paths:
  /design/rack-types:
    get:
      operationId: listRackTypes
      summary: Juniper Networks List rack types
      description: Returns all rack type designs.
      tags:
      - Design
      responses:
        '200':
          description: List of rack types
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/RackType'
    post:
      operationId: createRackType
      summary: Juniper Networks Create rack type
      description: Creates a new rack type design.
      tags:
      - Design
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RackType'
      responses:
        '201':
          description: Rack type created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RackType'
  /design/templates:
    get:
      operationId: listDesignTemplates
      summary: Juniper Networks List design templates
      description: Returns all data center design templates.
      tags:
      - Design
      responses:
        '200':
          description: List of design templates
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/DesignTemplate'
    post:
      operationId: createDesignTemplate
      summary: Juniper Networks Create design template
      description: Creates a new data center design template.
      tags:
      - Design
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DesignTemplate'
      responses:
        '201':
          description: Template created
  /design/logical-devices:
    get:
      operationId: listLogicalDevices
      summary: Juniper Networks List logical devices
      description: Returns all logical device definitions.
      tags:
      - Design
      responses:
        '200':
          description: List of logical devices
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/LogicalDevice'
  /design/interface-maps:
    get:
      operationId: listInterfaceMaps
      summary: Juniper Networks List interface maps
      description: Returns interface maps that map logical device ports to physical device interfaces.
      tags:
      - Design
      responses:
        '200':
          description: List of interface maps
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/InterfaceMap'
components:
  schemas:
    DesignTemplate:
      type: object
      properties:
        id:
          type: string
          format: uuid
        label:
          type: string
        type:
          type: string
          enum:
          - rack_based
        spine:
          type: object
          properties:
            count:
              type: integer
            logical_device_id:
              type: string
              format: uuid
        rack_types:
          type: array
          items:
            type: object
            properties:
              rack_type_id:
                type: string
                format: uuid
              count:
                type: integer
        asn_allocation_policy:
          type: object
          properties:
            spine_asn_scheme:
              type: string
              enum:
              - distinct
              - single
        fabric_addressing_policy:
          type: object
          properties:
            spine_leaf_links:
              type: string
              enum:
              - ipv4
              - ipv6
              - ipv4_ipv6
    RackType:
      type: object
      properties:
        id:
          type: string
          format: uuid
        label:
          type: string
        description:
          type: string
        leaf_switches:
          type: array
          items:
            type: object
            properties:
              label:
                type: string
              logical_device_id:
                type: string
                format: uuid
              link_per_spine_count:
                type: integer
              link_per_spine_speed:
                type: string
        access_switches:
          type: array
          items:
            type: object
        generic_systems:
          type: array
          items:
            type: object
            properties:
              label:
                type: string
              count:
                type: integer
              logical_device_id:
                type: string
                format: uuid
    LogicalDevice:
      type: object
      properties:
        id:
          type: string
          format: uuid
        label:
          type: string
        panels:
          type: array
          items:
            type: object
            properties:
              panel_layout:
                type: object
                properties:
                  row_count:
                    type: integer
                  column_count:
                    type: integer
              port_indexing:
                type: object
              port_groups:
                type: array
                items:
                  type: object
                  properties:
                    count:
                      type: integer
                    speed:
                      type: string
                    roles:
                      type: array
                      items:
                        type: string
                        enum:
                        - superspine
                        - spine
                        - leaf
                        - peer
                        - access
                        - generic
                        - unused
    InterfaceMap:
      type: object
      properties:
        id:
          type: string
          format: uuid
        label:
          type: string
        logical_device_id:
          type: string
          format: uuid
        device_profile_id:
          type: string
          format: uuid
        interfaces:
          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/