Skip to content

Save licensing and metering

PUT
/v1/setup/licensing
curl --request PUT \
--url http://localhost:8080/v1/setup/licensing \
--header 'Content-Type: application/json' \
--data '{ "licenseKey": "example", "heartbeatEndpoint": "example", "airGapped": true }'

Step 9. Validates and stores the license key (optional in the demo: blank runs as an unlicensed evaluation), the metering heartbeat endpoint and whether the install is air-gapped (which turns heartbeats off). Returns the licensed institution, tier and expiry. Administrators only. 400 when the key is not valid.

Media typeapplication/json
object
licenseKey

Optional in the demo: blank runs as an unlicensed evaluation. Production installs require a key.

null | string
heartbeatEndpoint
string
airGapped
boolean
Examplegenerated
{
"licenseKey": "example",
"heartbeatEndpoint": "example",
"airGapped": true
}

OK

Media typeapplication/json
object
hasKey
required
boolean
institution
required
null | string
tier
required
null | string
expiresAt
required
null | string format: date-time
heartbeatEndpoint
required
string
airGapped
required
boolean
Examplegenerated
{
"hasKey": true,
"institution": "example",
"tier": "example",
"expiresAt": "2026-04-15T12:00:00Z",
"heartbeatEndpoint": "example",
"airGapped": true
}