---
schema_version: "1"
id: 59a9901fb765d5e44b5872bcd92e71dc3db0d3018f732bc125045a077a1086ba
title: Backup & Recover Next API
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/backup-recover-api/BaRN-api/references/generated-api-specs/BaRN-api-rest.md
canonical_url: https://developer.salesforce.com/docs/platform/barn-api/references/BaRN-api-rest
source_site: developer.salesforce.com
content_type: documentation
content_hash: d77e560b7d035a3da3d377508019fb11ed2e635a1ade28e970527bf6113f0d2d
products:
  - Backup & Recover Next API
  - Own API Reference Documentation
---
Backup & Recover Next API

# Backup & Recover Next API

REST API to interact with the Backup & Recover Next Service. Use this API to manage backups (run, cancel, configure), view compare and restore activities, compare data from backups, and retrieve audit event logs.

**Version:** 0.1.0

## Servers

*   `https://api.salesforce.com/platform/data-resilience/backup/v1` URL required for backup endpoints.
*   `https://api.salesforce.com/platform/data-resilience/bar-admin/v1` URL required for audit endpoint.
*   `https://api.salesforce.com/platform/data-resilience/recover/v1` URL required for recover endpoints.

Default security: bearerAuth; SalesforceHeaders + SalesforceClientCert + SalesforceCoreTenantId.

## Security

*   `bearerAuth` (http)
    *   HTTP scheme: bearer
*   `SalesforceHeaders` (apiKey) Salesforce user ID
    *   API key in header: X-SFDC-USER-ID
*   `SalesforceClientCert` (apiKey) Client certificate for authentication
    *   API key in header: X-FORWARDED-CLIENT-CERT
*   `SalesforceCoreTenantId` (apiKey) Salesforce core tenant ID
    *   API key in header: X-SFDC-CORE-TENANT-ID

## Operations

### GET Get backups list

`GET /backups`

Operation ID: `getBackups`.

Get a list of all backups.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/backup/v1` (URL required for backup endpoints.).

#### Parameters

*   `pageNumber` (query, integer) Page number of the results to display.  
    Default: `1`.
*   `pageSize` (query, integer) Number of records to display per page.  
    Default: `100`. Minimum: 1. Maximum: 1000.
*   `sort` (query, SortField) Field to sort on.
*   `sortDir` (query, SortDir) Sort direction.
*   `fromTimestamp` (query, integer (int64)) The earliest starting timestamp of the backups to include in the results.
*   `toTimestamp` (query, integer (int64)) The latest starting timestamp of the backups to include in the results.
*   `state` (query, string) Filter by execution state(s). Multiple states can be provided as comma-separated values (e.g., 'COMPLETE,FAILED').
*   `triggerType` (query, string) Filter by trigger type of the backup.  
    Allowed values: `SCHEDULED`, `ON_DEMAND`.
*   `fromEndTimestamp` (query, integer (int64)) The earliest end timestamp of the backups to include in the results.
*   `toEndTimestamp` (query, integer (int64)) The latest end timestamp of the backups to include in the results.
*   `initiatedBy` (query, string) Only display backups initiated by the specified user ID.
*   `minRecordsFailed` (query, integer (int64)) Minimum number of records that failed (inclusive).
*   `maxRecordsFailed` (query, integer (int64)) Maximum number of records that failed (inclusive).
*   `minRecordsAdded` (query, integer (int64)) Minimum number of records added since the previous backup (inclusive).
*   `maxRecordsAdded` (query, integer (int64)) Maximum number of records added since the previous backup (inclusive).
*   `minRecordsChanged` (query, integer (int64)) Minimum number of records updated since the previous backup (inclusive).
*   `maxRecordsChanged` (query, integer (int64)) Maximum number of records updated since the previous backup (inclusive).
*   `minRecordsRemoved` (query, integer (int64)) Minimum number of records deleted since the previous backup (inclusive).
*   `maxRecordsRemoved` (query, integer (int64)) Maximum number of records deleted since the previous backup (inclusive).
*   `minTotalRecords` (query, integer (int64)) Minimum total number of records (changed + added + removed) (inclusive).
*   `maxTotalRecords` (query, integer (int64)) Maximum total number of records (changed + added + removed) (inclusive).
*   `backupType` (query, string) Filter by backup type(s). Multiple types can be provided as comma-separated values (e.g., 'FULL,DELTA'). Valid values are FULL (full backup) or DELTA (incremental backup).
*   `type` (query, string) Filter by type(s). Multiple types can be provided as comma-separated values (e.g., 'DATA\_FULL,DATA\_DELTA'). Valid values are DATA\_FULL, DATA\_DELTA, METADATA\_FULL.
*   `dataStatus` (query, string) Filter by data status(es). Multiple statuses can be provided as comma-separated values (e.g., 'COMPLETED,FAILED'). Valid values are IN\_PROGRESS, COMPLETED, COMPLETED\_WITH\_ERRORS, FAILED, CANCELED.
*   `fileStatus` (query, string) Filter by file status(es). Multiple statuses can be provided as comma-separated values (e.g., 'COMPLETED,IN\_PROGRESS'). Valid values are IN\_PROGRESS, COMPLETED, COMPLETED\_WITH\_ERRORS, FAILED, CANCELED.

#### Responses

*   **200** List of backups.
    
    Media type: `application/json`. Schema: `BackupsResponse`.
    
*   **400** Invalid request
    
    Media type: `application/json`. Schema: `Error`.
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `Error`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** The specified resource was not found.
    
    Media type: `application/json`. Schema: `Error`.
    
*   **500** Internal Server Error
    
    Media type: `application/json`. Schema: `Error`.
    

### GET Get specific backup

`GET /backups/{backupId}`

Operation ID: `getBackupById`.

Get details and objects of a specific backup (by ID).

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/backup/v1` (URL required for backup endpoints.).

#### Parameters

*   `backupId` (path, integer (int64), required) Backup ID.

#### Responses

*   **200** Backup details.
    
    Media type: `application/json`. Schema: `BackupResponse`.
    
*   **400** Invalid request
    
    Media type: `application/json`. Schema: `Error`.
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `Error`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** The specified resource was not found.
    
    Media type: `application/json`. Schema: `Error`.
    
*   **500** Internal Server Error
    
    Media type: `application/json`. Schema: `Error`.
    

### GET Get backup objects

`GET /backups/{backupId}/objects`

Operation ID: `getBackupObjects`.

Get a list of backup details for an object in a specific backup.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/backup/v1` (URL required for backup endpoints.).

#### Parameters

*   `backupId` (path, integer (int64), required) ID of the backup execution.
*   `pageNumber` (query, integer) Page number of the results to display.  
    Default: `1`.
*   `pageSize` (query, integer) Number of records to display per page.  
    Default: `100`. Minimum: 1. Maximum: 1000.
*   `sort` (query, ObjectBackupExecutionSortField) Field to sort on.
*   `sortDir` (query, SortDir) Sort direction.
*   `objectType` (query, string) Filter by Salesforce object type (partial match).
*   `fromStartTime` (query, integer (int64)) The earliest start timestamp of the object backups to include in the results.
*   `toStartTime` (query, integer (int64)) The latest start timestamp of the object backups to include in the results.
*   `fromEndTime` (query, integer (int64)) The earliest end timestamp of the object backups to include in the results.
*   `toEndTime` (query, integer (int64)) The latest end timestamp of the object backups to include in the results.
*   `minRecordsAffected` (query, integer (int64)) Minimum number of records affected (inclusive).
*   `maxRecordsAffected` (query, integer (int64)) Maximum number of records affected (inclusive).
*   `minRecordsProcessed` (query, integer (int64)) Minimum number of records processed (inclusive).
*   `maxRecordsProcessed` (query, integer (int64)) Maximum number of records processed (inclusive).
*   `minRecordsFailed` (query, integer (int64)) Minimum number of records failed (inclusive).
*   `maxRecordsFailed` (query, integer (int64)) Maximum number of records failed (inclusive).
*   `minRecordsAdded` (query, integer (int64)) Minimum number of records added (inclusive).
*   `maxRecordsAdded` (query, integer (int64)) Maximum number of records added (inclusive).
*   `minRecordsChanged` (query, integer (int64)) Minimum number of records changed (inclusive).
*   `maxRecordsChanged` (query, integer (int64)) Maximum number of records changed (inclusive).
*   `minRecordsRemoved` (query, integer (int64)) Minimum number of records removed (inclusive).
*   `maxRecordsRemoved` (query, integer (int64)) Maximum number of records removed (inclusive).
*   `minTotalRecords` (query, integer (int64)) Minimum total number of records (changed + added + removed) (inclusive).
*   `maxTotalRecords` (query, integer (int64)) Maximum total number of records (changed + added + removed) (inclusive).
*   `minFilesProcessed` (query, integer (int64)) Minimum number of files processed (inclusive).
*   `maxFilesProcessed` (query, integer (int64)) Maximum number of files processed (inclusive).
*   `minFilesFailed` (query, integer (int64)) Minimum number of files failed (inclusive).
*   `maxFilesFailed` (query, integer (int64)) Maximum number of files failed (inclusive).
*   `stableId` (query, string) Only display object backups with the specified stable ID.
*   `snapshotId` (query, string) Only display object backups with the specified snapshot ID.
*   `dataStatus` (query, string) Filter by data status(es). Multiple statuses can be provided as comma-separated values (e.g., 'COMPLETED,FAILED'). Valid values are IN\_PROGRESS, COMPLETED, COMPLETED\_WITH\_ERRORS, FAILED, CANCELED.
*   `fileStatus` (query, string) Filter by file status(es). Multiple statuses can be provided as comma-separated values (e.g., 'COMPLETED,IN\_PROGRESS'). Valid values are IN\_PROGRESS, COMPLETED, COMPLETED\_WITH\_ERRORS, FAILED, CANCELED.

#### Responses

*   **200** List of objects in the specified backup.
    
    Media type: `application/json`. Schema: `BackupObjectsPageResponse`.
    
*   **400** Invalid request
    
    Media type: `application/json`. Schema: `Error`.
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `Error`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** The specified resource was not found.
    
    Media type: `application/json`. Schema: `Error`.
    
*   **500** Internal Server Error
    
    Media type: `application/json`. Schema: `Error`.
    

### POST Run backup now

`POST /backups/data`

Operation ID: `enqueueBackup`.

Run a backup on demand. Limited to 2 API calls per day.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/backup/v1` (URL required for backup endpoints.).

