Extreme Networks Location API

Hierarchical locations and floor plan

Operations 27

POST /locations Create location #
GET /locations/tree Get location tree #
GET /locations/tree/devices Get devices on the location hierarchy #
GET /locations/tree/maps Get maps on the location hierarchy #
POST /locations/floorplan Upload floorplan #
PUT /locations/{id} Update location #
DELETE /locations/{id} Delete location by ID #
GET /locations/floor List floors #
POST /locations/floor Create floor #
GET /locations/floor/{id} Get a floor by ID #
PUT /locations/floor/{id} Update floor #
DELETE /locations/floor/{id} Delete floor by ID #
GET /locations/building List buildings #
POST /locations/building Create building #
GET /locations/building/{id} Get a building by ID #
PUT /locations/building/{id} Update building #
DELETE /locations/building/{id} Delete building by ID #
GET /locations/site List sites #
POST /locations/site Create site #
GET /locations/site/{id} Get site by ID #
PUT /locations/site/{id} Update site by ID #
DELETE /locations/site/{id} Delete site by ID #
GET /locations/wall/type Get a wall types #
POST /locations/wall/type Create a wall type #
PUT /locations/wall/type/{id} Update a wall type #
DELETE /locations/wall/type/{id} Delete a wall type #
GET /locations/wall/type/references/{id} Find references of a wall type #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/extreme-networks-location-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

extreme-networks-location-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: ExtremeCloud IQ Account Location 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: Location
  description: Hierarchical locations and floor plan
