Skip to main content

TrailAccess

@iota/audit-trails API documentation


Class: TrailAccess

Access-control API scoped to a specific trail.

Remarks​

Exposes role-management and capability-management operations for one trail. Per-role operations live on RoleHandle, which is reached through TrailAccess.forRole.

Methods​

toJSON()​

toJSON(): Object

  • Return copy of self without private attributes.

Returns​

Object


toString()​

toString(): string

Return stringified version of self.

Returns​

string


cleanupRevokedCapabilities()​

cleanupRevokedCapabilities(): TransactionBuilder<CleanupRevokedCapabilities>

Builds a cleanup transaction for expired revoked-capability entries.

Returns​

TransactionBuilder<CleanupRevokedCapabilities>

A TransactionBuilder wrapping the CleanupRevokedCapabilities transaction.

Remarks​

Only prunes denylist entries whose stored validUntil is non-zero and strictly less than the current clock time. Entries with validUntil == 0 (revocations without a known expiry) remain on the denylist indefinitely. Does not revoke additional capabilities and does not destroy any objects.

Requires the Permission.RevokeCapabilities permission.

Throws​

When the wrapper was created from a read-only client.

Emits a RevokedCapabilitiesCleanedUp event on success.


destroyCapability()​

destroyCapability(capability_id): TransactionBuilder<DestroyCapability>

Builds a capability-destruction transaction.

Parameters​

capability_id​

string

Returns​

TransactionBuilder<DestroyCapability>

A TransactionBuilder wrapping the DestroyCapability transaction.

Remarks​

Consumes the owned capability object and removes any matching denylist entry. This path is for ordinary capabilities only — initial-admin capabilities must use TrailAccess.destroyInitialAdminCapability.

Requires the Permission.RevokeCapabilities permission.

Throws​

When capabilityId is malformed or the wrapper was created from a read-only client.

Emits a CapabilityDestroyed event on success.


destroyInitialAdminCapability()​

destroyInitialAdminCapability(capability_id): TransactionBuilder<DestroyInitialAdminCapability>

Builds an initial-admin-capability destruction transaction.

Parameters​

capability_id​

string

Returns​

TransactionBuilder<DestroyInitialAdminCapability>

A TransactionBuilder wrapping the DestroyInitialAdminCapability transaction.

Remarks​

Self-service: the holder consumes their own initial-admin capability without presenting another authorization capability. Initial-admin capability IDs are tracked separately and cannot be removed through the generic destroy path. Warning: if every initial-admin capability is destroyed (and none was issued separately), the trail is permanently sealed with no admin access possible.

Throws​

When capabilityId is malformed or the wrapper was created from a read-only client.

Emits a CapabilityDestroyed event on success.


forRole()​

forRole(name): RoleHandle

Returns a role-scoped handle for the given role name.

Parameters​

name​

string

Role name to bind the handle to.

Returns​

RoleHandle

A RoleHandle bound to name inside this trail.

Remarks​

The returned handle only identifies the role. If a role with name does not yet exist, the handle can still be used to create it via RoleHandle.create.


revokeCapability()​

revokeCapability(capability_id, capability_valid_until?): TransactionBuilder<RevokeCapability>

Builds a capability-revocation transaction.

Parameters​

capability_id​

string

capability_valid_until?​

bigint | null

Returns​

TransactionBuilder<RevokeCapability>

A TransactionBuilder wrapping the RevokeCapability transaction.

Remarks​

Adds capabilityId to the trail's revoked-capability denylist. Initial-admin capabilities cannot be revoked through this path — use TrailAccess.revokeInitialAdminCapability instead.

Requires the Permission.RevokeCapabilities permission.

Throws​

When capabilityId is malformed or the wrapper was created from a read-only client.

Emits a CapabilityRevoked event on success.


revokeInitialAdminCapability()​

revokeInitialAdminCapability(capability_id, capability_valid_until?): TransactionBuilder<RevokeInitialAdminCapability>

Builds an initial-admin-capability revocation transaction.

Parameters​

capability_id​

string

capability_valid_until?​

bigint | null

Returns​

TransactionBuilder<RevokeInitialAdminCapability>

A TransactionBuilder wrapping the RevokeInitialAdminCapability transaction.

Remarks​

Same denylist semantics as TrailAccess.revokeCapability but uses the dedicated entry point reserved for initial-admin capability IDs. Warning: revoking every initial-admin capability permanently seals the trail with no admin access possible.

Requires the Permission.RevokeCapabilities permission.

Throws​

When capabilityId is malformed or the wrapper was created from a read-only client.

Emits a CapabilityRevoked event on success.