Own API (1.0.0)

Download OpenAPI specification:Download

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).

Authenticate User

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.

Authorizations:
bearerAuth
Request Body schema: application/x-www-form-urlencoded
required
grant_type
required
string

Constant value. Do not change.

scope
required
string

Constant value. Do not change.

refresh_token
required
string

The refresh token generated through the Own account.

client_id
required
string
Value: "0oa4c413eq8wwcEzP4h7"

OAuth client ID. This value is constant and must not be changed.

Responses

Response samples

Content type
application/json
{
  • "token_type": "string",
  • "expires_in": 0,
  • "access_token": "string",
  • "scope": "string",
  • "refresh_token": "string"
}

Log Out User

Log out a user by revoking the API token. After logout the token becomes invalid. The endpoint response is 200 for invalid tokens.

Authorizations:
bearerAuth
Request Body schema: application/x-www-form-urlencoded
required
token_type_hint
required
string

Type of token being revoked.

token
required
string

The access token to revoke.

client_id
required
string
Value: "0oa4c413eq8wwcEzP4h7"

OAuth client ID. This value is constant and must not be changed.

Responses

Response samples

Content type
application/json
{
  • "error": "invalid_request",
  • "error_description": "string"
}

Get Account Events History

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
Authorizations:
bearerAuth
query Parameters
from
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

Response samples

Content type
application/json
[
  • {
    }
]

List Backups for a Service

Get a list of all available backups for a given service.

Authorizations:
bearerAuth
path Parameters
service_id
required
string

The unique identifier of the service.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a Specific Backup

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).

Authorizations:
bearerAuth
path Parameters
service_id
required
string

The unique identifier of the service.

backup_id
required
string

The unique identifier of the backup. Can be "last" to reference the most recent backup.

Responses

Response samples

Content type
application/json
{
  • "api_usage": {
    },
  • "completed_at": "2019-08-24T14:15:22Z",
  • "id": 0,
  • "num_api_calls": 0,
  • "num_bulk_api_batches": 0,
  • "num_deleted_items": 0,
  • "num_inserted_items": 0,
  • "num_sections": 0,
  • "num_sections_error": 0,
  • "num_sections_info": 0,
  • "num_sections_ok": 0,
  • "num_sections_warning": 0,
  • "num_updated_items": 0,
  • "provider": "string",
  • "status": "string",
  • "trigger_type": "string"
}

List Objects for a Backup

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.

Authorizations:
bearerAuth
path Parameters
service_id
required
string

The unique identifier of the service.

backup_id
required
string

The unique identifier of the backup. Can be "last" to reference the most recent backup.

Responses

Response samples

Content type
application/json
[]

Export Backup to CSV or SQL

Export a data backup into CSV or SQL by Service ID and Backup ID. Parameter backup_id can be last.

Authorizations:
bearerAuth
path Parameters
service_id
required
string

The unique identifier of the service.

backup_id
required
string

The unique identifier of the backup. Can be "last" to reference the most recent backup.

Request Body schema:
required
export_format
required
string
Enum: "csv" "sql"

Required export format.

include_attachments
string
Enum: "true" "false"

When true, includes attachments in the export.

sql_dialect
string
Enum: "mysql" "oracle" "postgresql" "mssql"

SQL dialect to use when exporting to SQL. Required when export_format is sql.

objects
Array of strings

Object names to export. If empty, all objects are exported.

blockchain_verify
string
Enum: "true" "false"

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
schema_only
string
Enum: "true" "false"

Export only the schema without data.

Responses

Request samples

Content type
No sample

Response samples

Content type
application/json
{
  • "job_id": 0
}

Export Backup to Endpoint

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.

Authorizations:
bearerAuth
path Parameters
service_id
required
string

The unique identifier of the service.

backup_id
required
string

The unique identifier of the backup. Can be "last" to reference the most recent backup.

Request Body schema: multipart/form-data
required
endpoint_id
required
string

