POST
/
api
/
v1
/
dev
/
teams
/
{teamId}
/
licenses
Create License
curl --request POST \
  --url https://app.lukittu.com/api/v1/dev/teams/{teamId}/licenses \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "customerIds": [
    "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  ],
  "productIds": [
    "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  ],
  "expirationType": "NEVER",
  "expirationStart": "CREATION",
  "expirationDate": "2023-11-07T05:31:56Z",
  "expirationDays": 2,
  "ipLimit": 1,
  "hwidLimit": 2,
  "suspended": true,
  "sendEmailDelivery": true,
  "metadata": [
    {
      "key": "<string>",
      "value": "<string>",
      "locked": true
    }
  ]
}'
{
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "licenseKey": "<string>",
    "ipLimit": 1,
    "hwidLimit": 2,
    "expirationType": "NEVER",
    "expirationStart": "CREATION",
    "expirationDate": "2023-11-07T05:31:56Z",
    "expirationDays": 2,
    "suspended": true,
    "metadata": [
      {
        "key": "<string>",
        "value": "<string>",
        "locked": true
      }
    ],
    "teamId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "createdByUserId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "lastActiveAt": "2023-11-07T05:31:56Z",
    "customers": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "email": "jsmith@example.com",
        "fullName": "<string>",
        "username": "<string>",
        "metadata": [
          {
            "key": "<string>",
            "value": "<string>",
            "locked": true
          }
        ],
        "address": {
          "street": "<string>",
          "city": "<string>",
          "state": "<string>",
          "country": "<string>",
          "postalCode": "<string>"
        },
        "discordAccount": {
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "customerId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "discordId": "<string>",
          "username": "<string>",
          "avatar": "<string>",
          "createdAt": "2023-11-07T05:31:56Z",
          "updatedAt": "2023-11-07T05:31:56Z"
        },
        "teamId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "createdByUserId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "createdAt": "2023-11-07T05:31:56Z",
        "updatedAt": "2023-11-07T05:31:56Z"
      }
    ],
    "products": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "name": "<string>",
        "url": "<string>",
        "metadata": [
          {
            "key": "<string>",
            "value": "<string>",
            "locked": true
          }
        ],
        "teamId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "createdByUserId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "createdAt": "2023-11-07T05:31:56Z",
        "updatedAt": "2023-11-07T05:31:56Z"
      }
    ]
  },
  "result": {
    "timestamp": "2023-11-07T05:31:56Z",
    "valid": true,
    "details": "<string>"
  }
}

Authorizations

Authorization
string
header
required

API key authentication for development endpoints.

You can create API keys in your team's settings on the Lukittu dashboard. Include the API key in the Authorization header as: Bearer YOUR_API_KEY

Example:

Authorization: Bearer lukittu_api_key_abc123def456...

Path Parameters

teamId
string<uuid>
required

Your team's UUID. You can find this value in your team's settings on the Lukittu dashboard.

Body

application/json
customerIds
string<uuid>[]
required

Customer UUIDs to associate with this license

UUID v4 identifier

productIds
string<uuid>[]
required

Product UUIDs to associate with this license

UUID v4 identifier

expirationType
enum<string>
required

Defines how license expiration is calculated

Available options:
NEVER,
DATE,
DURATION
suspended
boolean
required

Whether to create the license in suspended state

sendEmailDelivery
boolean
required

Whether to send license details via email

metadata
object[]
required

Key-value metadata pairs

expirationStart
enum<string>

Defines when the license expiration countdown begins

Available options:
CREATION,
ACTIVATION
expirationDate
string<date-time> | null

Required when expirationType is DATE

expirationDays
integer | null

Required when expirationType is DURATION

Required range: x >= 1
ipLimit
integer | null
Required range: x >= 0
hwidLimit
integer | null
Required range: x >= 1

Response

License created successfully

data
object
required

Response data

result
object
required