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:
Request Body schema: application/x-www-form-urlencodedrequired
| 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
- 200
- 400
- 401
- 429
{- "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:
Request Body schema: application/x-www-form-urlencodedrequired
| 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
- 400
- 429
{- "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:
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
- 200
- 400
- 401
- 403
- 500
[- {
- "created_at": "2019-08-24T14:15:22Z",
- "event_id": 0,
- "ip_address": "string",
- "key": "string",
- "parameters": { },
- "service_id": 0,
- "source": "string",
- "user_email": "user@example.com",
- "user_id": 0
}
]List Backups for a Service
Get a list of all available backups for a given service.
Authorizations:
path Parameters
| service_id required | string The unique identifier of the service. |
Responses
Response samples
- 200
- 404
[- {
- "api_usage": {
- "num_bulk_api_batches": 0,
- "num_bulk_v2_query_file_storage_mb": 0
}, - "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"
}
]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:
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
- 200
- 404
{- "api_usage": {
- "num_bulk_api_batches": 0,
- "num_bulk_v2_query_file_storage_mb": 0
}, - "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:
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
- 200
- 404
[- {
- "id": 0,
- "num_api_calls": 0,
- "num_updated_items": 0,
- "num_deleted_items": 0,
- "num_inserted_items": 0,
- "num_items": 0,
- "name": "string",
- "message": "string",
- "status": "string"
}
]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:
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 | ||||||||||
| objects | Array of strings Object names to export. If empty, all objects are exported. | ||||||||||
| blockchain_verify | string Enum: "true" "false" When set to
| ||||||||||
| schema_only | string Enum: "true" "false" Export only the schema without data. |
Responses
Request samples
- Payload
Response samples
- 200
- 400
- 403
- 404
- 409
{- "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:
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-datarequired
| 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
- 200
- 400
- 404
- 409
{- "job_id": 0
}Submit Data Privacy Rectify Request
Submit a Data Privacy rectify request
Authorizations:
path Parameters
| service_id required | string The unique identifier of the service. |
Request Body schema: multipart/form-datarequired
| 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
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "id": 0
}Submit Data Privacy Forget Request
Submit a Data Privacy forget request
Authorizations:
path Parameters
| service_id required | string The unique identifier of the service. |
Request Body schema: multipart/form-datarequired
| 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
- 200
- 400
- 401
- 403
- 404
- 429
- 500
{- "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:
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
- 200
- 400
- 401
- 403
- 404
- 500
{- "id": 0,
- "status": "pending"
}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:
path Parameters
| job_id required | string The unique identifier of the job. |
Responses
Response samples
- 200
- 400
- 401
- 404
{- "id": 0,
- "progress": 0,
- "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:
path Parameters
| job_id required | string The unique identifier of the job. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "id": 0
}Get All Templates
Get all seeding templates that the user has access to.
Authorizations:
Responses
Response samples
- 200
[- {
- "id": 0,
- "template_type": "string",
- "provider": "string",
- "name": "string",
- "description": "string",
- "source_service_id": 0,
- "anonymization_template_id": 0,
- "source_service_name": "user@example.com",
- "source_service_available": true,
- "is_locked": true,
- "is_draft": true,
- "editor_email": "string",
- "destination_size": "string",
- "latest_seed_date": "string",
- "is_favorite": true,
- "has_schedule": true
}
]Start Seeding
Start a new seed from the template's source service to the specified destination service.
Authorizations:
path Parameters
| template_id required | string The unique identifier of the seeding template. |
Request Body schema: multipart/form-datarequired
| 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
- 201
- 406
{- "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 Seed Log
Get information for the specified seed.
Authorizations:
path Parameters
| seed_id required | string The unique identifier of the seed operation. |
Responses
Response samples
- 200
{- "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:
path Parameters
| template_id required | string The unique identifier of the seeding template. |
Request Body schema: application/jsonrequired
| 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
- Payload
Anonymize by fetching data directly from the live Salesforce org.
{- "destination_service_id": 18,
- "disable_automations": "False"
}Response samples
- 201
{ }Get Anonymize Log
Get information for the specified anonymization job.
Authorizations:
path Parameters
| anonymization_id required | string The unique identifier of the anonymization job. |
Responses
Response samples
- 200
- 404
{- "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": {
- "is_linkable_template": true,
- "reason": "string"
}, - "delete_history_report": {
- "feed": {
- "has_permission": true,
- "error_sobjects": "string",
- "error_message": "string",
- "success_count": 0,
- "error_count": 0
}, - "history": {
- "error_sobjects": "string",
- "error_message": "string",
- "success_count": 0,
- "error_count": 0,
- "has_permission": true,
- "audits": [
- {
- "has_permission": true,
- "object": "string",
- "success_count": 0,
- "error_count": 0,
- "error_message": "string"
}
]
}
}, - "steps": [
- {
- "id": 0,
- "name": "string",
- "started_at": "2019-08-24T14:15:22Z",
- "finished_at": "2019-08-24T14:15:22Z",
- "progress": 0
}
], - "fetch_from": "string",
- "backup_date": "2019-08-24T14:15:22Z"
}Response samples
- 200
[- {
- "archived": 0,
- "displayed_name": "user@example.com",
- "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",
- "total_size": 0
}
]Get a Service
Get a specific service by Service ID
Authorizations:
path Parameters
| service_id required | string The unique identifier of the service. |
Responses
Response samples
- 200
- 404
{- "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:
path Parameters
| service_id required | string The unique identifier of the service. |
Responses
Response samples
- 200
- 404
- 409
{ }Back Up Specific Objects Now
Start a manual backup for specific objects using service_id, the unique identifier of the service.
Authorizations:
path Parameters
| service_id required | string The unique identifier of the service. |
Request Body schema: application/x-www-form-urlencodedrequired
| list_of_objects required | Array of strings Array of object names to include in the backup. |
Responses
Response samples
- 200
- 400
- 404
- 409
{ }