Extreme Networks Configuration - Basic API

VLAN Profile/DHCP Server/...

OpenAPI Specification

extreme-networks-configuration-basic-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ExtremeCloud IQ Account Configuration - Basic API
  description: 'ExtremeCloud IQ™ API allows customers and partners to create solutions for the management, monitoring, and provisioning

    of any ExtremeCloud IQ™ environment.


    All related resources and documentation are available at [ExtremeCloud IQ Developer Portal](https://developer.extremecloudiq.com/).

    Please check [Get Started and Tutorial](https://developer.extremecloudiq.com/documentation/) to understand how to use the APIs.


    Get the [latest OpenAPI definition](https://github.com/extremenetworks/ExtremeCloudIQ-OpenAPI/blob/main/xcloudiq-openapi.yaml)

    from [ExtremeCloud IQ OpenAPI GitHub repository](https://github.com/extremenetworks/ExtremeCloudIQ-OpenAPI).


    Please have a valid [ExtremeCloud IQ](https://extremecloudiq.com/) account before getting started.

    If you don''t have one, please [register a new account](https://www.extremenetworks.com/cloud-networking/).'
  termsOfService: https://www.extremenetworks.com/company/legal/terms-of-use/
  contact:
    name: Extreme Networks Support
    url: https://www.extremenetworks.com/support
    email: support@extremenetworks.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 25.9.0-36
servers:
- url: https://api.extremecloudiq.com
  description: ExtremeCloud IQ REST API Server
tags:
- name: Configuration - Basic
  description: VLAN Profile/DHCP Server/...
paths:
  /vlan-profiles:
    get:
      tags:
      - Configuration - Basic
      summary: List VLAN profiles
      description: Get a page of VLAN profiles.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_the_vlan_profiles
      operationId: listVlanProfiles
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedXiqVlanProfile'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Configuration - Basic
      summary: Create VLAN profile
      description: Create a new VLAN profile.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_vlan_profile_configuration
      operationId: createVlanProfile
      requestBody:
        description: The payload to create new VLAN profile
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqCreateVlanProfileRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqVlanProfile'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /vlan-profiles/{id}:
    get:
      tags:
      - Configuration - Basic
      summary: Get a VLAN profile
      description: Get a specific VLAN profile by ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_get_vlan_profile_by_id
      operationId: getVlanProfile
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqVlanProfile'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    patch:
      tags:
      - Configuration - Basic
      summary: Update a VLAN profile
      description: Update a specific VLAN profile.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_vlan_profile_configuration
      operationId: updateVlanProfile
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: The payload to update VLAN profile
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqUpdateVlanProfileRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqVlanProfile'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Configuration - Basic
      summary: Delete a VLAN profile
      description: Delete a specific VLAN profile by ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_vlan_profile_configuration
      operationId: deleteVlanProfile
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
components:
  schemas:
    PagedXiqVlanProfile:
      allOf:
      - $ref: '#/components/schemas/XiqPage'
      - type: object
        properties:
          data:
            type: array
            description: The data in the current page
            items:
              $ref: '#/components/schemas/XiqVlanProfile'
    XiqUpdateVlanProfileRequest:
      type: object
      required:
      - name
      - default_vlan_id
      - enable_classification
      properties:
        name:
          type: string
          description: The VLAN profile name
        default_vlan_id:
          type: integer
          description: The default VLAN ID
          format: int32
        enable_classification:
          type: boolean
          description: If apply VLANs to devices using classification
        classified_entries:
          type: array
          description: The VLAN object classified entries
          items:
            $ref: '#/components/schemas/XiqUpdateVlanObjectClassifiedEntryRequest'
    XiqVlanProfile:
      allOf:
      - $ref: '#/components/schemas/XiqBaseEntity'
      - type: object
        description: The payload of common object - VLAN profile
        required:
        - name
        - default_vlan_id
        - enable_classification
        properties:
          name:
            type: string
            description: The VLAN profile name
          default_vlan_id:
            type: integer
            description: The default VLAN ID
            format: int32
          enable_classification:
            type: boolean
            description: If apply VLANs to devices using classification
          classified_entries:
            type: array
            description: The VLAN object classified entries
            items:
              $ref: '#/components/schemas/XiqVlanObjectClassifiedEntry'
    XiqError:
      type: object
      properties:
        error_code:
          type: string
          description: The error code
        error_id:
          type: string
          description: The error ID for internal troubleshooting
        error_message:
          type: string
          description: The error detailed message
        error_message_code:
          type: string
          description: The error message code
        error_message_description:
          type: string
          description: The error message description
        error_params:
          $ref: '#/components/schemas/XiqErrorParams'
      required:
      - error_code
      - error_id
      - error_message
    XiqVlanObjectClassifiedEntry:
      allOf:
      - $ref: '#/components/schemas/XiqBaseEntity'
      - type: object
        description: The payload of VLAN object classified entry
        required:
        - vlan_id
        properties:
          vlan_id:
            type: integer
            description: The VLAN ID
            format: int32
          classification_rule:
            $ref: '#/components/schemas/XiqClassificationRule'
    XiqUpdateVlanObjectClassifiedEntryRequest:
      type: object
      description: The VLAN object classified entries
      required:
      - vlan_id
      - classification_rule_id
      properties:
        vlan_id:
          type: integer
          description: The VLAN ID
          format: int32
        classification_rule_id:
          type: integer
          description: The classification rule ID
          format: int64
    XiqClassificationRule:
      allOf:
      - $ref: '#/components/schemas/XiqBaseEntity'
      - type: object
        description: The payload of common object - classification assignment
        required:
        - name
        properties:
          name:
            type: string
            description: The classification assignment name
          description:
            type: string
            description: The classification assignment description
          classifications:
            type: array
            description: The details of rule assignments
            items:
              $ref: '#/components/schemas/XiqClassification'
    XiqClassificationType:
      type: string
      description: Classification type
      enum:
      - LOCATION
      - CLOUD_CONFIG_GROUP
      - IP_ADDRESS
      - IP_SUBNET
      - IP_RANGE
    XiqErrorParams:
      type: object
      description: Error parameters
      properties:
        field:
          type: string
          description: The error field
        value:
          type: string
          description: The error value
    XiqPage:
      required:
      - count
      - page
      - total_count
      - total_pages
      type: object
      properties:
        page:
          type: integer
          description: The current page number
          format: int32
        count:
          type: integer
          description: The element count of the current page
          format: int32
        total_pages:
          type: integer
          description: The total page number based on request page size
          format: int32
        total_count:
          type: integer
          description: The total element count
          format: int64
    XiqClassification:
      allOf:
      - $ref: '#/components/schemas/XiqBaseEntity'
      - type: object
        description: The payload of common object - classification
        required:
        - classification_type
        - match
        - classification_id
        - value
        properties:
          classification_type:
            $ref: '#/components/schemas/XiqClassificationType'
          match:
            type: boolean
            description: Contains or not contains
          classification_id:
            type: integer
            description: The ID of location, cloud config group, IP address, IP subnet or IP range.
            format: int64
          value:
            type: string
            description: The value of classification
    XiqBaseEntity:
      required:
      - id
      - create_time
      - update_time
      type: object
      properties:
        id:
          type: integer
          description: The unique identifier
          format: int64
        create_time:
          type: string
          description: The create time
          format: date-time
        update_time:
          type: string
          description: The last update time
          format: date-time
    XiqCreateVlanObjectClassifiedEntryRequest:
      type: object
      description: The VLAN object classified entries
      required:
      - vlan_id
      - classification_rule_id
      properties:
        vlan_id:
          type: integer
          description: The VLAN ID
          format: int32
        classification_rule_id:
          type: integer
          description: The classification rule ID
          format: int64
    XiqCreateVlanProfileRequest:
      type: object
      required:
      - name
      - default_vlan_id
      - enable_classification
      properties:
        name:
          type: string
          description: The VLAN profile name
        default_vlan_id:
          type: integer
          description: The default VLAN ID
          format: int32
        enable_classification:
          type: boolean
          description: If apply VLANs to devices using classification
        classified_entries:
          type: array
          description: The VLAN object classified entries
          items:
            $ref: '#/components/schemas/XiqCreateVlanObjectClassifiedEntryRequest'
  parameters:
    page:
      name: page
      in: query
      description: Page number, min = 1
      required: false
      schema:
        minimum: 1
        type: integer
        format: int32
        default: 1
    id:
      name: id
      in: path
      description: The unique identifier
      required: true
      schema:
        type: integer
        format: int64
    limit:
      name: limit
      in: query
      description: Page Size, min = 1, max = 100
      required: false
      schema:
        maximum: 100
        minimum: 1
        type: integer
        format: int32
        default: 10
  responses:
    ErrorResponse:
      description: The generic ExtremeCloud IQ API error response
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/XiqError'
  securitySchemes:
    BearerAuth:
      type: http
      description: JSON Web Token (JWT) based authentication
      scheme: bearer
      bearerFormat: JWT
externalDocs:
  description: API Reference
  url: https://extremecloudiq.com/api-docs/api-reference.html