Skip to content
handupbeta
Download

license_put

View as Markdown
PUT
/v1/license

Activate a license: key is exchanged at gethandup.dev for a signed license (online); license installs signed license text (offline import). The license is verified with the embedded public key and stored (0600) in the data directory.

Media typeapplication/json

PUT /v1/license body: exactly one of key (exchanged online at gethandup.dev) or license (signed license text, for offline machines).

object
key
string | null
license
string | null
Media typeapplication/json

GET/PUT/DELETE /v1/license response.

object
state
required
string
Allowed values: not_enforced trial expired licensed revoked
locked
required

True when new requests are refused (expired or revoked).

boolean
enforced
required

False in development builds; release builds always enforce.

boolean
trial_days_left

Whole days left in the trial (rounded up); null once licensed.

integer | null format: int64
trial_ends_at
required

Unix ms when the trial ends (ended).

integer format: int64
display_key

Masked key, ****-XXXXXX, from the installed license.

string | null
email
string | null
issued_at

When gethandup.dev signed the license (RFC 3339).

string | null
checked_at

Unix ms of the last successful online check with Polar.

integer | null format: int64
revoked_reason

Why the license is revoked (revoked, disabled, not found, …).

string | null
message

How to fix a locked daemon; null otherwise.

string | null
buy_url
required
string

Key rejected, invalid license, or not exactly one of key and license

Remote device without decide scope

License server unreachable or unavailable