Perimeter 81 Networks API

This API allows you to manage and configure standard networks using the old API and keep you BC.

Operations 32

GET /v2.3/networks Get all Networks #
POST /v2.3/networks Create network #
DELETE /v2.3/networks/{networkId} Delete network #
GET /v2.3/networks/{networkId} Get network by Id #
PUT /v2.3/networks/{networkId} Update network #
GET /v2.3/networks/{networkId}/health Get network health status #
POST /v2.3/networks/{networkId}/instances Add gateway #
DELETE /v2.3/networks/{networkId}/instances Remove Gateways from Network #
GET /v2.3/networks/{networkId}/instances/{gatewayId} Get Instance of a GW by ID #
GET /v2.3/networks/status/{statusId} Get status of asynchronous operations. #
GET /v2.3/networks/harmony-sase-regions List of available regions #
PUT /v2.3/networks/{networkId}/regions Add regions to a network #
DELETE /v2.3/networks/{networkId}/regions Remove regions from network #
GET /v2.3/networks/{networkId}/regions/{regionId} Get region by ID #
POST /v2.3/networks/{networkId}/tunnels/wireguard Create a new Wireguard tunnel #
GET /v2.3/networks/{networkId}/tunnels/wireguard/{tunnelId} Get a Wireguard tunnel #
PUT /v2.3/networks/{networkId}/tunnels/wireguard/{tunnelId} Update a Wireguard tunnel #
DELETE /v2.3/networks/{networkId}/tunnels/wireguard/{tunnelId} Delete Wireguard tunnel #
POST /v2.3/networks/{networkId}/tunnels/openvpn Create a new OpenVPN tunnel #
GET /v2.3/networks/{networkId}/tunnels/openvpn/{tunnelId} Get one openVPN tunnel #
PUT /v2.3/networks/{networkId}/tunnels/openvpn/{tunnelId} Update openVPN Tunnel #
DELETE /v2.3/networks/{networkId}/tunnels/openvpn/{tunnelId} Delete OpenVPN tunnel #
POST /v2.3/networks/{networkId}/tunnels/ipsec/single Create a new IPSec Single tunnel #
GET /v2.3/networks/{networkId}/tunnels/ipsec/single/{tunnelId} Get one IPSec Single tunnel #
PUT /v2.3/networks/{networkId}/tunnels/ipsec/single/{tunnelId} Update IPSec Single Tunnel #
DELETE /v2.3/networks/{networkId}/tunnels/ipsec/single/{tunnelId} Delete IPSec Single tunnel #
POST /v2.3/networks/{networkId}/tunnels/ipsec/redundant Create a new IPSec Redundant tunnel #
GET /v2.3/networks/{networkId}/tunnels/ipsec/redundant/{haTunnelId} Get one IPSec Redundant tunnel #
PUT /v2.3/networks/{networkId}/tunnels/ipsec/redundant/{haTunnelId} Update a new IPSec Redundant tunnel #
DELETE /v2.3/networks/{networkId}/tunnels/ipsec/redundant/{haTunnelId} Delete IPSec Redundant tunnel #
GET /v2.3/networks/{networkId}/route-table Get route table #
GET /v2.3/status Get system status #

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/perimeter-81-networks-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

perimeter-81-networks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 2.3.0
  title: Harmony SASE Public Application Networks API
  description: 'The YAML for Harmony SASE Public API.

    '
  contact: {}
servers:
- description: SwaggerHub API Auto Mocking
  url: https://virtserver.swaggerhub.com/perimeter81/public-api-yaml/1.0.0
- description: Harmony SASE API US
  url: https://api.perimeter81.com/api/rest
- description: Harmony SASE API EU
  url: https://api.eu.sase.checkpoint.com/api/rest
- description: Harmony SASE API Australia
  url: https://api.au.sase.checkpoint.com/api/rest
- description: Harmony SASE API India
  url: https://api.in.sase.checkpoint.com/api/rest
security:
- bearer: []
tags:
- name: Networks
  description: 'This API allows you to manage and configure standard networks using the old API and keep you BC.

    '
