Cisco Meraki Licensing API
The licensing API from Cisco Meraki — 8 operation(s) for licensing.
The licensing API from Cisco Meraki — 8 operation(s) for licensing.
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