#### Request body (required)

Configure the type of backup to run (full (FULL) or incremental (DELTA)).

Media type: `application/json`. Schema: `OnDemandBackupEnqueueRequest`.

#### Responses

*   **200** OK.
    
    Media type: `application/json`. Schema: `BackupEnqueueResponse`.
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `Error`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** The specified resource was not found.
    
    Media type: `application/json`. Schema: `Error`.
    
*   **409** Conflict.
    
    Media type: `application/json`. Schema: `BackupEnqueueResponse`.
    
*   **429** Too Many Requests.
    
    Media type: `application/json`. Schema: `BackupEnqueueResponse`.
    
*   **500** Failed.
    
    Media type: `application/json`. Schema: `Error`.
    

### POST Cancel backup

`POST /backups/{backupId}/abort`

Operation ID: `abortBackup`.

Cancel a running backup.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/backup/v1` (URL required for backup endpoints.).

#### Parameters

*   `backupId` (path, integer (int64), required) Backup ID.

#### Request body (required)

Cancellation reason details.

Media type: `application/json`. Schema: `AbortBackupRequest`.

#### Responses

*   **200** Backup was successfully canceled.
    
    Media type: `application/json`. Schema: `BackupExecutionStateResponse`.
    
*   **400** Invalid request
    
    Media type: `application/json`. Schema: `Error`.
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `Error`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** The specified resource was not found.
    
    Media type: `application/json`. Schema: `Error`.
    
*   **409** Conflict
    
    Media type: `application/json`. Schema: `Error`.
    
*   **500** Internal Server Error
    
    Media type: `application/json`. Schema: `Error`.
    

### GET Get backup settings

`GET /policy`

Operation ID: `getLatestPolicy`.

Get the current backup settings.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/backup/v1` (URL required for backup endpoints.).

#### Responses

*   **200** Backup policy details.
    
    Media type: `application/json`. Schema: `IngestionPolicyResponse`.
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `Error`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** The specified resource was not found.
    
    Media type: `application/json`. Schema: `Error`.
    
*   **500** Internal Server Error
    
    Media type: `application/json`. Schema: `Error`.
    

### POST Set backup settings

`POST /policy`

Operation ID: `upsertPolicy`.

Update the backup settings.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/backup/v1` (URL required for backup endpoints.).

#### Request body (required)

Media type: `application/json`. Schema: `IngestionPolicyUpsertRequest`.

#### Responses

*   **200** Updated backup policy details.
    
    Media type: `application/json`. Schema: `IngestionPolicyResponse`.
    
*   **400** Invalid request
    
    Media type: `application/json`. Schema: `Error`.
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `Error`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **500** Internal Server Error
    
    Media type: `application/json`. Schema: `Error`.
    

### GET Get retention rules

`GET /policy/retention`

Operation ID: `getRetentionRules`.

Get the retention rules that define how long backups are kept before automatic deletion.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/backup/v1` (URL required for backup endpoints.).

#### Responses

*   **200** Retention rules details.
    
    Media type: `application/json`. Schema: `RetentionPolicyResponse`.
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `Error`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** The specified resource was not found.
    
    Media type: `application/json`. Schema: `Error`.
    
*   **500** Internal Server Error
    
    Media type: `application/json`. Schema: `Error`.
    

### POST Set retention rules

`POST /policy/retention`

Operation ID: `createRetentionRules`.

Create or update the retention rules that define how long backups are kept before automatic deletion.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/backup/v1` (URL required for backup endpoints.).

#### Request body (required)

Configure how long different types of backups are retained.

Media type: `application/json`. Schema: `RetentionPolicyRequest`.

#### Responses

*   **200** Updated retention rules details.
    
    Media type: `application/json`. Schema: `RetentionPolicyResponse`.
    
*   **400** Invalid request
    
    Media type: `application/json`. Schema: `Error`.
    
*   **401** Unauthorized
    
    Media type: `application/json`. Schema: `Error`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **500** Internal Server Error
    
    Media type: `application/json`. Schema: `Error`.
    

### GET Get activities

`GET /activities`

Operation ID: `GetActivities`.

Get a list of activities.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `pageNumber` (query, integer) Page number of the results to display.  
    Default: `1`. Minimum: 1.

#### Responses

*   **200** A list of activities.
    
    Media type: `application/json`. Schema: `GetActivitiesResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get a specific activity

`GET /activities/{activityId}`

Operation ID: `GetActivity`.

Get details of a specific activity.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Activity ID.  
    Minimum: 1.

#### Responses

*   **200** Activity details.
    
    Media type: `application/json`. Schema: `GetActivityResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** Not found - requested resource does not exist
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### POST Query compare results or records selected to restore

`POST /activities/{activityId}/objects/records`

Operation ID: `QueryRestoreSelectionRecords`.

Browse or compare results before creating a restore activity:

*   Queries compare activity results without selection state
*   Returns records without the `selectedForRestore` field
*   Requires `objectName` parameter

View and manage record selections for restore:

*   Queries restore activity records with current selection state
*   Returns records with `selectedForRestore` field populated (true/false)
*   Added records from the parent compare activities records list are not included
*   `objectName` is optional: if provided, must be one of the objects in the restore activity's objectsToRestoreList; if not provided, defaults to the first object in objectsToRestoreList
*   Activity must have a compare parent activity

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Activity ID.  
    Minimum: 1.

#### Request body (required)

Media type: `application/json`. Schema: `QueryRestoreSelectionRecordsRequest`.

#### Responses

*   **200** Activity queried successfully.
    
    Media type: `application/json`. Schema: `QueryRestoreSelectionRecordsResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **422** Unprocessable entity - request cannot be processed
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### PATCH Update selected records to restore

`PATCH /activities/{activityId}/objects/records`

Operation ID: `UpdateRestoreSelectionRecords`.

Select or deselect records to restore using batch operations. The restore activity must have a compare parent activity. The `objectName` parameter is optional and defaults to the first object in objectsToRestoreList.

Submit one or more batches to update record selections. Each batch specifies which records to match and what changes to apply. When multiple batches match the same record, the last batch determines the final selection state.

Use filter expressions to target specific records and combine multiple filters to narrow your selection. To match all records, use: `{"fieldName": "id", "operator": "not_in", "value": []}`

Requirements:

*   `fieldName` must be `selectedForRestore`
*   `value` must be either 'true' or 'false'
*   `isMetadata` must be 'true'

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Activity ID.  
    Minimum: 1.

#### Request body (required)

Media type: `application/json`. Schema: `UpdateRestoreSelectionRecordsRequest`.

#### Responses

*   **200** Selected records updated successfully.
    
    Media type: `application/json`. Schema: `UpdateRestoreSelectionRecordsResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **422** Unprocessable entity - request cannot be processed
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### POST Query compare results with selection records

`POST /activities/{activityId}/objects/selection-records`

Operation ID: `querySelectionRecords`.

Query compare results with selection records.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Compare activity ID.  
    Minimum: 1.

#### Request body (required)

Media type: `application/json`. Schema: `QueryRestoreWithHierarchySelectionRecordsRequest`.

#### Responses

*   **200** Compare results with selection records.
    
    Media type: `application/json`. Schema: `QueryRestoreWithHierarchySelectionRecordsResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **422** Unprocessable entity - request cannot be processed
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### PATCH Update selected records to restore

`PATCH /activities/{activityId}/objects/selection-records`

Operation ID: `updateSelectionRecords`.

Select or deselect what records to restore in a compare activity.

Submit one or more batches to update selected records to restore. Each batch specifies which records to match and what changes to apply. If multiple batches match the same record, the last batch determines the final selection state.

Use filter expressions to target specific records and combine multiple filters to narrow your selection. To match all records use: `{"fieldName": "id", "operator": "not_in", "value": []}`

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Compare activity ID.  
    Minimum: 1.

#### Request body (required)

Media type: `application/json`. Schema: `UpdateRestoreSelectionRecordsRequest`.

#### Responses

*   **200** Successful update.
    
    Media type: `application/json`. Schema: `UpdateSelectionRecordsResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **422** Unprocessable entity - request cannot be processed
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get selected record changes in a compare activity

`GET /activities/{activityId}/objects/{objectName}/selection-counts`

Operation ID: `GetSelectionCountsByType`.

Get how many of the records selected to restore in a compare activity were changed or deleted.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Compare activity ID.  
    Minimum: 1.
*   `objectName` (path, string, required) Salesforce object API name.  
    Minimum length: 1. Maximum length: 256. Pattern: ^\[a-zA-Z0-9\_\]{1,256}$.

#### Responses

*   **200** Selection counts by change to record.
    
    Media type: `application/json`. Schema: `SelectionCountsByTypeResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** Activity not found.
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### POST Get summary for specified object paths

`POST /activities/{activityId}/hierarchy-summary`

Operation ID: `getHierarchySummary`.

Retrieves deleted counts, modified counts, and restore status for specified node paths in a restore with object level depth.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Activity ID.  
    Minimum: 1.

#### Request body (required)

Media type: `application/json`. Schema: `GetHierarchySummaryRequest`.

#### Responses

