Skip to content

This licence's own audit trail

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

Append-only, newest first. Requires licenses:read, not activity:read.

lid
required
string format: uuid

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

What happened to this licence.

Media typeapplication/json
Array<object>

Append-only. Written by the platform, never by a caller.

object
at
string format: date-time
actor

A token appears under its own name

string
type
string
target
string | null
detail
string | null
Example
[
{
"type": "LICENSE_ISSUED"
}
]

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"
}