---
title: "Create user group"
method: POST
path: "/usergroups"
tags: ["Configuration - User Management"]
---

# Create user group

`POST /usergroups`

Create a new user group.

## Request body

- XiqCreateUserGroupRequest
  - `name` string, required — The user group name
  - `description` string — The user group description
  - `password_db_location` 'CLOUD' | 'LOCAL', required — The access key storage location
  - `ppsk_use_only` boolean — Whether it's for PPSK use only
  - `password_type` 'PPSK' | 'RADIUS', required — The access key type
  - `enable_max_clients_per_ppsk` boolean — The enablement for the maximum number of clients per private PSK
  - `max_clients_per_ppsk` integer — The maximum number of clients per private PSK
  - `pcg_use_only` boolean — Whether it's for PCG use only
  - `pcg_type` 'AP_BASED' | 'KEY_BASED' — The private client group type for pcgUseOnly
  - `enable_cwp_reg` boolean — Whether to enable CWP registration setting
  - `password_settings` XiqPasswordSettings, required — The password settings ID
    - `enable_letters` boolean — Enable use of letters
    - `enable_numbers` boolean — Enable use of numbers
    - `enable_special_characters` boolean — Enable use of special characters
    - `password_concat_string` string — The password concatenated string
    - `psk_generation_method` 'PASSWORD_ONLY' | 'USER_STRING_PASSWORD', required — The psk generation method
    - `password_character_types` 'INCLUDE_ALL_CHARACTER_TYPE_ENABLED' | 'INCLUDE_ANY_CHARACTER_TYPES_ENABLED' | 'INCLUDE_ONLY_ONE_CHARACTER_TYPE_ENABLED', required — Password generation using letters, numbers, and/or special characters
    - `password_length` integer, required — The maximun password string length
  - `expiration_settings` XiqExpirationSettings, required — The password expiration settings
    - `expiration_type` 'NEVER_EXPIRE' | 'VALID_DURING_DATES' | 'VALID_FOR_TIME_PERIOD' | 'DAILY' — The for one of the account experation types.
    - `valid_during_dates` XiqValidDuringDateSettings — The settings for Valid During Dates option or null for other settings.
      - `start_date_time` XiqDateTimeType, required — The end date and time
        - `day_of_month` integer, required — The day of month
        - `month` integer, required — The month
        - `year` integer, required — The year
        - `hour_of_day` integer, required — The 24-hour format hour of day
        - `minute_of_hour` integer, required — The minute of the hour
      - `end_date_time` XiqDateTimeType, required — The end date and time
        - `day_of_month` integer, required — The day of month
        - `month` integer, required — The month
        - `year` integer, required — The year
        - `hour_of_day` integer, required — The 24-hour format hour of day
        - `minute_of_hour` integer, required — The minute of the hour
      - `time_zone` string, required — The date/time timezone
    - `valid_for_time_period` XiqValidForTimePeriodSettings — The settings for Valid For Time Period option or null for other settings.
      - `valid_time_period_after` 'ID_CREATION' | 'FIRST_LOGIN', required — The valid time period after Id creation or first login.
      - `after_id_creation_settings` XiqValidTimePeriodAfterIdCreation — The settings for the valid time period after ID Creation option or null for the other option
        - `valid_time_period` integer, required — The valid time period after account creation
        - `valid_time_period_unit` 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK', required — The after expiration scheduled time unit.
      - `after_first_login_settings` XiqValidTimePeriodAfterFirstLogin — The settings for the valid time period after First Login option or null for the other option
        - `valid_time_period` integer, required — The valid time period after the first login
        - `valid_time_period_unit` 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK', required — The after expiration scheduled time unit.
        - `first_login_within` integer, required — The first time the access key must be used
        - `first_login_within_unit` 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK', required — The after expiration scheduled time unit.
    - `valid_daily` XiqValidDailySettings — The settings for Valid Daily option or null for other settings.
      - `daily_start_hour` integer, required — The 24-hour format start hour of the day
      - `daily_start_minute` integer, required — The minute of the hour
      - `daily_end_hour` integer, required — The 24-hour format end hour of day the end
      - `daily_end_minute` integer, required — The minute of the hour
    - `expiration_action` 'SHOW_MESSAGE' | 'REJECT_ACCESS' — The Expiration Action to take, null if the account is never expired.
    - `post_expiration_action` XiqPostExpirationAction — The type of action to take after the account expiration.
      - `enable_credentials_renewal` boolean — The renew user credentials option or null for other option.
      - `enable_delete_immediately` boolean — The immediate delete option or null to schedule the delete.
      - `delete_after_value` integer — The after expiration scheduled time to delete or null to not delete..
      - `delete_after_unit` 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — The after expiration scheduled time unit.
  - `delivery_settings` XiqDeliverySettings, required — The password delivery settings
    - `email_template_id` integer — The Email Template ID
    - `sms_template_id` integer — The SMS Template ID

## Response `200`

OK