*   **200** Map of node paths to hierarchy summary data.
    
    Media type: `application/json`. Schema: `GetHierarchySummaryResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** Activity not found.
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get records selected to restore

`GET /activities/{activityId}/hierarchy-results-records`

Operation ID: `GetHierarchyResultsRecords`.

Get records selected to restore in a restore activity, filtered by object name and change type (deleted or modified).

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Activity ID.  
    Minimum: 1.
*   `objectName` (query, string, required) Salesforce object API name.  
    Minimum length: 1. Maximum length: 256. Pattern: ^\[a-zA-Z0-9\_\]{1,256}$.
*   `nodeId` (query, string, required) Unique identifier for the node at this object level.  
    Minimum length: 1. Maximum length: 64. Pattern: ^\[a-zA-Z0-9\_\]{1,64}$.
*   `type` (query, string, required) Type of change to filter by.  
    Allowed values: `deleted`, `modified`.
*   `pageNumber` (query, integer) Page number of the results to display.  
    Default: `1`. Minimum: 1.
*   `pageSize` (query, integer) Number of records to display per page.  
    Default: `50`. Minimum: 1. Maximum: 200.

#### Responses

*   **200** Successful response.
    
    Media type: `application/json`. Schema: `QueryRestoreSelectionRecordsResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **422** Unprocessable entity - request cannot be processed
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### POST Run compare

`POST /activities/compare`

Operation ID: `CreateCompareActivity`.

Creates a new compare activity to analyze differences between two backups. Use `'all'` in the objects array to compare all objects that exist in both backups or use specific object names to compare only those objects (if they exist in both backups).

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Request body (required)

Media type: `application/json`. Schema: `CreateCompareActivityRequest`.

#### Responses

*   **200** Compare activity created.
    
    Media type: `application/json`. Schema: `CreateCompareActivityResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **422** Unprocessable entity - request cannot be processed
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get compare activity details

`GET /activities/compare/{activityId}`

Operation ID: `GetCompareActivity`.

Get details of a specific compare activity.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Compare activity ID.  
    Minimum: 1.

#### Responses

*   **200** Compare activity details.
    
    Media type: `application/json`. Schema: `GetCompareActivityResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get objects changes in a compare activity

`GET /activities/compare/{activityId}/summaries`

Operation ID: `CompareActivitySummaries`.

Get object changes in a compare activity.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Compare activity ID.  
    Minimum: 1.
*   `pageNumber` (query, integer) Page number of the results to display.  
    Default: `1`. Minimum: 1.
*   `pageSize` (query, integer) Number of records to display per page.  
    Default: `50`. Minimum: 1. Maximum: 200.
*   `searchTerm` (query, string) Search term to filter results by object name.  
    Maximum length: 100. Pattern: ^\[a-zA-Z0-9\_\\s-\]\*$.

#### Responses

*   **200** Changed objects in a compare activity.
    
    Media type: `application/json`. Schema: `CompareActivitySummariesResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** Compare activity not found.
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get restore activity details

`GET /activities/restore/{activityId}`

Operation ID: `GetRestoreActivity`.

Get details of a specific restore activity.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Restore activity ID.  
    Minimum: 1.

#### Responses

*   **200** Restore activity details.
    
    Media type: `application/json`. Schema: `GetRestoreActivityResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get restore activity details with object level depth

`GET /activities/restore-with-hierarchy/{activityId}`

Operation ID: `getRestoreWithHierarchy`.

Get details of a specific restore activity with object level depth.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Restore activity ID.  
    Minimum: 1.

#### Responses

*   **200** Restore activity details with object level depth fields.
    
    Media type: `application/json`. Schema: `GetRestoreWithHierarchyActivityResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get object restore results

`GET /activities/restore/{activityId}/objects/{objectName}/result-counts`

Operation ID: `GetRestoreResultCounts`.

Get restore results for a specific object by status and change type.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Restore activity ID.  
    Minimum: 1.
*   `objectName` (path, string, required) Salesforce object API name.  
    Minimum length: 1. Maximum length: 256. Pattern: ^\[a-zA-Z0-9\_\]{1,256}$.

#### Responses

*   **200** Object restore result counts grouped by status and change type.
    
    Media type: `application/json`. Schema: `RestoreResultCountsResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** Restore activity not found, or objectName is not in the activity's objectsToRestoreList.
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **422** Unprocessable entity - request cannot be processed
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get restore activity summary

`GET /activities/restore/{activityId}/summary`

Operation ID: `RestoreActivitySummary`.

Get object-level results of a restore activity.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Activity ID.  
    Minimum: 1.
*   `pageNumber` (query, integer) Page number of the results to display.  
    Default: `1`. Minimum: 1.
*   `pageSize` (query, integer) Number of records to display per page.  
    Default: `50`. Minimum: 1. Maximum: 500.
*   `searchTerm` (query, string) Search term to filter results by object name.

#### Responses

*   **200** Restore summary.
    
    Media type: `application/json`. Schema: `RestoreActivitySummaryResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get metadata of a restore activity

`GET /activities/restore/{activityId}/record-selection-metadata`

Operation ID: `GetRestoreActivityRecordSelectionMetadata`.

metadata about a restore activity, including restore status, the backups used to create the parent compare activity, objects included in the restore, and records selected to restore.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Restore activity ID.  
    Minimum: 1.

#### Responses

*   **200** Restore activity metadata.
    
    Media type: `application/json`. Schema: `RestoreActivityRecordSelectionMetadataResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** Restore activity not found.
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get restore details for a specific object

`GET /activities/restore/{activityId}/results/{objectName}`

Operation ID: `RestoreActivityObjectResults`.

Get restore details for a specific object.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Restore activity ID.  
    Minimum: 1.
*   `objectName` (path, string, required) Salesforce object API name.  
    Minimum length: 1. Maximum length: 256. Pattern: ^\[a-zA-Z0-9\_\]{1,256}$.
*   `pageNumber` (query, integer) Page number of the results to display.  
    Default: `1`. Minimum: 1.
*   `pageSize` (query, integer) Number of records to display per page.  
    Default: `50`. Minimum: 1. Maximum: 200.
*   `searchTerm` (query, string) Search term to filter results by object name.  
    Minimum length: 1. Maximum length: 256. Pattern: ^\[A-Za-z0-9 \_.:,\\-\]{1,256}$.

#### Responses

*   **200** Object restore results.
    
    Media type: `application/json`. Schema: `RestoreActivityObjectResultsResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** Not found - requested resource does not exist
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get restore details for a specified object path

`GET /activities/restore-with-hierarchy/{activityId}/results`

Operation ID: `getRestoreWithHierarchyResults`.

Receives restore activity details (including metadata) for a specific node path in restore activities with object level depth.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/recover/v1` (URL required for recover endpoints.).

#### Parameters

*   `activityId` (path, integer (int64), required) Restore activity ID.  
    Minimum: 1.
*   `nodePath` (query, string, required) Hierarchy node path (e.g., 'Account', 'Account\_Contact', 'Account\_Contact\_Task').  
    Minimum length: 1. Maximum length: 512. Pattern: ^\[a-zA-Z0-9\_\]{1,512}$.
*   `type` (query, string, required) Type of change to filter by.  
    Allowed values: `inserted`, `updated`.
*   `pageNumber` (query, integer) Page number of the results to display.  
    Default: `1`. Minimum: 1.
*   `pageSize` (query, integer) Number of records to display per page.  
    Default: `50`. Minimum: 1. Maximum: 200.

#### Responses

*   **200** Restore results for a specific node path.
    
    Media type: `application/json`. Schema: `RestoreWithHierarchyActivityObjectResultsResponse`.
    
*   **400** Bad request - invalid parameters or validation errors
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **401** Unauthorized - invalid or missing authentication
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **403** Forbidden
    
    Media type: `application/json`. Schema: `Error`.
    
*   **404** Not found - requested resource does not exist
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **405** Method not allowed - the HTTP method is not supported for this endpoint
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **415** Unsupported media type - the request content type is not supported
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
*   **500** Internal server error - unexpected error occurred
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    

### GET Get audit events

`GET /audit-events`

Operation ID: `listAuditEvents`.

Get a list of audit events.

Servers for this operation: `https://api.salesforce.com/platform/data-resilience/bar-admin/v1` (URL required for audit endpoint.).

#### Parameters

*   `pageNumber` (query, integer) Page number to retrieve (1-indexed, default 1).  
    Default: `1`. Minimum: 1.
    
    _Example_
    
    ```
    1
    ```
    
*   `pageSize` (query, integer) Number of events per page (default 100, max 1000).  
    Default: `100`. Minimum: 1. Maximum: 1000.
    
    _Example_
    
    ```
    100
    ```
    

#### Responses

*   **200** Audit events retrieved successfully.
    
    Media type: `application/json`. Schema: `PagedAuditEventLogResponse`.
    
*   **400** Bad request - invalid request parameters
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
    _Example_
    
    ```
    {
      "errorCode": "Bad Request",
      "message": "Invalid request parameters",
      "timestamp": "2023-12-01T10:30:00Z"
    }
    ```
    
*   **500** Internal server error during provisioning
    
    Media type: `application/json`. Schema: `ErrorResponse`.
    
    _Example_
    
    ```
    {
      "errorCode": "Internal Server Error",
      "message": "An unexpected error occurred during provisioning",
      "timestamp": "2023-12-01T10:30:00Z"
    }
    ```
    

## Schemas

### SortField

Sort field.

Type: `string`.

Allowed values: `ID`, `STATE`, `DATA_STATUS`, `FILE_STATUS`, `BACKUP_TYPE`, `TYPE`, `EXECUTION_START_TS`, `EXECUTION_END_TS`, `DURATION`, `RECORDS_FAILED`, `RECORDS_ADDED`, `RECORDS_CHANGED`, `RECORDS_REMOVED`, `TOTAL_RECORDS`, `TRIGGER_TYPE`. Default: `ID`.

### SortDir

Sort direction.

Type: `string`.

