Backup & Recover Next API (0.1.0)
Download OpenAPI specification:Download
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.
Get backups list
Get a list of all backups.
Authorizations:
query Parameters
| pageNumber | integer Default: 1 Page number of the results to display. |
| pageSize | integer [ 1 .. 1000 ] Default: 100 Number of records to display per page. |
| sort | string (SortField) Default: "ID" Enum: "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" Field to sort on. |
| sortDir | string (SortDir) Default: "DESC" Enum: "ASC" "DESC" Sort direction. |
| fromTimestamp | integer <int64> The earliest starting timestamp of the backups to include in the results. |
| toTimestamp | integer <int64> The latest starting timestamp of the backups to include in the results. |
| state | string Filter by execution state(s). Multiple states can be provided as comma-separated values (e.g., 'COMPLETE,FAILED'). |
| triggerType | string Enum: "SCHEDULED" "ON_DEMAND" Filter by trigger type of the backup. |
| fromEndTimestamp | integer <int64> The earliest end timestamp of the backups to include in the results. |
| toEndTimestamp | integer <int64> The latest end timestamp of the backups to include in the results. |
| initiatedBy | string Only display backups initiated by the specified user ID. |
| minRecordsFailed | integer <int64> Minimum number of records that failed (inclusive). |
| maxRecordsFailed | integer <int64> Maximum number of records that failed (inclusive). |
| minRecordsAdded | integer <int64> Minimum number of records added since the previous backup (inclusive). |
| maxRecordsAdded | integer <int64> Maximum number of records added since the previous backup (inclusive). |
| minRecordsChanged | integer <int64> Minimum number of records updated since the previous backup (inclusive). |
| maxRecordsChanged | integer <int64> Maximum number of records updated since the previous backup (inclusive). |
| minRecordsRemoved | integer <int64> Minimum number of records deleted since the previous backup (inclusive). |
| maxRecordsRemoved | integer <int64> Maximum number of records deleted since the previous backup (inclusive). |
| minTotalRecords | integer <int64> Minimum total number of records (changed + added + removed) (inclusive). |
| maxTotalRecords | integer <int64> Maximum total number of records (changed + added + removed) (inclusive). |
| backupType | 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 | 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 | 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 | 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
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "pageNumber": 1,
- "pageSize": 0,
- "totalSize": 0,
- "backups": [
- {
- "id": 0,
- "state": "QUEUED",
- "backupType": "FULL",
- "type": "DATA_FULL",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "duration": 0,
- "recordsFailed": 0,
- "recordsAdded": 0,
- "recordsChanged": 0,
- "recordsRemoved": 0,
- "initiatedBy": "string",
- "filesProcessed": 0,
- "dataStatus": "QUEUED",
- "fileStatus": "IN_PROGRESS",
- "totalRecords": 0,
- "triggerType": "string"
}
]
}Get specific backup
Get details and objects of a specific backup (by ID).
Authorizations:
path Parameters
| backupId required | integer <int64> Backup ID. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "objects": [
- {
- "id": 0,
- "objectType": "account",
- "recordsFailed": 0,
- "recordsAdded": 0,
- "recordsChanged": 0,
- "recordsRemoved": 0,
- "filesProcessed": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "dataStatus": "IN_PROGRESS",
- "fileStatus": "IN_PROGRESS",
- "errorCode": "string",
- "totalRecords": 0
}
], - "id": 0,
- "state": "QUEUED",
- "backupType": "FULL",
- "type": "DATA_FULL",
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "duration": 0,
- "recordsFailed": 0,
- "recordsAdded": 0,
- "recordsChanged": 0,
- "recordsRemoved": 0,
- "initiatedBy": "string",
- "filesProcessed": 0,
- "dataStatus": "QUEUED",
- "fileStatus": "IN_PROGRESS",
- "totalRecords": 0,
- "triggerType": "string"
}Get backup objects
Get a list of backup details for an object in a specific backup.
Authorizations:
path Parameters
| backupId required | integer <int64> ID of the backup execution. |
query Parameters
| pageNumber | integer Default: 1 Page number of the results to display. |
| pageSize | integer [ 1 .. 1000 ] Default: 100 Number of records to display per page. |
| sort | string (ObjectBackupExecutionSortField) Default: "ID" Enum: "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" Field to sort on. |
| sortDir | string (SortDir) Default: "DESC" Enum: "ASC" "DESC" Sort direction. |
| objectType | string Filter by Salesforce object type (partial match). |
| fromStartTime | integer <int64> The earliest start timestamp of the object backups to include in the results. |
| toStartTime | integer <int64> The latest start timestamp of the object backups to include in the results. |
| fromEndTime | integer <int64> The earliest end timestamp of the object backups to include in the results. |
| toEndTime | integer <int64> The latest end timestamp of the object backups to include in the results. |
| minRecordsAffected | integer <int64> Minimum number of records affected (inclusive). |
| maxRecordsAffected | integer <int64> Maximum number of records affected (inclusive). |
| minRecordsProcessed | integer <int64> Minimum number of records processed (inclusive). |
| maxRecordsProcessed | integer <int64> Maximum number of records processed (inclusive). |
| minRecordsFailed | integer <int64> Minimum number of records failed (inclusive). |
| maxRecordsFailed | integer <int64> Maximum number of records failed (inclusive). |
| minRecordsAdded | integer <int64> Minimum number of records added (inclusive). |
| maxRecordsAdded | integer <int64> Maximum number of records added (inclusive). |
| minRecordsChanged | integer <int64> Minimum number of records changed (inclusive). |
| maxRecordsChanged | integer <int64> Maximum number of records changed (inclusive). |
| minRecordsRemoved | integer <int64> Minimum number of records removed (inclusive). |
| maxRecordsRemoved | integer <int64> Maximum number of records removed (inclusive). |
| minTotalRecords | integer <int64> Minimum total number of records (changed + added + removed) (inclusive). |
| maxTotalRecords | integer <int64> Maximum total number of records (changed + added + removed) (inclusive). |
| minFilesProcessed | integer <int64> Minimum number of files processed (inclusive). |
| maxFilesProcessed | integer <int64> Maximum number of files processed (inclusive). |
| minFilesFailed | integer <int64> Minimum number of files failed (inclusive). |
| maxFilesFailed | integer <int64> Maximum number of files failed (inclusive). |
| stableId | string Only display object backups with the specified stable ID. |
| snapshotId | string Only display object backups with the specified snapshot ID. |
| dataStatus | 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 | 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
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "pageNumber": 1,
- "pageSize": 0,
- "totalSize": 0,
- "objects": [
- {
- "id": 0,
- "objectType": "account",
- "recordsFailed": 0,
- "recordsAdded": 0,
- "recordsChanged": 0,
- "recordsRemoved": 0,
- "filesProcessed": 0,
- "startTime": "2019-08-24T14:15:22Z",
- "endTime": "2019-08-24T14:15:22Z",
- "dataStatus": "IN_PROGRESS",
- "fileStatus": "IN_PROGRESS",
- "errorCode": "string",
- "totalRecords": 0
}
]
}Run backup now
Run a backup on demand. Limited to 2 API calls per day.
Authorizations:
Request Body schema: application/jsonrequired
Configure the type of backup to run (full (FULL) or incremental (DELTA)).
| backupType required | string (BackupTypeDTO) Default: "DELTA" Enum: "FULL" "DELTA" Whether the backup is full or incremental (delta). |
Responses
Request samples
- Payload
{- "backupType": "FULL"
}Response samples
- 200
- 401
- 403
- 404
- 409
- 429
- 500
{- "queued": true,
- "backupId": 1627881608368,
- "enqueueRejectionReason": "DELTA_REQUIRES_FULL_COMPLETED"
}Cancel backup
Cancel a running backup.
Authorizations:
path Parameters
| backupId required | integer <int64> Backup ID. |
Request Body schema: application/jsonrequired
Cancellation reason details.
| abortReason required | string (CancelDeactivationReason) Enum: "PLANNED_PRODUCTION_CHANGES" "CONFIGURATION_CHANGES_TO_BACKUP_OPTIONS" "ISSUE_OR_STALLED_BACKUP" "PRIORITIZATION_OF_OTHER_ACTIVITIES" "OTHER" Reason for deactivating data or metadata backup. |
| abortReasonOther | string [ 1 .. 1000 ] characters Only required when abortReason is OTHER. |
Responses
Request samples
- Payload
{- "abortReason": "PLANNED_PRODUCTION_CHANGES",
- "abortReasonOther": "User requested cancellation"
}Response samples
- 200
- 400
- 401
- 403
- 404
- 409
- 500
"QUEUED"Get backup settings
Get the current backup settings.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "versionId": 0,
- "dataActive": true,
- "dataExclusions": [
- {
- "type": "GROUP",
- "value": "string",
- "excludedBy": "string",
- "excludedOn": "2019-08-24T14:15:22Z",
- "reason": "SYSTEM_RECOMMENDATION"
}
], - "dataSchedule": {
- "runAtHour": 23,
- "runAtMinute": 59,
- "interval": 1
}, - "dataScheduleFull": {
- "runAtHour": 23,
- "runAtMinute": 59,
- "runAtDayOfTheWeek": "MON"
}, - "filesAndAttachments": {
- "enabled": true,
- "disableReason": "REDUCE_BACKUP_STORAGE",
- "disableReasonOther": "string"
}
}Set backup settings
Update the backup settings.
Authorizations:
Request Body schema: application/jsonrequired
| dataActive | boolean or null |
Array of objects or null (PolicyResourceExclusion) | |
object (PolicySchedule) Schedule when backups run. | |
object (PolicyScheduleFull) Schedule when full backups run. | |
object (PolicyFilesAndAttachments) Configuration of backups of files and attachments. | |
| deactivationReason | string (CancelDeactivationReason) Enum: "PLANNED_PRODUCTION_CHANGES" "CONFIGURATION_CHANGES_TO_BACKUP_OPTIONS" "ISSUE_OR_STALLED_BACKUP" "PRIORITIZATION_OF_OTHER_ACTIVITIES" "OTHER" Reason for deactivating data or metadata backup. |
| deactivationReasonOther | string [ 1 .. 120 ] characters |
Responses
Request samples
- Payload
{- "dataActive": true,
- "dataExclusions": [
- {
- "type": "GROUP",
- "value": "string",
- "excludedBy": "string",
- "excludedOn": "2019-08-24T14:15:22Z",
- "reason": "SYSTEM_RECOMMENDATION"
}
], - "dataScheduleDelta": {
- "runAtHour": 23,
- "runAtMinute": 59,
- "interval": 1
}, - "dataScheduleFull": {
- "runAtHour": 23,
- "runAtMinute": 59,
- "runAtDayOfTheWeek": "MON"
}, - "filesAndAttachments": {
- "enabled": true,
- "disableReason": "REDUCE_BACKUP_STORAGE",
- "disableReasonOther": "string"
}, - "deactivationReason": "PLANNED_PRODUCTION_CHANGES",
- "deactivationReasonOther": "string"
}Response samples
- 200
- 400
- 401
- 403
- 500
{- "versionId": 0,
- "dataActive": true,
- "dataExclusions": [
- {
- "type": "GROUP",
- "value": "string",
- "excludedBy": "string",
- "excludedOn": "2019-08-24T14:15:22Z",
- "reason": "SYSTEM_RECOMMENDATION"
}
], - "dataSchedule": {
- "runAtHour": 23,
- "runAtMinute": 59,
- "interval": 1
}, - "dataScheduleFull": {
- "runAtHour": 23,
- "runAtMinute": 59,
- "runAtDayOfTheWeek": "MON"
}, - "filesAndAttachments": {
- "enabled": true,
- "disableReason": "REDUCE_BACKUP_STORAGE",
- "disableReasonOther": "string"
}
}Get retention rules
Get the retention rules that define how long backups are kept before automatic deletion.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 404
- 500
{- "rules": [
- {
- "backupCadence": "DAILY",
- "retentionYears": 3,
- "retentionDays": 14,
- "createdBy": "005xxxxxxxxxxxxx",
- "createdAt": "2019-08-24T14:15:22Z"
}
]
}Set retention rules
Create or update the retention rules that define how long backups are kept before automatic deletion.
Authorizations:
Request Body schema: application/jsonrequired
Configure how long different types of backups are retained.
required | Array of objects (RetentionPolicyRule) [ 1 .. 4 ] items 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. |
Responses
Request samples
- Payload
{- "rules": [
- {
- "backupCadence": "DAILY",
- "retentionYears": 3,
- "retentionDays": 14
}
]
}Response samples
- 200
- 400
- 401
- 403
- 500
{- "rules": [
- {
- "backupCadence": "DAILY",
- "retentionYears": 3,
- "retentionDays": 14,
- "createdBy": "005xxxxxxxxxxxxx",
- "createdAt": "2019-08-24T14:15:22Z"
}
]
}Get activities
Get a list of activities.
Authorizations:
query Parameters
| pageNumber | integer >= 1 Default: 1 Page number of the results to display. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 500
{- "data": [
- {
- "id": "12345",
- "status": "IN_PROGRESS",
- "type": "COMPARE",
- "durationInSeconds": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "referenceActivityId": "string",
- "retryParentActivityId": "string",
- "triggeredBy": "string",
- "createdOn": "2019-08-24T14:15:22Z"
}
], - "totalSize": 1,
- "pageSize": 1,
- "metadata": {
- "numberOfItems": 1,
- "pageSize": 1
}
}Get a specific activity
Get details of a specific activity.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Activity ID. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 415
- 500
{- "id": "12345",
- "status": "IN_PROGRESS",
- "type": "COMPARE",
- "durationInSeconds": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "referenceActivityId": "string",
- "retryParentActivityId": "string",
- "triggeredBy": "string",
- "createdOn": "2019-08-24T14:15:22Z",
- "parameters": { }
}Query compare results or records selected to restore
Browse or compare results before creating a restore activity:
- Queries compare activity results without selection state
- Returns records without the
selectedForRestorefield - Requires
objectNameparameter
View and manage record selections for restore:
- Queries restore activity records with current selection state
- Returns records with
selectedForRestorefield populated (true/false) - Added records from the parent compare activities records list are not included
objectNameis 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
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Activity ID. |
Request Body schema: application/jsonrequired
| objectName | string Salesforce object API name to query. Required for compare activities. Defaults to the first object in objectsToRestoreList for restore activities. |
Array of SingleValueFilter (object) or MultiValueFilter (object) (FilterExpression) | |
| pageNumber | integer >= 1 Default: 1 |
| pageSize | integer [ 1 .. 500 ] Default: 50 |
Responses
Request samples
- Payload
{- "objectName": "string",
- "filterExp": [
- {
- "fieldName": "string",
- "fieldType": "string",
- "operator": "equal",
- "value": "string",
- "isMetadata": false
}
], - "pageNumber": 1,
- "pageSize": 50
}Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 422
- 500
{- "data": [
- {
- "id": "string",
- "type": "modified",
- "selectedForRestore": true,
- "from": { },
- "to": { }
}
], - "metadata": {
- "numberOfItems": 1,
- "pageSize": 1,
- "totalSelectedForRestore": 0,
- "changedColumns": [
- "Name",
- "Email",
- "Status"
], - "columns": [
- {
- "name": "Email",
- "type": "string"
}
]
}
}Update selected records to restore
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:
fieldNamemust beselectedForRestorevaluemust be either 'true' or 'false'isMetadatamust be 'true'
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Activity ID. |
Request Body schema: application/jsonrequired
| objectName | string Salesforce object API name to update. Defaults to the first object in objectsToRestoreList. |
required | Array of objects non-empty Batch operations to apply. Provide at least one batch. |
Responses
Request samples
- Payload
{- "objectName": "string",
- "batches": [
- {
- "filterExp": [
- {
- "fieldName": "string",
- "fieldType": "string",
- "operator": "equal",
- "value": "string",
- "isMetadata": false
}
], - "changeExp": [
- {
- "fieldName": "selectedForRestore",
- "value": "true",
- "isMetadata": false
}
]
}
]
}Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 422
- 500
{- "activityId": "string"
}Query compare results with selection records
Query compare results with selection records.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Compare activity ID. |
Request Body schema: application/jsonrequired
| objectName required | string non-empty Salesforce object API name. |
Array of SingleValueFilter (object) or MultiValueFilter (object) (FilterExpression) | |
| pageNumber | integer >= 1 Default: 1 |
| pageSize | integer [ 1 .. 500 ] Default: 50 |
Array of objects <= 5 items Array of sort criteria. Up to 5 sorting fields can be specified. Sort is applied in order: first item has highest priority. |
Responses
Request samples
- Payload
{- "objectName": "string",
- "filterExp": [
- {
- "fieldName": "string",
- "fieldType": "string",
- "operator": "equal",
- "value": "string",
- "isMetadata": false
}
], - "pageNumber": 1,
- "pageSize": 50,
- "sortBy": [
- {
- "column": "Name",
- "direction": "asc"
}, - {
- "column": "CreatedDate",
- "direction": "desc"
}
]
}Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 422
- 500
{- "data": [
- {
- "id": "string",
- "type": "modified",
- "isSelected": true,
- "from": { },
- "to": { }
}
], - "metadata": {
- "numberOfItems": 1,
- "pageSize": 1,
- "totalSelectedForRestore": 0,
- "changedColumns": [
- "Name",
- "Email",
- "Status"
], - "columns": [
- {
- "name": "Email",
- "type": "string"
}
]
}
}Update selected records to restore
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": []}
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Compare activity ID. |
Request Body schema: application/jsonrequired
| objectName | string Salesforce object API name to update. Defaults to the first object in objectsToRestoreList. |
required | Array of objects non-empty Batch operations to apply. Provide at least one batch. |
Responses
Request samples
- Payload
{- "objectName": "string",
- "batches": [
- {
- "filterExp": [
- {
- "fieldName": "string",
- "fieldType": "string",
- "operator": "equal",
- "value": "string",
- "isMetadata": false
}
], - "changeExp": [
- {
- "fieldName": "selectedForRestore",
- "value": "true",
- "isMetadata": false
}
]
}
]
}Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 422
- 500
{- "activityId": "string",
- "totalSelectedForRestore": 0
}Get selected record changes in a compare activity
Get how many of the records selected to restore in a compare activity were changed or deleted.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Compare activity ID. |
| objectName required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9_]{1,256}$ Salesforce object API name. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 500
{- "changedCount": 150,
- "deletedCount": 25
}Get summary for specified object paths
Retrieves deleted counts, modified counts, and restore status for specified node paths in a restore with object level depth.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Activity ID. |
Request Body schema: application/jsonrequired
| nodePaths required | Array of strings [ 1 .. 500 ] items List of node paths to get summary for. Each path is colon-delimited (e.g., 'Account', 'Account:Contact', 'Account:Contact:Task'). |
Responses
Request samples
- Payload
{- "nodePaths": [
- "Account",
- "Account:Contact",
- "Account:Opportunity"
]
}Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 500
{- "Account": {
- "deletedCount": 500,
- "modifiedCount": 120,
- "restoreStatus": "SUCCEEDED"
}, - "Account:Contact": {
- "deletedCount": 1500,
- "modifiedCount": 0,
- "restoreStatus": null
}, - "Account:Opportunity": {
- "deletedCount": 0,
- "modifiedCount": 50,
- "restoreStatus": null
}
}Get records selected to restore
Get records selected to restore in a restore activity, filtered by object name and change type (deleted or modified).
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Activity ID. |
query Parameters
| objectName required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9_]{1,256}$ Salesforce object API name. |
| nodeId required | string [ 1 .. 64 ] characters ^[a-zA-Z0-9_]{1,64}$ Unique identifier for the node at this object level. |
| type required | string Enum: "deleted" "modified" Type of change to filter by. |
| pageNumber | integer >= 1 Default: 1 Page number of the results to display. |
| pageSize | integer or null [ 1 .. 200 ] Default: 50 Number of records to display per page. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 422
- 500
{- "data": [
- {
- "id": "string",
- "type": "modified",
- "selectedForRestore": true,
- "from": { },
- "to": { }
}
], - "metadata": {
- "numberOfItems": 1,
- "pageSize": 1,
- "totalSelectedForRestore": 0,
- "changedColumns": [
- "Name",
- "Email",
- "Status"
], - "columns": [
- {
- "name": "Email",
- "type": "string"
}
]
}
}Run compare
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).
Authorizations:
Request Body schema: application/jsonrequired
| fromBackupId required | string non-empty ^[1-9]\d*$ Source backup ID to compare from. |
| toBackupId required | string non-empty ^[1-9]\d*$ Target backup ID to compare with. |
| activityType | string Default: "COMPARE" Enum: "COMPARE" "COMPARE_METADATA" Type of compare activity to create. Defaults to
|
| objects required | Array of strings non-empty unique [ items non-empty ] 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). |
Responses
Request samples
- Payload
{- "fromBackupId": "^1\\$",
- "toBackupId": "^1\\$",
- "activityType": "COMPARE",
- "objects": [
- "string"
]
}Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 422
- 500
{- "activityId": "string"
}Get compare activity details
Get details of a specific compare activity.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Compare activity ID. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 500
{- "id": "12345",
- "status": "IN_PROGRESS",
- "type": "COMPARE",
- "durationInSeconds": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "referenceActivityId": "string",
- "retryParentActivityId": "string",
- "triggeredBy": "string",
- "createdOn": "2019-08-24T14:15:22Z",
- "fromBackupId": "string",
- "toBackupId": "string",
- "isCompareAll": true,
- "objectList": [
- "string"
]
}Get objects changes in a compare activity
Get object changes in a compare activity.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Compare activity ID. |
query Parameters
| pageNumber | integer >= 1 Default: 1 Page number of the results to display. |
| pageSize | integer or null [ 1 .. 200 ] Default: 50 Number of records to display per page. |
| searchTerm | string or null <= 100 characters ^[a-zA-Z0-9_\s-]*$ Search term to filter results by object name. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 415
- 500
{- "objects": [
- {
- "objectName": "string",
- "deletedCount": 0,
- "changedCount": 0,
- "addedCount": 0,
- "totalRecordsInFromBackup": 0,
- "totalRecordsInToBackup": 0
}
], - "totalSize": 1,
- "pageSize": 1
}Get restore activity details
Get details of a specific restore activity.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Restore activity ID. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 500
{- "id": "12345",
- "status": "IN_PROGRESS",
- "type": "COMPARE",
- "durationInSeconds": 0,
- "startedAt": "2019-08-24T14:15:22Z",
- "endedAt": "2019-08-24T14:15:22Z",
- "referenceActivityId": "string",
- "retryParentActivityId": "string",
- "triggeredBy": "string",
- "createdOn": "2019-08-24T14:15:22Z",
- "totalRecords": 0,
- "totalFailed": 0,
- "compareId": "string",
- "objects": [
- {
- "objectName": "string",
- "restoredSuccessfully": 0,
- "restoreFailed": 0,
- "totalRecords": 0,
- "totalUpdated": 0
}
]
}Get restore activity details with object level depth
Get details of a specific restore activity with object level depth.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Restore activity ID. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 500
{- "objectName": "Account",
- "status": "COMPLETED_WITH_ERRORS",
- "succeeded": 150,
- "partiallySucceeded": 5,
- "failed": 3,
- "earlierBackupDate": "2024-01-15T10:30:00Z",
- "laterBackupDate": "2024-01-20T15:45:00Z",
- "hierarchyDepth": 2,
- "endedAt": "2026-04-09T10:30:00.000Z",
- "hasRunningRetry": false,
- "hasChildRetry": false
}Get object restore results
Get restore results for a specific object by status and change type.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Restore activity ID. |
| objectName required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9_]{1,256}$ Salesforce object API name. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 415
- 422
- 500
{- "succeeded": {
- "inserted": 120,
- "updated": 40
}, - "partiallySucceeded": {
- "inserted": 120,
- "updated": 40
}, - "failed": {
- "inserted": 120,
- "updated": 40
}
}Get restore activity summary
Get object-level results of a restore activity.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Activity ID. |
query Parameters
| pageNumber | integer >= 1 Default: 1 Page number of the results to display. |
| pageSize | integer [ 1 .. 500 ] Default: 50 Number of records to display per page. |
| searchTerm | string Search term to filter results by object name. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 405
- 415
- 500
{- "data": [
- {
- "object": "string",
- "totalUpdated": 0,
- "totalInserted": 0,
- "totalFailed": 0,
- "insertedFailed": 0,
- "changedFailed": 0
}
], - "metadata": {
- "numberOfItems": 1,
- "pageSize": 1
}
}Get metadata of a restore activity
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.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Restore activity ID. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 415
- 500
{- "status": "PREVIEW_RESTORE",
- "fromBackupId": "string",
- "toBackupId": "string",
- "totalPreviewChanged": 0,
- "totalPreviewDeleted": 0,
- "totalSelected": 0,
- "hierarchyDepth": 10,
- "data": [
- {
- "objectName": "string",
- "deletedCount": 0,
- "changedCount": 0,
- "addedCount": 0,
- "totalCount": 0
}
]
}Get restore details for a specific object
Get restore details for a specific object.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Restore activity ID. |
| objectName required | string [ 1 .. 256 ] characters ^[a-zA-Z0-9_]{1,256}$ Salesforce object API name. |
query Parameters
| pageNumber | integer >= 1 Default: 1 Page number of the results to display. |
| pageSize | integer or null [ 1 .. 200 ] Default: 50 Number of records to display per page. |
| searchTerm | string [ 1 .. 256 ] characters ^[A-Za-z0-9 _.:,\-]{1,256}$ Search term to filter results by object name. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 415
- 500
{- "data": [
- {
- "newRecordId": "string",
- "oldRecordId": "string",
- "status": "success",
- "messages": [
- "string"
], - "restoreType": "insert"
}
], - "totalSize": 1,
- "pageSize": 1,
- "metadata": {
- "numberOfItems": 1,
- "pageSize": 1
}
}Get restore details for a specified object path
Receives restore activity details (including metadata) for a specific node path in restore activities with object level depth.
Authorizations:
path Parameters
| activityId required | integer <int64> >= 1 Restore activity ID. |
query Parameters
| nodePath required | string [ 1 .. 512 ] characters ^[a-zA-Z0-9_]{1,512}$ Hierarchy node path (e.g., 'Account', 'Account_Contact', 'Account_Contact_Task'). |
| type required | string Enum: "inserted" "updated" Type of change to filter by. |
| pageNumber | integer >= 1 Default: 1 Page number of the results to display. |
| pageSize | integer or null [ 1 .. 200 ] Default: 50 Number of records to display per page. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 404
- 405
- 415
- 500
{- "data": [
- {
- "oldId": "001xx000003DGb2AAG",
- "newId": "001xx000003DGb3AAG",
- "status": "succeeded",
- "errorMessages": [
- "Field validation failed: Email is required"
], - "isDuplicate": false
}
], - "metadata": {
- "numberOfItems": 1,
- "pageSize": 1,
- "succeeded": 150,
- "partiallySucceeded": 5,
- "failed": 3
}
}Get audit events
Get a list of audit events.
Authorizations:
query Parameters
| pageNumber | integer >= 1 Default: 1 Example: pageNumber=1 Page number to retrieve (1-indexed, default 1). |
| pageSize | integer [ 1 .. 1000 ] Default: 100 Example: pageSize=100 Number of events per page (default 100, max 1000). |
Responses
Response samples
- 200
- 400
- 500
{- "events": [
- {
- "id": "audit-event-123",
- "userId": "00dxx00mdfafpxseij",
- "eventTime": "2023-12-01T10:30:00Z",
- "insertTime": "2023-12-01T10:30:01Z",
- "eventData": {
- "eventType": "ACTIVATE_BACKUP_POLICY",
- "policyId": 123
}, - "success": true,
- "loginHistoryId": "0YaDn00003ygoU4",
- "origin": "SALESFORCE_UI"
}
], - "pageNumber": 1,
- "pageSize": 100,
- "totalSize": 150
}