Required endpoint ID. The ID can be obtained from the Own Account Settings page on the Endpoints tab.

objects
Array of strings

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

Response samples

Content type
application/json
{
  • "job_id": 0
}

Submit Data Privacy Rectify Request

Submit a Data Privacy rectify request

Authorizations:
bearerAuth
path Parameters
service_id
required
string

The unique identifier of the service.

Request Body schema: multipart/form-data
required
record_id
required
string

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
required
string

The API name of the object/table in the source service (e.g., 'Account', 'Contact'). Only alphanumeric characters, hyphens, and underscores are allowed.

field
required
string

The API name of the field to rectify (e.g., 'Email', 'Phone').

value
required
string

The new value to set for the specified field. Cannot be null or empty.

comment
string

Optional comments.

Responses

Response samples

Content type
application/json
{
  • "id": 0
}

Submit Data Privacy Forget Request

Submit a Data Privacy forget request

Authorizations:
bearerAuth
path Parameters
service_id
required
string

The unique identifier of the service.

Request Body schema: multipart/form-data
required
record_id
required
string

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
required
string

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

Response samples

Content type
application/json
{
  • "id": 0
}

Get Data Privacy Request Status

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
Authorizations:
bearerAuth
path Parameters
service_id
required
string

The unique identifier of the service.

data_privacy_request_id
required
string

The unique identifier of the Data Privacy request.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "status": "pending"
}

List Jobs

Get a list of all jobs. The response is an array of jobs which include progress, current status, and URIs for results.```

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Job

Get a specific job using its job_id unique identifier. The response includes the job's progress, current status, and URI for result.```

Authorizations:
bearerAuth
path Parameters
job_id
required
string

The unique identifier of the job.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "progress": 0,
  • "results": [],
  • "status": "string",
  • "title": "string"
}

Delete Job

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.

Authorizations:
bearerAuth
path Parameters
job_id
required
string

The unique identifier of the job.

Responses

Response samples

Content type
application/json
{
  • "id": 0
}

Get All Templates

Get all seeding templates that the user has access to.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Start Seeding

Start a new seed from the template's source service to the specified destination service.

Authorizations:
bearerAuth
path Parameters
template_id
required
string

The unique identifier of the seeding template.

Request Body schema: multipart/form-data
required
destination
required
integer

Unique Own identifier of the destination service for the seed.

seeding_method
string
Enum: "add" "clean_and_insert" "incremental"

Seeding method.

disable_validation_rules
string
Enum: "True" "False"

Should the seed validation rules be disabled during the seed.

automations_to_disable
string

Optional dictionary value of automations to disable.

reindex
string
Enum: "True" "False"

When manual/external record removal from the destination occurs, the destination index should be updated accordingly.

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

Response samples

Content type
application/json
{
  • "id": 0,
  • "template": 0,
  • "dest_service_id": 0,
  • "seed_id": 0,
  • "anonymization_template_id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "seeding_method": "string",
  • "status": "string",
  • "progress": 0,
  • "disable_automations": true,
  • "disable_validation_rules": "string",
  • "error_message": "string",
  • "error_stage": "string",
  • "error_type": "string",
  • "error": "string",
  • "duplicated_records": 0,
  • "insert_success_records": 0,
  • "delete_success_records": 0,
  • "insert_fail_records": 0,
  • "delete_fail_records": 0,
  • "total_insert_records": 0,
  • "total_delete_records": 0,
  • "started_at": "string",
  • "finished_at": "string",
  • "re_enable_automations_failed": true,
  • "destination_service_name": "user@example.com",
  • "disable_automations_failed": true,
  • "index_time_seconds": 0,
  • "progress_description": "string",
  • "is_abortable": true,
  • "steps": [
    ],
  • "updated_records": 0
}

Get Seeding Services

Get all services that can be used as destination for seeds.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Seed Log

Get information for the specified seed.

Authorizations:
bearerAuth
path Parameters
seed_id
required
string