Allowed values: `ASC`, `DESC`. Default: `DESC`.

### BackupsResponse

Paginated list of backups.

*   `pageNumber` (_integer (int32)_, required) Current page number.  
    Minimum: 1.
*   `pageSize` (_integer (int32)_, required) Number of records to display per page.
*   `totalSize` (_integer (int64)_, required) Total number of backups to display.
*   `backups` (_array of BackupSummaryResponse_, required)

### Error

*   `message` (_string_)  
    Example: `Error Message`.
*   `errorCode` (_string_)  
    Example: `001`.

### BackupResponse

Detailed information about a backup, including per-object details.

Includes all fields of `BackupSummaryResponse`.

*   `objects` (_array of BackupObjectResponse_) List of object-level backup details.

### ObjectBackupExecutionSortField

Sort field for backup objects.

Type: `string`.

Allowed values: `ID`, `OBJECT_TYPE`, `DATA_STATUS`, `FILE_STATUS`, `START_TIME`, `END_TIME`, `RECORDS_AFFECTED`, `RECORDS_PROCESSED`, `RECORDS_FAILED`, `RECORDS_ADDED`, `RECORDS_CHANGED`, `RECORDS_REMOVED`, `TOTAL_RECORDS`, `FILES_PROCESSED`, `FILES_FAILED`, `BACKUP_EXECUTION_ID`, `STABLE_ID`, `SNAPSHOT_ID`. Default: `ID`.

### BackupObjectsPageResponse

Paginated list of backup objects.

*   `pageNumber` (_integer (int32)_, required) Current page number.  
    Minimum: 1.
*   `pageSize` (_integer (int32)_, required) Number of items per page.
*   `totalSize` (_integer (int64)_, required) Total number of backup objects available.
*   `objects` (_array of BackupObjectResponse_, required)

### OnDemandBackupEnqueueRequest

Additional specification for on-demand run of a backup policy, placing it in the queue with high priority.

*   `backupType` (_BackupTypeDTO_, required)

### BackupEnqueueResponse

Queue insertion results for an on-demand run of a backup.

*   `queued` (_boolean_, required) Whether or not the backup was successfully added to the queue.
*   `backupId` (_integer (int64)_, read-only) ID assigned to the queued backup.  
    Example: `1627881608368`.
*   `enqueueRejectionReason` (_BackupEnqueueRejectionReasonResponse_)

### AbortBackupRequest

Reason backup was canceled.

*   `abortReason` (_CancelDeactivationReason_, required)
*   `abortReasonOther` (_string_) Only required when abortReason is OTHER.  
    Minimum length: 1. Maximum length: 1000. Example: `User requested cancellation`.

### BackupExecutionStateResponse

Defines the state of a backup.

Type: `string`.

Allowed values: `QUEUED`, `IN_PROGRESS`, `COMPLETE`, `FAILED`, `ABORTED`, `RECORDS_COMPLETE`.

### IngestionPolicyResponse

Backup policy configuration.

*   `versionId` (_integer_) Policy Version ID.
*   `dataActive` (_boolean_)
*   `dataExclusions` (_array of PolicyResourceExclusion_)
*   `dataSchedule` (_PolicySchedule_) Schedule for Incremental DATA backups (daily).
*   `dataScheduleFull` (_PolicyScheduleFull_) Schedule for FULL DATA backups (weekly).
*   `filesAndAttachments` (_PolicyFilesAndAttachments_)

### IngestionPolicyUpsertRequest

Update a policy. All fields are optional. For updates, only provided fields are updated. For exclusions, the exclusions are replaced by the provided array. An empty array will clear the exclusions.

*   `dataActive` (_boolean_, nullable)
*   `dataExclusions` (_array of PolicyResourceExclusion_, nullable)
*   `dataScheduleDelta` (_PolicySchedule_) Schedule for Incremental DATA backups (daily).
*   `dataScheduleFull` (_PolicyScheduleFull_) Schedule for FULL DATA backups (weekly).
*   `filesAndAttachments` (_PolicyFilesAndAttachments_)
*   `deactivationReason` (_CancelDeactivationReason_)
*   `deactivationReasonOther` (_string_)  
    Minimum length: 1. Maximum length: 120.

### RetentionPolicyResponse

Retention rules that define how long backups are kept.

*   `rules` (_array of RetentionPolicyRule_, required) Array of retention rules for different backup cadences (daily, weekly, monthly, subdaily). The SUBDAILY rule's retentionDays controls how long untagged backups are retained.

### RetentionPolicyRequest

Configure retention rules that define how long backups are kept.

*   `rules` (_array of RetentionPolicyRule_, required) Array of retention policy configurations for different backup cadences. At least one rule is required, each cadence (DAILY, WEEKLY, MONTHLY, SUBDAILY) may appear at most once, and a maximum of four rules may be provided.  
    Minimum items: 1. Maximum items: 4.

### GetActivitiesResponse

*   `data` (_array of Activity_)
*   `totalSize` (_integer (int64)_) Total number of activities to display.  
    Minimum: 1.
*   `pageSize` (_integer_) Number of records to display per page.  
    Minimum: 1.
*   `metadata` (_PageMetadata_) Deprecated.

### ErrorResponse

*   `errorCode` (_string_) Error type or category.  
    Example: `Invalid request`.
*   `message` (_string_) Human-readable error message.  
    Example: `Organization ID must be 15 or 18 characters`.
*   `timestamp` (_string (date-time)_) When the error occurred.  
    Example: `2023-12-01T10:30:00Z`.

### GetActivityResponse

Details of an activity.

Includes all fields of `Activity`.

*   `parameters` (_object_) Activity-type-specific parameters. Each activity type may include its own custom key-value pairs (e.g. backupId, objectsToDownload for DOWNLOAD\_METADATA\_BACKUP activities).

### QueryRestoreSelectionRecordsRequest

Request to query an activity.

*   `objectName` (_string_) Salesforce object API name to query. Required for compare activities. Defaults to the first object in objectsToRestoreList for restore activities.
*   `filterExp` (_array of FilterExpression_)
*   `pageNumber` (_integer_)  
    Default: `1`. Minimum: 1.
*   `pageSize` (_integer_)  
    Default: `50`. Minimum: 1. Maximum: 500.

### QueryRestoreSelectionRecordsResponse

Response containing a list of records to restore for a restore activity.

*   `data` (_array of RestoreSelectionRecord_, required)
*   `metadata` (_RestoreSelectionMetadata_, required)

### UpdateRestoreSelectionRecordsRequest

Request to update records selected to restore.

*   `objectName` (_string_) Salesforce object API name to update. Defaults to the first object in objectsToRestoreList.
*   `batches` (_array of object_, required) Batch operations to apply. Provide at least one batch.  
    Minimum items: 1.
    *   `filterExp` (_array of FilterExpression_, required) Filter expressions to match records. Provide at least one filter per batch.  
        Minimum items: 1.
    *   `changeExp` (_array of object_, required) Changes to apply to matched records. Currently the only supported fieldName for changeExp is 'selectedForRestore'. Any other value for fieldName would be responded with an error.
        *   `fieldName` (_string_, required) Field name to update. This is a required field.  
            Example: `selectedForRestore`.
        *   `value` (_string_, required) New value. Use 'true' to select for restore, 'false' to deselect. Values are case-insensitive (e.g., 'TRUE', 'True', 'true' are all valid).  
            Example: `true`.
        *   `isMetadata` (_boolean_) Defaults to false if not provided.  
            Default: `false`.

### UpdateRestoreSelectionRecordsResponse

Response when selected records to restore are updated.

Includes all fields of `ModifiedActivity`.

### QueryRestoreWithHierarchySelectionRecordsRequest

Query to get compare results with records selected to restore.

*   `objectName` (_string_, required) Salesforce object API name.  
    Minimum length: 1.
*   `filterExp` (_array of FilterExpression_)
*   `pageNumber` (_integer_)  
    Default: `1`. Minimum: 1.
*   `pageSize` (_integer_)  
    Default: `50`. Minimum: 1. Maximum: 500.
*   `sortBy` (_array of object_) Array of sort criteria. Up to 5 sorting fields can be specified. Sort is applied in order: first item has highest priority.  
    Maximum items: 5.
    
    _Example_
    
    ```
    [
      {
        "column": "Name",
        "direction": "asc"
      },
      {
        "column": "CreatedDate",
        "direction": "desc"
      }
    ]
    ```
    
    *   `column` (_string_, required) Field name to sort results by.  
        Example: `Name`.
    *   `direction` (_string_, required) Sort order direction. 'asc' for ascending, 'desc' for descending.  
        Allowed values: `asc`, `desc`. Default: `asc`. Example: `asc`.

### QueryRestoreWithHierarchySelectionRecordsResponse

Response containing a list of records to restore for a restore activity with hierarchy.

*   `data` (_array of RestoreWithHierarchySelectionRecord_, required)
*   `metadata` (_RestoreWithHierarchySelectionMetadata_, required)

### UpdateSelectionRecordsResponse

Response when selected records to restore are updated in a compare activity.

*   `activityId` (_string_, required)
*   `totalSelectedForRestore` (_integer (int64)_) Total selected-for-restore records for the object after this update.  
    Minimum: 0.

### SelectionCountsByTypeResponse

Counts of selected records grouped by change type.

*   `changedCount` (_integer (int64)_, required) Number of modified records that are currently selected for restore.  
    Minimum: 0. Example: `150`.
*   `deletedCount` (_integer (int64)_, required) Number of deleted records that are currently selected for restore.  
    Minimum: 0. Example: `25`.

### GetHierarchySummaryRequest

Node-paths to request the summary for.

*   `nodePaths` (_array of string_, required) List of node paths to get summary for. Each path is colon-delimited (e.g., 'Account', 'Account:Contact', 'Account:Contact:Task').  
    Minimum items: 1. Maximum items: 500.
    
    _Example_
    
    ```
    [
      "Account",
      "Account:Contact",
      "Account:Opportunity"
    ]
    ```
    

