Skip to content

ProcessRetentionStatus

How long one run will be kept, and why: GET|PUT|DELETE /processes/{processType}/{processId}/retention-lease.

Kind: an object, used in responses.

Every field is present in a response; empty ones are null.

FieldTypeDescription
processIduuidThe run’s id.
processTypeProcessTypeWhat kind of run it is.
terminalbooleanTrue once the run has ended (Finished, Error or Killed). Only ended runs are ever deleted.
retainedbooleanTrue while a lease keeps the run (lease is set).
leaseProcessRetentionLease| nullThe run’s own lease, or the one it inherits from a retained ancestor; null when it has none.
leaseEndsAtUtcdatetime | nullWhen the lease ends, in UTC: the time it was taken plus the longest the tenant’s plan keeps a run. After that the run is kept only by retentionHours, from when it ended. Null without a lease, or when the plan sets no maximum.
expiresAtUtcdatetime | nullWhen the run will be deleted, in UTC: its last update plus retentionHours. Null while it is retained or has not ended (a run’s clock starts when it ends).
retentionHoursintegerHow long this run is kept once it has ended and is not retained, in hours.
retentionSourceProcessRetentionSourceWhere retentionHours comes from.
coveredDescendantsintegerHow many runs below this one (the runs it started, at any depth) are kept by THIS run’s own lease. Zero when it has no lease of its own. Releasing it releases them too.
changedbooleanOn a retain or a release: false when the run already was in the state asked for (the call changed nothing — both are idempotent). Always false on a read.
{
"processId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
"processType": "App",
"terminal": false,
"retained": false,
"lease": {
"appliedAtUtc": "2026-10-26T12:00:00.0000000Z",
"appliedByUserId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
"appliedByUserName": "...",
"note": "...",
"inheritedFromProcessId": "3f2b8c1e-5d4a-4e6b-9c7d-2a1b0c9d8e7f",
"inheritedFromProcessType": "App"
},
"leaseEndsAtUtc": "2026-10-26T12:00:00.0000000Z",
"expiresAtUtc": "2026-10-26T12:00:00.0000000Z",
"retentionHours": 0,
"retentionSource": "PlatformDefault",
"coveredDescendants": 0,
"changed": false
}
  • runs.release (DELETE /processes/{processType}/{processId}/retention-lease)
  • runs.retain (PUT /processes/{processType}/{processId}/retention-lease)
  • runs.retention (GET /processes/{processType}/{processId}/retention-lease)