---
title: "Create Application"
method: POST
path: "/license-manager/applications"
tags: ["License Manager Public"]
---

# Create Application

`POST /license-manager/applications`

Create a new application manually. Intended for applications that are not automatically discovered.

## Request body

- CreateLicenseManagerApplicationRequest
  - `name` string, required — The application name (1-255 characters).
  - `category` string, nullable — The application's business category. Allowed values: operations, sales-and-marketing, developer-tools, design, project-management, customer-success, human-resources, it-and-security, finance, productivity, analytics-and-bi, other.
  - `state` string — The current state of the application in the review workflow. Allowed values: pending-review, under-review, optimization-opportunity, requested, approved, denied, ignored. Default is pending-review.
  - `activeUsers` integer, nullable — The number of users who logged in to the application in the last 30 days (active users). This value cannot be updated for applications that were discovered, only for applications that were manually added.
  - `totalLicenses` integer, nullable
  - `totalCost` number, double, nullable
  - `currency` string — ISO 4217 currency code for cost fields. Allowed values: USD, EUR, GBP, CAD, CHF, SEK, NOK, DKK, MXN, PLN, BRL, ILS, AUD, NZD, ZAR, GHS, TTD.

## Response `201`

Application is successfully created.

- LicenseManagerApplication — The Application object represents a SaaS application.
  - `id` string, required — The unique identifier of the application in SysAid (CUID format, 24 characters).
  - `name` string, required — The application name (1-255 characters).
  - `description` string, nullable — A detailed description of the application.
  - `discoveryMethods` DiscoveryMethod[] — The way in which the application was discovered. See DiscoveryMethod.
  - `category` string, nullable — The application's business category. Allowed values: operations, sales-and-marketing, developer-tools, design, project-management, customer-success, human-resources, it-and-security, finance, productivity, analytics-and-bi, other.
  - `state` string, required — The current state of the application in the review workflow. Allowed values: pending-review, under-review, optimization-opportunity, requested, approved, denied, ignored. Default is pending-review.
  - `vendor` string, nullable — SaaS vendor or publisher name.
  - `website` string, uri, nullable — Official website URL for the application.
  - `icon` string, uri, nullable — Full CDN URL to application/vendor logo.
  - `totalLicenses` integer, nullable — Number of purchased licenses.
  - `activeUsers` integer, nullable — Unique users who logged in over the last 30 days.
  - `inactiveUsers` integer, nullable — The number of inactive users - users that haven't signed in to the application in the last 30 days. Calculated as totalLicenses - activeUsers.
  - `utilizationRate` integer, nullable — The application's utilization rate. Calculated as (activeUsers / totalLicenses) * 100.
  - `totalCost` number, double, nullable — Total annual cost (precision 12,2).
  - `costPerLicense` number, double, nullable — The annual cost per license. Calculated as totalCost / totalLicenses (precision 12,2).
  - `estimatedSavings` number, double, nullable — The potential sum you can save for this application. Calculated as inactiveUsers * costPerLicense (precision 12,2).
  - `compliance` LicenseManagerCompliance — The application's compliance certification status. Each certification can be true (certified), false (not certified), or null (unknown/not assessed).
    - `SOC2` boolean, nullable
    - `ISO_27001` boolean, nullable
    - `GDPR` boolean, nullable
  - `currency` string — ISO 4217 currency code for cost fields. Allowed values: USD, EUR, GBP, CAD, CHF, SEK, NOK, DKK, MXN, PLN, BRL, ILS, AUD, NZD, ZAR, GHS, TTD.
  - `dateCreated` string, date-time, required — The timestamp of when the application was created in the License Manager system.
  - `dateUpdated` string, date-time, nullable — The timestamp of when the application was last updated in License Manager. This includes changes to any application details or data.

## Other responses

- `400` — The request was invalid or cannot be served
- `401` — Authentication information is missing or invalid
- `409` — The request could not be completed due to a conflict with the current state of the resource. This typically occurs when attempting to create a duplicate resource, update a resource that has been modified by another process, or when business rules prevent the operation.
- `500` — An unexpected error occurred on the server

---

[API](https://skmtc.net/sysaid/apis/sysaid-public-api.md) · [All operations](https://skmtc.net/sysaid/apis/sysaid-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sysaid/sysaid-public-api/revisions/38a43a1b2981/schema)