paths:
  /v2.3/networks:
    get:
      operationId: getNetworks
      summary: Get all Networks
      description: List all networks
      parameters: []
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Network'
                type: array
                description: Network list.
        '401':
          description: Unauthorized
        '403':
          description: Forbbiden
      tags:
      - Networks
    post:
      operationId: NetworksControllerV2_networkCreate
      summary: Create network
      description: 'Required permissions: `["network:create"]`<br><br>Create networks.'
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeployNetworkPayload'
      responses:
        '202':
          description: Request accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResponse'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '402':
          description: Insufficient licenses
        '403':
          description: Forbidden
      tags:
      - Networks
  /v2.3/networks/{networkId}:
    delete:
      operationId: NetworksControllerV2_networkDelete
      summary: Delete network
      description: 'Required permissions: `["network:delete"]`<br><br>Delete network.'
      parameters:
      - name: networkId
        required: true
        in: path
        schema:
          type: string
      responses:
        '202':
          description: Request accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResult'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Network not found
      tags:
      - Networks
    get:
      operationId: NetworksControllerV2_networkFind
      summary: Get network by Id
      description: 'Required permissions: `["network:read"]`<br><br>List network.'
      parameters:
      - name: networkId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Completed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Network'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Network not found
      tags:
      - Networks
    put:
      operationId: NetworksControllerV2_networkUpdate
      summary: Update network
      description: 'Required permissions: `["network:update"]`<br><br>Update network.'
      parameters:
      - name: networkId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateNetworkDto'
      responses:
        '200':
          description: Request accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdatedNetwork'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Network not found
      tags:
      - Networks
  /v2.3/networks/{networkId}/health:
    get:
      operationId: NetworksControllerV2_getNetworkHealth
      summary: Get network health status
      description: 'Required permissions: `["network:read"]`<br><br>Get health status of all gateways and tunnels in the standard network.'
      parameters:
      - $ref: '#/components/parameters/networkId'
      responses:
        '200':
          description: Health status retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardHealthResponse'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Network not found
      tags:
      - Networks
  /v2.3/networks/{networkId}/instances:
    post:
      operationId: NetworksControllerV2_addNetworkInstance
      summary: Add gateway
      description: 'Required permissions: `["network:create"]`<br><br>Add gateway.'
      parameters:
      - name: networkId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateInstancesInNetworkPayload'
      responses:
        '202':
          description: Request accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResponse'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '402':
          description: Insufficient licenses
        '403':
          description: Forbidden
        '404':
          description: Network not found
      tags:
      - Networks
    delete:
      operationId: NetworksControllerV2_deleteNetworkInstance
      summary: Remove Gateways from Network
      description: 'Required permissions: `["network:update"]`<br><br>Remove Gateways from Network.'
      parameters:
      - name: networkId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoveRegionInstance'
      responses:
        '202':
          description: Request accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResult'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Network not found
      tags:
      - Networks
  /v2.3/networks/{networkId}/instances/{gatewayId}:
    get:
      operationId: getInstance
      summary: Get Instance of a GW by ID
      description: 'Required permissions: `["network:read"]`<br><br>Get Gateway.'
      parameters:
      - name: networkId
        required: true
        in: path
        schema:
          type: string
      - name: gatewayId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Completed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkInstance'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Gateway not found
      tags:
      - Networks
  /v2.3/networks/status/{statusId}:
    get:
      operationId: NetworksControllerV2_status
      summary: Get status of asynchronous operations.
      description: 'Required permissions: `["network:read"]`<br><br> status of asynchronous operations.'
      parameters:
      - name: statusId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Completed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationStatus'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Status not found
      tags:
      - Networks
  /v2.3/networks/harmony-sase-regions:
    get:
      operationId: NetworksControllerV2_getRegions
      summary: List of available regions
      description: 'Required permissions: `["addon:read"]`<br><br>List of regions.'
      parameters: []
      responses:
        '200':
          description: Completed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionsList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      tags:
      - Networks
  /v2.3/networks/{networkId}/regions:
    put:
      operationId: NetworksControllerV2_addNetworkRegion
      summary: Add regions to a network
      description: 'Required permissions: `["Network:Update"]`<br><br>Network Update.'
      parameters:
      - name: networkId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateRegionInNetworkPayload'
      responses:
        '202':
          description: Request accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResult'
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '403':
          description: Forbbiden
        '404':
          description: Network not found
        '409':
          description: Network region exists
      tags:
      - Networks
    delete:
      operationId: NetworksControllerV2_deleteNetworkRegion
      summary: Remove regions from network
      description: 'Required permissions: `["Network:Delete"]`<br><br>Remove Region. Gateways will still be avaidble through the remaining regions, in case you removed the last region, the gateways will be removed as well.'
      parameters:
      - name: networkId
        required: true
        in: path
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RemoveRegionDTO'
      responses:
        '202':
          description: Request accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperationResult'
        '401':
          description: Unauthorized
        '403':
          description: Forbbiden
        '404':
          description: Region\Network not found
      tags:
      - Networks
  /v2.3/networks/{networkId}/regions/{regionId}:
    get:
      operationId: getRegion
      summary: Get region by ID
      description: 'Required permissions: `["network:read"]`<br><br>Get Region.'
      parameters:
      - name: networkId
        required: true
        in: path
        schema:
          type: string
      - name: regionId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Completed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NetworkRegion'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Region not found
      tags:
      - Networks
  /v2.3/networks/{networkId}/tunnels/wireguard:
    post:
      operationId: createWireguardTunnel
      summary: Create a new Wireguard tunnel
      description: 'Required permissions: `["network:write"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWireguardTunnelPayload'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '401':
          $ref: '#/components/responses/401'
        '402':
          $ref: '#/components/responses/402'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
      tags:
      - Networks
  /v2.3/networks/{networkId}/tunnels/wireguard/{tunnelId}:
    get:
      operationId: getWireguardTunnel
      summary: Get a Wireguard tunnel
      description: 'Required permissions: `["network:read"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/tunnelIdParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WireguardTunnel'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
      tags:
      - Networks
    put:
      operationId: updateWireguardTunnel
      summary: Update a Wireguard tunnel
      description: 'Required permissions: `["network:write"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/tunnelIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/WireGuradDetails'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
      tags:
      - Networks
    delete:
      operationId: deleteWireguardTunnel
      summary: Delete Wireguard tunnel
      description: 'Required permissions: `["network:delete"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/tunnelIdParam'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
      tags:
      - Networks
  /v2.3/networks/{networkId}/tunnels/openvpn:
    post:
      operationId: createOpenVPNTunnel
      summary: Create a new OpenVPN tunnel
      description: 'Required permissions: `["network:write]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BaseTunnelValues'
      responses:
        '202':
          description: Request accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenVPNAsyncOperationResponse'
        '401':
          $ref: '#/components/responses/401'
        '402':
          $ref: '#/components/responses/402'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
      tags:
      - Networks
  /v2.3/networks/{networkId}/tunnels/openvpn/{tunnelId}:
    get:
      operationId: getOpenVPNTunnel
      summary: Get one openVPN tunnel
      description: 'Required permissions: `["network:read"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/tunnelIdParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenVPNTunnel'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
      tags:
      - Networks
    put:
      operationId: updateOpenVPNTunnel
      summary: Update openVPN Tunnel
      description: 'Required permissions: `["network:write"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/tunnelIdParam'
      responses:
        '202':
          description: Request accepted
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenVPNAsyncOperationResponse'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
      tags:
      - Networks
    delete:
      operationId: deleteOpenVPNTunnel
      summary: Delete OpenVPN tunnel
      description: 'Required permissions: `["network:delete"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/tunnelIdParam'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
      tags:
      - Networks
  /v2.3/networks/{networkId}/tunnels/ipsec/single:
    post:
      operationId: createIPSecSingleTunnel
      summary: Create a new IPSec Single tunnel
      description: 'Required permissions: `["network:write]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIPSecSinglePayload'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '401':
          $ref: '#/components/responses/401'
        '402':
          $ref: '#/components/responses/402'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
      tags:
      - Networks
  /v2.3/networks/{networkId}/tunnels/ipsec/single/{tunnelId}:
    get:
      operationId: getIPSecSingleTunnel
      summary: Get one IPSec Single tunnel
      description: 'Required permissions: `["network:read"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/tunnelIdParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPSecSingleTunnel'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
      tags:
      - Networks
    put:
      operationId: updateIPSecSingleTunnel
      summary: Update IPSec Single Tunnel
      description: 'Required permissions: `["network:write"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/tunnelIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/IPSecSingleDetails'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
      tags:
      - Networks
    delete:
      operationId: deleteIPSecSingleTunnel
      summary: Delete IPSec Single tunnel
      description: 'Required permissions: `["network:delete"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/tunnelIdParam'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
      tags:
      - Networks
  /v2.3/networks/{networkId}/tunnels/ipsec/redundant:
    post:
      operationId: createIPSecRedundantTunnel
      summary: Create a new IPSec Redundant tunnel
      description: 'Required permissions: `["network:write]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIPSecRedundantPayload'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '401':
          $ref: '#/components/responses/401'
        '402':
          $ref: '#/components/responses/402'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
      tags:
      - Networks
  /v2.3/networks/{networkId}/tunnels/ipsec/redundant/{haTunnelId}:
    get:
      operationId: getIPSecRedundantTunnel
      summary: Get one IPSec Redundant tunnel
      description: 'Required permissions: `["network:read"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/haTunnelIdParam'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IPSecRedundantTunnels'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
      tags:
      - Networks
    put:
      operationId: updateIPSecRedundantTunnel
      summary: Update a new IPSec Redundant tunnel
      description: 'Required permissions: `["network:write]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/haTunnelIdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateIPSecRedundantPayload'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
      tags:
      - Networks
    delete:
      operationId: deleteIPSecRedundantTunnel
      summary: Delete IPSec Redundant tunnel
      description: 'Required permissions: `["network:delete"]`'
      parameters:
      - $ref: '#/components/parameters/networkIdParam'
      - $ref: '#/components/parameters/haTunnelIdParam'
      responses:
        '202':
          $ref: '#/components/responses/202'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '422':
          $ref: '#/components/responses/422'
      tags:
      - Networks
  /v2.3/networks/{networkId}/route-table:
    get:
      operationId: getRouteTable
      summary: Get route table
      description: 'Required permissions: `["network:read"]`'
      parameters:
      - name: networkId
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      description: Route ID
                    subnets:
                      type: array
                      items:
                        type: string
                    interfaceName:
                      type: string
                      description: Route table name
                    propagated:
                      type: boolean
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
      tags:
      - Networks
  /v2.3/status:
    get:
      operationId: getStatus
      summary: Get system status
      description: 'Required permissions: `[]`'
      responses:
        '200':
          description: Ok
          content:
            text/plain:
              schema:
                type: string
                example: Ok
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
      tags:
      - Networks
