PingAuthorize API Reference

Snapshot Service

Snapshots provide a comprehensive, point-in-time representation of the system’s configuration and policy state. Stored as a .snapshot file, they allow you to capture and preserve the state of your authorization environment, enabling straightforward replication of policy and Trust Framework configuration across environments. Snapshots support version control and change management by allowing teams to safely experiment with policy updates or system changes, and quickly revert to a previous state if necessary.

Each snapshot is associated with a specific commit. For more information on managing snapshots in the Policy Editor, refer to Snapshot Manager.

Snapshot service data model

Property Type Required Mutable Description

id

UUID

N/A

Read-only

Specifies the unique ID of the newly created branch.

name

String

Required

Mutable

Specifies the name of the newly created branch.

head

UUID

N/A

Read-only

Specifies the unique ID of the snapshot at the head of the newly created branch.

parentId

UUID

N/A

Read-only

Specifies the unique ID of the parent of the newly created branch, if such a parent exists.

tip.id

UUID

N/A

Read-only

Specifies the unique ID of the snapshot at the tip of the newly created branch.

tip.parentId

UUID

N/A

Read-only

Specifies the unique ID of the parent of the snapshot at the tip of the newly created branch, if such a parent exists.

tip.state

String

N/A

Read-only

Specifies the state of the imported snapshot. The state is either COMMITTED or UNCOMMITTED.

tip.commitDetails

JSON

N/A

Read-only

Provides details of the commit associated with the imported snapshot.

tip.approvals

String[]

N/A

Read-only

Provides a list of approval user IDs associated with the imported snapshot.

tip.branchId

UUID

N/A

Read-only

Specifies the unique ID of the imported snapshot’s original branch.

<objectType>

JSON[]

Required

Immutable

Provides an array of the JSON objects contained in an exported snapshot.

<objectType>

Snapshot Entity[]

Optional

Immutable

Provides an array of entities to include in a partial snapshot.

Snapshot entity reference data model

Property Type Required Mutable Description

id

UUID

Required

Immutable

Specifies the unique ID of the entity to include in a partial snapshot.

type

String

Required

Immutable

Specifies the type of entity to include in a partial snapshot. Refer to Entity types for a list of allowable values.

includeChildren

Boolean

Required

Immutable

A boolean that determines wether to include children of an entity being included in a partial snapshot.

Conflict data model

Property Type Required Mutable Description

id

UUID

N/A

Read-only

Specifies the unique ID of the entity creating a conflict.

type

String

N/A

Read-only

Specifies the type of entity creating a conflict. Refer to Entity types for a list of possible values.

name

String

N/A

Read-only

The name of the entity creating the conflict.

conflict

String[]

N/A

Read-only

Provides a list of types of conflict that occurred in the merge process. The two types of conflict are COLLISION and DUPLICATE_FULL_NAME.

Conflict resolution data model

Property Type Required Mutable Description

id

UUID

Required

Immutable

Specifies the unique ID of the conflict resolution.

type

String

Required

Immutable

Specifies the type of entity to resolve a conflict for. Refer to Entity types for a list of allowable values.

resolution

String

Required

Immutable

Specifies how to resolve the merge conflict by either retaining the incoming changes (TAKE_SNAPSHOT) or the existing version (TAKE_MINE).

Response codes

Code Message

200

Successful operation.

400

A valid JSON value has not been specified correctly or the body provided is not a snapshot.

400

An invalid UUID format has been specified.

404

There is no snapshot in the system with the provided ID.

409

Branch name already exists.

409

Conflicts found.