ControlUp Overview API

The Overview API from ControlUp — 11 operation(s) for overview.

OpenAPI Specification

controlup-overview-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DaaS IQ Overview API
  description: 'Multi-cloud Virtual Desktop Infrastructure Management API (Default Version: v1.0)


    🔒 **Authentication**


    This API supports two authentication methods:


    **1. API Key (Bearer Token)** - Recommended for programmatic access

    - Create an API key at [API Key Management](https://support.controlup.com/docs/create-an-api-key)

    - Include in requests: `Authorization: Bearer YOUR_API_KEY`


    **2. Cookie Authentication** - For browser-based access

    - Login via DEX authentication service

    - The `user_dex_token` cookie will be automatically included'
  contact:
    name: ControlUp Support
    url: https://controlup.com/support
    email: support@controlup.com
  version: v1
  x-build-version: 1.0.107
servers:
- url: https://api.controlup.com/daas-iq/v1
tags:
- name: Overview
paths:
  /cloud/overview/graph:
    get:
      tags:
      - Overview
      summary: Get overview graph data
      description: 'Returns one count per level of the hierarchy — subscriptions, regions, resource groups, host pools, session

        hosts, images, sessions — for the funnel at the top of the Overview.

        Scalars, not rows; a level that a filter pins to one item returns its name instead of a count.'
      operationId: GetOverviewGraph
      parameters:
      - name: provider
        in: query
        description: Filter by cloud provider. Currently only Azure is supported.
        schema:
          $ref: '#/components/schemas/CloudProvider'
      - name: subscriptionId
        in: query
        description: Filter by cloud subscription (internal ID).
        schema:
          type: string
          format: uuid
      - name: regionId
        in: query
        description: Filter by Azure region code (e.g., 'eastus', 'westeurope').
        schema:
          maxLength: 100
          type: string
      - name: resourceGroupId
        in: query
        description: Filter by resource group (internal ID).
        schema:
          type: string
          format: uuid
      - name: workspaceId
        in: query
        description: Filter by workspace (internal ID).
        schema:
          type: string
          format: uuid
      - name: applicationGroupId
        in: query
        description: Filter by application group (internal ID).
        schema:
          type: string
          format: uuid
      - name: hostPoolId
        in: query
        description: Filter by host pool (internal ID).
        schema:
          type: string
          format: uuid
      - name: sessionHostId
        in: query
        description: Filter by session host (internal ID).
        schema:
          type: string
          format: uuid
      - name: userSessionId
        in: query
        description: Filter by user session (internal ID).
        schema:
          type: string
          format: uuid
      - name: imageId
        in: query
        description: Filter by image (internal ID).
        schema:
          type: string
          format: uuid
      - name: masterImageId
        in: query
        description: Filter by master image (internal ID).
        schema:
          type: string
          format: uuid
      - name: page
        in: query
        description: 'The page number to retrieve (1-based). Default: 1.'
        schema:
          maximum: 2147483647
          minimum: 1
          type: integer
          format: int32
      - name: pageSize
        in: query
        description: 'The number of items per page (1-100). Default: 50.'
        schema:
          maximum: 100
          minimum: 1
          type: integer
          format: int32
      responses:
        '200':
          description: Successfully retrieved graph data.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/OverviewGraphData'
              example:
              - entityType: subscriptions
                count: 3
              - entityType: regions
                count: 5
              - entityType: resourceGroups
                count: 12
              - entityType: workspaces
                count: 8
              - entityType: applicationGroups
                count: 10
              - entityType: hostPools
                count: 7
              - entityType: sessionHosts
                count: 24
              - entityType: userSessions
                count: 15
              - entityType: images
                count: 4
              - entityType: masterImages
                count: 3
        '401':
          description: Unauthorized. User is not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment required. No active license for the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden. User does not have access to this organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service unavailable. License status could not be verified. Try again later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - BearerAuth: []
      - CookieAuth: []
  /cloud/overview/subscriptions:
    get:
      tags:
      - Overview
      summary: Get overview subscriptions
      description: 'Returns one row per subscription with counts of everything beneath it plus rolled-up cost and performance.

        What a subscription contains and costs, unlike its registration record, which carries no metrics.'
      operationId: GetOverviewSubscriptions
      parameters:
      - name: provider
        in: query
        description: Filter by cloud provider. Currently only Azure is supported.
        schema:
          $ref: '#/components/schemas/CloudProvider'
      - name: subscriptionId
        in: query
        description: Filter by cloud subscription (internal ID).
        schema:
          type: string
          format: uuid
      - name: regionId
        in: query
        description: Filter by Azure region code (e.g., 'eastus', 'westeurope').
        schema:
          maxLength: 100
          type: string
      - name: resourceGroupId
        in: query
        description: Filter by resource group (internal ID).
        schema:
          type: string
          format: uuid
      - name: workspaceId
        in: query
        description: Filter by workspace (internal ID).
        schema:
          type: string
          format: uuid
      - name: applicationGroupId
        in: query
        description: Filter by application group (internal ID).
        schema:
          type: string
          format: uuid
      - name: hostPoolId
        in: query
        description: Filter by host pool (internal ID).
        schema:
          type: string
          format: uuid
      - name: sessionHostId
        in: query
        description: Filter by session host (internal ID).
        schema:
          type: string
          format: uuid
      - name: userSessionId
        in: query
        description: Filter by user session (internal ID).
        schema:
          type: string
          format: uuid
      - name: imageId
        in: query
        description: Filter by image (internal ID).
        schema:
          type: string
          format: uuid
      - name: masterImageId
        in: query
        description: Filter by master image (internal ID).
        schema:
          type: string
          format: uuid
      - name: page
        in: query
        description: 'The page number to retrieve (1-based). Default: 1.'
        schema:
          maximum: 2147483647
          minimum: 1
          type: integer
          format: int32
      - name: pageSize
        in: query
        description: 'The number of items per page (1-100). Default: 50.'
        schema:
          maximum: 100
          minimum: 1
          type: integer
          format: int32
      responses:
        '200':
          description: Successfully retrieved subscriptions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionOverviewPagedResult'
              example:
                items:
                - subscriptionId: a1b2c3d4-0001-4000-8000-000000000001
                  subscriptionName: Production AVD
                  resourceGroupsCount: 8
                  regionsCount: 3
                  hostPoolsCount: 5
                  runningHostsCount: 18
                  stoppedHostsCount: 2
                  totalSessionsCount: 42
                  costMonthToDate: 1528.45
                  avgCpu: 34.2
                  avgMem: 61.8
                  status: Healthy
                - subscriptionId: a1b2c3d4-0001-4000-8000-000000000002
                  subscriptionName: Dev/Test AVD
                  resourceGroupsCount: 4
                  regionsCount: 1
                  hostPoolsCount: 2
                  runningHostsCount: 3
                  stoppedHostsCount: 1
                  totalSessionsCount: 5
                  costMonthToDate: 211.68
                  avgCpu: 12.5
                  avgMem: 38
                  status: Healthy
                page: 1
                pageSize: 25
                count: 2
                hasMore: false
                totalCount: 2
        '400':
          description: Bad request. Invalid pagination parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized. User is not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment required. No active license for the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden. User does not have access to this organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service unavailable. License status could not be verified. Try again later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - BearerAuth: []
      - CookieAuth: []
  /cloud/overview/regions:
    get:
      tags:
      - Overview
      summary: Get overview regions
      description: 'Returns one row per Azure region holding onboarded resources, with subscription counts, resource statistics,

        cost, and performance rolled up within it.

        Only regions in use, not the catalog of regions a subscription could deploy into.'
      operationId: GetOverviewRegions
      parameters:
      - name: provider
        in: query
        description: Filter by cloud provider. Currently only Azure is supported.
        schema:
          $ref: '#/components/schemas/CloudProvider'
      - name: subscriptionId
        in: query
        description: Filter by cloud subscription (internal ID).
        schema:
          type: string
          format: uuid
      - name: regionId
        in: query
        description: Filter by Azure region code (e.g., 'eastus', 'westeurope').
        schema:
          maxLength: 100
          type: string
      - name: resourceGroupId
        in: query
        description: Filter by resource group (internal ID).
        schema:
          type: string
          format: uuid
      - name: workspaceId
        in: query
        description: Filter by workspace (internal ID).
        schema:
          type: string
          format: uuid
      - name: applicationGroupId
        in: query
        description: Filter by application group (internal ID).
        schema:
          type: string
          format: uuid
      - name: hostPoolId
        in: query
        description: Filter by host pool (internal ID).
        schema:
          type: string
          format: uuid
      - name: sessionHostId
        in: query
        description: Filter by session host (internal ID).
        schema:
          type: string
          format: uuid
      - name: userSessionId
        in: query
        description: Filter by user session (internal ID).
        schema:
          type: string
          format: uuid
      - name: imageId
        in: query
        description: Filter by image (internal ID).
        schema:
          type: string
          format: uuid
      - name: masterImageId
        in: query
        description: Filter by master image (internal ID).
        schema:
          type: string
          format: uuid
      - name: page
        in: query
        description: 'The page number to retrieve (1-based). Default: 1.'
        schema:
          maximum: 2147483647
          minimum: 1
          type: integer
          format: int32
      - name: pageSize
        in: query
        description: 'The number of items per page (1-100). Default: 50.'
        schema:
          maximum: 100
          minimum: 1
          type: integer
          format: int32
      responses:
        '200':
          description: Successfully retrieved regions.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RegionOverviewPagedResult'
              example:
                items:
                - regionId: eastus
                  regionName: East US
                  subscriptionsCount: 2
                  resourceGroupsCount: 7
                  hostPoolsCount: 4
                  runningHostsCount: 12
                  stoppedHostsCount: 1
                  totalSessionsCount: 28
                  costMonthToDate: 982.3
                  avgCpu: 38.5
                  avgMem: 62
                - regionId: westeurope
                  regionName: West Europe
                  subscriptionsCount: 1
                  resourceGroupsCount: 3
                  hostPoolsCount: 2
                  runningHostsCount: 6
                  stoppedHostsCount: 0
                  totalSessionsCount: 14
                  costMonthToDate: 445.12
                  avgCpu: 27.3
                  avgMem: 54.1
                - regionId: eastus2
                  regionName: East US 2
                  subscriptionsCount: 1
                  resourceGroupsCount: 2
                  hostPoolsCount: 1
                  runningHostsCount: 3
                  stoppedHostsCount: 1
                  totalSessionsCount: 5
                  costMonthToDate: 312.71
                  avgCpu: 22.1
                  avgMem: 45.6
                page: 1
                pageSize: 25
                count: 3
                hasMore: false
                totalCount: 3
        '400':
          description: Bad request. Invalid pagination parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized. User is not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment required. No active license for the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden. User does not have access to this organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service unavailable. License status could not be verified. Try again later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - BearerAuth: []
      - CookieAuth: []
  /cloud/overview/resource-groups:
    get:
      tags:
      - Overview
      summary: Get overview resource groups
      description: 'Returns one row per resource group, with host pool counts, host statistics, cost, and performance rolled up.

        Only groups holding onboarded resources, not every group that exists in Azure.'
      operationId: GetOverviewResourceGroups
      parameters:
      - name: provider
        in: query
        description: Filter by cloud provider. Currently only Azure is supported.
        schema:
          $ref: '#/components/schemas/CloudProvider'
      - name: subscriptionId
        in: query
        description: Filter by cloud subscription (internal ID).
        schema:
          type: string
          format: uuid
      - name: regionId
        in: query
        description: Filter by Azure region code (e.g., 'eastus', 'westeurope').
        schema:
          maxLength: 100
          type: string
      - name: resourceGroupId
        in: query
        description: Filter by resource group (internal ID).
        schema:
          type: string
          format: uuid
      - name: workspaceId
        in: query
        description: Filter by workspace (internal ID).
        schema:
          type: string
          format: uuid
      - name: applicationGroupId
        in: query
        description: Filter by application group (internal ID).
        schema:
          type: string
          format: uuid
      - name: hostPoolId
        in: query
        description: Filter by host pool (internal ID).
        schema:
          type: string
          format: uuid
      - name: sessionHostId
        in: query
        description: Filter by session host (internal ID).
        schema:
          type: string
          format: uuid
      - name: userSessionId
        in: query
        description: Filter by user session (internal ID).
        schema:
          type: string
          format: uuid
      - name: imageId
        in: query
        description: Filter by image (internal ID).
        schema:
          type: string
          format: uuid
      - name: masterImageId
        in: query
        description: Filter by master image (internal ID).
        schema:
          type: string
          format: uuid
      - name: page
        in: query
        description: 'The page number to retrieve (1-based). Default: 1.'
        schema:
          maximum: 2147483647
          minimum: 1
          type: integer
          format: int32
      - name: pageSize
        in: query
        description: 'The number of items per page (1-100). Default: 50.'
        schema:
          maximum: 100
          minimum: 1
          type: integer
          format: int32
      responses:
        '200':
          description: Successfully retrieved resource groups.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceGroupOverviewPagedResult'
              example:
                items:
                - resourceGroupId: b2c3d4e5-0001-4000-8000-000000000001
                  resourceGroupName: rg-avd-prod-eastus
                  subscriptionId: a1b2c3d4-0001-4000-8000-000000000001
                  subscriptionName: Production AVD
                  regionId: eastus
                  regionName: East US
                  regionsCount: 1
                  hostPoolsCount: 2
                  runningHostsCount: 8
                  stoppedHostsCount: 0
                  totalSessionsCount: 20
                  costMonthToDate: 542.18
                  avgCpu: 41.2
                  avgMem: 65.4
                - resourceGroupId: b2c3d4e5-0001-4000-8000-000000000002
                  resourceGroupName: rg-avd-prod-westeurope
                  subscriptionId: a1b2c3d4-0001-4000-8000-000000000001
                  subscriptionName: Production AVD
                  regionId: westeurope
                  regionName: West Europe
                  regionsCount: 1
                  hostPoolsCount: 1
                  runningHostsCount: 4
                  stoppedHostsCount: 0
                  totalSessionsCount: 10
                  costMonthToDate: 312.5
                  avgCpu: 28.7
                  avgMem: 52.3
                - resourceGroupId: b2c3d4e5-0001-4000-8000-000000000003
                  resourceGroupName: rg-avd-devtest
                  subscriptionId: a1b2c3d4-0001-4000-8000-000000000002
                  subscriptionName: Dev/Test AVD
                  regionId: eastus
                  regionName: East US
                  regionsCount: 1
                  hostPoolsCount: 1
                  runningHostsCount: 2
                  stoppedHostsCount: 1
                  totalSessionsCount: 3
                  costMonthToDate: 87.44
                  avgCpu: 15
                  avgMem: 35.2
                page: 1
                pageSize: 25
                count: 3
                hasMore: true
                totalCount: 12
        '400':
          description: Bad request. Invalid pagination parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized. User is not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment required. No active license for the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden. User does not have access to this organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service unavailable. License status could not be verified. Try again later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - BearerAuth: []
      - CookieAuth: []
  /cloud/overview/host-pools:
    get:
      tags:
      - Overview
      summary: Get overview host pools
      description: 'Returns one row per host pool with host statistics, session counts, cost, and performance metrics.

        Carries cost and accepts filters from any level of the hierarchy; the plain host pool list is the one for simply

        enumerating pools. Neither carries AVD configuration or time-series metrics.'
      operationId: GetOverviewHostPools
      parameters:
      - name: provider
        in: query
        description: Filter by cloud provider. Currently only Azure is supported.
        schema:
          $ref: '#/components/schemas/CloudProvider'
      - name: subscriptionId
        in: query
        description: Filter by cloud subscription (internal ID).
        schema:
          type: string
          format: uuid
      - name: regionId
        in: query
        description: Filter by Azure region code (e.g., 'eastus', 'westeurope').
        schema:
          maxLength: 100
          type: string
      - name: resourceGroupId
        in: query
        description: Filter by resource group (internal ID).
        schema:
          type: string
          format: uuid
      - name: workspaceId
        in: query
        description: Filter by workspace (internal ID).
        schema:
          type: string
          format: uuid
      - name: applicationGroupId
        in: query
        description: Filter by application group (internal ID).
        schema:
          type: string
          format: uuid
      - name: hostPoolId
        in: query
        description: Filter by host pool (internal ID).
        schema:
          type: string
          format: uuid
      - name: sessionHostId
        in: query
        description: Filter by session host (internal ID).
        schema:
          type: string
          format: uuid
      - name: userSessionId
        in: query
        description: Filter by user session (internal ID).
        schema:
          type: string
          format: uuid
      - name: imageId
        in: query
        description: Filter by image (internal ID).
        schema:
          type: string
          format: uuid
      - name: masterImageId
        in: query
        description: Filter by master image (internal ID).
        schema:
          type: string
          format: uuid
      - name: page
        in: query
        description: 'The page number to retrieve (1-based). Default: 1.'
        schema:
          maximum: 2147483647
          minimum: 1
          type: integer
          format: int32
      - name: pageSize
        in: query
        description: 'The number of items per page (1-100). Default: 50.'
        schema:
          maximum: 100
          minimum: 1
          type: integer
          format: int32
      responses:
        '200':
          description: Successfully retrieved host pools.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HostPoolOverviewPagedResult'
              example:
                items:
                - hostPoolId: c3d4e5f6-0001-4000-8000-000000000001
                  hostPoolName: HP-Finance-Prod
                  subscriptionId: a1b2c3d4-0001-4000-8000-000000000001
                  subscriptionName: Production AVD
                  regionId: eastus
                  regionName: East US
                  resourceGroupId: b2c3d4e5-0001-4000-8000-000000000001
                  resourceGroupName: rg-avd-prod-eastus
                  type: Pooled
                  maxSessionsPerHost: 4
                  runningHostsCount: 6
                  stoppedHostsCount: 0
                  totalSessionsCount: 15
                  costMonthToDate: 324.5
                  avgCpu: 42.3
                  avgMem: 68.1
                - hostPoolId: c3d4e5f6-0001-4000-8000-000000000002
                  hostPoolName: HP-Engineering-VDI
                  subscriptionId: a1b2c3d4-0001-4000-8000-000000000001
                  subscriptionName: Production AVD
                  regionId: eastus
                  regionName: East US
                  resourceGroupId: b2c3d4e5-0001-4000-8000-000000000001
                  resourceGroupName: rg-avd-prod-eastus
                  type: Personal
                  maxSessionsPerHost: 999999
                  runningHostsCount: 4
                  stoppedHostsCount: 1
                  totalSessionsCount: 3
                  costMonthToDate: 217.68
                  avgCpu: 55
                  avgMem: 72.5
                - hostPoolId: c3d4e5f6-0001-4000-8000-000000000003
                  hostPoolName: HP-Europe-Pooled
                  subscriptionId: a1b2c3d4-0001-4000-8000-000000000001
                  subscriptionName: Production AVD
                  regionId: westeurope
                  regionName: West Europe
                  resourceGroupId: b2c3d4e5-0001-4000-8000-000000000002
                  resourceGroupName: rg-avd-prod-westeurope
                  type: Pooled
                  maxSessionsPerHost: 3
                  runningHostsCount: 4
                  stoppedHostsCount: 0
                  totalSessionsCount: 8
                  costMonthToDate: 312.5
                  avgCpu: 28.7
                  avgMem: 52.3
                page: 1
                pageSize: 25
                count: 3
                hasMore: true
                totalCount: 7
        '400':
          description: Bad request. Invalid pagination parameters.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized. User is not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '402':
          description: Payment required. No active license for the organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden. User does not have access to this organization.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '503':
          description: Service unavailable. License status could not be verified. Try again later.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
      - BearerAuth: []
      - CookieAuth: []
  /cloud/overview/session-hosts:
    get:
      tags:
      - Overview
      summary: Get overview session hosts
      description: 'Returns one row per session host VM with power state, session count, performance metrics, and cost.

        Spans every host pool, so it answers "which hosts anywhere are unhealthy, idle, or expensive".'
      operationId: GetOverviewSessionHosts
      parameters:
      - name: provider
        in: query
        description: Filter by cloud provider. Currently only Azure is supported.
        schema:
          $ref: '#/components/schemas/CloudProvider'
      - name: subscriptionId
        in: query
        description: Filter by cloud subscription (internal ID).
        schema:
          type: string
          format: uuid
      - name: regionId
        in: query
        description: Filter by Azure region code (e.g., 'eastus', 'westeurope').
        schema:
          maxLength: 100
          type: string
      - name: resourceGroupId
        in: query
        description: Filter by resource group (internal ID).
        schema:
          type: string
          format: uuid
      - name: workspaceId
        in: query
        description: Filter by workspace (internal ID).
        schema:
          type: string
          format: uuid
      - name: applicationGroupId
        in: query
        description: Filter by application group (internal ID).
        schema:
          type: string
          format: uuid
      - name: hostPoolId
        in: query
        description: Filter by host pool (internal ID).
        schema:
          type: string
          format: uuid
      - name: sessionHostId
        in: query
        description: Filter by session host (internal ID).
        schema:
          type: string
          format: uuid
      - name: userSessionId
        in: query
        description: Filter by user session (internal ID).
        schema:
          type: string
          format: uuid
      - name: imageId
        in: query
        description: Filter by image (internal ID).
        schema:
          type: string
          format: uuid
      - name: masterImageId
        in: query
        description: Filter by master image (internal ID).
        schema:
          type: string
          format: uuid
      - name: page
        in: query
        description: 'The page number to retrieve (1-based). Default: 1.'
        schema:
          maximum: 2147483647
          minimum: 1
          type: integer

# --- truncated at 32 KB (109 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/controlup/refs/heads/main/openapi/controlup-overview-api-openapi.yml