TrashItem
One soft-deleted row in the cross-entity trash list. `id` carries the entity's prefixed ID (use `detectEntityType(id)` if you need the type without reading `type`). `purgeAt` is the wall-clock at which the cleanup worker will hard-delete this row, computed server-side from `deletedAt + RETENTION_DURATIONS[retentionTier]`. Null when the tier is `none` (compliance hold) or unset.
Definition
TypeScript
interface TrashItem {
id: string;
type: string;
name: string;
workspaceId: string;
deletedAt: string;
deletedBy: string | null;
retentionTier: "short" | "medium" | "long" | "none" | null;
purgeAt: string | null;
}Fields
| Field | Type | Notes |
|---|---|---|
id | string | readonly required — Prefixed ID of the soft-deleted entity. |
type | string | required — Entity type (matches the ID's prefix). |
name | string | required — Display label — name / title / subject depending on entity. Falls back to id when the entity has no display field set. |
workspaceId | string | required — Workspace the entity belongs to. |
deletedAt | string | required — ISO timestamp when the row was soft-deleted. |
deletedBy | string | null | required — User who soft-deleted the row, or null if unknown. |
retentionTier | "short" | "medium" | "long" | "none" | null | required — Retention tier snapshotted at delete time. |
purgeAt | string | null | required — ISO timestamp at which the cleanup worker will hard-delete this row. Null when retention tier is none (or unset). |