paths:
  /locations:
    post:
      tags:
      - Location
      summary: Create location
      description: Create a new location under the parent location.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_location
      operationId: createLocation
      requestBody:
        description: Create location request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClsCreateLocationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsLocation'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/tree:
    get:
      tags:
      - Location
      summary: Get location tree
      description: Get location hierarchical tree.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_get_location_tree
      operationId: getLocationTree
      parameters:
      - name: parentId
        in: query
        description: The parent location ID, return root locations if parent is null
        required: false
        schema:
          type: integer
          format: int64
      - name: expandChildren
        in: query
        description: 'Whether to return the child locations recursively, default is true.

          Set it to false to improve performance when there are a lot of child locations.'
        required: false
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClsLocation'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/tree/devices:
    get:
      tags:
      - Location
      summary: Get devices on the location hierarchy
      description: Get devices on the location hierarchy with pagination.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_get_location_tree_devices
      operationId: getLocationDevicesList
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      - name: locationId
        in: query
        description: The location ID, or null for all locations.
        required: false
        schema:
          type: integer
          format: int64
      - name: expandChildren
        in: query
        description: 'Whether to return the child locations recursively, default is true.

          Set it to false to improve performance when there are a lot of child locations.'
        required: false
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedClsLocationTreeDevice'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/tree/maps:
    get:
      tags:
      - Location
      summary: Get maps on the location hierarchy
      description: Get maps on the location hierarchy with pagination.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_get_location_tree_maps
      operationId: getLocationMapsList
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      - name: locationId
        in: query
        description: The location ID, or null for all locations.
        required: false
        schema:
          type: integer
          format: int64
      - name: expandChildren
        in: query
        description: 'Whether to return the child locations recursively, default is true.

          Set it to false to improve performance when there are a lot of child locations.'
        required: false
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedClsLocationTreeMap'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/floorplan:
    post:
      tags:
      - Location
      summary: Upload floorplan
      description: Upload the floorplan map for the VIQ.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_upload_floor_plan
      operationId: uploadFloorplan
      requestBody:
        content:
          multipart/form-data:
            schema:
              required:
              - file
              type: object
              properties:
                file:
                  type: string
                  description: "The floorplan image file to upload. \n For better performance, Extreme Networks recommends that the image file (.png .jpeg) be less than 10 MB."
                  format: binary
        required: true
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/{id}:
    put:
      tags:
      - Location
      summary: Update location
      description: Update the location information with the specified location ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_location
      operationId: updateLocation
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: Update location request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClsUpdateLocationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsLocation'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Location
      summary: Delete location by ID
      description: Delete the location for the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_location
      operationId: deleteLocation
      parameters:
      - $ref: '#/components/parameters/id'
      - name: force_delete
        in: query
        description: Force deletion of this location and its descendants recursively
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: string
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/floor:
    get:
      tags:
      - Location
      summary: List floors
      description: List pages of floors by filter.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_floors
      operationId: getFloors
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      - name: name
        in: query
        description: List floors by name (case insensitive)
        required: false
        schema:
          type: string
      - name: ids
        in: query
        description: List floors by IDs
        required: false
        schema:
          type: array
          items:
            type: integer
            format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClsFloor'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Location
      summary: Create floor
      description: Create a new floor under the parent building.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_floor
      operationId: createFloor
      requestBody:
        description: Create floor request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClsCreateFloorRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsFloor'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/floor/{id}:
    get:
      tags:
      - Location
      summary: Get a floor by ID
      description: Get the floor for the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_get_floor
      operationId: getFloor
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsFloor'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    put:
      tags:
      - Location
      summary: Update floor
      description: Update floor information with the floor ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_floor
      operationId: updateFloor
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: Update floor request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClsUpdateFloorRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsFloor'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Location
      summary: Delete floor by ID
      description: Delete the floor for the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_floor
      operationId: deleteFloor
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/building:
    get:
      tags:
      - Location
      summary: List buildings
      description: List pages of buildings by filter.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_buildings
      operationId: getBuildings
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      - name: name
        in: query
        description: List buildings by name (case insensitive)
        required: false
        schema:
          type: string
      - name: ids
        in: query
        description: List buildings by IDs
        required: false
        schema:
          type: array
          items:
            type: integer
            format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClsBuilding'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Location
      summary: Create building
      description: Create a new building under the parent location.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_building
      operationId: createBuilding
      requestBody:
        description: Create building request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClsCreateBuildingRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsBuilding'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/building/{id}:
    get:
      tags:
      - Location
      summary: Get a building by ID
      description: Get the building for the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_get_building
      operationId: getBuilding
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsBuilding'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    put:
      tags:
      - Location
      summary: Update building
      description: Update the building information with the building ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_building
      operationId: updateBuilding
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: Update building request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClsUpdateBuildingRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsBuilding'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Location
      summary: Delete building by ID
      description: Delete the building for the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_building
      operationId: deleteBuilding
      parameters:
      - $ref: '#/components/parameters/id'
      - name: force_delete
        in: query
        description: Force deletion of this building and its descendants recursively
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/site:
    get:
      tags:
      - Location
      summary: List sites
      description: List pages of sites by filter.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_sites
      operationId: getSites
      parameters:
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/limit'
      - name: name
        in: query
        description: List sites by name (case insensitive)
        required: false
        schema:
          type: string
      - name: ids
        in: query
        description: List sites by IDs
        required: false
        schema:
          type: array
          items:
            type: integer
            format: int64
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClsSite'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Location
      summary: Create site
      description: Create a new site under the GENERIC folder.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_site
      operationId: createSite
      requestBody:
        description: Create site request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClsCreateSiteRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsSite'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/site/{id}:
    get:
      tags:
      - Location
      summary: Get site by ID
      description: Get the site for the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_get_site
      operationId: getSite
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsSite'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    put:
      tags:
      - Location
      summary: Update site by ID
      description: Update the site information with the site ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_site
      operationId: updateSite
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: Update site request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClsUpdateSiteRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsSite'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Location
      summary: Delete site by ID
      description: Delete the site for the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_site
      operationId: deleteSite
      parameters:
      - $ref: '#/components/parameters/id'
      - name: force_delete
        in: query
        description: Force deletion of this site and its descendants recursively
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/wall/type:
    get:
      tags:
      - Location
      summary: Get a wall types
      description: Retrieve the list of wall types, including both predefined and custom ones.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_list_walls_type
      operationId: getWallType
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClsWallType'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    post:
      tags:
      - Location
      summary: Create a wall type
      description: Create a custom wall type.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_create_wall_type
      operationId: createWallType
      responses:
        '200':
          description: Create wall type request body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsCreateWallTypeRequest'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/wall/type/{id}:
    put:
      tags:
      - Location
      summary: Update a wall type
      description: Update the custom wall type with the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_update_wall_type
      operationId: updateWallType
      parameters:
      - $ref: '#/components/parameters/id'
      requestBody:
        description: Update wall type request body
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ClsUpdateWallTypeRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClsWallType'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
    delete:
      tags:
      - Location
      summary: Delete a wall type
      description: Delete the custom wall type for the specified ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_delete_wall_type
      operationId: deleteWallType
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '204':
          description: No Content
          content:
            application/json:
              schema:
                type: string
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
  /locations/wall/type/references/{id}:
    get:
      tags:
      - Location
      summary: Find references of a wall type
      description: Find all floors a/o sites referencing a wall type by its ID.
      externalDocs:
        description: API Reference
        url: https://extremecloudiq.com/api-docs/api-reference.html#_find_wall_type_reference
      operationId: findWallTypeReference
      parameters:
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ClsWallTypeReference'
        default:
          $ref: '#/components/responses/ErrorResponse'
      security:
      - BearerAuth: []
