- Print
- DarkLight
Snapshot Endpoints allow the creation and management of snapshots for OSCAL content, providing for version history.
The following methods are available for making and managing point-in-time snapshots of an OSCAL file.
Method | Endpoint | Description |
---|---|---|
GET | /{model-name}/{identifier}/snapshot | Returns a list of every relevant snapshot. |
POST | /{model-name}/{identifier}/snapshot | Creates a new snapshot of the OSCAL content in its current state. |
GET | /{model-name}/{identifier}/snapshot/{identifier} | Retrieves a specific snapshot. |
PUT | /{model-name}/{identifier}/snapshot/{identifier} | Modifies the snapshot description, type, and label. |
DELETE | /{model-name}/{identifier}/snapshot/{identifier} | Removes the identified snapshot. |
Snapshot Date/Timestamp
When creating a snapshot via the POST
method, the server must assign a snapshot-created
property in the OSCAL metadata of the snapshot copy. This must contain a date/time stamp representing when the snapshot was created. The specification deliberately excludes any ability to modify this date/timestamp. The implementation should ensure this property cannot be altered by endpoint calls.
Other Snapshot Properties
The POST
and PUT
methods include the ability to add and manage a snapshot-description
property as well as snapshot-label
and snapshot-type
properties. All are optional. While no more than one description is allowed, any number of label and type properties are allowed.