---
title: "Create a Contract"
method: POST
path: "/license-manager/contracts"
tags: ["License Manager Public"]
---

# Create a Contract

`POST /license-manager/contracts`

Create a new contract in your SysAid account.

## Request body

- LicenseManagerContractCreateRequest
  - `name` string — The display name of the contract.
  - `applicationId` string, nullable — The unique identifier of the linked application. Use the [Applications API](https://developers.sysaid.com/reference/searchlicensemanagerapplications) to retrieve application details.
  - `status` string — The current status of the contract. Allowed values are "active" (currently in effect), "closed" (expired or terminated), and "pipeline" (planned but not yet active).
  - `type` string, nullable — The type of software deployment for this contract. Allowed values are "saas" (cloud-based software), "on-prem" (on-premises software), "hybrid" (combination of cloud and on-premises), and "other".
  - `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.
  - `startDate` string, date, nullable — The start date of the contract.
  - `endDate` string, date, nullable — The end date of the contract.
  - `paymentTerm` string, nullable — The billing frequency for this contract. Allowed values are "annual", "monthly", "multiyear", "quarterly", "one-time", and "free".
  - `contractValue` number, nullable — The total monetary value of the contract in the specified currency.
  - `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.
  - `licensesCount` integer, nullable — The number of licenses included in this contract.
  - `autoRenewal` boolean — Indicates whether the contract renews automatically when it reaches its end date. The default is "false".
  - `cancellationNotice` integer, nullable — The number of days before the end date by which cancellation must be submitted to avoid auto-renewal.
  - `notes` string, nullable — Free-text notes or comments about the contract.

## Response `201`

Contract is successfully created.

- LicenseManagerContractCreateResponse
  - `id` string, required — The unique identifier of the newly created contract (CUID format, 24 characters).

## 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)
