Extreme Networks Configuration - User Management API

User Group/End User/PCG/PPSK Classification

OpenAPI Specification

extreme-networks-configuration-user-management-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ExtremeCloud IQ Account Configuration - User Management 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 - User Management
  description: User Group/End User/PCG/PPSK Classification
paths:
  /email-templates:
    get:
      tags:
      - Configuration - User Management
      summary: List Email templates
      description: List all Email notification templates.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_email_templates
      operationId: listEmailTemplates
      parameters:
      - name: passwordType
        in: query
        description: The password type
        required: false
        schema:
          $ref: '#/components/schemas/XiqPasswordType'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/XiqEmailTemplate'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /sms-templates:
    get:
      tags:
      - Configuration - User Management
      summary: List SMS templates
      description: List all SMS notification templates.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_sms_templates
      operationId: listSmsTemplates
      parameters:
      - name: passwordType
        in: query
        description: The password type
        required: false
        schema:
          $ref: '#/components/schemas/XiqPasswordType'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/XiqSmsTemplate'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /endusers:
    get:
      tags:
      - Configuration - User Management
      summary: List end users
      description: List a page of end users.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_end_users
      operationId: listEndUsers
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      - name: user_group_ids
        in: query
        description: The user group IDs
        required: false
        schema:
          type: array
          items:
            type: integer
            format: int64
      - name: usernames
        in: query
        description: The list of username
        required: false
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedXiqEndUser'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Configuration - User Management
      summary: Create an end user
      description: Create a new end user.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_end_user
      operationId: createEndUser
      requestBody:
        description: Create end user request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqCreateEndUserRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqEndUser'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /endusers/{id}:
    put:
      tags:
      - Configuration - User Management
      summary: Update an end user
      description: Update a specific end user.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_end_user
      operationId: updateEndUser
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: Update end user request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqUpdateEndUserRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqEndUser'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Configuration - User Management
      summary: Delete end user by ID
      description: Delete a specific end user.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_end_user
      operationId: deleteSsidUser
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /endusers/{id}/:regenerate-password:
    post:
      tags:
      - Configuration - User Management
      summary: Regenerate a new password for the end user
      description: Update the end user's password with a system generated password.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_regenerate_end_user_password
      operationId: regenerateEndUserPassword
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqRegenerateEndUserPasswordResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /usergroups:
    get:
      tags:
      - Configuration - User Management
      summary: List user groups
      description: List a page of user groups.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_user_groups
      operationId: listUserGroups
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      - name: password_db_location
        in: query
        description: The password DB location
        required: false
        schema:
          $ref: '#/components/schemas/XiqPasswordDbLocation'
      - name: password_type
        in: query
        description: The password type
        required: false
        schema:
          $ref: '#/components/schemas/XiqPasswordType'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedXiqUserGroup'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Configuration - User Management
      summary: Create user group
      description: Create a new user group.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_user_group
      operationId: createUserGroup
      requestBody:
        description: Create user group request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqCreateUserGroupRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqUserGroup'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /usergroups/{id}:
    put:
      tags:
      - Configuration - User Management
      summary: Update user group
      description: Update existing user group information.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_user_group
      operationId: updateUserGroup
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: Update user-group request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqUpdateUserGroupRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqUserGroup'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Configuration - User Management
      summary: Delete user group by ID
      description: Delete the user-group for the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_user_group
      operationId: deleteUserGroup
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /pcgs/key-based:
    get:
      tags:
      - Configuration - User Management
      summary: List Key-based Private Client Groups
      description: List all Key-based Private Client Groups.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_all_key_based_pcg_entries
      operationId: listKeyBasedPrivateClientGroups
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/XiqKeyBasedPcg'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Configuration - User Management
      summary: ' [LRO] Create a Key-based Private Client Group'
      description: Setup a Key-based Private Client Group, including network policy, user, user group, SSID, etc.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_initiate_key_based_pcg
      operationId: setupKeyBasedPrivateClientGroupNetworkPolicy
      parameters:
      - $ref: '#/components/parameters/async'
      requestBody:
        description: The request to setup Key-based PCG network policy
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqCreateKeyBasedPcgNetworkPolicyRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqCreateKeyBasedPcgNetworkPolicyResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /pcgs/key-based/network-policy-{policyId}/:onboard:
    post:
      tags:
      - Configuration - User Management
      summary: ' [LRO] Create Key-based PCG in network policy'
      description: Create a Key-based Private Client Group for a specific network policy.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_key_based_pcg_data
      operationId: onboardKeyBasedPrivateClientGroup
      parameters:
      - name: policyId
        in: path
        description: The network policy ID
        required: true
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/async'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqOnboardKeyBasedPcgRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqOnboardKeyBasedPcgResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /pcgs/key-based/network-policy-{policyId}:
    delete:
      tags:
      - Configuration - User Management
      summary: Delete Private Client Group from a network policy
      description: Delete Private Client Group settings from a network policy.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_key_based_pcg
      operationId: deletePcg
      parameters:
      - name: policyId
        in: path
        description: The network policy ID
        required: true
        schema:
          type: integer
          format: int64
      - name: ids
        in: query
        description: The IDs of the Key-based PCG entity to be deleted from network policy
        required: true
        schema:
          type: array
          items:
            type: integer
            format: int64
      responses:
        '202':
          description: Accepted
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /pcgs/key-based/network-policy-{policyId}/users:
    get:
      tags:
      - Configuration - User Management
      summary: Get users for a PCG-enabled network policy
      description: Get users for a specific PCG-enabled network policy.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_get_key_based_pcg_users_from_given_network_policy_id
      operationId: getKeyBasedPcgUsers
      parameters:
      - name: policyId
        in: path
        description: The network policy ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/XiqKeyBasedPcgUser'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Configuration - User Management
      summary: ' [LRO] Add users to a PCG-enabled network policy'
      description: Add users to a PCG-enabled network policy.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_add_key_based_pcg_users_to_an_exists_key_based_pcg
      operationId: addKeyBasedPcgUsers
      parameters:
      - name: policyId
        in: path
        description: The network policy ID
        required: true
        schema:
          type: integer
          format: int64
      - $ref: '#/components/parameters/async'
      requestBody:
        description: The payload of add users to PCG-enabled network policy
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqCreateKeyBasedPcgUsersRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqAddKeyBasedPcgUsersToNetworkPolicyResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    put:
      tags:
      - Configuration - User Management
      summary: Replace all users in a PCG-enabled network policy
      description: Replace all users in a specific PCG-enabled network policy.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_replace_all_key_based_pcg_users
      operationId: updateKeyBasedPcgUsers
      parameters:
      - name: policyId
        in: path
        description: The network policy ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: The payload of update Key-based PCG users request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqUpdateKeyBasedPcgUsersRequest'
        required: true
      responses:
        '202':
          description: Accepted
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Configuration - User Management
      summary: Delete users from a PCG-enabled network policy
      description: Delete users from a PCG-enabled network policy.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_key_based_pcg_users
      operationId: deleteKeyBasedPcgUsers
      parameters:
      - name: policyId
        in: path
        description: The network policy ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: The payload of delete Key-based PCG users request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqDeleteKeyBasedPcgUsersRequest'
        required: true
      responses:
        '202':
          description: Accepted
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /pcgs/key-based/network-policy-{policyId}/port-assignments:
    get:
      tags:
      - Configuration - User Management
      summary: Get device port assignments in network policy
      description: Get port assignments for devices (only support AP150W now) in a network policy.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_get_port_assignment_details_of_ap150w
      operationId: getPortAssignments
      parameters:
      - name: policyId
        in: path
        description: The network policy ID
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqGetPortAssignmentDetailsResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Configuration - User Management
      summary: Assign ports to devices in network policy
      description: Assign ports for devices (only support AP150W now) in a network policy.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_assign_ports_for_ap150w
      operationId: assignPorts
      parameters:
      - name: policyId
        in: path
        description: The network policy ID
        required: true
        schema:
          type: integer
          format: int64
      requestBody:
        description: The payload of assign ports for devices
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqPcgAssignPortsRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqPcgAssignPortsResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /pcgs/key-based/network-policy-{policyId}/keys/:generate:
    post:
      tags:
      - Configuration - User Management
      summary: Generate shared keys for users in network policy
      description: Generate/regenerate shared keys for specified users in a specific PCG-enable network policy.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_generate_keys
      operationId: generateKeys
      parameters:
      - name: policyId
        in: path
        description: The network policy ID
        required: true
        schema:
          type: integer
          format: int64
      - name: userIds
        in: query
        description: The user IDs
        required: true
        schema:
          type: array
          items:
            type: integer
            format: int64
      responses:
        '202':
          description: Accepted
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /pcgs/key-based/network-policy-{policyId}/keys/:email:
    post:
      tags:
      - Configuration - User Management
      summary: Send keys to users in network policy via Email
      description: Send keys to specified users in PCG-enabled network policy via Email.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_email_keys
      operationId: emailKeys
      parameters:
      - name: policyId
        in: path
        description: The network policy ID
        required: true
        schema:
          type: integer
          format: int64
      - name: userIds
        in: query
        description: The user IDs
        required: true
        schema:
          type: array
          items:
            type: integer
            format: int64
      responses:
        '202':
          description: Accepted
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
components:
  schemas:
    XiqDeliverySettings:
      type: object
      description: The password delivery settings
      properties:
        email_template_id:
          type: integer
          description: The Email Template ID
          format: int64
        sms_template_id:
          type: integer
          description: The SMS Template ID
          format: int64
    XiqPskGenerationMethod:
      type: string
      description: The psk generation method
      enum:
      - PASSWORD_ONLY
      - USER_STRING_PASSWORD
    XiqPcgAssignPortsResponse:
      type: object
      description: The response of assign ports for AP150W
      required:
      - policy_id
      - policy_name
      - pcg_port_assignment_entries
      properties:
        policy_id:
          type: integer
          description: The network policy ID
          format: int64
        policy_name:
          type: string
          description: The network policy name
        pcg_port_assignment_entries:
          type: array
          description: The port assignment entry list
          items:
            $ref: '#/components/schemas/XiqPcgPortAssignmentEntry'
    XiqValidDailySettings:
      type: object
      description: The settings for Valid Daily option or null for other settings.
      required:
      - daily_end_hour
      - daily_end_minute
      - daily_start_hour
      - daily_start_minute
      properties:
        daily_start_hour:
          type: integer
          description: The 24-hour format start hour of the day
          format: int32
        daily_start_minute:
          type: integer
          description: The minute of the hour
          format: int32
        daily_end_hour:
          type: integer
          description: The 24-hour format end hour of day the end
          format: int32
        daily_end_minute:
          type: integer
          description: The minute of the hour
          format: int32
    XiqPcgPortAssignmentEntryDetail:
      allOf:
      - $ref: '#/components/schemas/XiqViqEntity'
      - type: object
        description: The PCG port assignment entry detail
        properties:
          device:
            $ref: '#/components/schemas/XiqPcgPortAssignmentEntryDeviceMeta'
          eth1:
            $ref: '#/components/schemas/XiqPcgPortAssignmentEntryEthUserMeta'
          eth2:
            $ref: '#/components/schemas/XiqPcgPortAssignmentEntryEthUserMeta'
          eth3:
            $ref: '#/components/schemas/XiqPcgPortAssignmentEntryEthUserMeta'
    XiqExpirationActionType:
      type: string
      description: The Expiration Action to take, null if the account is never expired.
      enum:
      - SHOW_MESSAGE
      - REJECT_ACCESS
    XiqPcgPortAssignmentEntryEthUserMeta:
      allOf:
      - $ref: '#/components/schemas/XiqViqEntity'
      - type: object
        description: The PCG port assignment entry of eth user info
        required:
        - name
        - password
        - user_type
        - user_group_name
        - ssids
        properties:
          name:
            type: string
            description: The user name
          password:
            type: string
            description: The user password
          user_type:
            type: string
            description: The user type
          user_group_name:
            type: string
            description: The user group name
          ssids:
            type: array
            description: The SSIDs
            items:
              type: string
              description: The SSIDs
    XiqPasswordSettings:
      type: object
      description: The password settings ID
      required:
      - psk_generation_method
      - password_character_types
      - password_length
      properties:
        enable_letters:
          type: boolean
          description: Enable use of letters
        enable_numbers:
          type: boolean
          description: Enable use of numbers
        enable_special_characters:
          type: boolean
          description: Enable use of special characters
        password_concat_string:
          type: string
          description: The password concatenated string
        psk_generation_method:
          $ref: '#/components/schemas/XiqPskGenerationMethod'
        password_character_types:
          $ref: '#/components/schemas/XiqPasswordCharacterType'
        password_length:
          type: integer
          description: The maximun password string length
          format: int32
    XiqUpdateUserGroupRequest:
      type: object
      required:
      - name
      - password_db_location
      - password_type
      - delivery_settings
      - password_settings
      - expiration_settings
      properties:
        name:
          type: string
          description: The user group name
        description:
          type: string
          description: The user group description
        password_db_location:
          $ref: '#/components/schemas/XiqPasswordDbLocation'
        ppsk_use_only:
          type: boolean
          description: Whether it's for PPSK use only
        password_type:
          $ref: '#/components/schemas/XiqPasswordType'
        enable_max_clients_per_ppsk:
          type: boolean
          description: The enablement for the maximum number of clients per private PSK
        max_clients_per_ppsk:
          type: integer
          description: The maximum number of clients per private PSK
          format: int32
        pcg_use_only:
          type: boolean
          description: Whether it's for PCG use only
        pcg_type:
          $ref: '#/components/schemas/XiqPcgType'
        enable_cwp_reg:
          type: boolean
          description: Whether to enable CWP registration setting
        password_settings:
          $ref: '#/components/schemas/XiqPasswordSettings'
        expiration_settings:
          $ref: '#/components/schemas/XiqExpirationSettings'
        delivery_settings:
          $ref: '#/components/schemas/XiqDeliverySettings'
    XiqCreateUserGroupRequest:
      type: object
      required:
      - name
      - password_db_location
      - password_type
      - password_settings
      - expiration_settings
      - delivery_settings
      properties:
        name:
          type: string
          description: The user group name
        description:
          type: string
          description: The user group description
        password_db_location:
          $ref: '#/components/schemas/XiqPasswordDbLocation'
        ppsk_use_only:
          type: boolean
          description: Whether it's for PPSK use only
        password_type:
          $ref: '#/components/schemas/XiqPasswordType'
        enable_max_clients_per_ppsk:
          type: boolean
          description: The enablement for the maximum number of clients per private PSK
        max_clients_per_ppsk:
          type: integer
          description: The maximum number of clients per private PSK
          format: int32
        pcg_use_only:
          type: boolean
          description: Whether it's for PCG use only
        pcg_type:
          $ref: '#/components/schemas/XiqPcgType'
        enable_cwp_reg:
          type: boolean
          description: Whether to enable CWP registration setting
        password_settings:
          $ref: '#/components/schemas/XiqPasswordSettings'
        expiration_settings:
          $ref: '#/components/schemas/XiqExpirationSettings'
        delivery_settings:
          $ref: '#/components/schemas/XiqDeliverySettings'
    XiqValidTimePeriodAfterIdCreation:
      type: object
      description: The settings for the valid time period after ID Creation option or null for the other option
      required:
      - valid_time_period
      - valid_time_period_unit
      properties:
        valid_time_period:
          type: integer
          description: The valid time period after account creation
          format: int32
        valid_time_period_unit:
          $ref: '#/components/schemas/XiqDateTimeUnitType'
    XiqDeleteKeyBasedPcgUsersRequest:
      type: object
      description: The payload of delete Key Based Private Client Group users request
      required:
      - user_ids
      properties:
        user_ids:
          type: array
          description: The user ID list
          items:
            type: integer
            description: The user ID list
            format: int64
    XiqPasswordType:
      type: string
      description: The access key type
      enum:
      - PPSK
      - RADIUS
    XiqPcgPortAssignmentEntryDeviceMeta:
      allOf:
      - $ref: '#/components/schemas/XiqViqEntity'
      - type: object
        description: The PCG port assignment entry device info
        required:
        - mac_address
        - serial_number
        - product_type
        properties:
          mac_address:
            type: string
            description: The mac address
          serial_number:
            type: string
            description: The serial number
          product_type:
            type: string
            description: The product type
    XiqCreateEndUserRequest:
      type: object
      required:
      - user_group_id
      - user_name
      properties:


# --- truncated at 32 KB (56 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/extreme-networks/refs/heads/main/openapi/extreme-networks-configuration-user-management-api-openapi.yml