---
title: "Get All Software Licenses"
method: GET
path: "/v2/software-license/licenses"
tags: ["Software Licenses"]
---

# Get All Software Licenses

`GET /v2/software-license/licenses`

## Request

- Base URL: `https://app.ninjarmm.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.ninjarmm.com/v2/software-license/licenses`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `sessionKey`
- TypeScript: <https://skmtc.dev/ninjarmm/apis/ninjaone-public-api-2-0/docs/v2/software-license/licenses/get.ts> (a function with typed inputs; its response is checked against the schema)

Get All Software Licenses

## Query parameters

- `after` string: Cursor for forward pagination. Use nextCursor from previous response.
- `before` string: Cursor for backward pagination. Use previousCursor from previous response.
- `pageSize` integer: Number of results per page. Defaults to 100, minimum 1, maximum 500.

## Response `200`

Returns All Software Licenses

- object: List of software licenses
  - `id` integer: Indicates the identifier of the licensee
  - `name` string: Indicates the name of the software license
  - `type` 'PER_DEVICE' | 'PER_USER' | 'CUSTOM': Indicates the type of the software license
  - `description` string: Indicates a description for the software license
  - `purchaseDate` integer: Indicates the purchase date of the software license in unix
  - `automated` boolean: Indicates if the software license assignment is automated
  - `publisher` object
    - `id` integer
    - `name` string
    - `description` string
  - `vendor` object
    - `id` integer
    - `name` string
    - `description` string
  - `scope` object
    - `global` boolean
    - `organizations` object[]
      - `id` integer
      - `name` string
    - `locations` object[]
      - `id` integer
      - `name` string
      - `organizationId` integer
  - `quantity` integer: Indicates the quantity of the software license
  - `term` object
    - `renewalUnit` 'MONTH' | 'YEAR'
    - `value` integer
    - `expirationDate` integer
    - `autoRenewal` boolean
    - `generateActivityAlert` boolean
    - `daysBeforeExpiration` integer
    - `hasNotifiedExpirationDate` boolean
    - `hasNotifiedUpToRenewal` boolean
  - `notificationChannelInfo` object
    - `email` string
    - `sms` string
    - `pushNotification` string
  - `assigmentAutomationSettings` object
    - `assignmentType` 'NORMALIZED_SOFTWARE' | 'SOFTWARE_INVENTORY' | 'DEVICE_SEARCH_GROUPS' | 'USER_CONTACT'
    - `type` string, required
  - `currentUsage` integer: Indicates the current usage of the software license
  - `expired` boolean: Indicates itf the software license is expired
  - `daysToExpire` integer: Indicates the days to expire the software license
  - `note` string: Indicates if exists notes of the software license
  - `automation` object
    - `assignmentType` 'NORMALIZED_SOFTWARE' | 'SOFTWARE_INVENTORY' | 'DEVICE_SEARCH_GROUPS' | 'USER_CONTACT'
    - `type` string, required
  - `usageMonitoring` object[]: Indicates the binary usage monitoring configuration
    - `osType` 'WINDOWS' | 'LINUX' | 'MAC'
    - `binaryNames` string[]
    - `nonMatches` boolean

## Other responses

- `401`: Unauthorized
- `403`: Forbidden - Missing required permissions

## Changes

- **2026-07-26** `753f26d46650`: 1 info
  - added the optional property `usageMonitoring` to the response with the `200` status
- **2026-07-12** `dec5d4ed264e`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ninjarmm/apis/ninjaone-public-api-2-0/changes/v2/software-license/licenses/get.md)

---

[API](https://skmtc.dev/ninjarmm/apis/ninjaone-public-api-2-0.md) - [All operations](https://skmtc.dev/ninjarmm/apis/ninjaone-public-api-2-0/llms.txt) - [OpenAPI document](https://skmtc.dev/ninjarmm/apis/ninjaone-public-api-2-0/revisions/5ce571d1bb71?raw)