components:
  parameters:
    id:
      name: id
      in: path
      description: The unique identifier
      required: true
      schema:
        type: integer
        format: int64
    limit:
      name: limit
      in: query
      description: Page Size, min = 1, max = 100
      required: false
      schema:
        maximum: 100
        minimum: 1
        type: integer
        format: int32
        default: 10
    page:
      name: page
      in: query
      description: Page number, min = 1
      required: false
      schema:
        minimum: 1
        type: integer
        format: int32
        default: 1
  schemas:
    ClsCreateFloorRequest:
      type: object
      required:
      - parent_id
      - name
      - db_attenuation
      - measurement_unit
      - installation_height
      - map_size_width
      - map_size_height
      properties:
        parent_id:
          type: integer
          description: The parent building ID
          format: int64
        name:
          type: string
          description: The floor name
        environment:
          $ref: '#/components/schemas/ClsRfEnvironmentType'
        db_attenuation:
          type: number
          description: The floor attenuation in dBs
          format: double
        measurement_unit:
          $ref: '#/components/schemas/ClsMeasurementUnit'
        installation_height:
          type: number
          description: The installation height
          format: double
        map_size_width:
          type: number
          description: The floor map width
          format: double
        map_size_height:
          type: number
          description: The floor map height
          format: double
        map_name:
          type: string
          description: The floor map name
    ClsUpdateWallTypeRequest:
      type: object
      required:
      - attenuation
      - color
      - name
      properties:
        name:
          maxLength: 254
          type: string
          description: The Wall type name
        attenuation:
          maximum: 999
          minimum: -999
          type: number
          description: The Wall type attenuation
          format: double
        color:
          pattern: ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{8})$
          type: string
          description: The Wall type color
    ClsLocationTreeDevice:
      type: object
      description: The device on the location hierarchy.
      required:
      - device_name
      - serial_number
      - mac_address
      - device_function
      - product_type
      - ip_address
      - location_id
      - x
      - y
      - scale_x
      - scale_y
      properties:
        device_name:
          type: string
          description: The name of the device.
        serial_number:
          type: string
          description: The device serial number.
        mac_address:
          type: string
          description: The device MAC address.
        device_function:
          type: string
          description: The device function, such as AP, Router, Switch, etc.
        product_type:
          type: string
          description: 'The product type, such as: AP_230, BR_100, NX9600, etc.'
        ip_address:
          type: string
          description: The device IPv4 address.
        location_id:
          type: integer
          description: The location ID of the device on the location hierarchy.
          format: int64
        map_name:
          type: string
          description: The background map for the device overlay.
        x:
          type: number
          description: The x-position of the device relative to the horizontal scale in meter.
          format: double
        y:
          type: number
          description: The y-position of the device relative to the vertical scale in meter.
          format: double
        scale_x:
          type: number
          description: The horizontal scale for the background map in meter.
          format: double
        scale_y:
          type: number
          description: The vertical scale for the background map in meter.
          format: double
    ClsUpdateSiteRequest:
      type: object
      required:
      - name
      - country_code
      properties:
        parent_id:
          type: integer
          description: The parent site group ID
          format: int64
        name:
          type: string
          description: The site name
        country_code:
          type: integer
          format: int32
          description: The site country code. Get the list of country codes from /countries XAPI
        address:
          $ref: '#/components/schemas/ClsAddress'
        latitude:
          type: number
          description: The latitude coordinate for the site
          format: double
        longitude:
          type: number
          description: The longitude coordinate for the site
          format: double
    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
    ClsUpdateFloorRequest:
      type: object
      required:
      - parent_id
      - name
      - db_attenuation
      - measurement_unit
      - installation_height
      - map_size_width
      - map_size_height
      properties:
        parent_id:
          type: integer
          description: The parent building ID
          format: int64
        name:
          type: string
          description: The floor name
        environment:
          $ref: '#/components/schemas/ClsRfEnvironmentType'
        db_attenuation:
          type: number
          description: The floor attenuation in dBs
          format: double
        measurement_unit:
          $ref: '#/components/schemas/ClsMeasurementUnit'
        installation_height:
          type: number
          description: The installation height
          format: double
        map_size_width:
          type: number
          description: The floor map width
          format: double
        map_size_height:
          type: number
          description: The floor map height
          format: double
        map_name:
          type: string
          description: The floor map name
    ClsWallTypeReference:
      type: object
      properties:
        folder_id:
          type: integer
          description: The folder ID
          format: int64
        path:
          type: string
          description: The path
    ClsCreateLocationRequest:
      type: object
      required:
      - parent_id
      - name
      properties:
        parent_id:
          type: integer
          description: The parent location ID
          format: int64
        name:
          type: string
          description: The location name
    ClsCreateWallTypeRequest:
      required:
      - attenuation
      - color
      - name
      properties:
        name:
          maxLength: 254
          type: string
          description: The Wall type name
        attenuation:
          maximum: 999
          minimum: -999
          type: number
          description: The Wall type attenua

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