Perimeter 81 Enhanced Regions API

The Enhanced Region API allows you to manage and configure enhanced regions, including scale units.

OpenAPI Specification

perimeter-81-enhanced-regions-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 2.3.0
  title: Harmony SASE Public Application Enhanced Regions 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: Enhanced Regions
  description: 'The Enhanced Region API allows you to manage and configure enhanced regions, including scale units.

    '
paths:
  /v2.3/networks/enhanced/harmony-sase-regions:
    get:
      operationId: Enhanced_NetworksControllerV2_getRegions
      summary: List of available Harmony SASE regions that supports enhanced networks
      description: 'Required permissions: `["addon:read"]`<br><br>List of regions.'
      parameters: []
      responses:
        '200':
          description: Completed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HarmonySaseRegionsList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
      tags:
      - Enhanced Regions
  /v2.3/networks/enhanced/{networkId}/regions:
    get:
      tags:
      - Enhanced Regions
      summary: List regions
      description: List all regions in an enhanced network
      operationId: listEnhancedRegions
      parameters:
      - $ref: '#/components/parameters/networkId'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/EnhancedRegion'
        '401':
          $ref: '#/components/responses/401_Unauthorized'
        '403':
          $ref: '#/components/responses/403_Forbidden'
    post:
      tags:
      - Enhanced Regions
      summary: Create enhanced region
      description: Add a new region to an enhanced network
      operationId: createEnhancedRegion
      parameters:
      - $ref: '#/components/parameters/networkId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnhancedRegionCreate'
      responses:
        '202':
          $ref: '#/components/responses/202_Accepted'
        '400':
          $ref: '#/components/responses/400_BadRequest'
        '401':
          $ref: '#/components/responses/401_Unauthorized'
        '403':
          $ref: '#/components/responses/403_Forbidden'
        '404':
          $ref: '#/components/responses/404_NotFound'
        '409':
          description: Network region doesn't exists
  /v2.3/networks/enhanced/{networkId}/regions/{regionId}:
    get:
      tags:
      - Enhanced Regions
      summary: Get region
      description: Get details of a specific region in an enhanced network
      operationId: getEnhancedRegion
      parameters:
      - $ref: '#/components/parameters/networkId'
      - $ref: '#/components/parameters/regionId'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnhancedRegion'
        '400':
          $ref: '#/components/responses/400_BadRequest'
        '401':
          $ref: '#/components/responses/401_Unauthorized'
        '403':
          $ref: '#/components/responses/403_Forbidden'
        '404':
          $ref: '#/components/responses/404_NotFound'
    delete:
      tags:
      - Enhanced Regions
      summary: Delete enhanced region
      description: Remove a region from an enhanced network
      operationId: deleteEnhancedRegion
      parameters:
      - $ref: '#/components/parameters/networkId'
      - $ref: '#/components/parameters/regionId'
      responses:
        '202':
          $ref: '#/components/responses/202_Accepted'
        '401':
          $ref: '#/components/responses/401_Unauthorized'
        '403':
          $ref: '#/components/responses/403_Forbidden'
        '404':
          $ref: '#/components/responses/404_NotFound'
        '409':
          description: Network region doesn't exists
  /v2.3/networks/enhanced/{networkId}/regions/{regionId}/scale-unit/increase:
    put:
      tags:
      - Enhanced Regions
      summary: Increase scale units
      description: Increase the number of scale units in a region
      operationId: increaseScaleUnit
      parameters:
      - $ref: '#/components/parameters/networkId'
      - $ref: '#/components/parameters/regionId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScaleUnitsOperation'
      responses:
        '202':
          $ref: '#/components/responses/202_Accepted'
        '400':
          $ref: '#/components/responses/400_BadRequest'
        '401':
          $ref: '#/components/responses/401_Unauthorized'
        '403':
          $ref: '#/components/responses/403_Forbidden'
        '404':
          $ref: '#/components/responses/404_NotFound'
        '409':
          description: Network region not found
  /v2.3/networks/enhanced/{networkId}/regions/{regionId}/scale-unit/reduce:
    put:
      tags:
      - Enhanced Regions
      summary: Reduce scale units
      description: Reduce the number of scale units in a region
      operationId: reduceScaleUnit
      parameters:
      - $ref: '#/components/parameters/networkId'
      - $ref: '#/components/parameters/regionId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScaleUnitsOperation'
      responses:
        '202':
          $ref: '#/components/responses/202_Accepted'
        '400':
          $ref: '#/components/responses/400_BadRequest'
        '401':
          $ref: '#/components/responses/401_Unauthorized'
        '403':
          $ref: '#/components/responses/403_Forbidden'
        '404':
          $ref: '#/components/responses/404_NotFound'
        '409':
          description: Network region not found