components:
  schemas:
    RemoveRegionInstance:
      properties:
        regions:
          items:
            $ref: '#/components/schemas/RemoveRegionPayload'
          type: array
          description: Region list.
      type: object
      required:
      - regions
    DeployNetworkPayload:
      properties:
        network:
          $ref: '#/components/schemas/CreateNetworkPayload'
        regions:
          items:
            $ref: '#/components/schemas/CreateRegionInNetworkPayload'
          type: array
          description: Region list.
      type: object
      required:
      - network
      - regions
    AsyncOperationResult:
      type: object
      properties:
        resource:
          type: string
        statusCode:
          type: integer
        reason:
          items:
            type: string
          type: array
          description: Reasons list.
    UpdatedNetwork:
      allOf:
      - $ref: '#/components/schemas/BasicNetwork'
      - type: object
        properties:
          regions:
            items:
              type: string
            type: array
            description: Network regions id list.
        required:
        - regions
    CreateNetworkPayload:
      properties:
        subnet:
          type: string
          maxLength: 20
          description: Subnet of the network. Cannot be changed later. Allowed private subnet ranges are 10.0.0.0/12-22, 172.16.0.0/12-22, 192.168.0.0/16-22, or 198.18.0.0/15-22.
          default: 10.255.0.0/16
        name:
          type: string
          description: Network name.
          minLength: 5
          maxLength: 32
        tags:
          items:
            type: string
          type: array
          description: List of network tags.
      type: object
      required:
      - name
    RemoveInstancePayload:
      properties:
        id:
          type: string
    OpenVPNTunnel:
      allOf:
      - $ref: '#/components/schemas/BaseTunnelValues'
      - $ref: '#/components/schemas/BaseDates'
      type: object
      properties:
        tunnelID:
          type: string
        type:
          type: string
          default: OpenVPN
        accessKeyId:
          type: string
        secretAccessKey:
          type: string
          description: Secret access key for the OpenVPN tunnel. This is only the hashed value. The original value will not be retrievable after creation.
    RemoteASN:
      type: integer
      oneOf:
      - type: integer
        minimum: 1
        maximum: 23455
      - type: integer
        minimum: 23457
        maximum: 64495
      - type: integer
        minimum: 64512
        maximum: 65534
      - type: integer
        minimum: 131072
        maximum: 4294967294
    IPSecRedundantTunnel:
      allOf:
      - $ref: '#/components/schemas/IPSecRedundantTunnelPayload'
      - type: object
        properties:
          tunnelID:
            type: string
    IPSecPhaseConfig:
      allOf:
      - $ref: '#/components/schemas/IPSecAlgorithms'
      - $ref: '#/components/schemas/IPSecPhaseCommon'
    Region:
      properties:
        countryCode:
          type: string
        continentCode:
          type: string
        displayName:
          type: string
        name:
          type: string
        className:
          type: string
        objectName:
          type: string
        createdAt:
          type: string
        updatedAt:
          type: string
        id:
          type: string
    BasicNetwork:
      allOf:
      - $ref: '#/components/schemas/BaseDates'
      - type: object
        properties:
          dns:
            type: string
            description: DNS of the network.
          subnet:
            type: string
            description: Subnet of the network.
          accessType:
            enum:
            - public
            - private
            type: string
          applications:
            items:
              type: string
            type: array
            description: List of IDs of assigned applications.
          tags:
            items:
              type: string
            type: array
            description: List of network tags.
          name:
            type: string
            description: Network name.
          isDefault:
            type: boolean
            description: Indicates that the network is default.
          id:
            type: string
            description: Unique ID.
          tenantId:
            type: string
            description: ID of the tenant.
          asn:
            $ref: '#/components/schemas/ASN'
        required:
        - dns
        - subnet
        - accessType
        - applications
        - tags
        - name
        - isDefault
        - id
        - tenantId
    NetworkTunnelIpsecRedundant:
      allOf:
      - $ref: '#/components/schemas/NetworkTunnelBase'
      - $ref: '#/components/schemas/NetworkIpsecBase'
      - type: object
        properties:
          haTunnelID:
            $ref: '#/components/schemas/NetworkHaTunnelID'
          rightASN:
            $ref: '#/components/schemas/ASN'
          rightPrivateIP:
            $ref: '#/components/schemas/IP'
          leftPrivateIP:
            $ref: '#/components/schemas/IP'
        required:
        - haTunnelID
        - rightASN
        - rightPrivateIP
        - leftPrivateIP
        additionalProperties: false
    IPSecAlgorithms:
      type: object
      properties:
        auth:
          minLength: 1
          uniqueItems: true
          type: array
          items:
            type: string
            enum:
            - md5
            - sha1
            - sha384
            - sha256
            - sha512
            - aesxcbc
            - aescmac
            - prfmd5
            - prfsha1
            - prfaesxcbc
            - prfaescmac
            - prfsha256
            - prfsha384
            - prfsha512
        encryption:
          minLength: 1
          uniqueItems: true
          type: array
          items:
            type: string
            enum:
            - 3des
            - blowfish128
            - blowfish192
            - blowfish256
            - aes128
            - aes192
            - aes256
            - aes128ctr
            - aes192ctr
            - aes256ctr
            - camellia128
            - camellia192
            - camellia256
            - camellia128ctr
            - camellia192ctr
            - camellia256ctr
            - aes128ccm8
            - aes192ccm8
            - aes256ccm8
            - aes128ccm16
            - aes192ccm16
            - aes256ccm16
            - aes128gcm8
            - aes192gcm8
            - aes256gcm8
            - aes128gcm16
            - aes192gc

# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/perimeter-81/refs/heads/main/openapi/perimeter-81-networks-api-openapi.yml