# developer Backup & Recover Next API (backup-recover-api) - Full Documentation # Authorization To use the Backup & Recover Rest APIs, you will need an OAuth token to authenticate your requests. [This guide](https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_oauth_and_connected_apps.htm) explains how to create an external client app and generate an OAuth token. 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`. # Get Started with Backup & Recover Next REST APIs Use Backup & Recover Next REST APIs to integrate backup and recover activities into your processes. Trigger on-demand backups or cancel running tasks directly from custom applications, run a compare, update objects selected to restore, query compare results or provide a log of audit events and detailed information about stored backups and their objects. **See Also** - [Authorization](https://developer.salesforce.com/docs/platform/barn-api/guide/authorization.md) - [API Reference](/docs/platform/barn-api/references/BaRN-api-rest) Own API Reference # Own API Reference Use the Own API to efficiently back up data, restore lost or corrupted information, and meet data integrity and compliance goals. Manage and export your data and jobs to streamline your recovery processes. Common use cases: * Data privacy: Automate the privacy process from Salesforce to include snapshots. * Audit monitoring: Integrate the events log with your monitoring system to track suspicious behavior. * Data exports: Move backups to a third-party database for business intelligence or analytics. * Job execution: Start seeding jobs directly from the API. Authentication endpoints (login and logout) use `https://auth.owndata.com`. All other endpoints use your regional domain (for example, `app1.owndata.com`). **Version:** 1.0.0 ## Servers * `https://{regional_domain}` Regional API server * `regional_domain (default app1.owndata.com) Your Own regional domain (e.g., app1.owndata.com, usgov2.owndata.com)` * `https://auth.owndata.com` Authentication server Default security: bearerAuth. ## Security * `bearerAuth` (http) Access token obtained from the User Login endpoint * HTTP scheme: bearer ## Operations ### POST Authenticate User `POST /oauth2/aus4c3z3l8FqrbqDU4h7/v1/token` Operation ID: `userLogin`. Authenticate a user by API token based on OAuth 2.0 authentication protocol. Tokens are generated through the Own account. Tokens automatically expire and are deleted after 180 days (regardless if the token was in use or not). Once expired and deleted, the token will not be available to the user, and the user account will not have access to our APIs. Servers for this operation: `https://auth.owndata.com` (Authentication server). #### Request body (required) Media type: `application/x-www-form-urlencoded`. Schema: `object`. * `grant_type` (_string_, required) Constant value. Do not change. Example: `refresh_token`. * `scope` (_string_, required) Constant value. Do not change. Example: `api:access`. * `refresh_token` (_string_, required) The refresh token generated through the Own account. * `client_id` (_string_, required) OAuth client ID. This value is constant and must not be changed. Allowed values: `0oa4c413eq8wwcEzP4h7`. Example: `0oa4c413eq8wwcEzP4h7`. #### Responses * **200** Authentication succeeded Headers: * `Date` (string) * `Server` (string) * `x-okta-request-id` (string) * `x-xss-protection` (integer) * `p3p` (string) * `content-security-policy-report-only` (string) * `content-security-policy` (string) * `x-rate-limit-limit` (integer) * `x-rate-limit-remaining` (integer) * `x-rate-limit-reset` (integer) * `cache-control` (string) * `pragma` (string) * `expires` (integer) * `x-content-type-options` (string) * `Strict-Transport-Security` (string) * `X-Robots-Tag` (string) * `set-cookie` (string) * `Keep-Alive` (string) * `Connection` (string) * `Transfer-Encoding` (string) Media type: `application/json`. Schema: `object`. * `token_type` (_string_) * `expires_in` (_integer_) * `access_token` (_string_) * `scope` (_string_) * `refresh_token` (_string_) * **400** Authentication failed Headers: * `Date` (string) * `Server` (string) * `x-okta-request-id` (string) * `x-xss-protection` (integer) * `p3p` (string) * `content-security-policy-report-only` (string) * `content-security-policy` (string) * `x-rate-limit-limit` (integer) * `x-rate-limit-remaining` (integer) * `x-rate-limit-reset` (integer) * `cache-control` (string) * `pragma` (string) * `expires` (integer) * `x-content-type-options` (string) * `Strict-Transport-Security` (string) * `set-cookie` (string) * `Connection` (string) * `Transfer-Encoding` (string) Media type: `application/json`. Schema: `oauthErrorResponse`. * **401** Invalid or expired refresh token Media type: `application/json`. Schema: `oauthErrorResponse`. * **429** Rate limit exceeded Media type: `application/json`. Schema: `oauthErrorResponse`. ### POST Log Out User `POST /oauth2/aus4c3z3l8FqrbqDU4h7/v1/revoke` Operation ID: `userLogout`. Log out a user by revoking the API token. After logout the token becomes invalid. The endpoint response is 200 for invalid tokens. Servers for this operation: `https://auth.owndata.com` (Authentication server). #### Request body (required) Media type: `application/x-www-form-urlencoded`. Schema: `object`. * `token_type_hint` (_string_, required) Type of token being revoked. Example: `access_token`. * `token` (_string_, required) The access token to revoke. * `client_id` (_string_, required) OAuth client ID. This value is constant and must not be changed. Allowed values: `0oa4c413eq8wwcEzP4h7`. Example: `0oa4c413eq8wwcEzP4h7`. #### Responses * **200** Successfully logged out. Per RFC 7009, this status is also returned for invalid or expired tokens. * **400** Malformed request Media type: `application/json`. Schema: `oauthErrorResponse`. * **429** Rate limit exceeded Media type: `application/json`. Schema: `oauthErrorResponse`. ### GET Get Account Events History `GET /api/v1/events` Operation ID: `getAccountEventsHistory`. Get the account event history from the beginning of time (default route) or all events that follow a specific event (use parameter with the id of an event), results are limited to 1,000 events per request. The following are a list of event keys and the events they represent: | **Key Value** | **Key Function** | **Event** | | --- | --- | --- | | account | .create | Own account created | | | .update | Account settings updated | | | .export\_users | List of users exported | | session | .create/.destroy | Login/Logout (deprecated, replaced with idp.user\_login\_app/.user\_logout\_app) | | | .create\_failed | Login failed | | unlock | .create | Account locked due to excessive failed login attempts | | service | .create | New service added to account | | | .update | Service configuration updated | | | .archive/.unarchive | Service archived/unarchived | | | .paused/.unpaused | Service paused/unpaused | | | .reauthenticate | Service reauthenticated | | | .new\_exclusion\_policy | Exclusion policy created | | | .delete\_exclusion\_policy | Exclusion policy removed | | user | .create/.destroy | User added/deleted | | | .update | User configuration changed | | | .added\_to\_bu | User added to a business unit | | | .update\_role\_in\_bu | User role in business unit updated | | profile | .update | Profile details changed | | business\_unit | .create/.destroy | Business unit added/deleted | | | .service\_moved | Service added/removed from business unit | | | .update | Business unit settings changed | | verify\_email | .show | Email/user verified | | two\_factor\_authentication | .update | Two-factor authentication enabled/disabled | | authorization | .fail | Unauthorized access attempt by user | | endpoint | .create/destroy | Endpoint added/removed | | | .update | Endpoint updated | | | .test\_public | Check if endpoint is public | | restricted\_ip\_network | .create | Permitted IP address added/removed | | backup | .create | Manual backup created | | | .export | Backup exported | | | .aborted | Backup aborted | | backups | .export | All backups exported | | restore | .salesforce | Data loss restore job created | | | .data\_corruption | Data corruption restore job created | | | .fullorg.salesforce | Full org restore job created | | | .salesforce\_metadata | Metadata restore job created | | | compare\_initiated.data\_loss | Data loss restore preview job created | | | .compare\_initiated.data\_corruption | Data corruption restore preview job created | | find | .create\_records\_find/.create\_attachments\_find | Find in records/attachments job created | | compare | .create\_smart\_sobject\_compare | Data compare job created | | | .create\_smart\_metadata\_compare | Metadata compare job created | | uploaded\_backup | .create\_salesforce\_weekly\_export | Salesforce Weekly Export uploaded | | job | .resumed | Job resumed | | | .deleted | Job deleted | | | .aborted | Job aborted | | alert\_rule | .create/.destroy | Smart Alert created/deleted | | getfile | .show/.download | File viewed/downloaded | | getrecords | .show | Records viewed | | get\_file\_from\_backup | .download | Object CSV downloaded | | get\_file\_from\_metadata | .download | Metadata object CSV downloaded | | get\_attachment | .download | Attachment downloaded | | get\_csv | .show | Compare view between two backups showed | | analyze\_profile\_permissions | .salesforce | Analyze Profile Permissions job created | | gdpr | .create\_subject\_request | GDPR subject request created | | | .show\_list | GDPR subject requests viewed | | scheduled\_export | .create | Scheduled export added | | anonymize | .user\_started\_job | Anonymize job created | | | .user\_created\_template/.user\_deleted\_template/.user\_cloned\_template | Anonymization template added/deleted/cloned | | | .save\_template\_changes | Anonymization template saved | | sbs | .user\_created\_template/.user\_deleted\_template | Seeding template created/deleted | | | .initiate\_template\_editing | Seeding template edited | | | .save\_template\_changes | Seeding template saved | | | .discard\_template\_changes | Edits to seeding template discarded | | | .user\_changed\_template\_name | Seeding template name changed | | | .user\_changed\_template\_description | Seeding template description changed | | | .user\_changed\_template\_source\_org | Seeding template source org changed | | | .user\_changed\_anonymization\_template | Seeding template's anonymization template changed | | | .get\_services | List Seeding services | | | .get\_templates | List seeding templates | | | .get\_seedinglog | Show seed log | | | .get\_data | Preview records from Seeding template | | | .seed | Seeding job initiated | | | .user\_manipulated\_template | Anonymization template of Seeding template updated | | replicate | .salesforce | Salesforce data restore job created | | | .salesforce\_metadata | Salesforce metadata restore job created | | archiver | .service\_created/.service\_removed | Archive service added/deleted | | | .policy\_import | Archive policy imported | | audit\_log | .export | Audit log exported | | idp | idp.user\_login\_app/.user\_logout\_app | Sign in/sign out | | | idp.profile\_update | Update to user settings | | | idp.account\_sso\_enabled/.account\_sso\_disabled | SSO enabled/disabled | | | .generate\_api\_refresh\_token/.revoke\_api\_token | API token created/revoked | | | generate\_api\_access\_token | API access token created (login via API) | | | .user\_account\_lock/.user\_account\_unlock | User account locked/unlocked | | | .forgot\_password\_update | Updated password on the Sign In screen | Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `from` (query, string) Event ID cursor for pagination. When provided, only events with an ID greater than this value are returned. Results are limited to 1000 events per request. #### Responses * **200** List of events of the current account from a specific event ID Media type: `application/json`. Schema: `array of object`. Array of `object`. * `created_at` (_string (date-time)_) * `event_id` (_integer_) * `ip_address` (_string (ip-address)_) * `key` (_string_) * `parameters` (_object_) * `service_id` (_integer_, nullable) * `source` (_string_) * `user_email` (_string (email)_) * `user_id` (_integer_) * **400** Invalid parameters or bad request Media type: `application/json`. Schema: `errorResponse`. * **401** Missing or invalid authentication Media type: `application/json`. Schema: `errorResponse`. * **403** User not authorized to view audit log Media type: `application/json`. Schema: `errorResponse`. * **500** Internal server error Media type: `application/json`. Schema: `errorResponse`. ### GET List Backups for a Service `GET /api/v1/services/{service_id}/backups` Operation ID: `listBackupsForService`. Get a list of all available backups for a given service. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `service_id` (path, string, required) The unique identifier of the service. #### Responses * **200** An array listing backups for a specific service. The response is an array of information for each backup listed. Headers: * `Date` (string) * `Server` (string) * `Strict-Transport-Security` (string) * `Content-Security-Policy` (string) * `Vary` (string) * `Content-Encoding` (string) * `Content-Length` (integer) * `Keep-Alive` (string) * `Connection` (string) Media type: `application/json`. Schema: `array of object`. Array of `object`. * `api_usage` (_object_) * `num_bulk_api_batches` (_integer_) * `num_bulk_v2_query_file_storage_mb` (_integer_) * `completed_at` (_string (date-time)_) * `id` (_integer_) * `num_api_calls` (_integer_) * `num_bulk_api_batches` (_integer_) * `num_deleted_items` (_integer_) * `num_inserted_items` (_integer_) * `num_sections` (_integer_) * `num_sections_error` (_integer_) * `num_sections_info` (_integer_) * `num_sections_ok` (_integer_) * `num_sections_warning` (_integer_) * `num_updated_items` (_integer_) * `provider` (_string_) * `status` (_string_) * `trigger_type` (_string_) * **404** Service not found Media type: `application/json`. Schema: `errorResponse`. ### GET Get a Specific Backup `GET /api/v1/services/{service_id}/backups/{backup_id}` Operation ID: `getBackup`. Get a specific backup by the Service ID and Backup ID. Parameter `backup_id` can be `last` and will return the last completed backup (with or without errors). Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `service_id` (path, string, required) The unique identifier of the service. * `backup_id` (path, string, required) The unique identifier of the backup. Can be "last" to reference the most recent backup. #### Responses * **200** Backup information Headers: * `Date` (string) * `Server` (string) * `Strict-Transport-Security` (string) * `Content-Security-Policy` (string) * `Vary` (string) * `Content-Encoding` (string) * `Content-Length` (integer) * `Keep-Alive` (string) * `Connection` (string) Media type: `application/json`. Schema: `object`. * `api_usage` (_object_) * `num_bulk_api_batches` (_integer_) * `num_bulk_v2_query_file_storage_mb` (_integer_) * `completed_at` (_string (date-time)_) * `id` (_integer_) * `num_api_calls` (_integer_) * `num_bulk_api_batches` (_integer_) * `num_deleted_items` (_integer_) * `num_inserted_items` (_integer_) * `num_sections` (_integer_) * `num_sections_error` (_integer_) * `num_sections_info` (_integer_) * `num_sections_ok` (_integer_) * `num_sections_warning` (_integer_) * `num_updated_items` (_integer_) * `provider` (_string_) * `status` (_string_) * `trigger_type` (_string_) * **404** Service or Backup not found Media type: `application/json`. Schema: `errorResponse`. ### GET List Objects for a Backup `GET /api/v1/services/{service_id}/backups/{backup_id}/objects` Operation ID: `listObjectsForBackup`. Get list of objects in a backup by Service ID and Backup ID. Parameter `backup_id` can be `last`. The following fields: `download_link`, `download_added_link`, `download_removed_link` and `download_changed_link` contain links to the associated data of that backup, stored in CSV format. To download these CSVs, issue an HTTPS GET request (using a valid session) to these URLs. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `service_id` (path, string, required) The unique identifier of the service. * `backup_id` (path, string, required) The unique identifier of the backup. Can be "last" to reference the most recent backup. #### Responses * **200** Objects Media type: `application/json`. Schema: `array of object`. Array of `object`. * `id` (_integer_) * `download_removed_link` (_string (uri)_) * `download_changed_link` (_string (uri)_) * `download_added_link` (_string (uri)_) * `download_link` (_string (uri)_) * `num_api_calls` (_integer_) * `num_updated_items` (_integer_) * `num_deleted_items` (_integer_) * `num_inserted_items` (_integer_) * `num_items` (_integer_) * `name` (_string_) * `message` (_string_) * `status` (_string_) * **404** Service or Backup not found Media type: `application/json`. Schema: `errorResponse`. ### POST Export Backup to CSV or SQL `POST /api/v1/services/{service_id}/backups/{backup_id}/export` Operation ID: `exportBackupToCsvOrSql`. Export a data backup into CSV or SQL by Service ID and Backup ID. Parameter `backup_id` can be `last`. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `service_id` (path, string, required) The unique identifier of the service. * `backup_id` (path, string, required) The unique identifier of the backup. Can be "last" to reference the most recent backup. #### Request body (required) Media type: `multipart/form-data`. Schema: `exportBackupRequest`. Media type: `application/json`. Schema: `exportBackupRequest`. #### Responses * **200** Enqueue an export job and return the job ID Media type: `application/json`. Schema: `object`. * `job_id` (_integer_) * **400** Invalid parameters or bad request Media type: `application/json`. Schema: `errorResponse`. * **403** User does not have permission to perform this action Media type: `application/json`. Schema: `errorResponse`. * **404** Service or Backup not found Media type: `application/json`. Schema: `errorResponse`. * **409** Cannot export a backup that is currently running or has failed Media type: `application/json`. Schema: `errorResponse`. ### POST Export Backup to Endpoint `POST /api/v1/services/{service_id}/backups/{backup_id}/export_to_endpoint` Operation ID: `exportBackupToEndpoint`. Export a data backup to Endpoint by Service ID and Backup ID. Parameter `backup_id` can be `last`. Supported endpoint types: **MySQL**, **S3**, **Snowflake**, and **Azure Blob Storage**. The `include_attachments` and `include_file_schema` parameters are only applicable to S3 and Azure Blob endpoints. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `service_id` (path, string, required) The unique identifier of the service. * `backup_id` (path, string, required) The unique identifier of the backup. Can be "last" to reference the most recent backup. #### Request body (required) Media type: `multipart/form-data`. Schema: `object`. * `endpoint_id` (_string_, required) Required endpoint ID. The ID can be obtained from the Own Account Settings page on the Endpoints tab. * `objects` (_array of string_) Object names to export. If empty, all objects are exported. * `include_attachments` (_boolean_) When true, includes attachments in the export. Applicable to S3 and Azure Blob endpoints only. * `include_file_schema` (_boolean_) When true, includes file schema in the export. Applicable to S3 and Azure Blob endpoints only. #### Responses * **200** Started job information Media type: `application/json`. Schema: `object`. * `job_id` (_integer_) * **400** Invalid parameters or bad request Media type: `application/json`. Schema: `errorResponse`. * **404** Service or Backup not found Media type: `application/json`. Schema: `errorResponse`. * **409** Cannot export a backup that is currently running or has failed Media type: `application/json`. Schema: `errorResponse`. ### POST Submit Data Privacy Rectify Request `POST /api/v1/services/{service_id}/data_privacy/rectify` Operation ID: `submitDataPrivacyRectifyRequest`. Submit a Data Privacy rectify request Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `service_id` (path, string, required) The unique identifier of the service. #### Request body (required) Media type: `multipart/form-data`. Schema: `object`. * `record_id` (_string_, required) The unique record identifier from the source service (e.g., 18-character Salesforce ID, 36-character Dynamics 365 GUID, or 32-character ServiceNow sys\_id). * `table_name` (_string_, required) The API name of the object/table in the source service (e.g., 'Account', 'Contact'). Only alphanumeric characters, hyphens, and underscores are allowed. * `field` (_string_, required) The API name of the field to rectify (e.g., 'Email', 'Phone'). * `value` (_string_, required) The new value to set for the specified field. Cannot be null or empty. * `comment` (_string_) Optional comments. #### Responses * **200** Data Privacy request information Media type: `application/json`. Schema: `object`. * `id` (_integer_) * **400** Invalid parameters or bad request Media type: `application/json`. Schema: `errorResponse`. * **401** Missing or invalid authentication credentials Media type: `application/json`. Schema: `errorResponse`. * **403** Authenticated user does not have API access permissions Media type: `application/json`. Schema: `errorResponse`. * **404** Service not found Media type: `application/json`. Schema: `errorResponse`. * **429** Daily data privacy request quota exceeded for this service Media type: `application/json`. Schema: `errorResponse`. * **500** Internal server error Media type: `application/json`. Schema: `errorResponse`. ### POST Submit Data Privacy Forget Request `POST /api/v1/services/{service_id}/data_privacy/forget` Operation ID: `submitDataPrivacyForgetRequest`. Submit a Data Privacy forget request Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `service_id` (path, string, required) The unique identifier of the service. #### Request body (required) Media type: `multipart/form-data`. Schema: `object`. * `record_id` (_string_, required) The unique record identifier from the source service (e.g., 18-character Salesforce ID, 36-character Dynamics 365 GUID, or 32-character ServiceNow sys\_id). * `table_name` (_string_, required) The API name of the object/table in the source service (e.g., 'Account', 'Contact'). Only alphanumeric characters, hyphens, and underscores are allowed. * `comment` (_string_) Optional comments. #### Responses * **200** Data Privacy request information Media type: `application/json`. Schema: `object`. * `id` (_integer_) * **400** Invalid parameters or bad request Media type: `application/json`. Schema: `errorResponse`. * **401** Missing or invalid authentication credentials Media type: `application/json`. Schema: `errorResponse`. * **403** Authenticated user does not have API access permissions Media type: `application/json`. Schema: `errorResponse`. * **404** Service not found Media type: `application/json`. Schema: `errorResponse`. * **429** Daily data privacy request quota exceeded for this service Media type: `application/json`. Schema: `errorResponse`. * **500** Internal server error Media type: `application/json`. Schema: `errorResponse`. ### GET Get Data Privacy Request Status `GET /api/v1/services/{service_id}/data_privacy/{data_privacy_request_id}` Operation ID: `getDataPrivacyRequestStatus`. View status of a Data Privacy request Status options: | **status** | **Meaning** | | --- | --- | | `pending` | Pending completion of previous requests | | `validated` | Request is validated, but not yet committed | | `commited` | Request is committed and completed | | `failed` | Request failed | | `cancelled` | Request canceled by user | Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `service_id` (path, string, required) The unique identifier of the service. * `data_privacy_request_id` (path, string, required) The unique identifier of the Data Privacy request. #### Responses * **200** Data Privacy Request Status Media type: `application/json`. Schema: `object`. * `id` (_integer_) The unique identifier of the Data Privacy request. * `status` (_string_) Current status of the request. Allowed values: `pending`, `validated`, `commited`, `failed`, `cancelled`. * **400** Invalid parameters or bad request Media type: `application/json`. Schema: `errorResponse`. * **401** Missing or invalid authentication credentials Media type: `application/json`. Schema: `errorResponse`. * **403** Authenticated user does not have API access permissions Media type: `application/json`. Schema: `errorResponse`. * **404** Service or Data Privacy request not found Media type: `application/json`. Schema: `errorResponse`. * **500** Internal server error Media type: `application/json`. Schema: `errorResponse`. ### GET List Jobs `GET /api/v1/jobs` Operation ID: `listJobs`. Get a list of all jobs. The response is an array of jobs which include progress, current status, and URIs for results.\`\`\` Servers for this operation: `https://{regional_domain}` (Regional API server). #### Responses * **200** List of jobs for the current user Headers: * `Date` (string) * `Server` (string) * `Strict-Transport-Security` (string) * `Content-Security-Policy` (string) * `Vary` (string) * `Content-Encoding` (string) * `Content-Length` (integer) * `Keep-Alive` (string) * `Connection` (string) Media type: `application/json`. Schema: `array of object`. Array of `object`. * `id` (_integer_) * `progress` (_integer_) * `results` (_array of string (uri)_) * `status` (_string_) * `title` (_string_) * **403** User does not have permission to perform this action Media type: `application/json`. Schema: `errorResponse`. ### GET Get Job `GET /api/v1/jobs/{job_id}` Operation ID: `getJob`. Get a specific job using its `job_id` unique identifier. The response includes the job's progress, current status, and URI for result.\`\`\` Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `job_id` (path, string, required) The unique identifier of the job. #### Responses * **200** Job status with link to SQL file Headers: * `Date` (string) * `Server` (string) * `Vary` (string) * `Content-Encoding` (string) * `Content-Length` (integer) * `Keep-Alive` (string) * `Connection` (string) Media type: `application/json`. Schema: `object`. * `id` (_integer_) * `progress` (_integer_) * `results` (_array of string (uri)_) * `status` (_string_) * `title` (_string_) * **400** Invalid parameters or bad request Media type: `application/json`. Schema: `errorResponse`. * **401** Authentication failed or user is not authorized to perform this action Media type: `application/json`. Schema: `errorResponse`. * **404** Job not found Media type: `application/json`. Schema: `errorResponse`. ### DELETE Delete Job `DELETE /api/v1/jobs/{job_id}` Operation ID: `deleteJob`. Delete a job using its `job_id` unique identifier. Use this endpoint to remove completed or cancelled jobs from your job list. Active jobs cannot be deleted until they complete or are aborted. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `job_id` (path, string, required) The unique identifier of the job. #### Responses * **200** Specific job status Media type: `application/json`. Schema: `object`. * `id` (_integer_) * **400** Invalid parameters or bad request Media type: `application/json`. Schema: `errorResponse`. * **401** Authentication failed or user is not authorized to perform this action Media type: `application/json`. Schema: `errorResponse`. * **404** Job not found Media type: `application/json`. Schema: `errorResponse`. * **500** An unexpected error occurred Media type: `application/json`. Schema: `errorResponse`. ### GET Get All Templates `GET /api/v1/seeding/templates` Operation ID: `getAllTemplates`. Get all seeding templates that the user has access to. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Responses * **200** A collection of templates Headers: * `Date` (string) * `Server` (string) * `Strict-Transport-Security` (string) * `Content-Security-Policy` (string) * `Vary` (string) * `Allow` (string) * `X-Frame-Options` (string) * `X-Content-Type-Options` (string) * `Referrer-Policy` (string) * `Cross-Origin-Opener-Policy` (string) * `Content-Encoding` (string) * `Content-Length` (integer) * `Keep-Alive` (string) * `Connection` (string) Media type: `application/json`. Schema: `array of object`. Array of `object`. * `id` (_integer_) * `template_type` (_string_) * `provider` (_string_) * `name` (_string_) * `description` (_string_) * `source_service_id` (_integer_) * `anonymization_template_id` (_integer_, nullable) * `source_service_name` (_string (email)_) * `source_service_available` (_boolean_) * `is_locked` (_boolean_) * `is_draft` (_boolean_) * `editor_email` (_string_, nullable) * `destination_size` (_string_) * `latest_seed_date` (_string_, nullable) * `is_favorite` (_boolean_) * `has_schedule` (_boolean_) ### POST Start Seeding `POST /api/v1/seeding/templates/{template_id}/seed` Operation ID: `startSeeding`. Start a new seed from the template's source service to the specified destination service. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `template_id` (path, string, required) The unique identifier of the seeding template. #### Request body (required) Media type: `multipart/form-data`. Schema: `object`. * `destination` (_integer_, required) Unique Own identifier of the destination service for the seed. * `seeding_method` (_string_) Seeding method. Allowed values: `add`, `clean_and_insert`, `incremental`. * `disable_validation_rules` (_string_) Should the seed validation rules be disabled during the seed. Allowed values: `True`, `False`. * `automations_to_disable` (_string_) Optional dictionary value of automations to disable. * `reindex` (_string_) When manual/external record removal from the destination occurs, the destination index should be updated accordingly. Allowed values: `True`, `False`. * `backup_id` (_string_) Required when seeding from backup. ID of backup to fetch from. * `service_id` (_integer_) Only when seeding from backup; if the desired backup is in a different service than the service the template belongs to. #### Responses * **201** Initiated seed from live Media type: `application/json`. Schema: `object`. * `id` (_integer_) * `template` (_integer_) * `dest_service_id` (_integer_) * `seed_id` (_integer_) * `anonymization_template_id` (_integer_, nullable) * `created_at` (_string (date-time)_) * `seeding_method` (_string_) * `status` (_string_) * `progress` (_integer_) * `disable_automations` (_boolean_) * `disable_validation_rules` (_string_) * `error_message` (_string_, nullable) * `error_stage` (_string_, nullable) * `error_type` (_string_, nullable) * `error` (_string_, nullable) * `duplicated_records` (_integer_, nullable) * `insert_success_records` (_integer_, nullable) * `delete_success_records` (_integer_, nullable) * `insert_fail_records` (_integer_, nullable) * `delete_fail_records` (_integer_, nullable) * `total_insert_records` (_integer_, nullable) * `total_delete_records` (_integer_, nullable) * `started_at` (_string_, nullable) * `finished_at` (_string_, nullable) * `re_enable_automations_failed` (_boolean_) * `destination_service_name` (_string (email)_) * `disable_automations_failed` (_boolean_) * `index_time_seconds` (_integer_) * `progress_description` (_string_, nullable) * `is_abortable` (_boolean_) * `steps` (_array of object_) * `updated_records` (_integer_, nullable) * **406** Not acceptable Headers: * `Date` (string) * `Server` (string) * `Content-Length` (integer) * `Vary` (string) * `X-Frame-Options` (string) * `Allow` (string) * `Strict-Transport-Security` (string) * `Keep-Alive` (string) * `Connection` (string) Media type: `application/json`. Schema: `object`. * `message` (_string_) * `anonymization_template_id` (_integer_) ### GET Get Seeding Services `GET /api/v1/seeding/services` Operation ID: `getSeedingServices`. Get all services that can be used as destination for seeds. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Responses * **200** A collection of services Headers: * `Date` (string) * `Server` (string) * `Strict-Transport-Security` (string) * `Content-Security-Policy` (string) * `Vary` (string) * `Allow` (string) * `X-Frame-Options` (string) * `X-Content-Type-Options` (string) * `Referrer-Policy` (string) * `Cross-Origin-Opener-Policy` (string) * `Content-Encoding` (string) * `Content-Length` (integer) * `Keep-Alive` (string) * `Connection` (string) Media type: `application/json`. Schema: `array of object`. Array of `object`. * `id` (_integer_) * `name` (_string_) * `type` (_string_) * `indexed` (_boolean_) * `allowed_as_a_destination` (_boolean_) * `provider` (_string_) ### GET Get Seed Log `GET /api/v1/seeding/seed/{seed_id}` Operation ID: `getSeedLog`. Get information for the specified seed. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `seed_id` (path, string, required) The unique identifier of the seed operation. #### Responses * **200** A seed log, details on a seed Media type: `application/json`. Schema: `object`. * `anonymization_template_id` (_integer_, nullable) * `created_at` (_string (date-time)_) * `delete_fail_records` (_integer_) * `delete_success_records` (_integer_) * `dest_service_id` (_integer_) * `disable_validation_rules` (_boolean_) * `duplicated_records` (_integer_) * `error_message` (_string_, nullable) * `error_stage` (_string_, nullable) * `error_type` (_string_, nullable) * `finished_at` (_string (date-time)_) * `id` (_integer_) * `insert_fail_records` (_integer_) * `insert_success_records` (_integer_) * `progress` (_integer_) * `seed_id` (_integer_) * `seeding_method` (_string (color)_) * `started_at` (_string (date-time)_) * `status` (_string_) * `template` (_integer_) * `total_delete_records` (_integer_) * `total_insert_records` (_integer_) ### POST Anonymize Fetch Data `POST /api/v1/seeding/templates/{template_id}/anonymize` Operation ID: `anonymizeFetchData`. Anonymize and fetch data from either a Live source or a Backup. **Fetch from Live Source:** Omit the `backup_id` parameter to fetch data directly from the live Salesforce org. **Fetch from Backup:** Include the `backup_id` parameter to fetch data from a specific backup instead of the live source. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `template_id` (path, string, required) The unique identifier of the seeding template. #### Request body (required) Media type: `application/json`. Schema: `object`. * `destination_service_id` (_integer_, required) Destination service ID for the anonymization. * `disable_automations` (_string_) Should automations be disabled during anonymization. Allowed values: `True`, `False`. * `automations_to_disable` (_object_) Dictionary of automation types and names to disable. _Example_ ``` { "ApexTrigger": [ "AccountApexTrigger", "TaskApexTrigger" ] } ``` * `backup_id` (_string_) The backup ID to fetch data from. Omit this parameter to fetch from the live source instead. _Example: fetchFromLiveSource_ Fetch from Live Source Anonymize by fetching data directly from the live Salesforce org. ``` { "destination_service_id": 18, "disable_automations": "False" } ``` _Example: fetchFromBackup_ Fetch from Backup Anonymize by fetching data from a specific backup. ``` { "destination_service_id": 18, "backup_id": "45", "disable_automations": "False" } ``` #### Responses * **201** Anonymize job created successfully Headers: * `Date` (string) * `Server` (string) * `Content-Length` (integer) * `Vary` (string) * `X-Frame-Options` (string) * `Allow` (string) * `Strict-Transport-Security` (string) * `Connection` (string) Media type: `application/json`. Schema: `object`. ### GET Get Anonymize Log `GET /api/v1/seeding/anonymize/{anonymization_id}` Operation ID: `getAnonymizeLog`. Get information for the specified anonymization job. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `anonymization_id` (path, string, required) The unique identifier of the anonymization job. #### Responses * **200** Anonymize Log Example Headers: * `Date` (string) * `Server` (string) * `Vary` (string) * `X-Frame-Options` (string) * `Allow` (string) * `Strict-Transport-Security` (string) * `Content-Encoding` (string) * `Content-Length` (integer) * `Keep-Alive` (string) * `Connection` (string) Media type: `application/json`. Schema: `object`. * `anonymization_id` (_integer_) * `anonymization_template_id` (_integer_) * `anonymization_template_name` (_string_) * `anonymization_service_id` (_integer_) * `anonymization_service_name` (_string (email)_) * `created_at` (_string (date-time)_) * `started_at` (_string (date-time)_) * `finished_at` (_string (date-time)_) * `status` (_string_) * `progress` (_integer_) * `progress_description` (_string_, nullable) * `success_records` (_integer_) * `fail_records` (_integer_) * `disable_automations` (_boolean_) * `re_enable_automations_failed` (_boolean_) * `disable_automations_failed` (_boolean_) * `error_stage` (_string_, nullable) * `error_type` (_string_, nullable) * `error_message` (_string_, nullable) * `is_abortable` (_boolean_) * `linkable_template` (_object_) * `is_linkable_template` (_boolean_) * `reason` (_string_) * `delete_history_report` (_object_) * `feed` (_object_) * `has_permission` (_boolean_) * `error_sobjects` (_string_) * `error_message` (_string_) * `success_count` (_integer_) * `error_count` (_integer_) * `history` (_object_) * `error_sobjects` (_string_) * `error_message` (_string_) * `success_count` (_integer_) * `error_count` (_integer_) * `has_permission` (_boolean_) * `audits` (_array of object_) * `has_permission` (_boolean_) * `object` (_string_) * `success_count` (_integer_) * `error_count` (_integer_) * `error_message` (_string_, nullable) * `steps` (_array of object_) * `id` (_integer_) * `name` (_string_) * `started_at` (_string (date-time)_) * `finished_at` (_string (date-time)_) * `progress` (_integer_) * `fetch_from` (_string_) * `backup_date` (_string (date-time)_) * **404** Wrong Anonymization ID Headers: * `Date` (string) * `Server` (string) * `Content-Length` (integer) * `Vary` (string) * `X-Frame-Options` (string) * `Allow` (string) * `Strict-Transport-Security` (string) * `Keep-Alive` (string) * `Connection` (string) Media type: `application/json`. Schema: `object`. * `message` (_string_) ### GET Get All Services `GET /api/v1/services` Operation ID: `getAllServices`. Get a list of all services. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Responses * **200** A collection of services Headers: * `Date` (string) * `Server` (string) * `Strict-Transport-Security` (string) * `Content-Security-Policy` (string) * `Vary` (string) * `Content-Encoding` (string) * `Content-Length` (integer) * `Keep-Alive` (string) * `Connection` (string) Media type: `application/json`. Schema: `array of object`. Array of `object`. * `archived` (_integer_) * `displayed_name` (_string (email)_) * `enabled` (_integer_) * `id` (_integer_) * `last_backup` (_string (date-time)_) * `num_items` (_integer_) * `org_id` (_string_) * `provider` (_string_) * `return_code` (_integer_) * `return_message` (_string_) * `secondary_name` (_string_) * `status` (_string_) * `subtitle` (_string_, nullable) * `total_size` (_integer_) ### GET Get a Service `GET /api/v1/services/{service_id}` Operation ID: `getService`. Get a specific service by Service ID Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `service_id` (path, string, required) The unique identifier of the service. #### Responses * **200** Service object by ID Headers: * `Date` (string) * `Server` (string) * `Strict-Transport-Security` (string) * `Content-Security-Policy` (string) * `Vary` (string) * `Content-Encoding` (string) * `Content-Length` (integer) * `Keep-Alive` (string) * `Connection` (string) Media type: `application/json`. Schema: `object`. * `archived` (_integer_) * `displayed_name` (_string_) * `enabled` (_integer_) * `id` (_integer_) * `last_backup` (_string (date-time)_) * `num_items` (_integer_) * `org_id` (_string_) * `provider` (_string_) * `return_code` (_integer_) * `return_message` (_string_) * `secondary_name` (_string_) * `status` (_string_) * `subtitle` (_string_, nullable) * `business_unit` (_string_) * `total_size` (_integer_) * **404** Service not found Media type: `application/json`. Schema: `errorResponse`. ### POST Back Up a Service Now `POST /api/v1/services/{service_id}/backup_now` Operation ID: `backupServiceNow`. Start a manual backup of a service using `service_id`, the unique identifier of the service. The response is an array of bsckups, each listing an array of information Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `service_id` (path, string, required) The unique identifier of the service. #### Responses * **200** Backup initiated Media type: `application/json`. Schema: `object`. * **404** Service not found Media type: `application/json`. Schema: `errorResponse`. * **409** Service is currently running another backup Media type: `application/json`. Schema: `errorResponse`. ### POST Back Up Specific Objects Now `POST /api/v1/services/{service_id}/backup_specific_objects_now` Operation ID: `backupSpecificObjectsNow`. Start a manual backup for specific objects using `service_id`, the unique identifier of the service. Servers for this operation: `https://{regional_domain}` (Regional API server). #### Parameters * `service_id` (path, string, required) The unique identifier of the service. #### Request body (required) Media type: `application/x-www-form-urlencoded`. Schema: `object`. * `list_of_objects` (_array of string_, required) Array of object names to include in the backup. _Example_ ``` [ "Account", "Case" ] ``` #### Responses * **200** Backup initiated Media type: `application/json`. Schema: `object`. * **400** No objects have been selected Media type: `application/json`. Schema: `object`. * `error` (_string_) * `message` (_string_) * **404** Service not found Media type: `application/json`. Schema: `errorResponse`. * **409** Service is currently running another backup Media type: `application/json`. Schema: `errorResponse`. ## Schemas ### oauthErrorResponse * `error` (_string_) OAuth error code per RFC 6749 and RFC 7009. The authentication provider may return additional codes beyond this list. Allowed values: `invalid_request`, `invalid_client`, `invalid_grant`, `unauthorized_client`, `unsupported_grant_type`, `invalid_scope`, `unsupported_token_type`. * `error_description` (_string_) Description of the error ### errorResponse * `error` (_string_) Error type * `message` (_string_) Error message description ### exportBackupRequest * `export_format` (_string_, required) Required export format. Allowed values: `csv`, `sql`. * `include_attachments` (_string_) When true, includes attachments in the export. Allowed values: `true`, `false`. Example: `false`. * `sql_dialect` (_string_) SQL dialect to use when exporting to SQL. Required when `export_format` is `sql`. Allowed values: `mysql`, `oracle`, `postgresql`, `mssql`. * `objects` (_array of string_) Object names to export. If empty, all objects are exported. * `blockchain_verify` (_string_) When set to `true`, triggers a gzip export for blockchain verification. Required settings: | Parameter | Setting | | --- | --- | | `export_format` | `csv` | | `include_attachments` | `false` | | `schema_only` | `false` | | `sql_dialect` | Leave empty | Allowed values: `true`, `false`. Example: `false`. * `schema_only` (_string_) Export only the schema without data. Allowed values: `true`, `false`. Example: `false`.