---
schema_version: "1"
id: 98dfe515412125113306212c6ef62f66324eefb3c5d6aa63d64c9719ba3e7ffb
title: Own API Reference
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/backup-recover-api/own-api/references/generated-api-specs/own-api-rest.md
canonical_url: https://developer.salesforce.com/docs/platform/own-api/references/own-api-rest
source_site: developer.salesforce.com
content_type: documentation
content_hash: 3fc65b3e10e5a18cc79d37e843b6e2b1c9201786750194fc2147ccdbe33e1cd4
products:
  - Own API Reference
  - Own API Reference Documentation
---
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`.