### GetHierarchySummaryResponse

Map of node paths to their level summary data.

Additional properties: `HierarchyNodeSummary`.

_Example_

```
{
  "Account": {
    "deletedCount": 500,
    "modifiedCount": 120,
    "restoreStatus": "SUCCEEDED"
  },
  "Account:Contact": {
    "deletedCount": 1500,
    "modifiedCount": 0,
    "restoreStatus": null
  },
  "Account:Opportunity": {
    "deletedCount": 0,
    "modifiedCount": 50,
    "restoreStatus": null
  }
}
```

### CreateCompareActivityRequest

Request to create a compare activity.

*   `fromBackupId` (_string_, required) Source backup ID to compare from.  
    Minimum length: 1. Pattern: ^\[1-9\]\\d\*$.
*   `toBackupId` (_string_, required) Target backup ID to compare with.  
    Minimum length: 1. Pattern: ^\[1-9\]\\d\*$.
*   `activityType` (_string_)
    
    Type of compare activity to create. Defaults to `COMPARE` (data compare).
    
    *   `COMPARE`: Compare Data — compares record-level data between two data backups.
    *   `COMPARE_METADATA`: Compare Metadata — compares metadata snapshots between two metadata backups.
    
      
    Allowed values: `COMPARE`, `COMPARE_METADATA`. Default: `COMPARE`.
*   `objects` (_array of string_, required) List of Salesforce object names to compare. Use 'all' to compare all objects that exist in both backups. If specific objects are listed, only those objects are compared (if they exist in both backups).  
    Items: Minimum length: 1. Minimum items: 1. Unique items.

### CreateCompareActivityResponse

Response when a compare activity is created.

Includes all fields of `ModifiedActivity`.

### GetCompareActivityResponse

Compare activity details.

Includes all fields of `Activity`.

*   `fromBackupId` (_string_)
*   `toBackupId` (_string_)
*   `isCompareAll` (_boolean_)
*   `objectList` (_array of string_) List of object types included in the compare activity.

### CompareActivitySummariesResponse

A list of changed objects in a compare activity.

*   `objects` (_array of CompareSummary_)
*   `totalSize` (_integer (int64)_) Total number of objects to display.  
    Minimum: 1.
*   `pageSize` (_integer_) Number of records to display per page.  
    Minimum: 1.

### GetRestoreActivityResponse

Details of a restore activity.

Includes all fields of `Activity`.

*   `totalRecords` (_integer (int64)_, required) Total number of records across all objects.
*   `totalFailed` (_integer (int64)_, required) Total number of failed records across all objects.
*   `compareId` (_string_)
*   `objects` (_array of RestoreObjectStats_, required) Object details.

### GetRestoreWithHierarchyActivityResponse

Details of a restore activity with hierarchy.

*   `objectName` (_string_) Root parent Salesforce object API name.  
    Example: `Account`.
*   `status` (_string_) Current status of the restore activity.  
    Allowed values: `COMPLETED_WITH_ERRORS`, `COMPLETED`, `FAILED`, `IN_PROGRESS`.
*   `succeeded` (_integer (int64)_) Number of records that were successfully restored.  
    Minimum: 0. Example: `150`.
*   `partiallySucceeded` (_integer (int64)_) Number of records that partially succeeded during restore.  
    Minimum: 0. Example: `5`.
*   `failed` (_integer (int64)_) Number of records that failed during restore.  
    Minimum: 0. Example: `3`.
*   `earlierBackupDate` (_string (date-time)_) Date of the source backup (from backup).  
    Example: `2024-01-15T10:30:00Z`.
*   `laterBackupDate` (_string (date-time)_) Date of the target backup (to backup).  
    Example: `2024-01-20T15:45:00Z`.
*   `hierarchyDepth` (_integer_) Object level depth configured for this restore activity.  
    Minimum: 0. Maximum: 10. Example: `2`.
*   `endedAt` (_string (date-time)_) Activity completion timestamp in ISO-8601 UTC format. Must include timezone indicator (Z or +00:00).  
    Example: `2026-04-09T10:30:00.000Z`.
*   `hasRunningRetry` (_boolean_) Indicates whether there is currently a running retry activity for this restore. A retry activity is considered running if it references this activity and has any non-terminal status.  
    Example: `false`.
*   `hasChildRetry` (_boolean_) Whether this activity has been retried (has a child retry activity).  
    Example: `false`.

### RestoreResultCountsResponse

Counts of restore results, grouped by status and restore type.

*   `succeeded` (_RestoreResultCountsByType_, required)
*   `partiallySucceeded` (_RestoreResultCountsByType_, required)
*   `failed` (_RestoreResultCountsByType_, required)

### RestoreActivitySummaryResponse

Summary of a restore activity (status of the activity and the objects).

*   `data` (_array of RestoreResult_)
*   `metadata` (_PageMetadata_)

### RestoreActivityRecordSelectionMetadataResponse

Details of a record selected to restore.

*   `status` (_string_, required) Status of the restore activity.  
    Allowed values: `PREVIEW_RESTORE`, `IN_PROGRESS`, `PREVIEW_RESTORE_IN_PROGRESS`, `PREVIEW_RESTORE_COMPLETED_WITH_ERRORS`, `PREVIEW_RESTORE_RELOAD_IN_PROGRESS`, `COMPLETED`, `COMPLETED_WITH_ERRORS`, `FAILED`.
*   `fromBackupId` (_string_, required) ID of the backup used as the source for the restore.
*   `toBackupId` (_string_, required) ID of the backup used as the target for the restore.
*   `totalPreviewChanged` (_integer (int64)_, required) Total number of records that were changed in the preview restore.  
    Minimum: 0.
*   `totalPreviewDeleted` (_integer (int64)_, required) Total number of records that were deleted in the preview restore.  
    Minimum: 0.
*   `totalSelected` (_integer (int64)_, required) Total number of records selected for restore.  
    Minimum: 0.
*   `hierarchyDepth` (_integer_, required) Object level depth of the restore.  
    Minimum: 0. Maximum: 10.
*   `data` (_array of object_, required)
    *   `objectName` (_string_, required) Salesforce object API name of the object.
    *   `deletedCount` (_integer (int64)_, required) Total number of records deleted between backups.  
        Minimum: 0.
    *   `changedCount` (_integer (int64)_, required) Total number of records updated between backups.  
        Minimum: 0.
    *   `addedCount` (_integer (int64)_, required) Total number of records added between backups.  
        Minimum: 0.
    *   `totalCount` (_integer (int64)_, required) Sum of deletedCount and changedCount.  
        Minimum: 0.

### RestoreActivityObjectResultsResponse

Restore results for a specific object.

*   `data` (_array of RestoreObjectResult_)
*   `totalSize` (_integer (int64)_) Total number of items across all pages.  
    Minimum: 1.
*   `pageSize` (_integer_) Number of records to display per page.  
    Minimum: 1.
*   `metadata` (_PageMetadata_) Deprecated: Pagination information is now available at the top level via totalSize and pageSize fields. This field is maintained for backward compatibility and may be removed in a future version.

### RestoreWithHierarchyActivityObjectResultsResponse

Restore results for a node path.

*   `data` (_array of RestoreWithHierarchyRecordResult_, required)
*   `metadata` (_RestoreWithHierarchyActivityObjectResultsMetadata_, required)

### PagedAuditEventLogResponse

Paginated response containing a list of audit events.

*   `events` (_array of AuditEventResponse_) List of audit events.
*   `pageNumber` (_integer_) Current page number (1-indexed).  
    Minimum: 1. Example: `1`.
*   `pageSize` (_integer_) Number of events per page.  
    Example: `100`.
*   `totalSize` (_integer_) Total number of events available.  
    Example: `150`.

### BackupSummaryResponse

Summary information about a backup.

*   `id` (_integer (int64)_, required)
*   `state` (_BackupExecutionStateResponse_, required)
*   `backupType` (_BackupTypeDTO_, required)
*   `type` (_TypeDTO_, required) Combined data type and backup type.
*   `startedAt` (_string (date-time)_)
*   `endedAt` (_string (date-time)_)
*   `duration` (_integer (int64)_, nullable) Duration of the backup execution in milliseconds. Calculated as the difference between endedAt and startedAt. Null if either timestamp is missing.
*   `recordsFailed` (_integer (int64)_)
*   `recordsAdded` (_integer (int64)_)
*   `recordsChanged` (_integer (int64)_)
*   `recordsRemoved` (_integer (int64)_)
*   `initiatedBy` (_string_)
*   `filesProcessed` (_integer (int64)_) Number of files and attachments attempted to back up so far.
*   `dataStatus` (_BackupExecutionDataStatusResponse_) Data backup execution status.
*   `fileStatus` (_FileBackupStatusResponse_) File backup execution status.
*   `totalRecords` (_integer (int64)_) Total number of records in the backup (changed + added + removed).
*   `triggerType` (_string_, required) How the backup was triggered.

### BackupObjectResponse

*   `id` (_integer (int64)_) Unique identifier for the backup object.
*   `objectType` (_string_) Salesforce API name of the object.  
    Example: `account`.
*   `recordsFailed` (_integer (int64)_) Number of records that failed.
*   `recordsAdded` (_integer (int64)_) Number of records added since the previous backup.
*   `recordsChanged` (_integer (int64)_) Number of records updated since the previous backup.
*   `recordsRemoved` (_integer (int64)_) Number of records removed from the backup.
*   `filesProcessed` (_integer (int64)_) Number of files and attachments attempted to back up so far.
*   `startTime` (_string (date-time)_) Start time of the backup.
*   `endTime` (_string (date-time)_) End time of the backup.
*   `dataStatus` (_ObjectBackupExecutionDataStatusResponse_) Data backup execution status.
*   `fileStatus` (_FileBackupStatusResponse_) File backup execution status.
*   `errorCode` (_string_) Single error code for this object (mirrors errorList\[0\]).
*   `totalRecords` (_integer (int64)_) Total number of object records in the backup (changed + added + removed).

