Skip to content

One superseded term, with its claims and signed string

GET
/api/licenses/{lid}/versions/{versionNo}
curl --request GET \
--url https://app.dycrypt.com/o/acme/api/licenses/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/versions/1 \
--header 'Authorization: Bearer <token>'
lid
required
string format: uuid

The licence id — a UUID, and the lid claim in the signed payload. It survives renewal.

versionNo
required
integer

Which superseded term, as reported by /versions.

The term.

Media typeapplication/json
object
versionNo
integer
issuedAt
string format: date-time
startsAt
string | null format: date-time
expiresAt
string | null format: date-time
graceDays
integer
issuedBy
string
revokedReason
string | null
claims
object
licenseString
string
Examplegenerated
{
"versionNo": 1,
"issuedAt": "2026-04-15T12:00:00Z",
"startsAt": "2026-04-15T12:00:00Z",
"expiresAt": "2026-04-15T12:00:00Z",
"graceDays": 1,
"issuedBy": "example",
"revokedReason": "example",
"claims": {},
"licenseString": "example"
}

No credential, or one that no longer resolves — revoked, expired, deleted. Replace it.

Media typeapplication/json

Every failure in this API has this shape and no other.

object
error
required
string
Example
{
"error": "this token does not have licenses:write"
}

Authenticated, but not allowed: a missing scope, a read-only role, a plan limit reached, or a credential used under another organisation’s slug. The right credential doing something it may not do.

Media typeapplication/json

Every failure in this API has this shape and no other.

object
error
required
string
Example
{
"error": "this token does not have licenses:write"
}

No such record, or no such endpoint.

Media typeapplication/json

Every failure in this API has this shape and no other.

object
error
required
string
Example
{
"error": "this token does not have licenses:write"
}