naftiko: 1.0.0-alpha2 info: label: Juniper Networks Juniper Apstra 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. tags: - Juniper - API created: '2026-05-06' modified: '2026-05-06' capability: consumes: - type: http namespace: juniper baseUri: https://apstra.example.com/api description: Juniper Networks Juniper Apstra API HTTP API. authentication: type: apikey in: header name: AuthToken value: '{{JUNIPER_TOKEN}}' resources: - name: aaa-login path: /aaa/login operations: - name: login method: POST description: Juniper Networks Authenticate user outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blueprints path: /blueprints operations: - name: listblueprints method: GET description: Juniper Networks List all blueprints outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createblueprint method: POST description: Juniper Networks Create a blueprint outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blueprints-blueprint-id path: /blueprints/{blueprint_id} operations: - name: getblueprint method: GET description: Juniper Networks Get blueprint details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateblueprint method: PUT description: Juniper Networks Update a blueprint outputRawFormat: json outputParameters: - name: result type: object value: $. - name: deleteblueprint method: DELETE description: Juniper Networks Delete a blueprint outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blueprints-blueprint-id-deploy path: /blueprints/{blueprint_id}/deploy operations: - name: deployblueprint method: PUT description: Juniper Networks Deploy blueprint outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blueprints-blueprint-id-nodes path: /blueprints/{blueprint_id}/nodes operations: - name: listblueprintnodes method: GET description: Juniper Networks List blueprint nodes inputParameters: - name: node_type in: query type: string description: Filter by node type outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blueprints-blueprint-id-security-zones path: /blueprints/{blueprint_id}/security-zones operations: - name: listsecurityzones method: GET description: Juniper Networks List security zones (routing zones / VRFs) outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createsecurityzone method: POST description: Juniper Networks Create security zone outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blueprints-blueprint-id-virtual-networks path: /blueprints/{blueprint_id}/virtual-networks operations: - name: listvirtualnetworks method: GET description: Juniper Networks List virtual networks outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createvirtualnetwork method: POST description: Juniper Networks Create virtual network outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blueprints-blueprint-id-connectivity-templates path: /blueprints/{blueprint_id}/connectivity-templates operations: - name: listconnectivitytemplates method: GET description: Juniper Networks List connectivity templates outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blueprints-blueprint-id-anomalies path: /blueprints/{blueprint_id}/anomalies operations: - name: listblueprintanomalies method: GET description: Juniper Networks List blueprint anomalies outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blueprints-blueprint-id-iba-dashboards path: /blueprints/{blueprint_id}/iba/dashboards operations: - name: listibadashboards method: GET description: Juniper Networks List IBA dashboards outputRawFormat: json outputParameters: - name: result type: object value: $. - name: blueprints-blueprint-id-configlets path: /blueprints/{blueprint_id}/configlets operations: - name: listblueprintconfiglets method: GET description: Juniper Networks List blueprint configlets outputRawFormat: json outputParameters: - name: result type: object value: $. - name: design-rack-types path: /design/rack-types operations: - name: listracktypes method: GET description: Juniper Networks List rack types outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createracktype method: POST description: Juniper Networks Create rack type outputRawFormat: json outputParameters: - name: result type: object value: $. - name: design-templates path: /design/templates operations: - name: listdesigntemplates method: GET description: Juniper Networks List design templates outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createdesigntemplate method: POST description: Juniper Networks Create design template outputRawFormat: json outputParameters: - name: result type: object value: $. - name: design-logical-devices path: /design/logical-devices operations: - name: listlogicaldevices method: GET description: Juniper Networks List logical devices outputRawFormat: json outputParameters: - name: result type: object value: $. - name: design-interface-maps path: /design/interface-maps operations: - name: listinterfacemaps method: GET description: Juniper Networks List interface maps outputRawFormat: json outputParameters: - name: result type: object value: $. - name: design-configlets path: /design/configlets operations: - name: listdesignconfiglets method: GET description: Juniper Networks List design configlets outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createdesignconfiglet method: POST description: Juniper Networks Create design configlet outputRawFormat: json outputParameters: - name: result type: object value: $. - name: resources-asn-pools path: /resources/asn-pools operations: - name: listasnpools method: GET description: Juniper Networks List ASN pools outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createasnpool method: POST description: Juniper Networks Create ASN pool outputRawFormat: json outputParameters: - name: result type: object value: $. - name: resources-ip-pools path: /resources/ip-pools operations: - name: listippools method: GET description: Juniper Networks List IP pools outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createippool method: POST description: Juniper Networks Create IP pool outputRawFormat: json outputParameters: - name: result type: object value: $. - name: resources-vni-pools path: /resources/vni-pools operations: - name: listvnipools method: GET description: Juniper Networks List VNI pools outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createvnipool method: POST description: Juniper Networks Create VNI pool outputRawFormat: json outputParameters: - name: result type: object value: $. - name: system-agents path: /system-agents operations: - name: listsystemagents method: GET description: Juniper Networks List system agents outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createsystemagent method: POST description: Juniper Networks Create system agent outputRawFormat: json outputParameters: - name: result type: object value: $. - name: systems path: /systems operations: - name: listsystems method: GET description: Juniper Networks List managed systems outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: juniper-rest description: REST adapter for Juniper Networks Juniper Apstra API. resources: - path: /aaa/login name: login operations: - method: POST name: login description: Juniper Networks Authenticate user call: juniper.login outputParameters: - type: object mapping: $. - path: /blueprints name: listblueprints operations: - method: GET name: listblueprints description: Juniper Networks List all blueprints call: juniper.listblueprints outputParameters: - type: object mapping: $. - path: /blueprints name: createblueprint operations: - method: POST name: createblueprint description: Juniper Networks Create a blueprint call: juniper.createblueprint outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id} name: getblueprint operations: - method: GET name: getblueprint description: Juniper Networks Get blueprint details call: juniper.getblueprint outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id} name: updateblueprint operations: - method: PUT name: updateblueprint description: Juniper Networks Update a blueprint call: juniper.updateblueprint outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id} name: deleteblueprint operations: - method: DELETE name: deleteblueprint description: Juniper Networks Delete a blueprint call: juniper.deleteblueprint outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id}/deploy name: deployblueprint operations: - method: PUT name: deployblueprint description: Juniper Networks Deploy blueprint call: juniper.deployblueprint outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id}/nodes name: listblueprintnodes operations: - method: GET name: listblueprintnodes description: Juniper Networks List blueprint nodes call: juniper.listblueprintnodes outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id}/security-zones name: listsecurityzones operations: - method: GET name: listsecurityzones description: Juniper Networks List security zones (routing zones / VRFs) call: juniper.listsecurityzones outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id}/security-zones name: createsecurityzone operations: - method: POST name: createsecurityzone description: Juniper Networks Create security zone call: juniper.createsecurityzone outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id}/virtual-networks name: listvirtualnetworks operations: - method: GET name: listvirtualnetworks description: Juniper Networks List virtual networks call: juniper.listvirtualnetworks outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id}/virtual-networks name: createvirtualnetwork operations: - method: POST name: createvirtualnetwork description: Juniper Networks Create virtual network call: juniper.createvirtualnetwork outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id}/connectivity-templates name: listconnectivitytemplates operations: - method: GET name: listconnectivitytemplates description: Juniper Networks List connectivity templates call: juniper.listconnectivitytemplates outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id}/anomalies name: listblueprintanomalies operations: - method: GET name: listblueprintanomalies description: Juniper Networks List blueprint anomalies call: juniper.listblueprintanomalies outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id}/iba/dashboards name: listibadashboards operations: - method: GET name: listibadashboards description: Juniper Networks List IBA dashboards call: juniper.listibadashboards outputParameters: - type: object mapping: $. - path: /blueprints/{blueprint_id}/configlets name: listblueprintconfiglets operations: - method: GET name: listblueprintconfiglets description: Juniper Networks List blueprint configlets call: juniper.listblueprintconfiglets outputParameters: - type: object mapping: $. - path: /design/rack-types name: listracktypes operations: - method: GET name: listracktypes description: Juniper Networks List rack types call: juniper.listracktypes outputParameters: - type: object mapping: $. - path: /design/rack-types name: createracktype operations: - method: POST name: createracktype description: Juniper Networks Create rack type call: juniper.createracktype outputParameters: - type: object mapping: $. - path: /design/templates name: listdesigntemplates operations: - method: GET name: listdesigntemplates description: Juniper Networks List design templates call: juniper.listdesigntemplates outputParameters: - type: object mapping: $. - path: /design/templates name: createdesigntemplate operations: - method: POST name: createdesigntemplate description: Juniper Networks Create design template call: juniper.createdesigntemplate outputParameters: - type: object mapping: $. - path: /design/logical-devices name: listlogicaldevices operations: - method: GET name: listlogicaldevices description: Juniper Networks List logical devices call: juniper.listlogicaldevices outputParameters: - type: object mapping: $. - path: /design/interface-maps name: listinterfacemaps operations: - method: GET name: listinterfacemaps description: Juniper Networks List interface maps call: juniper.listinterfacemaps outputParameters: - type: object mapping: $. - path: /design/configlets name: listdesignconfiglets operations: - method: GET name: listdesignconfiglets description: Juniper Networks List design configlets call: juniper.listdesignconfiglets outputParameters: - type: object mapping: $. - path: /design/configlets name: createdesignconfiglet operations: - method: POST name: createdesignconfiglet description: Juniper Networks Create design configlet call: juniper.createdesignconfiglet outputParameters: - type: object mapping: $. - path: /resources/asn-pools name: listasnpools operations: - method: GET name: listasnpools description: Juniper Networks List ASN pools call: juniper.listasnpools outputParameters: - type: object mapping: $. - path: /resources/asn-pools name: createasnpool operations: - method: POST name: createasnpool description: Juniper Networks Create ASN pool call: juniper.createasnpool outputParameters: - type: object mapping: $. - path: /resources/ip-pools name: listippools operations: - method: GET name: listippools description: Juniper Networks List IP pools call: juniper.listippools outputParameters: - type: object mapping: $. - path: /resources/ip-pools name: createippool operations: - method: POST name: createippool description: Juniper Networks Create IP pool call: juniper.createippool outputParameters: - type: object mapping: $. - path: /resources/vni-pools name: listvnipools operations: - method: GET name: listvnipools description: Juniper Networks List VNI pools call: juniper.listvnipools outputParameters: - type: object mapping: $. - path: /resources/vni-pools name: createvnipool operations: - method: POST name: createvnipool description: Juniper Networks Create VNI pool call: juniper.createvnipool outputParameters: - type: object mapping: $. - path: /system-agents name: listsystemagents operations: - method: GET name: listsystemagents description: Juniper Networks List system agents call: juniper.listsystemagents outputParameters: - type: object mapping: $. - path: /system-agents name: createsystemagent operations: - method: POST name: createsystemagent description: Juniper Networks Create system agent call: juniper.createsystemagent outputParameters: - type: object mapping: $. - path: /systems name: listsystems operations: - method: GET name: listsystems description: Juniper Networks List managed systems call: juniper.listsystems outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: juniper-mcp transport: http description: MCP adapter for Juniper Networks Juniper Apstra API for AI agent use. tools: - name: login description: Juniper Networks Authenticate user hints: readOnly: false destructive: false idempotent: false call: juniper.login outputParameters: - type: object mapping: $. - name: listblueprints description: Juniper Networks List all blueprints hints: readOnly: true destructive: false idempotent: true call: juniper.listblueprints outputParameters: - type: object mapping: $. - name: createblueprint description: Juniper Networks Create a blueprint hints: readOnly: false destructive: false idempotent: false call: juniper.createblueprint outputParameters: - type: object mapping: $. - name: getblueprint description: Juniper Networks Get blueprint details hints: readOnly: true destructive: false idempotent: true call: juniper.getblueprint outputParameters: - type: object mapping: $. - name: updateblueprint description: Juniper Networks Update a blueprint hints: readOnly: false destructive: false idempotent: true call: juniper.updateblueprint outputParameters: - type: object mapping: $. - name: deleteblueprint description: Juniper Networks Delete a blueprint hints: readOnly: false destructive: true idempotent: true call: juniper.deleteblueprint outputParameters: - type: object mapping: $. - name: deployblueprint description: Juniper Networks Deploy blueprint hints: readOnly: false destructive: false idempotent: true call: juniper.deployblueprint outputParameters: - type: object mapping: $. - name: listblueprintnodes description: Juniper Networks List blueprint nodes hints: readOnly: true destructive: false idempotent: true call: juniper.listblueprintnodes with: node_type: tools.node_type inputParameters: - name: node_type type: string description: Filter by node type outputParameters: - type: object mapping: $. - name: listsecurityzones description: Juniper Networks List security zones (routing zones / VRFs) hints: readOnly: true destructive: false idempotent: true call: juniper.listsecurityzones outputParameters: - type: object mapping: $. - name: createsecurityzone description: Juniper Networks Create security zone hints: readOnly: false destructive: false idempotent: false call: juniper.createsecurityzone outputParameters: - type: object mapping: $. - name: listvirtualnetworks description: Juniper Networks List virtual networks hints: readOnly: true destructive: false idempotent: true call: juniper.listvirtualnetworks outputParameters: - type: object mapping: $. - name: createvirtualnetwork description: Juniper Networks Create virtual network hints: readOnly: false destructive: false idempotent: false call: juniper.createvirtualnetwork outputParameters: - type: object mapping: $. - name: listconnectivitytemplates description: Juniper Networks List connectivity templates hints: readOnly: true destructive: false idempotent: true call: juniper.listconnectivitytemplates outputParameters: - type: object mapping: $. - name: listblueprintanomalies description: Juniper Networks List blueprint anomalies hints: readOnly: true destructive: false idempotent: true call: juniper.listblueprintanomalies outputParameters: - type: object mapping: $. - name: listibadashboards description: Juniper Networks List IBA dashboards hints: readOnly: true destructive: false idempotent: true call: juniper.listibadashboards outputParameters: - type: object mapping: $. - name: listblueprintconfiglets description: Juniper Networks List blueprint configlets hints: readOnly: true destructive: false idempotent: true call: juniper.listblueprintconfiglets outputParameters: - type: object mapping: $. - name: listracktypes description: Juniper Networks List rack types hints: readOnly: true destructive: false idempotent: true call: juniper.listracktypes outputParameters: - type: object mapping: $. - name: createracktype description: Juniper Networks Create rack type hints: readOnly: false destructive: false idempotent: false call: juniper.createracktype outputParameters: - type: object mapping: $. - name: listdesigntemplates description: Juniper Networks List design templates hints: readOnly: true destructive: false idempotent: true call: juniper.listdesigntemplates outputParameters: - type: object mapping: $. - name: createdesigntemplate description: Juniper Networks Create design template hints: readOnly: false destructive: false idempotent: false call: juniper.createdesigntemplate outputParameters: - type: object mapping: $. - name: listlogicaldevices description: Juniper Networks List logical devices hints: readOnly: true destructive: false idempotent: true call: juniper.listlogicaldevices outputParameters: - type: object mapping: $. - name: listinterfacemaps description: Juniper Networks List interface maps hints: readOnly: true destructive: false idempotent: true call: juniper.listinterfacemaps outputParameters: - type: object mapping: $. - name: listdesignconfiglets description: Juniper Networks List design configlets hints: readOnly: true destructive: false idempotent: true call: juniper.listdesignconfiglets outputParameters: - type: object mapping: $. - name: createdesignconfiglet description: Juniper Networks Create design configlet hints: readOnly: false destructive: false idempotent: false call: juniper.createdesignconfiglet outputParameters: - type: object mapping: $. - name: listasnpools description: Juniper Networks List ASN pools hints: readOnly: true destructive: false idempotent: true call: juniper.listasnpools outputParameters: - type: object mapping: $. - name: createasnpool description: Juniper Networks Create ASN pool hints: readOnly: false destructive: false idempotent: false call: juniper.createasnpool outputParameters: - type: object mapping: $. - name: listippools description: Juniper Networks List IP pools hints: readOnly: true destructive: false idempotent: true call: juniper.listippools outputParameters: - type: object mapping: $. - name: createippool description: Juniper Networks Create IP pool hints: readOnly: false destructive: false idempotent: false call: juniper.createippool outputParameters: - type: object mapping: $. - name: listvnipools description: Juniper Networks List VNI pools hints: readOnly: true destructive: false idempotent: true call: juniper.listvnipools outputParameters: - type: object mapping: $. - name: createvnipool description: Juniper Networks Create VNI pool hints: readOnly: false destructive: false idempotent: false call: juniper.createvnipool outputParameters: - type: object mapping: $. - name: listsystemagents description: Juniper Networks List system agents hints: readOnly: true destructive: false idempotent: true call: juniper.listsystemagents outputParameters: - type: object mapping: $. - name: createsystemagent description: Juniper Networks Create system agent hints: readOnly: false destructive: false idempotent: false call: juniper.createsystemagent outputParameters: - type: object mapping: $. - name: listsystems description: Juniper Networks List managed systems hints: readOnly: true destructive: false idempotent: true call: juniper.listsystems outputParameters: - type: object mapping: $. binds: - namespace: env keys: JUNIPER_TOKEN: JUNIPER_TOKEN