### BackupTypeDTO

Whether the backup is full or incremental (delta).

Type: `string`.

Allowed values: `FULL`, `DELTA`. Default: `DELTA`.

### BackupEnqueueRejectionReasonResponse

Reason the backup failed to queue.

Type: `string`.

Allowed values: `DELTA_REQUIRES_FULL_COMPLETED`, `SAME_TYPE_AND_CONTENT_ALREADY_QUEUED`, `DAILY_ON_DEMAND_LIMIT_REACHED`.

### CancelDeactivationReason

Reason for deactivating data or metadata backup.

Type: `string`.

Allowed values: `PLANNED_PRODUCTION_CHANGES`, `CONFIGURATION_CHANGES_TO_BACKUP_OPTIONS`, `ISSUE_OR_STALLED_BACKUP`, `PRIORITIZATION_OF_OTHER_ACTIVITIES`, `OTHER`.

### PolicyResourceExclusion

Exclusion entry for backup policy.

*   `type` (_string_)  
    Allowed values: `GROUP`, `OBJECT`.
*   `value` (_string_)
*   `excludedBy` (_string_) User or system who excluded (response only).
*   `excludedOn` (_string (date-time)_) When exclusion was set (response only).
*   `reason` (_string_)  
    Allowed values: `SYSTEM_RECOMMENDATION`, `REDUCE_BACKUP_DURATION`, `REDUCE_BACKUP_STORAGE`, `NOT_NEEDED_IN_BACKUP`, `DATA_PRIVACY`, `OTHER`.

### PolicySchedule

Schedule when backups run.

*   `runAtHour` (_integer_, required) Hour of day (0-23). For daily schedules (interval=24 or omitted), this is the execution hour. For sub-daily schedules, this is the start hour of the repeating interval pattern.  
    Minimum: 0. Maximum: 23.
*   `runAtMinute` (_integer_, required) Minute of hour (0-59). Required for all schedule configurations.  
    Minimum: 0. Maximum: 59.
*   `interval` (_integer_) Backup frequency in hours. Defaults to 24 (once daily) when omitted. Values must evenly divide 24.  
    Allowed values: `1`, `2`, `3`, `4`, `6`, `8`, `12`, `24`.

### PolicyScheduleFull

Schedule when full backups run.

*   `runAtHour` (_integer_)  
    Minimum: 0. Maximum: 23.
*   `runAtMinute` (_integer_)  
    Minimum: 0. Maximum: 59.
*   `runAtDayOfTheWeek` (_string_)  
    Allowed values: `MON`, `TUE`, `WED`, `THU`, `FRI`, `SAT`, `SUN`.

### PolicyFilesAndAttachments

Configuration of backups of files and attachments.

*   `enabled` (_boolean_) True if binary of ContentVersion, Attachment, and Document objects is included in the backup. False if only record data is included.
*   `disableReason` (_FatDisableReason_)
*   `disableReasonOther` (_string_) Free-text reason. Required when disableReason is OTHER; rejected otherwise. Persisted verbatim in the audit log; must not contain PII or secrets.  
    Minimum length: 1. Maximum length: 120.

### RetentionPolicyRule

A single retention rule for a specific backup cadence (daily, weekly, monthly).

*   `backupCadence` (_BackupRetentionPolicyCadence_, required)
*   `retentionYears` (_integer_, required) Years component of the retention period. Used for GFS cadences (DAILY/WEEKLY/MONTHLY). Set to 0 for SUBDAILY cadence. Effective retention = retentionYears \* 365 + retentionDays.  
    Minimum: 0. Maximum: 12. Example: `3`.
*   `retentionDays` (_integer_) Days component of the retention period. Used for SUBDAILY cadence; 0 for GFS cadences. Effective retention = retentionYears \* 365 + retentionDays.  
    Minimum: 0. Maximum: 30. Example: `14`.
*   `createdBy` (_string_, read-only) User ID who created this retention rule, or 'System' for default rules that are automatically created when no custom rules are configured.  
    Example: `005xxxxxxxxxxxxx`.
*   `createdAt` (_string (date-time)_, read-only) Timestamp when this retention rule was created. Used for audit purposes and to track when retention policies were modified.

### Activity

Activity details.

*   `id` (_string_)  
    Example: `12345`.
*   `status` (_string_) Current status of the activity.  
    Allowed values: `IN_PROGRESS`, `PREVIEW_RESTORE_IN_PROGRESS`, `PREVIEW_RESTORE`, `PREVIEW_RESTORE_COMPLETED_WITH_ERRORS`, `PREVIEW_RESTORE_RELOAD_IN_PROGRESS`, `COMPLETED`, `COMPLETED_WITH_ERRORS`, `FAILED`.
*   `type` (_string_) Type of activity.  
    Allowed values: `COMPARE`, `COMPARE_METADATA`, `RESTORE`, `DOWNLOAD_METADATA_BACKUP`, `SEARCH_IN_DATA`.
*   `durationInSeconds` (_integer_) Duration of the activity in seconds.
*   `startedAt` (_string (date-time)_) Timestamp when the activity started.
*   `endedAt` (_string (date-time)_) Timestamp when the activity ended.
*   `referenceActivityId` (_string_, nullable) Compare activity ID.
*   `retryParentActivityId` (_string_, nullable) Only non-null for retry restore activities. References the parent restore activity that is being retried.
*   `triggeredBy` (_string_, required) User who triggered the activity.
*   `createdOn` (_string (date-time)_, required) Timestamp when the activity was created.

### PageMetadata

Metadata about a page of results.

*   `numberOfItems` (_integer (int64)_) Number of items in the current page.  
    Minimum: 1.
*   `pageSize` (_integer_) Number of items per page.  
    Minimum: 1.

### FilterExpression

Filter expressions allow you to search and filter records based on field values. To search for a specific field in either the source or target backup, use the field's Salesforce API name. To filter by the fields' values (id, type), set isMetadata to true. To filter by the change made to fields (added, deleted, modified).

One of: `SingleValueFilter`, `MultiValueFilter`.

### RestoreSelectionRecord

Represents a record in a restore activity.

*   `id` (_string_) Record ID.
*   `type` (_string_) Change made to the record.  
    Allowed values: `modified`, `deleted`, `added`.
*   `selectedForRestore` (_boolean_) Indicates whether this record is selected to restore.
*   `from` (_object_) Source backup.
*   `to` (_object_) Target backup.

### RestoreSelectionMetadata

Metadata about the selected records to restore.

*   `numberOfItems` (_integer (int64)_) Total number of items in the page.  
    Minimum: 1.
*   `pageSize` (_integer_)  
    Minimum: 1.
*   `totalSelectedForRestore` (_integer (int64)_) Total number of records selected for restore across all pages. Only included for restore activities.  
    Minimum: 0.
*   `changedColumns` (_array of string_) List of column names that have changes between the source and target backups.
    
    _Example_
    
    ```
    [
      "Name",
      "Email",
      "Status"
    ]
    ```
    
*   `columns` (_array of ColumnMetadata_) Column metadata describing the data types of fields in the records.

### ModifiedActivity

ID of an activity that was modified.

*   `activityId` (_string_, required)

### RestoreWithHierarchySelectionRecord

Represents a record in a restore activity with object level depth.

*   `id` (_string_) Record ID.
*   `type` (_string_) Change made to the record.  
    Allowed values: `modified`, `deleted`, `added`.
*   `isSelected` (_boolean_) Indicates whether this record is selected to restore.
*   `from` (_object_) Source backup.
*   `to` (_object_) Target backup.

### RestoreWithHierarchySelectionMetadata

Metadata about the selected records to restore for a restore activity with object level depth.

*   `numberOfItems` (_integer (int64)_)  
    Minimum: 1.
*   `pageSize` (_integer_)  
    Minimum: 1.
*   `totalSelectedForRestore` (_integer (int64)_, nullable) Total number of records selected for restore. Only computed on the first page (pageNumber=1). Returns null on other pages.  
    Minimum: 0.
*   `changedColumns` (_array of string_) List of column names that have changes between the source and target backups.
    
    _Example_
    
    ```
    [
      "Name",
      "Email",
      "Status"
    ]
    ```
    
*   `columns` (_array of ColumnMetadata_) Column metadata describing the data types of fields in the records.

### HierarchyNodeSummary

Summary data for a specific node path.

*   `deletedCount` (_integer (int64)_, required) Number of deleted records for this node path.  
    Minimum: 0.
*   `modifiedCount` (_integer (int64)_, required) Number of modified records for this node path.  
    Minimum: 0.
*   `previewStatus` (_string_, nullable) Preview calculation status for this node path.  
    Allowed values: `SUCCESS`, `FAILED`, `SKIPPED`.
*   `restoreStatus` (_string_, nullable) Restore status for this node path, null if restore has not been executed.  
    Allowed values: `SUCCEEDED`, `FAILED`, `PARTIAL_SUCCESS`.

### CompareSummary

Summary of a compare activity.

*   `objectName` (_string_) Object compared.
*   `deletedCount` (_integer_) Number of deleted records.
*   `changedCount` (_integer_) Number of changed records.
*   `addedCount` (_integer_) Number of added records.
*   `totalRecordsInFromBackup` (_integer_) Number of records in the source backup.
*   `totalRecordsInToBackup` (_integer_) Number of records in the target backup.

### RestoreObjectStats

Details of an object.

*   `objectName` (_string_, required) Name of the object (e.g., Account, Contact).
*   `restoredSuccessfully` (_integer (int64)_, required) Number of records successfully restored.
*   `restoreFailed` (_integer (int64)_, required) Number of records that failed to restore.
*   `totalRecords` (_integer (int64)_, required) Total records for this object.
*   `totalUpdated` (_integer (int64)_, required) Number of records that were updated.

