Mist Orgs Licenses API

Licenses are a type of service or access that customers can purchase for various features or services offered by a company. Subscriptions can have different statuses, such as active, expired, exceeded, or trial, depending on their validity and usage. The status of a subscription determines whether it is currently active and valid, has expired, has exceeded the allowed usage limit, or is in a trial period. Licenses can be activated using an activation code, and the activation process confirms the inputted code and activates the subscription.

OpenAPI Specification

mist-orgs-licenses-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: tmunzer@juniper.net
    name: Thomas Munzer
  description: '> Version: **2606.1.1**

    >

    > Date: **July 10, 2026**

    <div class="notification"> NOTE:<br>Some important API changes will be introduced. Please make sure to read the <a href="https://www.juniper.net/documentation/us/en/software/mist/api/http/guides/important-api-changes">announcements</a> </div>


    ---

    ## Additional Documentation

    * [Mist Automation Guide](https://www.juniper.net/documentation/us/en/software/mist/automation-integration/index.html)

    * [Mist Location SDK](https://www.juniper.net/documentation/us/en/software/mist/location-services/topics/concept/mist-how-get-mist-sdk.html)

    * [Mist Product Updates](https://www.juniper.net/documentation/us/en/software/mist/product-updates/)


    ## Helpful Resources

    * [API Sandbox and Exercises](https://api-class.mist.com/)

    * [Postman Collection, Runners and Webhook Samples](https://www.postman.com/juniper-mist/workspace/mist-systems-s-public-workspace)

    * [Python Script Examples](https://github.com/tmunzer/mist_library)

    * [API Demo Apps](https://apps.mist-lab.fr/)

    * [Juniper Blog](https://blogs.juniper.net/)


    ## Mist Web Browser Extension:

    * Google Chrome, Microsoft Edge and other Chromium-based browser: [Chrome Web Store](https://chromewebstore.google.com/detail/mist-extension/ejhpdcljeamillfhdihkkmoakanpbplh)

    * Firefox: [Firefox Add-ons](https://addons.mozilla.org/en-US/firefox/addon/mist-extension/)


    ---'
  license:
    name: MIT
    url: https://raw.githubusercontent.com/tmunzer/Mist-OAS3.0/main/LICENSE
  title: Mist Admins Orgs Licenses API
  version: 2606.1.1
  x-logo:
    altText: Juniper-MistAI
    backgroundColor: '#FFFFFF'
    url: https://www.mist.com/wp-content/uploads/logo.png
servers:
- description: Mist Global 01
  url: https://api.mist.com
- description: Mist Global 02
  url: https://api.gc1.mist.com
- description: Mist Global 03
  url: https://api.ac2.mist.com
- description: Mist Global 04
  url: https://api.gc2.mist.com
- description: Mist Global 05
  url: https://api.gc4.mist.com
- description: Mist EMEA 01
  url: https://api.eu.mist.com
- description: Mist EMEA 02
  url: https://api.gc3.mist.com
- description: Mist EMEA 03
  url: https://api.ac6.mist.com
- description: Mist EMEA 04
  url: https://api.gc6.mist.com
- description: Mist APAC 01
  url: https://api.ac5.mist.com
- description: Mist APAC 02
  url: https://api.gc5.mist.com
- description: Mist APAC 03
  url: https://api.gc7.mist.com
security:
- apiToken: []
- csrfToken: []
tags:
- description: 'Licenses are a type of service or access that customers can purchase for various features or services offered by a company.


    Subscriptions can have different statuses, such as active, expired, exceeded, or trial, depending on their validity and usage. The status of a subscription determines whether it is currently active and valid, has expired, has exceeded the allowed usage limit, or is in a trial period.


    Licenses can be activated using an activation code, and the activation process confirms the inputted code and activates the subscription.'
  name: Orgs Licenses
paths:
  /api/v1/orgs/{org_id}/claim:
    parameters:
    - $ref: '#/components/parameters/org_id'
    post:
      description: Synchronously claims licenses and/or inventory devices from an activation code. All inventory devices are claimed immediately during the request.
      operationId: claimOrgLicense
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  code: ZHT3K-H36DT-MG85D-M61AC
                  type: all
            schema:
              $ref: '#/components/schemas/claim_activation'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/ClaimLicense'
        '400':
          description: Invalid key (or already used)
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: claimOrgLicense
      tags:
      - Orgs Licenses
  /api/v1/orgs/{org_id}/claim/status:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: Return processing status for an asynchronous organization license claim, optionally including per-device license details.
      operationId: GetOrgLicenseAsyncClaimStatus
      parameters:
      - description: Whether to include license details in the claim status response
        in: query
        name: detail
        schema:
          examples:
          - true
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/AsyncLicense'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: GetOrgLicenseAsyncClaimStatus
      tags:
      - Orgs Licenses
  /api/v1/orgs/{org_id}/claims:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: List all async inventory claim jobs for the organization, optionally including per-device details per claim.
      operationId: listOrgAsyncClaims
      parameters:
      - description: Whether to include per-device detail in each claim record
        in: query
        name: detail
        schema:
          examples:
          - true
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/AsyncClaimsList'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: listOrgAsyncClaims
      tags:
      - Orgs Licenses
    post:
      description: 'Schedules an async claim for inventory devices. Inventory claiming is queued and processed in the background; the response returns immediately with a `claim_id` for polling. Licenses (if `type=all`) are still claimed synchronously during the request.


        Use `GET /api/v1/orgs/{org_id}/claims/{claim_id}` to poll the result.'
      operationId: createOrgAsyncClaim
      requestBody:
        content:
          application/json:
            examples:
              Example:
                value:
                  code: ZHT3K-H36DT-MG85D-M61AC
                  type: inventory
            schema:
              $ref: '#/components/schemas/claim_activation_async'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/AsyncClaimCreate'
        '400':
          description: Invalid key (or already used)
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: createOrgAsyncClaim
      tags:
      - Orgs Licenses
  /api/v1/orgs/{org_id}/claims/{claim_id}:
    parameters:
    - $ref: '#/components/parameters/org_id'
    - description: Unique identifier of the async claim job
      in: path
      name: claim_id
      required: true
      schema:
        format: uuid
        type: string
    get:
      description: Return the processing status for a specific async inventory claim job, optionally including per-device details.
      operationId: getOrgAsyncClaimStatus
      parameters:
      - description: Whether to include per-device detail in the claim status response
        in: query
        name: detail
        schema:
          examples:
          - true
          type: boolean
      responses:
        '200':
          $ref: '#/components/responses/AsyncClaimStatus'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: getOrgAsyncClaimStatus
      tags:
      - Orgs Licenses
  /api/v1/orgs/{org_id}/licenses:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: Return the organization license entitlement, subscription, amendment, consumption, and available-license summary.
      operationId: getOrgLicensesSummary
      responses:
        '200':
          $ref: '#/components/responses/License'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: getOrgLicensesSummary
      tags:
      - Orgs Licenses
    put:
      description: "Move, Undo Move or Delete Org License to Another Org\nIf the admin has admin privilege against the `org_id` and `dst_org_id`, he can move some of the licenses to another Org. Given that: \n1. the specified license is currently active \n2. there’s enough licenses left in the specified license (by subscription_id) \n3. there will still be enough entitled licenses for the type of license after the amendment"
      operationId: moveOrDeleteOrgLicenseToAnotherOrg
      requestBody:
        content:
          application/json:
            examples:
              annotate:
                value:
                  notes: customer notes
                  op: annotate
                  subscription_id: SUB-000144
              delete:
                value:
                  op: delete
                  subscription_id: SUB-0000144
              move:
                value:
                  dst_org_id: 3eff35f7-c218-894e-bca2-24e5325601cc
                  op: amend
                  quantity: 10
                  subscription_id: SUB-0000144
              undo_move:
                value:
                  amendment_id: 2b9116ab-cd1e-e897-6e08-31fccd88e792
                  op: unamend
            schema:
              $ref: '#/components/schemas/org_license_action'
        description: Request Body
      responses:
        '200':
          $ref: '#/components/responses/OK'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: moveOrDeleteOrgLicenseToAnotherOrg
      tags:
      - Orgs Licenses
  /api/v1/orgs/{org_id}/licenses/usages:
    parameters:
    - $ref: '#/components/parameters/org_id'
    get:
      description: 'Get Licenses Usage by Sites

        This shows license usage (i.e. needed) based on the features enabled for the site.'
      operationId: getOrgLicensesBySite
      responses:
        '200':
          $ref: '#/components/responses/LicenseUsageOrg'
        '400':
          $ref: '#/components/responses/HTTP400'
        '401':
          $ref: '#/components/responses/HTTP401'
        '403':
          $ref: '#/components/responses/HTTP403'
        '404':
          $ref: '#/components/responses/HTTP404'
        '429':
          $ref: '#/components/responses/HTTP429'
      summary: getOrgLicensesBySite
      tags:
      - Orgs Licenses
components:
  schemas:
    claim_type_async:
      description: 'Claim scope for async inventory claiming. enum: `all`, `inventory`'
      enum:
      - all
      - inventory
      type: string
    license:
      additionalProperties: false
      description: Organization license entitlement, subscription, and usage summary
      properties:
        amendments:
          $ref: '#/components/schemas/license_amendments'
          description: Read-only license amendments associated with the organization
        entitled:
          additionalProperties:
            type: integer
          description: Property key is license type (e.g. SUB-MAN) and Property value is the number of licenses entitled.
          readOnly: true
          type: object
        fully_loaded:
          $ref: '#/components/schemas/license_fully_loaded'
          description: Maximum license demand by service if all organization devices use each service
        licenses:
          $ref: '#/components/schemas/licenses'
          description: Read-only license subscriptions for the organization
        summary:
          $ref: '#/components/schemas/license_summary'
          description: Current license consumption by license type
        usages:
          $ref: '#/components/schemas/license_usages'
          description: Available license counts by service
      type: object
    device_type_default_ap:
      default: ap
      description: 'enum: `ap`, `gateway`, `switch`'
      enum:
      - ap
      - gateway
      - switch
      type: string
    response_async_license_status:
      description: 'Processing state for an asynchronous license claim. enum: `prepared`, `ongoing`, `done`'
      enum:
      - prepared
      - ongoing
      - done
      type: string
    response_async_claims_list:
      additionalProperties: false
      description: List of async inventory claim jobs for the organization
      properties:
        claims:
          description: Async claim job status records
          items:
            $ref: '#/components/schemas/response_async_claim_status'
          type: array
      type: object
    license_sub:
      additionalProperties: false
      description: Read-only license subscription record
      properties:
        created_time:
          $ref: '#/components/schemas/created_time'
          description: Timestamp when the license subscription was created
        end_time:
          description: End date of the license term
          readOnly: true
          type: integer
        id:
          $ref: '#/components/schemas/id'
          description: Unique identifier of the license subscription
        modified_time:
          $ref: '#/components/schemas/modified_time'
          description: Timestamp when the license subscription was last modified
        order_id:
          description: Order identifier for this license subscription
          readOnly: true
          type: string
        org_id:
          $ref: '#/components/schemas/org_id'
          description: Organization that owns this license subscription
        quantity:
          description: Number of devices entitled for this license
          readOnly: true
          type: integer
        remaining_quantity:
          description: Number of licenses left in this subscription
          type: integer
        start_time:
          description: Start date of the license term
          readOnly: true
          type: integer
        subscription_id:
          description: Subscription identifier for this license subscription
          readOnly: true
          type: string
        type:
          $ref: '#/components/schemas/license_type'
          description: License type for this subscription
      readOnly: true
      type: object
    license_type:
      description: Type of license. The list of supported license type can be retrieve with the [List License Type](/#operations/listLicenseTypes) API request.
      readOnly: true
      type: string
    timestamp:
      description: Epoch timestamp, in seconds
      format: double
      readOnly: true
      type: number
    response_async_license_completed:
      description: Device MAC addresses that completed asynchronous license claim processing
      items:
        type: string
      type: array
    id:
      description: Unique ID of the object instance in the Mist Organization
      examples:
      - 53f10664-3ce8-4c27-b382-0ef66432349f
      format: uuid
      readOnly: true
      type: string
    response_http429:
      additionalProperties: false
      description: Standard HTTP 429 rate limit error response
      properties:
        detail:
          description: Human-readable explanation of the rate limit error
          examples:
          - Too Many Request. The API Token used for the request reached the 5000 API Calls per hour threshold
          type: string
      type: object
    response_http401:
      additionalProperties: false
      description: Standard HTTP 401 authentication error response
      properties:
        detail:
          description: Human-readable explanation of the authentication error
          examples:
          - Authentication credentials were not provided.
          type: string
      type: object
    response_claim_license_license_error:
      description: License claim errors returned by order number
      items:
        $ref: '#/components/schemas/response_claim_license_license_error_item'
      type: array
      uniqueItems: true
    org_id:
      description: Unique identifier of a Mist organization
      examples:
      - a97c1b22-a4e9-411e-9bfd-d8695a0f9e61
      format: uuid
      readOnly: true
      type: string
    response_async_license_detail:
      additionalProperties: false
      description: Per-device asynchronous license claim status
      properties:
        mac:
          description: Device MAC address for this license claim detail
          type: string
        status:
          description: Claim processing state for this device
          type: string
        timestamp:
          $ref: '#/components/schemas/timestamp'
          description: Epoch timestamp when this device claim status was reported
      type: object
    response_claim_license_inventory_added:
      description: Inventory devices added by the claim operation
      items:
        $ref: '#/components/schemas/response_claim_license_inventory_item'
      type: array
      uniqueItems: true
    created_time:
      description: When the object has been created, in epoch
      format: double
      readOnly: true
      type: number
    response_claim_license_inventory_duplicated:
      description: Inventory devices already present during the claim operation
      items:
        $ref: '#/components/schemas/response_claim_license_inventory_item'
      type: array
      uniqueItems: true
    response_http403:
      additionalProperties: false
      description: Standard HTTP 403 permission error response
      properties:
        detail:
          description: Human-readable explanation of the permission error
          examples:
          - You do not have permission to perform this action.
          type: string
      type: object
    license_amendment:
      additionalProperties: false
      description: Read-only change applied to a license subscription
      properties:
        created_time:
          $ref: '#/components/schemas/created_time'
          description: Timestamp when the license amendment was created
        end_time:
          description: End time of the license amendment
          readOnly: true
          type: integer
        id:
          $ref: '#/components/schemas/id'
          description: Unique identifier of the license amendment
        modified_time:
          $ref: '#/components/schemas/modified_time'
          description: Timestamp when the license amendment was last modified
        quantity:
          description: License quantity associated with this amendment
          readOnly: true
          type: integer
        start_time:
          description: Start time of the license amendment
          readOnly: true
          type: integer
        subscription_id:
          description: Subscription identifier associated with this amendment
          readOnly: true
          type: string
        type:
          $ref: '#/components/schemas/license_type'
          description: License type affected by this amendment
      readOnly: true
      type: object
    response_claim_license:
      additionalProperties: false
      description: Result of claiming licenses or activation codes
      properties:
        inventory_added:
          $ref: '#/components/schemas/response_claim_license_inventory_added'
          description: Inventory devices added by the claim operation
        inventory_duplicated:
          $ref: '#/components/schemas/response_claim_license_inventory_duplicated'
          description: Inventory devices already present during the claim operation
        inventory_pending:
          $ref: '#/components/schemas/response_claim_license_inventory_pending'
          description: Inventory devices pending asynchronous claim processing
        license_added:
          $ref: '#/components/schemas/response_claim_license_license_added'
          description: License entitlements added by the claim operation
        license_duplicated:
          $ref: '#/components/schemas/response_claim_license_license_duplicated'
          description: License entitlements already present during the claim operation
        license_error:
          $ref: '#/components/schemas/response_claim_license_license_error'
          description: License claim errors returned by order number
      required:
      - license_added
      - license_duplicated
      - license_error
      - inventory_added
      - inventory_duplicated
      type: object
    org_license_action:
      description: Request to amend, annotate, delete, or unamend an organization license
      properties:
        amendment_id:
          description: If `op`==`unamend`, the ID of the operation to cancel
          format: uuid
          type: string
        dst_org_id:
          description: If `op`==`amend`, the id of the org where the license is moved
          format: uuid
          type: string
        notes:
          description: If `op`==`annotate`, note text to attach to the license
          type: string
        op:
          $ref: '#/components/schemas/org_license_action_operation'
          description: License action operation to perform
        quantity:
          description: If `op`==`amend`, the number of licenses to move
          type: integer
        subscription_id:
          description: If `op`==`amend` or `op`==`delete`, the ID of the subscription to use
          type: string
      required:
      - op
      type: object
    claim_activation:
      description: Request to claim organization licenses or activation codes
      properties:
        code:
          description: Activation or license claim code to redeem
          type: string
        device_type:
          $ref: '#/components/schemas/device_type_default_ap'
          description: If only intended to claim a certain device type, specify it here
        type:
          $ref: '#/components/schemas/claim_type'
          description: Claim scope, such as all, inventory, or license
      required:
      - code
      - type
      type: object
    response_async_license_incompleted:
      description: Device MAC addresses not yet completed in asynchronous license claim processing
      items:
        type: string
      type: array
    response_http400:
      additionalProperties: false
      description: Standard HTTP 400 bad request error response
      properties:
        detail:
          description: Human-readable explanation of the bad request error
          examples:
          - 'JSON parse error - Expecting value: line 5 column 8 (char 56)'
          type: string
      type: object
    response_claim_license_license_duplicated:
      description: License entitlements already present during the claim operation
      items:
        $ref: '#/components/schemas/response_claim_license_license_item'
      type: array
      uniqueItems: true
    license_usages:
      additionalProperties:
        readOnly: true
        type: integer
      description: Number of available licenses. Property key is the service name (e.g. "SUB-MAN").
      readOnly: true
      type: object
    response_async_license:
      additionalProperties: false
      description: Asynchronous license claim progress response
      properties:
        completed:
          $ref: '#/components/schemas/response_async_license_completed'
          description: Device MAC addresses that completed asynchronous license claim processing
        details:
          $ref: '#/components/schemas/response_async_license_details'
          description: Per-device status details for asynchronous license claim processing
        failed:
          description: Number of devices that failed license claim processing
          type: integer
        incompleted:
          $ref: '#/components/schemas/response_async_license_incompleted'
          description: Device MAC addresses not yet completed in asynchronous license claim processing
        processed:
          description: Number of devices processed so far by asynchronous license claim
          type: integer
        scheduled_at:
          description: Epoch timestamp when the asynchronous license claim was scheduled
          type: integer
        status:
          $ref: '#/components/schemas/response_async_license_status'
          description: Current asynchronous license claim processing state
        succeed:
          description: Number of devices that successfully completed license claim processing
          type: integer
        timestamp:
          $ref: '#/components/schemas/timestamp'
          description: Epoch timestamp when this asynchronous license status was reported
        total:
          description: Number of devices included in the license claim
          type: integer
      type: object
    response_claim_license_inventory_pending_item:
      additionalProperties: false
      description: Inventory device pending asynchronous claim processing
      properties:
        mac:
          description: Device MAC address pending asynchronous inventory claim
          type: string
      type: object
    response_async_license_details:
      description: Per-device asynchronous license claim status details
      items:
        $ref: '#/components/schemas/response_async_license_detail'
      type: array
    response_async_claim_status:
      additionalProperties: false
      description: Async inventory claim job status
      properties:
        claim_id:
          description: Unique identifier of the async claim job
          format: uuid
          type: string
        completed:
          $ref: '#/components/schemas/response_async_license_completed'
          description: Device MAC addresses that completed async claim processing
        details:
          $ref: '#/components/schemas/response_async_license_details'
          description: Per-device status details for async claim processing; present when `detail=true`
        failed:
          description: Number of devices that failed claim processing
          type: integer
        incompleted:
          $ref: '#/components/schemas/response_async_license_incompleted'
          description: Device MAC addresses not yet completed in async claim processing
        org_id:
          $ref: '#/components/schemas/org_id'
          description: Organization that owns the async claim job
        processed:
          description: Number of devices processed so far
          type: integer
        scheduled_at:
          description: Epoch timestamp when the async claim was scheduled
          type: integer
        status:
          $ref: '#/components/schemas/response_async_license_status'
          description: Current async claim processing state
        succeed:
          description: Number of devices that successfully completed claim processing
          type: integer
        timestamp:
          $ref: '#/components/schemas/timestamp'
          description: Epoch timestamp of the last status report
        total:
          description: Total number of devices included in the claim
          type: integer
      type: object
    license_fully_loaded:
      additionalProperties:
        readOnly: true
        type: integer
      description: Maximum number of licenses that may be required if the service is enabled on all the Organization Devices. Property key is the service name (e.g. "SUB-MAN").
      readOnly: true
      type: object
    response_claim_license_license_item:
      description: License entitlement returned by a claim operation
      properties:
        end:
          description: Epoch timestamp when the license entitlement ends
          type: integer
        quantity:
          description: Number of license units included in the entitlement
          type: integer
        start:
          description: Epoch timestamp when the license entitlement starts
          type: integer
        type:
          description: License SKU or subscription type
          type: string
      required:
      - type
      - start
      - end
      - quantity
    response_async_claim_create:
      additionalProperties: false
      description: Response to an async inventory claim request
      properties:
        claim_id:
          description: Unique identifier for the async claim job, used to poll status
          format: uuid
          type: string
        inventory_pending:
          $ref: '#/components/schemas/response_claim_license_inventory_pending'
          description: Inventory devices queued for async claim processing
      type: object
    usage_org_licenses:
      description: Organization license usage records returned by a usage response
      items:
        $ref: '#/components/schemas/license_usage_org'
      type: array
      uniqueItems: true
    claim_type:
      default: all
      description: 'what to claim. enum: `all`, `inventory`, `license`'
      enum:
      - all
      - inventory
      - license
      type: string
    claim_activation_async:
      description: Request to schedule an asynchronous inventory claim
      properties:
        code:
          description: Activation code to claim
          type: string
        device_type:
          $ref: '#/components/schemas/device_type_default_ap'
          description: If only intended to claim a certain device type, specify it here
        type:
          $ref: '#/components/schemas/claim_type_async'
          description: Claim scope; `all` claims licenses synchronously and queues inventory, `inventory` queues inventory only
      required:
      - code
      - type
      type: object
    site_id:
      description: Unique identifier of a Mist site
      examples:
      - 441a1214-6928-442a-8e92-e1d34b8ec6a6
      format: uuid
      readOnly: true
      type: string
    license_usage_org:
      additionalProperties: false
      description: License usage record for an organization usage scope
      properties:
        for_site:
          description: Whether this license usage record is scoped to a site
          readOnly: true
          type: boolean
        fully_loaded:
          $ref: '#/components/schemas/license_fully_loaded'
          description: Maximum license demand by service if all organization devices use each service
        num_devices:
          description: Number of devices counted in this license usage scope
          readOnly: true
          type: integer
        site_id:
          $ref: '#/components/schemas/site_id'
          description: Site associated with this license usage record
        summary:
          $ref: '#/components/schemas/license_summary'
          description: Current license consumption by license type for this usage scope
        usages:
          $ref: '#/components/schemas/license_usages'
          description: Available license counts by service for this usage scope
      required:
      - num_devices
      - site_id
      - usages
      type: object
    org_license_action_operation:
      description: 'to move a license, use the `amend` operation. enum: `amend`, `annotate`, `delete`, `unamend`'
      enum:
      - amend
      - annotate
      - delete
      - unamend
      type: string
    license_amendments:
      description: Read-only list of license amendments
      items:
        $ref: '#/components/schemas/license_amendment'
      readOnly: true
      type: array
      uniqueItems: true
  

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mist/refs/heads/main/openapi/mist-orgs-licenses-api-openapi.yml