The unique identifier of the seed operation.

Responses

Response samples

Content type
application/json
{
  • "anonymization_template_id": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "delete_fail_records": 0,
  • "delete_success_records": 0,
  • "dest_service_id": 0,
  • "disable_validation_rules": true,
  • "duplicated_records": 0,
  • "error_message": "string",
  • "error_stage": "string",
  • "error_type": "string",
  • "finished_at": "2019-08-24T14:15:22Z",
  • "id": 0,
  • "insert_fail_records": 0,
  • "insert_success_records": 0,
  • "progress": 0,
  • "seed_id": 0,
  • "seeding_method": "string",
  • "started_at": "2019-08-24T14:15:22Z",
  • "status": "string",
  • "template": 0,
  • "total_delete_records": 0,
  • "total_insert_records": 0
}

Anonymize Fetch Data

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.

Authorizations:
bearerAuth
path Parameters
template_id
required
string

The unique identifier of the seeding template.

Request Body schema: application/json
required
destination_service_id
required
integer

Destination service ID for the anonymization.

disable_automations
string
Enum: "True" "False"

Should automations be disabled during anonymization.

automations_to_disable
object

Dictionary of automation types and names to disable.

backup_id
string

The backup ID to fetch data from. Omit this parameter to fetch from the live source instead.

Responses

Request samples

Content type
application/json
Example

Anonymize by fetching data directly from the live Salesforce org.

{
  • "destination_service_id": 18,
  • "disable_automations": "False"
}

Response samples

Content type
application/json
{ }

Get Anonymize Log

Get information for the specified anonymization job.

Authorizations:
bearerAuth
path Parameters
anonymization_id
required
string

The unique identifier of the anonymization job.

Responses

Response samples

Content type
application/json
{
  • "anonymization_id": 0,
  • "anonymization_template_id": 0,
  • "anonymization_template_name": "string",
  • "anonymization_service_id": 0,
  • "anonymization_service_name": "user@example.com",
  • "created_at": "2019-08-24T14:15:22Z",
  • "started_at": "2019-08-24T14:15:22Z",
  • "finished_at": "2019-08-24T14:15:22Z",
  • "status": "string",
  • "progress": 0,
  • "progress_description": "string",
  • "success_records": 0,
  • "fail_records": 0,
  • "disable_automations": true,
  • "re_enable_automations_failed": true,
  • "disable_automations_failed": true,
  • "error_stage": "string",
  • "error_type": "string",
  • "error_message": "string",
  • "is_abortable": true,
  • "linkable_template": {
    },
  • "delete_history_report": {
    },
  • "steps": [
    ],
  • "fetch_from": "string",
  • "backup_date": "2019-08-24T14:15:22Z"
}

Get All Services

Get a list of all services.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get a Service

Get a specific service by Service ID

Authorizations:
bearerAuth
path Parameters
service_id
required
string

The unique identifier of the service.

Responses

Response samples

Content type
application/json
{
  • "archived": 0,
  • "displayed_name": "string",
  • "enabled": 0,
  • "id": 0,
  • "last_backup": "2019-08-24T14:15:22Z",
  • "num_items": 0,
  • "org_id": "string",
  • "provider": "string",
  • "return_code": 0,
  • "return_message": "string",
  • "secondary_name": "string",
  • "status": "string",
  • "subtitle": "string",
  • "business_unit": "string",
  • "total_size": 0
}

Back Up a Service Now

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

Authorizations:
bearerAuth
path Parameters
service_id
required
string

The unique identifier of the service.

Responses

Response samples

Content type
application/json
{ }

Back Up Specific Objects Now

Start a manual backup for specific objects using service_id, the unique identifier of the service.

Authorizations:
bearerAuth
path Parameters
service_id
required
string

The unique identifier of the service.

Request Body schema: application/x-www-form-urlencoded
required
list_of_objects
required
Array of strings

Array of object names to include in the backup.

Responses

Response samples

Content type
application/json
{ }