### RestoreResultCountsByType

Counts of restore result rows split by restore type (insert vs update) for a single status.

*   `inserted` (_integer (int64)_, required) Count of inserted-record results.  
    Minimum: 0. Example: `120`.
*   `updated` (_integer (int64)_, required) Count of updated-record results.  
    Minimum: 0. Example: `40`.

### RestoreResult

Result of a restore activity.

*   `object` (_string_, required) Object restored.
*   `totalUpdated` (_integer_, required) Number of records updated.  
    Minimum: 0.
*   `totalInserted` (_integer_, required) Number of records inserted.  
    Minimum: 0.
*   `totalFailed` (_integer_, required) Number of records that failed to restore.  
    Minimum: 0.
*   `insertedFailed` (_integer (int64)_) Number of records that failed to insert.  
    Minimum: 0.
*   `changedFailed` (_integer (int64)_) Number of records that failed to update.  
    Minimum: 0.

### RestoreObjectResult

Details of the restore operation for an individual record.

*   `newRecordId` (_string_) Record ID of the newly inserted record. Empty if the record was not inserted.
*   `oldRecordId` (_string_) ID of the record if it was updated, or the previous ID of the record before it was deleted.
*   `status` (_string_) Status of the restore operation for this record.  
    Allowed values: `success`, `partial_success`, `error`.
*   `messages` (_array of string_) Error messages if the restore failed or partially succeeded, empty if succeeded.
*   `restoreType` (_string_) Type of restore operation performed on this record.  
    Allowed values: `insert`, `update`.

### RestoreWithHierarchyRecordResult

Details of the restore operation for an individual record in a restore activity with object level depth.

*   `oldId` (_string_) Record ID of the newly inserted record. Empty if the record was not inserted.  
    Example: `001xx000003DGb2AAG`.
*   `newId` (_string_) ID of the record if it was updated, or the previous ID of the record before it was deleted.  
    Example: `001xx000003DGb3AAG`.
*   `status` (_string_) Status of the restore operation for this record.  
    Allowed values: `succeeded`, `partially_succeeded`, `failed`. Example: `succeeded`.
*   `errorMessages` (_array of string_) Error messages if the restore failed or partially succeeded, empty if succeeded.
    
    _Example_
    
    ```
    [
      "Field validation failed: Email is required"
    ]
    ```
    
*   `isDuplicate` (_boolean_) Whether this record also appears in a higher-level node.  
    Example: `false`.

### RestoreWithHierarchyActivityObjectResultsMetadata

Restore results for a node path in a metadata restore activity.

*   `numberOfItems` (_integer (int64)_) Number of items in the current page.  
    Minimum: 1.
*   `pageSize` (_integer_) Number of items per page.  
    Minimum: 1.
*   `succeeded` (_integer (int64)_) Total number of records that were successfully restored.  
    Minimum: 0. Example: `150`.
*   `partiallySucceeded` (_integer (int64)_) Total number of records that partially succeeded during restore.  
    Minimum: 0. Example: `5`.
*   `failed` (_integer (int64)_) Total number of records that failed during restore.  
    Minimum: 0. Example: `3`.

### AuditEventResponse

Audit event record.

*   `id` (_string_) Unique identifier for the audit event.  
    Example: `audit-event-123`.
*   `userId` (_string_) User ID who triggered the event.  
    Example: `00dxx00mdfafpxseij`.
*   `eventTime` (_string (date-time)_) Timestamp when the event occurred.  
    Example: `2023-12-01T10:30:00Z`.
*   `insertTime` (_string (date-time)_) Timestamp when the event was inserted into the database.  
    Example: `2023-12-01T10:30:01Z`.
*   `eventData` (_AuditEventData_)
*   `success` (_boolean_) Indicates whether the operation was successful.
*   `loginHistoryId` (_string_) Salesforce Login History ID (15-digit).  
    Pattern: ^\[a-zA-Z0-9\]{15}$. Example: `0YaDn00003ygoU4`.
*   `origin` (_AuditEventOrigin_)

### TypeDTO

Enum representing the backup type and data type (data or metadata).

Type: `string`.

Allowed values: `DATA_FULL`, `DATA_DELTA`, `METADATA_FULL`.

### BackupExecutionDataStatusResponse

Data status for backup execution. Provides 1-1 mapping with frontend statuses, calculated from internal state and execution metrics.

Type: `string`.

Allowed values: `QUEUED`, `IN_PROGRESS`, `COMPLETED`, `COMPLETED_WITH_ERRORS`, `FAILED`, `CANCELED`.

### FileBackupStatusResponse

File status for file backup. Provides 1-1 mapping with frontend statuses, calculated from internal file backup state.

Type: `string`.

Allowed values: `IN_PROGRESS`, `COMPLETED`, `COMPLETED_WITH_ERRORS`, `FAILED`, `CANCELED`.

### ObjectBackupExecutionDataStatusResponse

Data status for object backup execution. Provides 1-1 mapping with frontend statuses, calculated from internal state and record metrics.

Type: `string`.

Allowed values: `IN_PROGRESS`, `COMPLETED`, `COMPLETED_WITH_ERRORS`, `FAILED`, `CANCELED`.

### FatDisableReason

Reason for disabling Files and Attachments backup.

Type: `string`.

Allowed values: `REDUCE_BACKUP_STORAGE`, `NOT_NEEDED_IN_BACKUP`, `DATA_PRIVACY`, `OTHER`.

### BackupRetentionPolicyCadence

Backup frequency (daily, weekly, monthly, or sub-daily).

Type: `string`.

Allowed values: `DAILY`, `WEEKLY`, `MONTHLY`, `SUBDAILY`.

### SingleValueFilter

Filter expression by a single value.

*   `fieldName` (_string_, required) Field name to filter on. Field names are case-insensitive.
*   `fieldType` (_string_)
    
    Data type of the field. Determines how the value is parsed and which operators are valid.
    
    Supported types and operators:
    
    *   `string`: equal, not\_equal, contains, starts\_with, greater\_than, less\_than, greater\_or\_equals, less\_or\_equals
    *   `number`: equal, not\_equal, greater\_than, less\_than, greater\_or\_equals, less\_or\_equals
    *   `boolean`: equal, not\_equal
    *   `date`: equal, not\_equal, greater\_than, less\_than, greater\_or\_equals, less\_or\_equals (format: YYYY-MM-DD)
    *   `datetime`: equal, not\_equal, greater\_than, less\_than, greater\_or\_equals, less\_or\_equals (format: YYYY-MM-DDTHH:mm:ss)
    
    If omitted, the backend auto-resolves the type from column metadata.
    
      
    Allowed values: `string`, `number`, `boolean`, `date`, `datetime`. Default: `string`.
*   `operator` (_string_, required)  
    Allowed values: `equal`, `not_equal`, `contains`, `starts_with`, `greater_than`, `less_than`, `greater_or_equals`, `less_or_equals`.
*   `value` (_string_, required) Filter value as a string. The backend parses it according to `fieldType`.
*   `isMetadata` (_boolean_) Optional flag that specifies whether the field is a system metadata field. When false (default), searches across both source and target backup executions. When true, searches only system metadata fields.  
    Default: `false`.

### MultiValueFilter

Filter expression by multiple values.

*   `fieldName` (_string_, required) Field name to filter on. Field names are case-insensitive.
*   `fieldType` (_string_) Data type of the field. Determines how the values are parsed. If omitted, the backend auto-resolves the type from column metadata.  
    Allowed values: `string`, `number`, `boolean`, `date`, `datetime`. Default: `string`.
*   `operator` (_string_, required)  
    Allowed values: `in`, `not_in`.
*   `value` (_array of string_, required) List of filter values as strings. The backend parses each value according to `fieldType`.
*   `isMetadata` (_boolean_) Optional flag that specifies whether the field is a system metadata field. When false (default), searches across both source and target backup executions. When true, searches only system metadata fields.  
    Default: `false`.

### ColumnMetadata

Metadata describing a field's name and data type.

*   `name` (_string_, required) Field name.  
    Example: `Email`.
*   `type` (_string_, required) JSON data type of the field. 'date' and 'datetime' are string subtypes following ISO 8601 format.  
    Allowed values: `string`, `number`, `boolean`, `date`, `datetime`, `binary`, `object`. Example: `string`.

### AuditEventData

Discriminator: `eventType` selects the concrete type. Mapping: `ACTIVATE_BACKUP_POLICY` → `ActivateBackupPolicyEventData`, `DEACTIVATE_BACKUP_POLICY` → `DeactivateBackupPolicyEventData`, `CHANGE_SETTINGS_BACKUP_SCHEDULE` → `ChangeSettingsBackupScheduleEventData`, `CHANGE_SETTINGS_RETENTION_POLICY` → `ChangeSettingsRetentionPolicyEventData`, `CHANGE_SETTINGS_BACKUP_EXCLUSION_ADDED` → `ChangeSettingsBackupExclusionAddedEventData`, `CHANGE_SETTINGS_BACKUP_EXCLUSION_REMOVED` → `ChangeSettingsBackupExclusionRemovedEventData`, `CHANGE_SETTINGS_FILES_AND_ATTACHMENTS_CONFIG` → `ChangeSettingsFilesAndAttachmentsConfigEventData`, `DOWNLOAD_AUDIT` → `DownloadAuditEventData`, `RUN_COMPARE` → `RunCompareEventData`, `RUN_RESTORE` → `RunRestoreEventData`, `VIEW_COMPARE_REPORT` → `ViewCompareReportEventData`, `VIEW_COMPARE_REPORT_OBJECT` → `ViewCompareReportObjectEventData`, `VIEW_PREVIEW_RESTORE_RESULTS` → `ViewPreviewRestoreEventData`, `PREVIEW_RESTORE` → `PreviewRestoreEventData`, `RESTORE_SELECTION_SAVE` → `RestoreSelectionSaveEventData`, `VIEW_RESTORE_RESULTS` → `ViewRestoreResultsEventData`, `ABORT_RESTORE` → `AbortRestoreEventData`, `ABORT_BACKUP` → `AbortBackupEventData`, `RUN_ON_DEMAND_BACKUP` → `RunOnDemandBackupEventData`.

