---
title: "Issue a license"
method: POST
path: "/licenses"
tags: ["License Portal"]
---

# Issue a license

`POST /licenses`

## Request body

- IssueLicenseArgs
  - `requestId` string — Existing imported request to issue against. Omit for issuer-created direct bundle issuance.
  - `customerPartyId` string
  - `softwarePartyId` string
  - `installationId` string — Existing installation id when issuing against a pre-registered deployment. Direct setup-bundle issuance without `requestId` generates a new installation id.
  - `templateId` string
  - `profileId` string
  - `product` string, required
  - `edition` string, required
  - `features` string[]
  - `quotas` LongMap
  - `gatePolicy` LicenseGatePolicy
    - `productFeatures` LicenseGateRules
      - `enabled` string[]
      - `disabled` string[]
    - `commands` LicenseGateRules
      - `enabled` string[]
      - `disabled` string[]
  - `validFrom` string
  - `expiresAt` string
  - `installationBaseDomain` string — Optional deployment base domain for direct issuer-created setup bundles. Omit to issue a domain-agnostic license.
  - `platformDomainRoots` string[] — Optional allowed platform domain roots for direct issuer-created setup bundles. Empty means any base domain.
  - `notes` string

## Response `201`

Issued license.

- IssuedLicenseResponse
  - `licenseId` string, required
  - `requestId` string
  - `status` string, required
  - `claims` LicenseIssuanceRequest, required
    - `schema` string, required
    - `licenseId` string, required
    - `product` string, required
    - `edition` string, required
    - `customerPartyId` string, required
    - `customerName` string, required
    - `softwarePartyId` string, required
    - `installationId` string, required
    - `installationName` string, required
    - `features` string[], required
    - `quotas` LongMap, required
    - `gatePolicy` LicenseGatePolicy
      - `productFeatures` LicenseGateRules
        - `enabled` string[]
        - `disabled` string[]
      - `commands` LicenseGateRules
        - `enabled` string[]
        - `disabled` string[]
    - `validFrom` string, required
    - `expiresAt` string, required
    - `issuedAt` string, required
    - `issuer` string, required
    - `keyId` string, required
    - `profileId` string
    - `recipientKeyId` string
    - `recipientPublicKeyFingerprint` string
    - `licenseRequestId` string
    - `requestArtifactDigest` string
    - `recipientKeyThumbprint` string
    - `installationBaseDomain` string
    - `platformDomainRoots` string[]
    - `statusList` LicenseStatusListReference
      - `uri` string, required
      - `index` integer, required
      - `purpose` string, required
      - `tokenFormat` string, required
      - `listId` string
    - `checkInterval` string
    - `checkGrace` string
    - `stapledStatusListToken` string
    - `metadata` StringMap, required
  - `artifact` IssuedLicenseArtifactResponse, required
    - `format` string, required
    - `keyId` string, required
    - `digest` string, required
    - `issuedAt` string, required
    - `platformCertificate` ImportedPlatformLicenseRequestCertificate
      - `pem` string
      - `derBase64` string
      - `chainBase64` string[]
      - `fingerprint` string
  - `revokedAt` string
  - `revokedBy` string
  - `revocationReason` string
  - `tenantId` string

---

[API](https://skmtc.net/sphereon-opensource/apis/license-portal-api.md) · [All operations](https://skmtc.net/sphereon-opensource/apis/license-portal-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/sphereon-opensource/license-portal-api/versions/f45b2d91505a/schema)
