Extreme Networks Administration API

API Token Management and 3rd Party API Connections

OpenAPI Specification

extreme-networks-administration-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: ExtremeCloud IQ Account Administration 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: Administration
  description: API Token Management and 3rd Party API Connections
paths:
  /acct-api-token:
    get:
      tags:
      - Administration
      summary: List API Access Tokens
      description: List tokens to which API Access has been granted.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_acct_api_access_tokens
      operationId: listApiAccessToken
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      - name: sortField
        in: query
        description: The field for sorting
        required: false
        schema:
          type: string
      - name: searchString
        in: query
        description: The SearchString
        required: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedXiqApiAccessToken'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Administration
      summary: Add API Access token
      description: Create a API token.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_acct_api_access_token
      operationId: createApiAccessToken
      requestBody:
        description: The request body to create new API Access token.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqCreateApiAccessTokenRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqApiAccessTokenResponse'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /acct-api-token/{id}:
    delete:
      tags:
      - Administration
      summary: Delete API Access Token by ID
      description: Delete an existing API Access Token by the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_acct_api_access_token_by_id
      operationId: deleteApiAccessToken
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    patch:
      tags:
      - Administration
      summary: Update API Access token
      description: Update API token by ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_acct_api_access_token
      operationId: updateApiAccessToken
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: The request body to update new API Access token.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqUpdateApiAccessTokenRequest'
        required: true
      responses:
        '201':
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqApiAccessToken'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /acct-api-token_:delete:
    delete:
      tags:
      - Administration
      summary: Bulk Delete API Access Token by ID
      description: Bulk Delete existing API Access Tokens by the specified IDs.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_bulk_delete_api_access_token_by_id
      operationId: bulkDeleteApiAccessToken
      parameters:
      - name: ids
        description: The API Access Token ids to delete.
        in: query
        required: true
        schema:
          uniqueItems: true
          type: array
          items:
            type: integer
            format: int64
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /third-party-api-connection:
    get:
      tags:
      - Administration
      summary: List 3rd party API connection
      description: List the 3rd party API connection.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_third_party_api_connections
      operationId: list1
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/XiqThirdPartyApiConnection'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    put:
      tags:
      - Administration
      summary: Update 3rd party API connection
      description: Update the 3rd party API connection.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_third_party_api_connection
      operationId: updateSubscription1
      requestBody:
        description: The payload to update 3rd party API connections
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqUpdateThirdPartyApiConnectionRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqThirdPartyApiConnection'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Administration
      summary: Delete 3rd party API connection
      description: Delete an exist 3rd party API connection.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_third_party_api_connection
      operationId: deleteSubscription1
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /credential-distribution-groups:
    get:
      tags:
      - Administration
      summary: List Credential Distribution Groups
      description: List a page of Credential Distribution Groups.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_credential_distribution_groups
      operationId: listCredentialDistributionGroups
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedXiqCredentialDistributionGroup'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Administration
      summary: Create Credential Distribution Group
      description: Create a new Credential Distribution Groups.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_credential_distribution_group
      operationId: createCredentialDistributionGroup
      requestBody:
        description: The request body to create new Credential Distribution Groups.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqCreateCredentialDistributionGroupRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqCredentialDistributionGroup'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /credential-distribution-groups/{id}:
    put:
      tags:
      - Administration
      summary: Update Credential Distribution Group
      description: Update a existing Credential Distribution Group by the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_credential_distribution_group_by_id
      operationId: updateCredentialDistributionGroup
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: The request body to update new Credential Distribution Groups.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/XiqUpdateCredentialDistributionGroupRequest'
        required: true
      responses:
        '200':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/XiqCredentialDistributionGroup'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /credential-distribution-groups_:delete:
    delete:
      tags:
      - Administration
      summary: Delete Credential Distribution Group by IDs
      description: Delete an existing Credential Distribution Group by the specified IDs.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_bulk_delete_credential_distribution_group_by_ids
      operationId: deleteCredentialDistributionGroup
      parameters:
      - name: ids
        description: The API Access Token ids to delete.
        in: query
        required: true
        schema:
          uniqueItems: true
          type: array
          items:
            type: integer
            format: int64
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
components:
  schemas:
    XiqUpdateCredentialDistributionGroupRequest:
      type: object
      properties:
        name:
          type: string
          description: Name of the credential distribution group.
        owner_id:
          type: integer
          description: The owner ID.
        enable_email_approval:
          type: boolean
          description: Flag indicating whether email approval is enabled (true) or disabled (false).
        enable_user_limitation:
          type: boolean
          description: Flag indicating whether user limitation is enabled (true) or disabled (false).
        employee_group_type:
          $ref: '#/components/schemas/XiqEmployeeGroup'
          description: Type of JSON, in this case "ad-employee-group", "admin-employee-group" or "manage-employee-group".
        employee_group:
          type: array
          items:
            type: object
            description: The Employee Group
            oneOf:
            - $ref: '#/components/schemas/XiqAdEmployeeGroupRequest'
            - $ref: '#/components/schemas/XiqManageEmployeeGroupRequest'
            - $ref: '#/components/schemas/XiqAdminEmployeeGroupRequest'
            discriminator:
              propertyName: json_type
              mapping:
                ad-employee-group: '#/components/schemas/XiqAdEmployeeGroupRequest'
                manage-employee-group: '#/components/schemas/XiqManageEmployeeGroupRequest'
                admin-employee-group: '#/components/schemas/XiqAdminEmployeeGroupRequest'
        restrict_number:
          type: string
          description: Number restriction.
        user_group_ids:
          type: array
          items:
            type: integer
            description: The list of user group IDs.
    XiqCreateApiAccessTokenRequest:
      type: object
      required:
      - clientId
      properties:
        clientId:
          type: string
          description: The ID given to the client
        tokenExpireInDay:
          type: string
          description: The expiry of the token in days
    XiqAdEmployeeGroup:
      allOf:
      - $ref: '#/components/schemas/XiqViqEntity'
      - type: object
        properties:
          name:
            type: string
            description: Name of the member group.
          owner_id:
            type: integer
            description: ID of the owner of the member group.
    PagedXiqCredentialDistributionGroup:
      allOf:
      - $ref: '#/components/schemas/XiqPage'
      - type: object
        properties:
          data:
            type: array
            description: The data in the current page
            items:
              $ref: '#/components/schemas/XiqCredentialDistributionGroup'
    XiqManageEmployeeGroup:
      allOf:
      - $ref: '#/components/schemas/XiqViqEntity'
      - type: object
        properties:
          name:
            type: string
            description: Acct User Details name.
          owner_id:
            type: integer
            description: The owner ID.
    XiqErrorParams:
      type: object
      description: Error parameters
      properties:
        field:
          type: string
          description: The error field
        value:
          type: string
          description: The error value
    XiqManageEmployeeGroupRequest:
      type: object
      properties:
        name:
          type: string
          description: Acct User Details name.
        owner_id:
          type: integer
          description: The owner ID.
    XiqAdminEmployeeGroupRequest:
      type: object
      properties:
        id:
          type: integer
          description: The admin member group ID.
    XiqApiAccessTokenResponse:
      type: object
      properties:
        owner_id:
          type: integer
          description: Owner ID
        vhm_id:
          type: string
          description: The VHM ID
        vpc_url:
          type: string
          description: The VPC URL
        access_token:
          type: string
          description: The access token generated
        expiration:
          type: integer
          description: The expiration
        refresh_token:
          type: string
          description: The refresh token generated
    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
    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
    XiqEmployeeGroup:
      type: string
      description: Employee Group Json Type
      enum:
      - EMPLOYEE_GROUP_ADMIN
      - EMPLOYEE_GROUP_AD
      - EMPLOYEE_GROUP_MANAGE
    XiqThirdPartyApiConnection:
      allOf:
      - type: object
        description: The 3rd party API connections data model
        required:
        - api_token
        properties:
          api_token:
            type: string
            description: The api token.
          created_at:
            type: integer
            description: The api token created time in milliseconds.
    XiqApiAccessToken:
      type: object
      description: The API Access Token.
      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
        accessToken:
          type: string
          description: The access token granted
        expireAt:
          type: integer
          description: The timestamp at which the token expires
        refreshToken:
          type: string
          description: The refresh token
        grantor:
          type: string
          description: The name of the grantor of API Access Token
        applicationName:
          type: string
          description: The third party application name
        clientId:
          type: string
          description: The client ID
    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
    XiqUserGroups:
      allOf:
      - $ref: '#/components/schemas/XiqViqEntity'
      - type: object
        description: User Group response object for Credential Distribution Group
        properties:
          ownerId:
            type: integer
            format: int64
            description: The ID of the owner of the user group.
          name:
            type: string
            description: The name of the user group.
          json_type:
            type: string
            description: The type of JSON data, e.g., "cloud-ppsk-user-group".
          description:
            type: string
            description: The description of the user group.
          password_rule_settings_id:
            type: integer
            format: int64
            description: The ID of password rule settings for the user group.
          delivery_policy_settings_id:
            type: integer
            format: int64
            description: The ID of delivery policy settings for the user group.
          time_expiration_settings_id:
            type: integer
            format: int64
            description: The ID of time expiration settings for the user group.
          user_count:
            type: integer
            description: The number of users in the user group.
          ssids:
            type: array
            description: List of SSIDs associated with the user group.
            items:
              type: string
          group_type:
            type: string
            description: The type of user group, e.g., "CLOUD_PPSK".
          pcg_use_only:
            type: boolean
            description: Indicates if PCG use only is enabled.
          ppsk_use_only:
            type: boolean
            description: Indicates if PPSK use only is enabled.
          enable_pcg_filter:
            type: boolean
            description: Indicates if PCG filter is enabled.
          enable_self_reg:
            type: boolean
            description: Indicates if self-registration is enabled.
          enable_renew:
            type: boolean
            description: Indicates if renewal is enabled.
    XiqAdEmployeeGroupRequest:
      type: object
      properties:
        name:
          type: string
          description: Name of the member group.
        owner_id:
          type: integer
          description: ID of the owner of the member group.
    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
    XiqUpdateThirdPartyApiConnectionRequest:
      type: object
      description: The payload to update 3rd party API connection
      required:
      - api_token
      properties:
        api_token:
          type: string
          description: This api token will overwrite the existing api token.
    XiqCreateCredentialDistributionGroupRequest:
      type: object
      properties:
        name:
          type: string
          description: Name of the credential distribution group.
        owner_id:
          type: integer
          description: The owner ID.
        enable_email_approval:
          type: boolean
          description: Flag indicating whether email approval is enabled (true) or disabled (false).
        enable_user_limitation:
          type: boolean
          description: Flag indicating whether user limitation is enabled (true) or disabled (false).
        employee_group_type:
          $ref: '#/components/schemas/XiqEmployeeGroup'
          description: Type of JSON, in this case "ad-employee-group", "admin-employee-group" or "manage-employee-group".
        employee_group:
          type: array
          items:
            type: object
            description: The Employee Group
            oneOf:
            - $ref: '#/components/schemas/XiqAdEmployeeGroupRequest'
            - $ref: '#/components/schemas/XiqManageEmployeeGroupRequest'
            - $ref: '#/components/schemas/XiqAdminEmployeeGroupRequest'
            discriminator:
              propertyName: json_type
              mapping:
                ad-employee-group: '#/components/schemas/XiqAdEmployeeGroupRequest'
                manage-employee-group: '#/components/schemas/XiqManageEmployeeGroupRequest'
                admin-employee-group: '#/components/schemas/XiqAdminEmployeeGroupRequest'
        restrict_number:
          type: string
          description: Number restriction.
        user_group_ids:
          type: array
          items:
            type: integer
            description: The list of user group IDs.
    XiqAdminEmployeeGroup:
      allOf:
      - $ref: '#/components/schemas/XiqViqEntity'
      - type: object
        properties:
          id:
            type: integer
            description: The admin member group ID.
    PagedXiqApiAccessToken:
      allOf:
      - $ref: '#/components/schemas/XiqPage'
      - type: object
        properties:
          data:
            type: array
            description: The data in the current page
            items:
              $ref: '#/components/schemas/XiqApiAccessToken'
    XiqCredentialDistributionGroup:
      allOf:
      - $ref: '#/components/schemas/XiqViqEntity'
      - type: object
        properties:
          owner_id:
            type: integer
            description: The owner id.
          group_type:
            type: string
            description: The type of credential distribution group which can be "MANAGE" or "AD".
          enable_email_approval:
            type: boolean
            description: Flag indicating whether email approval is enabled (true) or disabled (false).
          enable_user_limitation:
            type: boolean
            description: Flag indicating whether user limitation is enabled (true) or disabled (false).
          employee_group_type:
            $ref: '#/components/schemas/XiqEmployeeGroup'
            description: Type of JSON, in this case "ad-employee-group", "admin-employee-group" or "manage-employee-group".
          employee_group:
            type: array
            items:
              type: object
              description: The Employee Group
              oneOf:
              - $ref: '#/components/schemas/XiqAdEmployeeGroup'
              - $ref: '#/components/schemas/XiqManageEmployeeGroup'
              - $ref: '#/components/schemas/XiqAdminEmployeeGroup'
              discriminator:
                propertyName: json_type
                mapping:
                  ad-employee-group: '#/components/schemas/XiqAdEmployeeGroup'
                  manage-employee-group: '#/components/schemas/XiqManageEmployeeGroup'
                  admin-employee-group: '#/components/schemas/XiqAdminEmployeeGroup'
          name:
            type: string
            description: Name of the entity.
          restrict_number:
            type: string
            description: Number restriction.
          user_groups:
            type: array
            description: The list of User Groups
            items:
              $ref: '#/components/schemas/XiqUserGroups'
    XiqUpdateApiAccessTokenRequest:
      type: object
      required:
      - clientId
      properties:
        tokenExpireInDay:
          type: string
          description: The expiry of the token in days
  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
    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