One of: `ActivateBackupPolicyEventData`, `DeactivateBackupPolicyEventData`, `ChangeSettingsBackupScheduleEventData`, `ChangeSettingsRetentionPolicyEventData`, `ChangeSettingsBackupExclusionAddedEventData`, `ChangeSettingsBackupExclusionRemovedEventData`, `ChangeSettingsFilesAndAttachmentsConfigEventData`, `DownloadAuditEventData`, `RunCompareEventData`, `RunRestoreEventData`, `ViewCompareReportEventData`, `ViewCompareReportObjectEventData`, `ViewPreviewRestoreEventData`, `PreviewRestoreEventData`, `RestoreSelectionSaveEventData`, `ViewRestoreResultsEventData`, `AbortRestoreEventData`, `AbortBackupEventData`, `RunOnDemandBackupEventData`.

### AuditEventOrigin

Origin of an audit event.

Type: `string`.

Allowed values: `SALESFORCE_UI`, `PUBLIC_API`. Example: `SALESFORCE_UI`.

### ActivateBackupPolicyEventData

Represents an event when the backup policy is activated.

*   `eventType` (_EventType_)
*   `policyId` (_integer_, required) ID of the backup policy being activated.  
    Example: `123`.

### DeactivateBackupPolicyEventData

Represents an event when the backup policy is deactivated.

*   `eventType` (_EventType_)
*   `policyId` (_integer_, required) ID of the backup policy being deactivated.  
    Example: `123`.

### ChangeSettingsBackupScheduleEventData

Represents an event when the backup schedule is changed.

*   `eventType` (_EventType_)
*   `oldTime` (_string_, required) Previous time scheduled for backups in HH:MM (UTC) format.  
    Example: `17:55`.
*   `newTime` (_string_, required) Updated time scheduled for backups in HH:MM (UTC) format.  
    Example: `18:10`.

### ChangeSettingsRetentionPolicyEventData

Represents an event when the backup retention policy is changed.

*   `eventType` (_EventType_)
*   `oldDaily` (_integer_, required) Previous amount of years daily backups were retained for.  
    Example: `7`.
*   `newDaily` (_integer_, required) Updated amount of years daily backups are retained for.  
    Example: `14`.
*   `oldWeekly` (_integer_, required) Previous amount of years weekly backups were retained for.  
    Example: `4`.
*   `newWeekly` (_integer_, required) Updated amount of years weekly backups are retained for.  
    Example: `8`.
*   `oldMonthly` (_integer_, required) Previous amount of years monthly backups were retained for.  
    Example: `12`.
*   `newMonthly` (_integer_, required) The updated amount of years monthly backups are retained for.  
    Example: `8`.

### ChangeSettingsBackupExclusionAddedEventData

Represents an event when a backup exclusion rule is added.

*   `eventType` (_EventType_)
*   `targetName` (_string_, required) Generic identifier for the exclusion target (object name or object group name). Ex. Accounts, Opportunities, Share\_Objects, etc.  
    Example: `SHARE_OBJECTS`.
*   `reasonForExclusion` (_ResourceExclusionReason_, required)
*   `groupOfObjects` (_boolean_, required) Whether the exclusion rule is for a single object (false) or an object group (true).  
    Example: `false`.

### ChangeSettingsBackupExclusionRemovedEventData

Represents an event when a backup exclusion rule is removed.

*   `eventType` (_EventType_)
*   `targetName` (_string_, required) Generic identifier for the exclusion target (object name or object group name). Ex. Accounts, Opportunities, Share\_Objects, etc.  
    Example: `SHARE_OBJECTS`.
*   `groupOfObjects` (_boolean_, required) Whether the exclusion rule is for a single object (false) or an object group (true).  
    Example: `false`.

### ChangeSettingsFilesAndAttachmentsConfigEventData

Represents an event when the files and attachment settings are updated.

*   `eventType` (_EventType_)
*   `newStatus` (_FatConfigStatus_, required)

### DownloadAuditEventData

Represents an event when the audit log is downloaded.

*   `eventType` (_EventType_)

### RunCompareEventData

Represents an event when a compare is run.

*   `eventType` (_EventType_)
*   `activityId` (_string_, required) Unique identifier of the compare activity.  
    Example: `activity-789`.
*   `firstBackupDate` (_string_, required) Time of the earlier backup being compared (used as a unique identifier for the backup).  
    Example: `2024-01-15T10:00:00Z`.
*   `secondBackupDate` (_string_, required) Time of the later backup being compared (used as a unique identifier for the backup).  
    Example: `2024-01-20T10:00:00Z`.

### RunRestoreEventData

Represents an event when a restore is run.

*   `eventType` (_EventType_)
*   `activityId` (_string_, required) Unique identifier of the restore activity.  
    Example: `activity-456`.

### ViewCompareReportEventData

Represents an event when a compare report is viewed.

*   `eventType` (_EventType_)
*   `activityId` (_string_, required) Unique identifier of the compare activity.  
    Example: `activity-789`.

### ViewCompareReportObjectEventData

Represents an event when a compare report’s object details are viewed.

*   `eventType` (_EventType_)
*   `activityId` (_string_, required) Unique identifier of the compare activity.  
    Example: `activity-789`.
*   `objectName` (_string_, required) Name of the object being viewed in the compare report.  
    Example: `Account`.

### ViewPreviewRestoreEventData

Represents an event when a preview restore is viewed.

*   `eventType` (_EventType_)
*   `activityId` (_string_, required) ID of the restore activity being previewed.  
    Example: `activity-456`.
*   `objectName` (_string_, required) The root object name.  
    Example: `Account`.
*   `depth` (_integer_, required) Depth of the hierarchy tree.  
    Example: `5`.

### PreviewRestoreEventData

Represents an event when a preview restore is created, creating a unique restore activity ID.

*   `eventType` (_EventType_)
*   `activityId` (_string_, required) Unique identifier of the restore activity.  
    Example: `activity-456`.

### RestoreSelectionSaveEventData

Represents an event when the object records selected to restore are saved.

*   `eventType` (_EventType_)
*   `activityId` (_string_, required) Unique identifier of the restore activity.  
    Example: `activity-456`.
*   `objectName` (_string_, required) Name of the object being restored (ex. accounts, opportunities).  
    Example: `Account`.
*   `recordsSelected` (_integer_) Number of selected records saved.  
    Example: `25`.

### ViewRestoreResultsEventData

Represents an event when a restore result is viewed.

*   `eventType` (_EventType_)
*   `activityId` (_string_, required) Unique identifier of the restore activity.  
    Example: `activity-456`.

### AbortRestoreEventData

Represents an event when a restore is aborted.

*   `eventType` (_EventType_)
*   `activityId` (_string_, required) Unique identifier of the restore activity.  
    Example: `activity-456`.

### AbortBackupEventData

Event data for ABORT\_BACKUP events.

*   `eventType` (_EventType_)
*   `activityId` (_string_, required) ID of the backup activity being aborted.  
    Example: `3512`.
*   `abortReason` (_CancelDeactivationReason_)
*   `abortReasonOther` (_string_) Free text reason when abortReason is OTHER.

### RunOnDemandBackupEventData

Event data for RUN\_ON\_DEMAND\_BACKUP events.

*   `eventType` (_EventType_)
*   `backupExecutionId` (_string_) ID of the backup execution.  
    Example: `42`.
*   `backupType` (_BackupTypeDTO_, required)
*   `contentType` (_BackupContentType_, required)
*   `queued` (_boolean_) Whether the backup was successfully queued.
*   `rejectionReason` (_string_) Reason the backup was rejected, if applicable.

### EventType

Type of audit event.

Type: `string`.

Allowed values: `ACTIVATE_BACKUP_POLICY`, `DEACTIVATE_BACKUP_POLICY`, `CHANGE_SETTINGS_BACKUP_SCHEDULE`, `CHANGE_SETTINGS_RETENTION_POLICY`, `CHANGE_SETTINGS_BACKUP_EXCLUSION_ADDED`, `CHANGE_SETTINGS_BACKUP_EXCLUSION_REMOVED`, `CHANGE_SETTINGS_FILES_AND_ATTACHMENTS_CONFIG`, `DOWNLOAD_AUDIT`, `RUN_COMPARE`, `RUN_RESTORE`, `VIEW_COMPARE_REPORT`, `VIEW_COMPARE_REPORT_OBJECT`, `VIEW_PREVIEW_RESTORE_RESULTS`, `PREVIEW_RESTORE`, `RESTORE_SELECTION_SAVE`, `VIEW_RESTORE_RESULTS`, `ABORT_RESTORE`, `ABORT_BACKUP`, `RUN_ON_DEMAND_BACKUP`. Example: `ACTIVATE_BACKUP_POLICY`.

### ResourceExclusionReason

Reason for excluding an object from backups.

Type: `string`.

Allowed values: `SYSTEM_RECOMMENDATION`, `REDUCE_BACKUP_DURATION`, `REDUCE_BACKUP_STORAGE`, `NOT_NEEDED_IN_BACKUP`, `DATA_PRIVACY`, `OTHER`. Example: `DATA_PRIVACY`.

### FatConfigStatus

Whether backing up files and attachments is active.

Type: `string`.

Allowed values: `ACTIVE`, `INACTIVE`. Example: `ACTIVE`.

### BackupContentType

Content type of the backup (data or metadata).

Type: `string`.

Allowed values: `DATA`, `METADATA`.