- XiqUserGroup
  - `id` integer, required — The unique identifier
  - `create_time` string, date-time, required — The create time in UTC (ISO 8601 format)
  - `update_time` string, date-time, required — The last update time in UTC (ISO 8601 format)
  - `org_id` integer — The organization identifier, valid when enabling HIQ feature
  - `name` string, required — The user group name
  - `description` string — The user group description
  - `predefined` boolean, required — Whether it is predefined
  - `password_db_location` 'CLOUD' | 'LOCAL', required — The access key storage location
  - `password_type` 'PPSK' | 'RADIUS', required — The access key type
  - `pcg_use_only` boolean — Whether it's for PCG use only
  - `pcg_type` 'AP_BASED' | 'KEY_BASED' — The private client group type for pcgUseOnly
  - `ppsk_use_only` boolean — Whether it's for PPSK use only
  - `enable_cwp_reg` boolean — Whether to enable CWP registration setting
  - `password_settings` XiqPasswordSettings, required — The password settings ID
    - `enable_letters` boolean — Enable use of letters
    - `enable_numbers` boolean — Enable use of numbers
    - `enable_special_characters` boolean — Enable use of special characters
    - `password_concat_string` string — The password concatenated string
    - `psk_generation_method` 'PASSWORD_ONLY' | 'USER_STRING_PASSWORD', required — The psk generation method
    - `password_character_types` 'INCLUDE_ALL_CHARACTER_TYPE_ENABLED' | 'INCLUDE_ANY_CHARACTER_TYPES_ENABLED' | 'INCLUDE_ONLY_ONE_CHARACTER_TYPE_ENABLED', required — Password generation using letters, numbers, and/or special characters
    - `password_length` integer, required — The maximun password string length
  - `expiration_settings` XiqExpirationSettings, required — The password expiration settings
    - `expiration_type` 'NEVER_EXPIRE' | 'VALID_DURING_DATES' | 'VALID_FOR_TIME_PERIOD' | 'DAILY' — The for one of the account experation types.
    - `valid_during_dates` XiqValidDuringDateSettings — The settings for Valid During Dates option or null for other settings.
      - `start_date_time` XiqDateTimeType, required — The end date and time
        - `day_of_month` integer, required — The day of month
        - `month` integer, required — The month
        - `year` integer, required — The year
        - `hour_of_day` integer, required — The 24-hour format hour of day
        - `minute_of_hour` integer, required — The minute of the hour
      - `end_date_time` XiqDateTimeType, required — The end date and time
        - `day_of_month` integer, required — The day of month
        - `month` integer, required — The month
        - `year` integer, required — The year
        - `hour_of_day` integer, required — The 24-hour format hour of day
        - `minute_of_hour` integer, required — The minute of the hour
      - `time_zone` string, required — The date/time timezone
    - `valid_for_time_period` XiqValidForTimePeriodSettings — The settings for Valid For Time Period option or null for other settings.
      - `valid_time_period_after` 'ID_CREATION' | 'FIRST_LOGIN', required — The valid time period after Id creation or first login.
      - `after_id_creation_settings` XiqValidTimePeriodAfterIdCreation — The settings for the valid time period after ID Creation option or null for the other option
        - `valid_time_period` integer, required — The valid time period after account creation
        - `valid_time_period_unit` 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK', required — The after expiration scheduled time unit.
      - `after_first_login_settings` XiqValidTimePeriodAfterFirstLogin — The settings for the valid time period after First Login option or null for the other option
        - `valid_time_period` integer, required — The valid time period after the first login
        - `valid_time_period_unit` 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK', required — The after expiration scheduled time unit.
        - `first_login_within` integer, required — The first time the access key must be used
        - `first_login_within_unit` 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK', required — The after expiration scheduled time unit.
    - `valid_daily` XiqValidDailySettings — The settings for Valid Daily option or null for other settings.
      - `daily_start_hour` integer, required — The 24-hour format start hour of the day
      - `daily_start_minute` integer, required — The minute of the hour
      - `daily_end_hour` integer, required — The 24-hour format end hour of day the end
      - `daily_end_minute` integer, required — The minute of the hour
    - `expiration_action` 'SHOW_MESSAGE' | 'REJECT_ACCESS' — The Expiration Action to take, null if the account is never expired.
    - `post_expiration_action` XiqPostExpirationAction — The type of action to take after the account expiration.
      - `enable_credentials_renewal` boolean — The renew user credentials option or null for other option.
      - `enable_delete_immediately` boolean — The immediate delete option or null to schedule the delete.
      - `delete_after_value` integer — The after expiration scheduled time to delete or null to not delete..
      - `delete_after_unit` 'MINUTE' | 'HOUR' | 'DAY' | 'WEEK' — The after expiration scheduled time unit.
  - `delivery_settings` XiqDeliverySettings, required — The password delivery settings
    - `email_template_id` integer — The Email Template ID
    - `sms_template_id` integer — The SMS Template ID
  - `user_count` integer, required — The user count
  - `ssids` string[], required — The ssids

---

[API](https://skmtc.net/extremecloudiq/apis/extremecloud-iq-api.md) · [All operations](https://skmtc.net/extremecloudiq/apis/extremecloud-iq-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/extremecloudiq/extremecloud-iq-api/versions/5ff7ab84e8e8/schema)
