ArchiveOperationResponseDto
| Field | Required | Description |
|---|---|---|
archiveJobId | Yes | The durable bulk job that archives the frozen set |
archived | Yes | Archived by this operation and not undone |
conflict | Yes | Changed after the archive, so Undo left them as they are |
count | Yes | Assets frozen into this operation |
createdAt | Yes | string |
currentSession | Yes | The operation was submitted or confirmed from the session asking, so it may offer its Undo |
expiresAt | Yes | When an unconfirmed prepared selection stops being confirmable |
id | Yes | Archive operation ID |
pending | Yes | Not reached yet |
prepared | Yes | Counted and frozen, waiting for the owner to confirm; nothing has changed yet |
requestKey | Yes | The request key the operation was created with |
scope | Yes | See definition below |
skipped | Yes | Left as they were: no longer in the Timeline, or stopped before they were reached |
undoJobId | Yes | The durable bulk job that undoes it, once requested |
undoable | Yes | Undo is available for this operation |
undone | Yes | Restored by Undo |
Complete definition
required lists fields that must be present. nullable allows a null value; it does not make the field optional. Response enums retain exact wire values for compatibility.
Field definitions: ArchiveOperationScope
{
"properties": {
"archiveJobId": {
"description": "The durable bulk job that archives the frozen set",
"format": "uuid",
"nullable": true,
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"type": "string"
},
"archived": {
"description": "Archived by this operation and not undone",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"conflict": {
"description": "Changed after the archive, so Undo left them as they are",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"count": {
"description": "Assets frozen into this operation",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"createdAt": {
"format": "date-time",
"type": "string"
},
"currentSession": {
"description": "The operation was submitted or confirmed from the session asking, so it may offer its Undo",
"type": "boolean"
},
"expiresAt": {
"description": "When an unconfirmed prepared selection stops being confirmable",
"format": "date-time",
"nullable": true,
"type": "string"
},
"id": {
"description": "Archive operation ID",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"type": "string"
},
"pending": {
"description": "Not reached yet",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"prepared": {
"description": "Counted and frozen, waiting for the owner to confirm; nothing has changed yet",
"type": "boolean"
},
"requestKey": {
"description": "The request key the operation was created with",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"type": "string"
},
"scope": {
"$ref": "#/components/schemas/ArchiveOperationScope"
},
"skipped": {
"description": "Left as they were: no longer in the Timeline, or stopped before they were reached",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"undoJobId": {
"description": "The durable bulk job that undoes it, once requested",
"format": "uuid",
"nullable": true,
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-7[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
"type": "string"
},
"undoable": {
"description": "Undo is available for this operation",
"type": "boolean"
},
"undone": {
"description": "Restored by Undo",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
}
},
"required": [
"archiveJobId",
"archived",
"conflict",
"count",
"createdAt",
"currentSession",
"expiresAt",
"id",
"pending",
"prepared",
"requestKey",
"scope",
"skipped",
"undoJobId",
"undoable",
"undone"
],
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.