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: user_group_id: type: integer description: The user group ID format: int64 name: type: string description: The user common name user_name: type: string description: The designated username, must match either the user's name, emailAddress, or phoneNumber organization: type: string description: The organization name visit_purpose: type: string description: The purpose of visit description: type: string description: The user description email_address: type: string description: The user email phone_number: type: string description: The user phone number password: type: string description: The user password, if null a random password will be generated base on the user group rule email_password_delivery: type: string description: The password delivery Email sms_password_delivery: type: string description: The password delivery SMS vlan_override: type: integer minimum: 1 maximum: 4094 description: VLAN ID override assigned to the user (range 1-4094, Optional) format: int32 XiqRegenerateEndUserPasswordResponse: type: object description: The newly generated password for the end user required: - password properties: password: type: string description: The new password of the end user XiqKeyBasedPcgUserBaseInfo: required: - email - name - user_group_name type: object properties: name: type: string description: The user name of key based PCG, which could not share with other exist key based PCG email: type: string description: The email for deliver key based PCG user password user_group_name: type: string description: The user group name description: The user's base info XiqPostExpirationAction: type: object description: The type of action to take after the account expiration. properties: enable_credentials_renewal: type: boolean description: The renew user credentials option or null for other option. enable_delete_immediately: type: boolean description: The immediate delete option or null to schedule the delete. delete_after_value: type: integer description: The after expiration scheduled time to delete or null to not delete.. format: int32 delete_after_unit: $ref: '#/components/schemas/XiqDateTimeUnitType' XiqEndUser: allOf: - $ref: '#/components/schemas/XiqViqEntity' - type: object description: The password or PPSK notification template for user groups. required: - name - email_address - phone_number - user_name - user_group_id - expired_time properties: name: type: string description: The user common name description: type: string description: The user description email_address: type: string description: The user email address phone_number: type: string description: The user phone number password: type: string description: The user password user_name: type: string description: The user identifiable name or the same one from common name, emailAddress or phoneNumber organization: type: string description: The organization name visit_purpose: type: string description: The purpose of visit email_password_delivery: type: string description: The email address for password delivery sms_password_delivery: type: string description: The sms number for password delivery user_group_id: type: integer description: The user group ID format: int64 expired_time: type: integer description: The password expired time format: int64 vlan_override: type: integer description: VLAN ID override assigned to the user format: int32 minimum: 1 maximum: 4094 XiqCreateKeyBasedPcgNetworkPolicyRequest: type: object description: The request to initiate Key-based Private Client Group required: - policy_name - ssid_name - users properties: policy_name: type: string description: The network policy name ssid_name: type: string description: The SSID name users: type: array description: The Key-based PCG users items: $ref: '#/components/schemas/XiqKeyBasedPcgUserBaseInfo' XiqErrorParams: type: object description: Error parameters properties: field: type: string description: The error field value: type: string description: The error value XiqPcgPortAssignment: type: object description: The PCG port assignment entry required: - device_id properties: device_id: type: integer description: The device ID of AP150W format: int64 eth1_user_id: type: integer description: The eth1 user ID, get available users from "/pcgs/key-based/network-policy-{policyId}/users" format: int64 eth2_user_id: type: integer description: The eth2 user ID, get available users from "/pcgs/key-based/network-policy-{policyId}/users" format: int64 eth3_user_id: type: integer description: The eth3 user ID, get available users from "/pcgs/key-based/network-policy-{policyId}/users" format: int64 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 XiqValidDuringDateSettings: type: object description: The settings for Valid During Dates option or null for other settings. required: - start_date_time - end_date_time - time_zone properties: start_date_time: $ref: '#/components/schemas/XiqDateTimeType' end_date_time: $ref: '#/components/schemas/XiqDateTimeType' time_zone: type: string description: The date/time timezone XiqExpirationType: type: string description: The for one of the account expiration types. enum: - NEVER_EXPIRE - VALID_DURING_DATES - VALID_FOR_TIME_PERIOD - DAILY XiqKeyBasedPcgUser: allOf: - $ref: '#/components/schemas/XiqViqEntity' - type: object description: The key based PCG user detailed info required: - name - email - user_group_name properties: name: type: string description: The user name of key based PCG, which could not share with other exist key based PCG email: type: string description: The email for deliver key based PCG user password user_group_name: type: string description: The user group name XiqDateTimeUnitType: type: string description: The after expiration scheduled time unit. enum: - MINUTE - HOUR - DAY - WEEK 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 XiqUpdateEndUserRequest: type: object properties: name: type: string description: The user common name organization: type: string description: The organization name visit_purpose: type: string description: The purpose of visit description: type: string description: The user description email_address: type: string description: The user email phone_number: type: string description: The user phone number password: type: string description: The user password email_password_delivery: type: string description: The password delivery Email sms_password_delivery: type: string description: The password delivery SMS vlan_override: type: integer minimum: 1 maximum: 4094 description: VLAN ID override assigned to the user (range 1-4094, Optional) format: int32 XiqKeyBasedPcg: allOf: - $ref: '#/components/schemas/XiqViqEntity' - type: object description: The response of key based PCG data required: - policy_id - policy_name - ssid_name - enabled properties: policy_id: type: integer description: The network policy ID format: int64 policy_name: type: string description: The network policy name ssid_name: type: string description: The SSID name enabled: type: boolean description: Enabled Key Based PCG users: type: array description: The XIQ key based PCG users items: $ref: '#/components/schemas/XiqKeyBasedPcgUser' XiqGetPortAssignmentDetailsResponse: type: object description: The response of port assignment details for AP150W required: - policy_id - policy_name properties: policy_id: type: integer description: The network policy ID format: int64 policy_name: type: string description: The network policy name pcg_port_assignment_entry_details: type: array description: The PCG port assignment entry details items: $ref: '#/components/schemas/XiqPcgPortAssignmentEntryDetail' PagedXiqEndUser: allOf: - $ref: '#/components/schemas/XiqPage' - type: object properties: data: type: array description: The data in the current page items: $ref: '#/components/schemas/XiqEndUser' 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 XiqValidForTimePeriodSettings: type: object description: The settings for Valid For Time Period option or null for other settings. required: - valid_time_period_after properties: valid_time_period_after: $ref: '#/components/schemas/XiqValidTimePeriodAfterType' after_id_creation_settings: $ref: '#/components/schemas/XiqValidTimePeriodAfterIdCreation' after_first_login_settings: $ref: '#/components/schemas/XiqValidTimePeriodAfterFirstLogin' XiqAddKeyBasedPcgUsersToNetworkPolicyResponse: type: object description: Add users to a PCG-enabled network policy properties: policy_id: type: integer description: The policy id format: int64 status: type: string description: Add user status users: type: array description: The XIQ key based PCG users items: $ref: '#/components/schemas/XiqKeyBasedPcgUser' XiqPcgType: type: string description: The private client group type for pcgUseOnly enum: - AP_BASED - KEY_BASED XiqCreateKeyBasedPcgUsersRequest: type: object description: The payload of add Key-based Private Client Group users request required: - users properties: users: type: array description: The key based PCG users items: $ref: '#/components/schemas/XiqKeyBasedPcgUserBaseInfo' XiqUpdateKeyBasedPcgUsersRequest: type: object description: The payload of replace Key-based Private Client Group users request required: - users properties: users: type: array description: The Key-based PCG users items: $ref: '#/components/schemas/XiqKeyBasedPcgUserBaseInfo' PagedXiqUserGroup: allOf: - $ref: '#/components/schemas/XiqPage' - type: object properties: data: type: array description: The data in the current page items: $ref: '#/components/schemas/XiqUserGroup' XiqUserGroup: allOf: - $ref: '#/components/schemas/XiqViqEntity' - type: object description: The password or PPSK notification template for user groups. required: - name - predefined - 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 predefined: type: boolean description: Whether it is predefined password_db_location: $ref: '#/components/schemas/XiqPasswordDbLocation' password_type: $ref: '#/components/schemas/XiqPasswordType' pcg_use_only: type: boolean description: Whether it's for PCG use only pcg_type: $ref: '#/components/schemas/XiqPcgType' ppsk_use_only: type: boolean description: Whether it's for PPSK use only 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' XiqSmsTemplate: allOf: - $ref: '#/components/schemas/XiqViqEntity' - type: object description: The password or PPSK notification template for user groups. required: - name - predefined - password_type properties: name: type: string description: The SMS template name description: type: string description: The SMS template description predefined: type: boolean description: Wheter or not it is a system prefined template content: type: string description: The SMS template content password_type: $ref: '#/components/schemas/XiqPasswordType' XiqViqEntity: allOf: - $ref: '#/components/schemas/XiqBaseEntity' - type: object properties: org_id: type: integer description: The organization identifier, valid when enabling HIQ feature format: int64 required: - org_id XiqOnboardKeyBasedPcgResponse: type: object description: Add users to a PCG-enabled network policy properties: policy_name: type: string description: The policy name ssid_name: type: string description: The SSID name status: type: string description: Add user status XiqExpirationSettings: type: object description: The password expiration settings properties: expiration_type: $ref: '#/components/schemas/XiqExpirationType' valid_during_dates: $ref: '#/components/schemas/XiqValidDuringDateSettings' valid_for_time_period: $ref: '#/components/schemas/XiqValidForTimePeriodSettings' valid_daily: $ref: '#/components/schemas/XiqValidDailySettings' expiration_action: $ref: '#/components/schemas/XiqExpirationActionType' post_expiration_action: $ref: '#/components/schemas/XiqPostExpirationAction' XiqCreateKeyBasedPcgNetworkPolicyResponse: allOf: - $ref: '#/components/schemas/XiqViqEntity' - type: object description: The response of key based PCG data required: - policy_id - policy_name - ssid_name properties: policy_id: type: integer description: The network policy ID format: int64 policy_name: type: string description: The network policy name ssid_name: type: string description: The SSID name users: type: array description: The XIQ key based PCG users items: $ref: '#/components/schemas/XiqKeyBasedPcgUser' XiqOnboardKeyBasedPcgRequest: type: object description: The payload to create Key Based PCG data(from exist network policy and SSID) required: - ssid_name - enabled - user_ids properties: ssid_name: type: string enabled: type: boolean description: Enable the key based PCG user_ids: type: array description: The request user IDs items: type: integer description: The request user IDs format: int64 XiqValidTimePeriodAfterFirstLogin: type: object description: The settings for the valid time period after First Login option or null for the other option required: - valid_time_period - valid_time_period_unit - first_login_within - first_login_within_unit properties: valid_time_period: type: integer description: The valid time period after the first login format: int32 valid_time_period_unit: $ref: '#/components/schemas/XiqDateTimeUnitType' first_login_within: type: integer description: The first time the access key must be used format: int32 first_login_within_unit: $ref: '#/components/schemas/XiqDateTimeUnitType' XiqPcgPortAssignmentEntry: allOf: - $ref: '#/components/schemas/XiqViqEntity' - type: object description: The PCG port assignment entry required: - device_id properties: device_id: type: integer description: The device ID of AP150W format: int64 eth1_user_id: type: integer description: The eth1 user ID, get available users from "/pcgs/key-based/network-policy-{policyId}/users" format: int64 eth2_user_id: type: integer description: The eth2 user ID, get available users from "/pcgs/key-based/network-policy-{policyId}/users" format: int64 eth3_user_id: type: integer description: The eth3 user ID, get available users from "/pcgs/key-based/network-policy-{policyId}/users" format: int64 XiqPcgAssignPortsRequest: type: object description: The payload to assign ports for AP150W required: - port_assignments properties: port_assignments: type: array description: The port assignment list items: $ref: '#/components/schemas/XiqPcgPortAssignment' XiqEmailTemplate: allOf: - $ref: '#/components/schemas/XiqViqEntity' - type: object description: The password or the PPSK notification template for user groups. required: - name - predefined - password_type properties: name: type: string description: The email template name description: type: string description: The email template description predefined: type: boolean description: Whether or not it is a system predefined template content: type: string description: The email template form. enable_preview: type: boolean description: The setting to enable preview logo_url: type: string description: The logo url icon_url: type: string description: The icon url password_type: $ref: '#/components/schemas/XiqPasswordType' XiqPasswordDbLocation: type: string description: The access key storage location enum: - CLOUD - LOCAL XiqDateTimeType: type: object description: The end date and time required: - day_of_month - month - year - hour_of_day - minute_of_hour properties: day_of_month: type: integer description: The day of month format: int32 month: type: integer description: The month format: int32 year: type: integer description: The year format: int32 hour_of_day: type: integer description: The 24-hour format hour of day format: int32 minute_of_hour: type: integer description: The minute of the hour format: int32 XiqValidTimePeriodAfterType: type: string description: The valid time period after Id creation or first login. enum: - ID_CREATION - FIRST_LOGIN XiqPasswordCharacterType: type: string description: Password generation using letters, numbers, and/or special characters enum: - INCLUDE_ALL_CHARACTER_TYPE_ENABLED - INCLUDE_ANY_CHARACTER_TYPES_ENABLED - INCLUDE_ONLY_ONE_CHARACTER_TYPE_ENABLED parameters: page: name: page in: query description: Page number, min = 1 required: false schema: minimum: 1 type: integer format: int32 default: 1 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 async: in: query name: async description: Whether to enable async mode required: false schema: type: boolean default: false id: name: id in: path description: The unique identifier required: true schema: type: integer format: int64 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