components:
  parameters:
    networkId:
      name: networkId
      in: path
      required: true
      schema:
        type: string
    regionId:
      name: regionId
      in: path
      required: true
      schema:
        type: string
  schemas:
    HarmonySaseRegion:
      type: object
      properties:
        id:
          type: string
          description: ID for the Harmony SASE region.
        objectId:
          type: string
          description: Alias of id
        displayName:
          type: string
        name:
          type: string
          description: Name of the Harmony SASE region.
        countryCode:
          type: string
          description: ISO 3166-1 alpha-2 country code for the region.
        continentCode:
          type: string
          description: ISO 3166-1 alpha-2 continent code for the region.
      required:
      - id
      - displayName
      - name
      - countryCode
      - continentCode
    Error:
      type: object
      properties:
        id:
          type: string
        message:
          type: string
    AsyncOperationResponse:
      type: object
      properties:
        statusUrl:
          type: string
        samplingTime:
          type: integer
    EnhancedRegion:
      type: object
      properties:
        id:
          type: string
          description: ID for the enhanced region.
        tenantId:
          type: string
          description: ID of the tenant that owns the region.
        name:
          type: string
        dns:
          type: string
        network:
          type: string
        scaleUnits:
          $ref: '#/components/schemas/ScaleUnitsCount'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        attributes:
          type: object
          properties:
            runningMode:
              type: object
              properties:
                idle:
                  type: boolean
                  description: Indicates if the region is currently active or disabled
              required:
              - idle
            edge:
              type: object
              properties:
                addresses:
                  type: array
                  items:
                    type: string
                    format: ipv4
                  description: Array of IP addresses for the edge
                globalIPs:
                  type: array
                  items:
                    type: string
                    format: ipv4
                  description: Array of Global IP addresses for the edge
              required:
              - addresses
      required:
      - id
      - tenantId
      - dns
      - network
      - name
      - scaleUnits
      - createdAt
      - attributes
    HarmonySaseRegionsList:
      type: array
      items:
        allOf:
        - $ref: '#/components/schemas/HarmonySaseRegion'
        - description: List of Harmony SASE regions.
    ScaleUnitsOperation:
      type: object
      properties:
        unitType:
          type: string
          description: Type of scale unit. Standard units provide basic capacity, while cloudSecurity units offer enhanced security features.
          enum:
          - standard
          - cloudSecurity
        scaleUnitsCount:
          $ref: '#/components/schemas/ScaleUnitsCount'
        idle:
          type: boolean
          description: Region is disabled for users if true
          default: true
      required:
      - unitType
      - scaleUnitsCount
    ScaleUnitsCount:
      type: integer
      description: 'Number of scale units for the region. Scale units determine the capacity and performance level of the enhanced region.

        Higher values provide greater throughput and connection capacity.

        '
      minimum: 1
      maximum: 10
    EnhancedRegionCreate:
      type: object
      properties:
        harmonySaseRegionId:
          type: string
          description: Harmony SASE region ID, Take id from GET Harmony sases regions endpoint (/networks/enhanced/harmony-sase-regions).
        scaleUnits:
          allOf:
          - $ref: '#/components/schemas/ScaleUnitsCount'
          - default: 1
        idle:
          type: boolean
          description: Region is disabled for users if true
          default: true
      required:
      - harmonySaseRegionId
  responses:
    401_Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    404_NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    400_BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    202_Accepted:
      description: Request accepted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/AsyncOperationResponse'
    403_Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http