---
title: "Changes to Create or Update a Software License"
method: POST
path: "/v2/software-license/upsert"
---

# Changes to Create or Update a Software License

`POST /v2/software-license/upsert`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 4 of 9 revisions.

- **2026-10-01** `5932b93aea2a`: 1 info
- **2026-07-26** `753f26d46650`: 2 warning, 9 info
- **2026-07-12** `dec5d4ed264e`: 1 breaking, 2 warning, 10 info
- **2025-12-12** `7c00bdd989ee`: 1 info

## Changes

- **2026-10-01** `5932b93aea2a`: 1 info
  - added the optional property `currency` to the response with the `200` status
- **2026-07-26** `753f26d46650`: 2 warning, 9 info
  - removed the optional property `scope/locationIds` from the response with the `200` status
  - removed the optional property `scope/organizationIds` from the response with the `200` status
  - added the new optional request property `usageMonitoring`
  - added the optional property `firstFoundAt` to the response with the `200` status
  - added the optional property `lastUsageAt` to the response with the `200` status
  - added the optional property `licenseAssignmentList/items/firstFoundAt` to the response with the `200` status
  - added the optional property `licenseAssignmentList/items/hasViewAccess` to the response with the `200` status
  - added the optional property `licenseAssignmentList/items/lastUsedAt` to the response with the `200` status
  - added the optional property `scope/locations` to the response with the `200` status
  - added the optional property `scope/organizations` to the response with the `200` status
  - added the optional property `usageMonitoring` to the response with the `200` status
- **2026-07-12** `dec5d4ed264e`: 1 breaking, 2 warning, 10 info
  - removed the enum value `PER_END_USER` of the request property `type`
  - added the new `PER_USER` enum value to the `type` response property for the response status `200`
  - added the new `USER_CONTACT` enum value to the `assigmentAutomationSettings/assignmentType` response property for the response status `200`
  - added the new optional request property `cost`
  - added the new optional request property `costMode`
  - added the new `PER_USER` enum value to the request property `type`
  - added the optional property `costMode` to the response with the `200` status
  - added the optional property `licenseAssignmentList/items/licenseeType` to the response with the `200` status
  - added the optional property `licenseAssignmentList/items/licenseeUserType` to the response with the `200` status
  - added the optional property `perLicenseCost` to the response with the `200` status
  - added the optional property `totalCost` to the response with the `200` status
  - removed the `END_USER_ROLES` enum value from the `assigmentAutomationSettings/assignmentType` response property for the response status `200`
  - removed the `PER_END_USER` enum value from the `type` response property for the response status `200`
- **2025-12-12** `7c00bdd989ee`: 1 info
  - endpoint added

---

[Operation](https://skmtc.dev/ninjarmm/apis/ninjaone-public-api-2-0/docs/v2/software-license/upsert/post.md) - [API](https://skmtc.dev/ninjarmm/apis/ninjaone-public-api-2-0.md) - [Page](https://skmtc.dev/ninjarmm/apis/ninjaone-public-api-2-0/changes/v2/software-license/upsert/post)
