Cisco Meraki Licensing API

The licensing API from Cisco Meraki — 8 operation(s) for licensing.

OpenAPI Specification

cisco-meraki-licensing-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Meraki Dashboard API — licensing
  description: 'A RESTful API to programmatically manage and monitor Cisco Meraki networks at scale.


    > Date: 05 August, 2026

    >

    > [Recent Updates](https://meraki.io/whats-new/)


    ---


    [API Documentation](https://meraki.io/api)


    [Community Support](https://meraki.io/community)


    [Meraki Homepage](https://www.meraki.com)

    '
  contact:
    name: Meraki Developer Community
    url: https://meraki.io/community
  version: 1.73.0
  x-provenance:
    method: harvested
    authored_by: Cisco Meraki
    harvested_by: API Evangelist
    harvested_on: '2026-08-19'
    first_party: true
    note: Published by Cisco. Retrieved unmodified except for this x-provenance block.
    provider_published: true
    derived_view: Per-first-tag view of the source document, tag 'licensing'. Operations and schemas are the provider's, unmodified.
  x-evidence:
  - type: source
    url: https://github.com/meraki/openapi/blob/master/openapi/spec3.json
  - type: raw
    url: https://raw.githubusercontent.com/meraki/openapi/master/openapi/spec3.json
  - type: alternate
    url: https://api.meraki.com/api/v1/openapiSpec
servers:
- url: https://api.meraki.com/{basePath}
  variables:
    basePath:
      default: api/v1
security:
- meraki_api_key: []
- bearerAuth: []
tags:
- name: licensing
paths:
  /administered/licensing/subscription/entitlements:
    get:
      description: Retrieve the list of purchasable entitlements
      operationId: getAdministeredLicensingSubscriptionEntitlements
      parameters:
      - name: skus
        in: query
        description: Filter to entitlements with the specified SKUs
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  sku:
                    type: string
                    description: The SKU identifier of the entitlement
                  name:
                    type: string
                    description: The user-facing name of the entitlement
                  productType:
                    type: string
                    description: The product type of the entitlement
                  productClass:
                    type: string
                    description: The product class associated with the entitlement
                  featureTier:
                    type: string
                    description: The feature tier associated with the entitlement (null for add-ons)
                  isAddOn:
                    type: boolean
                    description: Whether or not the entitlement is an add-on
                  isFree:
                    type: boolean
                    description: Whether or not the entitlement is granted for free
              example:
                sku: LIC-MR-A
                name: MR
                productType: wireless
                productClass: MR
                featureTier: advantage
                isAddOn: false
                isFree: false
      security:
      - oauth2:
        - dashboard:licensing:config:read
      summary: Retrieve the list of purchasable entitlements
      tags:
      - licensing
      - configure
      - subscription
      - entitlements
  /administered/licensing/subscription/subscriptions:
    get:
      description: List available subscriptions
      operationId: getAdministeredLicensingSubscriptionSubscriptions
      parameters:
      - name: perPage
        in: query
        description: The number of entries per page returned. Acceptable range is 3 - 1000. Default is 1000.
        schema:
          type: integer
      - name: startingAfter
        in: query
        description: A token used by the server to indicate the start of the page. Often this is a timestamp or an ID but
          it is not limited to those. This parameter should not be defined by client applications. The link for the first,
          last, prev, or next page in the HTTP Link header should define it.
        schema:
          type: string
      - name: endingBefore
        in: query
        description: A token used by the server to indicate the end of the page. Often this is a timestamp or an ID but it
          is not limited to those. This parameter should not be defined by client applications. The link for the first, last,
          prev, or next page in the HTTP Link header should define it.
        schema:
          type: string
      - name: subscriptionIds
        in: query
        description: List of subscription ids to fetch
        schema:
          type: array
          items:
            type: string
      - name: organizationIds
        in: query
        required: true
        description: Organizations to get associated subscriptions for
        schema:
          type: array
          items:
            type: string
      - name: statuses
        in: query
        description: List of statuses that returned subscriptions can have
        schema:
          type: array
          items:
            type: string
            enum:
            - active
            - canceled
            - expired
            - inactive
            - out_of_compliance
      - name: productTypes
        in: query
        description: List of product types that returned subscriptions need to have entitlements for.
        schema:
          type: array
          items:
            type: string
            enum:
            - appliance
            - camera
            - campusGateway
            - cellularGateway
            - secureConnect
            - sensor
            - switch
            - systemsManager
            - wireless
            - wirelessController
      - name: skus
        in: query
        description: List of SKUs that returned subscriptions need to have entitlements for.
        schema:
          type: array
          items:
            type: string
      - name: name
        in: query
        description: Search for subscription name
        schema:
          type: string
      - name: startDate
        in: query
        description: Filter subscriptions by start date, ISO 8601 format. To filter with a range of dates, use 'startDate[<option>]=?'
          in the request. Accepted options include lt, gt, lte, gte.
        schema:
          oneOf:
          - type: object
            properties:
              lt:
                type: string
                format: date-time
                description: comparative operator used to filter for all values less than the given value
              gt:
                type: string
                format: date-time
                description: comparative operator used to filter for all values greater than the given value
              lte:
                type: string
                format: date-time
                description: comparative operator used to filter for all values less than or equal to the given value
              gte:
                type: string
                format: date-time
                description: comparative operator used to filter for all values greater than or equal to the given value
              neq:
                type: string
                format: date-time
                description: comparative operator used to filter for all values not equal to the given value
          - type: string
            format: date-time
      - name: endDate
        in: query
        description: Filter subscriptions by end date, ISO 8601 format. To filter with a range of dates, use 'endDate[<option>]=?'
          in the request. Accepted options include lt, gt, lte, gte.
        schema:
          oneOf:
          - type: object
            properties:
              lt:
                type: string
                format: date-time
                description: comparative operator used to filter for all values less than the given value
              gt:
                type: string
                format: date-time
                description: comparative operator used to filter for all values greater than the given value
              lte:
                type: string
                format: date-time
                description: comparative operator used to filter for all values less than or equal to the given value
              gte:
                type: string
                format: date-time
                description: comparative operator used to filter for all values greater than or equal to the given value
              neq:
                type: string
                format: date-time
                description: comparative operator used to filter for all values not equal to the given value
          - type: string
            format: date-time
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    subscriptionId:
                      type: string
                      description: Subscription's ID
                    name:
                      type: string
                      description: Subscription name
                    description:
                      type: string
                      description: Subscription description
                    status:
                      type: string
                      enum:
                      - active
                      - canceled
                      - expired
                      - inactive
                      - out_of_compliance
                      description: Subscription status
                    startDate:
                      type: string
                      format: date-time
                      description: Subscription start date
                    endDate:
                      type: string
                      format: date-time
                      description: Subscription expiration date
                    lastUpdatedAt:
                      type: string
                      format: date-time
                      description: When the subscription was last changed
                    webOrderId:
                      type: string
                      description: Web order id
                    type:
                      type: string
                      enum:
                      - enterpriseAgreement
                      - termed
                      description: Subscription type
                    smartAccount:
                      type: object
                      properties:
                        status:
                          type: string
                          description: Subscription Smart Account status
                        account:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Smart Account ID
                            name:
                              type: string
                              description: The name of the smart account
                            domain:
                              type: string
                              description: The domain of the Smart Account
                          description: Smart Account data
                      description: Smart Account linkage information
                    renewalRequested:
                      type: boolean
                      description: Whether a renewal has been requested for the subscription
                    productTypes:
                      type: array
                      items:
                        type: string
                        enum:
                        - accessManager
                        - appliance
                        - camera
                        - cellularGateway
                        - sensor
                        - switch
                        - systemsManager
                        - wireless
                      description: Products the subscription has entitlements for
                    entitlements:
                      type: array
                      items:
                        type: object
                        properties:
                          sku:
                            type: string
                            description: SKU of the required product
                          seats:
                            type: object
                            properties:
                              assigned:
                                type: integer
                                description: Number of seats in use
                              available:
                                type: integer
                                description: Number of seats available for use
                              limit:
                                type: integer
                                description: Total number of seats provided by this subscription for this sku
                            description: Seat distribution
                      description: Entitlement info
                    counts:
                      type: object
                      properties:
                        seats:
                          type: object
                          properties:
                            assigned:
                              type: integer
                              description: Number of seats in use
                            available:
                              type: integer
                              description: Number of seats available for use
                            limit:
                              type: integer
                              description: Total number of seats provided by this subscription
                          description: Seat distribution
                        networks:
                          type: integer
                          description: Number of networks bound to this subscription
                        organizations:
                          type: integer
                          description: Number of organizations bound to this subscription
                      description: Numeric breakdown of network, organizations, entitlement counts
                    enterpriseAgreement:
                      type: object
                      properties:
                        suites:
                          type: array
                          items:
                            type: string
                          description: List of suites included. Empty for non-EA subscriptions.
                      description: enterprise agreement details
              example:
              - subscriptionId: '2345'
                name: Corporate subscription
                description: A description
                status: active
                startDate: '2027-06-30T00:00:00Z'
                endDate: '2028-06-30T00:00:00Z'
                lastUpdatedAt: '2027-09-21T00:00:00Z'
                webOrderId: '55598764'
                type: termed
                smartAccount:
                  status: active
                  account:
                    id: '99995678'
                    name: Corporate Smart Account
                    domain: smart_account_domain
                renewalRequested: false
                productTypes:
                - wireless
                entitlements:
                - sku: LIC-MS-400-L-A
                  seats:
                    assigned: 10
                    available: 15
                    limit: 25
                counts:
                  seats:
                    assigned: 10
                    available: 15
                    limit: 25
                  networks: 1
                  organizations: 1
                enterpriseAgreement:
                  suites:
                  - networking
          headers:
            Link:
              schema:
                type: string
              description: A comma-separated list of first, last, prev, and next relative links used for subsequent paginated
                requests.
      security:
      - oauth2:
        - dashboard:licensing:config:read
      summary: List available subscriptions
      tags:
      - licensing
      - configure
      - subscription
      - subscriptions
  /administered/licensing/subscription/subscriptions/claim:
    post:
      description: Claim a subscription into an organization.
      operationId: claimAdministeredLicensingSubscriptionSubscriptions
      parameters:
      - name: validate
        in: query
        description: Check if the provided claim key is valid and can be claimed into the organization.
        schema:
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                claimKey:
                  type: string
                  description: The subscription's claim key
                organizationId:
                  type: string
                  description: The id of the organization claiming the subscription
                name:
                  type: string
                  description: Friendly name to identify the subscription
                description:
                  type: string
                  description: Extra details or notes about the subscription
              example:
                validate: true
                claimKey: S2345-6789A-BCDEF-GHJKM
                organizationId: '12345678910'
                name: Corporate subscription
                description: Subscription for all main offices
              required:
              - claimKey
              - organizationId
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscriptionId:
                    type: string
                    description: Subscription's ID
                  name:
                    type: string
                    description: Subscription name
                  description:
                    type: string
                    description: Subscription description
                  status:
                    type: string
                    enum:
                    - active
                    - canceled
                    - expired
                    - inactive
                    - out_of_compliance
                    description: Subscription status
                  startDate:
                    type: string
                    format: date-time
                    description: Subscription start date
                  endDate:
                    type: string
                    format: date-time
                    description: Subscription expiration date
                  lastUpdatedAt:
                    type: string
                    format: date-time
                    description: When the subscription was last changed
                  webOrderId:
                    type: string
                    description: Web order id
                  type:
                    type: string
                    enum:
                    - enterpriseAgreement
                    - termed
                    description: Subscription type
                  smartAccount:
                    type: object
                    properties:
                      status:
                        type: string
                        description: Subscription Smart Account status
                      account:
                        type: object
                        properties:
                          id:
                            type: string
                            description: Smart Account ID
                          name:
                            type: string
                            description: The name of the smart account
                          domain:
                            type: string
                            description: The domain of the Smart Account
                        description: Smart Account data
                    description: Smart Account linkage information
                  renewalRequested:
                    type: boolean
                    description: Whether a renewal has been requested for the subscription
                  productTypes:
                    type: array
                    items:
                      type: string
                      enum:
                      - accessManager
                      - appliance
                      - camera
                      - cellularGateway
                      - sensor
                      - switch
                      - systemsManager
                      - wireless
                    description: Products the subscription has entitlements for
                  entitlements:
                    type: array
                    items:
                      type: object
                      properties:
                        sku:
                          type: string
                          description: SKU of the required product
                        seats:
                          type: object
                          properties:
                            assigned:
                              type: integer
                              description: Number of seats in use
                            available:
                              type: integer
                              description: Number of seats available for use
                            limit:
                              type: integer
                              description: Total number of seats provided by this subscription for this sku
                          description: Seat distribution
                    description: Entitlement info
                  counts:
                    type: object
                    properties:
                      seats:
                        type: object
                        properties:
                          assigned:
                            type: integer
                            description: Number of seats in use
                          available:
                            type: integer
                            description: Number of seats available for use
                          limit:
                            type: integer
                            description: Total number of seats provided by this subscription
                        description: Seat distribution
                      networks:
                        type: integer
                        description: Number of networks bound to this subscription
                      organizations:
                        type: integer
                        description: Number of organizations bound to this subscription
                    description: Numeric breakdown of network, organizations, entitlement counts
                  enterpriseAgreement:
                    type: object
                    properties:
                      suites:
                        type: array
                        items:
                          type: string
                        description: List of suites included. Empty for non-EA subscriptions.
                    description: enterprise agreement details
              example:
                subscriptionId: '2345'
                name: Corporate subscription
                description: A description
                status: active
                startDate: '2027-06-30T00:00:00Z'
                endDate: '2028-06-30T00:00:00Z'
                lastUpdatedAt: '2027-09-21T00:00:00Z'
                webOrderId: '55598764'
                type: termed
                smartAccount:
                  status: active
                  account:
                    id: '99995678'
                    name: Corporate Smart Account
                    domain: smart_account_domain
                renewalRequested: false
                productTypes:
                - wireless
                entitlements:
                - sku: LIC-MS-400-L-A
                  seats:
                    assigned: 10
                    available: 15
                    limit: 25
                counts:
                  seats:
                    assigned: 10
                    available: 15
                    limit: 25
                  networks: 1
                  organizations: 1
                enterpriseAgreement:
                  suites:
                  - networking
      security:
      - oauth2:
        - dashboard:licensing:config:write
      summary: Claim a subscription into an organization.
      tags:
      - licensing
      - configure
      - subscription
      - subscriptions
  /administered/licensing/subscription/subscriptions/claimKey/validate:
    post:
      description: Find a subscription by claim key. Returns 400 if the key has already been claimed.
      operationId: validateAdministeredLicensingSubscriptionSubscriptionsClaimKey
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                claimKey:
                  type: string
                  description: The subscription's claim key
              example:
                claimKey: S2345-6789A-BCDEF-GHJKM
              required:
              - claimKey
        required: true
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: object
                properties:
                  subscriptionId:
                    type: string
                    description: Subscription's ID
                  name:
                    type: string
                    description: Subscription name
                  description:
                    type: string
                    description: Subscription description
                  status:
                    type: string
                    enum:
                    - active
                    - canceled
                    - expired
                    - inactive
                    - out_of_compliance
                    description: Subscription status
                  startDate:
                    type: string
                    format: date-time
                    description: Subscription start date
                  endDate:
                    type: string
                    format: date-time
                    description: Subscription expiration date
                  lastUpdatedAt:
                    type: string
                    format: date-time
                    description: When the subscription was last changed
                  webOrderId:
                    type: string
                    description: Web order id
                  type:
                    type: string
                    enum:
                    - enterpriseAgreement
                    - termed
                    description: Subscription type
                  smartAccount:
                    type: object
                    properties:
                      status:
                        type: string
                        description: Subscription Smart Account status
                      account:
                        type: object
                        properties:
                          id:
                            type: string
                            description: Smart Account ID
                          name:
                            type: string
                            description: The name of the smart account
                          domain:
                            type: string
                            description: The domain of the Smart Account
                        description: Smart Account data
                    description: Smart Account linkage information
                  renewalRequested:
                    type: boolean
                    description: Whether a renewal has been requested for the subscription
                  productTypes:
                    type: array
                    items:
                      type: string
                      enum:
                      - accessManager
                      - appliance
                      - camera
                      - cellularGateway
                      - sensor
                      - switch
                      - systemsManager
                      - wireless
                    description: Products the subscription has entitlements for
                  entitlements:
                    type: array
                    items:
                      type: object
                      properties:
                        sku:
                          type: string
                          description: SKU of the required product
                        seats:
                          type: object
                          properties:
                            assigned:
                              type: integer
                              description: Number of seats in use
                            available:
                              type: integer
                              description: Number of seats available for use
                            limit:
                              type: integer
                              description: Total number of seats provided by this subscription for this sku
                          description: Seat distribution
                    description: Entitlement info
                  counts:
                    type: object
                    properties:
                      seats:
                        type: object
                        properties:
                          assigned:
                            type: integer
                            description: Number of seats in use
                          available:
                            type: integer
                            description: Number of seats available for use
                          limit:
                            type: integer
                            description: Total number of seats provided by this subscription
                        description: Seat distribution
                      networks:
                        type: integer
                        description: Number of networks bound to this subscription
                      organizations:
                        type: integer
                        description: Number of organizations bound to this subscription
                    description: Numeric breakdown of network, organizations, entitlement counts
                  enterpriseAgreement:
                    type: object
                    properties:
                      suites:
                        type: array
                        items:
                          type: string
                        description: List of suites included. Empty for non-EA subscriptions.
                    description: enterprise agreement details
              example:
                subscriptionId: '2345'
                name: Corporate subscription
                description: A description
                status: active
                startDate: '2027-06-30T00:00:00Z'
                endDate: '2028-06-30T00:00:00Z'
                lastUpdatedAt: '2027-09-21T00:00:00Z'
                webOrderId: '55598764'
                type: termed
                smartAccount:
                  status: active
                  account:
                    id: '99995678'
                    name: Corporate Smart Account
                    domain: smart_account_domain
                renewalRequested: false
                productTypes:
                - wireless
                entitlements:
                - sku: LIC-MS-400-L-A
                  seats:
                    assigned: 10
                    available: 15
                    limit: 25
                counts:
                  seats:
                    assigned: 10
                    available: 15
                    limit: 25
                  networks: 1
                  or

# --- truncated at 32 KB (55 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cisco-meraki/refs/heads/main/openapi/cisco-meraki-licensing-api-openapi.yml