Skip to main content
POST
Issue an agent licence

Authorizations

Authorization
string
header
required

MeshQu API key passed as a bearer token: Authorization: Bearer mqu_…. Mint one in the console (Settings → API keys).

X-MeshQu-Tenant-Id
string
header
required

Tenant UUID for multi-tenant isolation. Required on all authenticated routes — validated before authentication (middleware/tenant.ts), so a missing or non-UUID header returns 400 (MISSING_TENANT_ID / INVALID_TENANT_ID) before the API key is checked.

Body

application/json
key_id
string<uuid>
required

The API key this record refers to (meshqu.api_keys.id).

policy_id
string<uuid>
required
policy_version_id
string<uuid>
required

A policy version id belonging to policy_id in this tenant.

policy_version_number
integer
required

The version number of policy_version_id.

Required range: x >= 1
grant_authority
string
required
Required string length: 1 - 512
scope
string[]
required

decision_type values, matched byte-exactly and case-sensitively.

Required array length: 1 - 100 elements
Required string length: 1 - 256
valid_from
string<date-time>
required
valid_until
string<date-time>
required

Response

An agent licence record: a grant, or the revocation that supersedes one.

An agent licence record: a grant, or the revocation that supersedes one.

id
string<uuid>
required
tenant_id
string<uuid>
required
record_type
required
Available options:
grant
key_id
string<uuid>
required
revokes_licence_id
string<uuid> | null
required
granted_by
string
required
grant_authority
string
required
policy_id
string<uuid>
required
policy_version_id
string<uuid>
required
policy_version_number
integer
required
scope
string[]
required
valid_from
string<date-time>
required
valid_until
string<date-time>
required
issued_at
string<date-time>
required
licence_digest
string
required
Pattern: ^[0-9a-f]{64}$
grantor_signature
object
required
created_at
string<date-time>
required