Clone an Environment (v1)
Use this REST API to clone the current environment and, optionally, identify domain artifacts (users and application roles), Data Management records, audit records, Job Console records, contents of the inbox and outbox, and stored snapshots.
This API is executed on the source environment after details are provided for the target environment to be cloned. It is an alternative to using the Clone Environment feature in a browser or the EPM Automate cloneEnvironment command.
After initiating the clone, use the Clone Environment Status endpoint to monitor
progress and retrieve clone metadata such as the backup name, backup creation time,
and clone start and completion timestamps. The status endpoint returns both
non-localized step status and localized step details based on the request header
locale.
Note:
This API now supports the cloning of environments using Environment Backups. With this update, you can now specify an Environment Backup as the source when cloning an environment, providing a more efficient and reliable way to replicate the environments for disaster recovery or production-to-test migration. Previously, cloning was limited to using backup snapshots or the Artifact snapshot as the source.
Required Roles
Service Administrator or any user assigned to the Migrations - Administer granular role
REST Resource
POST /interop/rest/v1/services/clone
Request
Supported Media Types: application/json
Table 2-174 Parameters
| Name | Description | Type | Required | Default |
|---|---|---|---|---|
applicationAudit |
Whether to clone the application audit data in the source to the target environment
for FreeForm, Planning, Financial Consolidation and Close, and Tax Reporting
environments, True or False.
Including application audit data while cloning an environment makes
the target environment keep the application audit history.
|
Payload | No | True |
appProperties |
Whether to clone the Account Reconciliation application
settings (email notification on/off setting, Redwood Experience,
theme, business process name, logo image, and background image)
in the source environment to the target environment,
|
Payload | No | True |
dataManagement |
Whether to clone the Data Management
records of the source to the target environment for all environments
other than Data Management and
Narrative Reporting, True or False.
|
Payload | No | True |
jobConsole |
Whether to clone the job console data in the source to the target environment for FreeForm, Planning, Financial Consolidation and Close, and Tax Reporting
environments, True or False.
Including job console data while cloning an environment makes the
target environment keep the job console history.
|
Payload | No | True |
maintenanceStartTime |
Whether to reset the maintenance start time of the cloned
environment to that of the source environment. To keep the current
maintenance start time of the target environment, set this value to
False.
|
Payload | No | True |
migrateUsers |
Whether to clone users and their application and granular role assignments,
True or False.
For this
option to work, the user identified by
|
Payload | No | False |
snapshotName |
Optionally, the name of a snapshot that should be used for cloning. This snapshot must be present in the source environment. Note: This snapshot must have been created by the daily
maintenance. Besides Artifact Snapshot, it can be any snapshot
copied to the source environment through the
|
Payload | No | Last maintenance snapshot |
environmentBackup |
Whether to clone the environment backup from source to target. | Payload | No | False |
storedSnapshotsAndFiles |
Whether to clone the contents of the inbox, outbox, and stored
snapshots in the source to the target environment for all
environments, True or False.
Including stored snapshots and files while cloning an environment
makes sure that the stored snapshots and files are not lost.
|
Payload | No | False |
targetEncryptPassword |
Base64-encoded password of the user identified by |
Payload | Yes | None |
targetURL |
The URL of the environment that will become the cloned environment | Payload | Yes | None |
targetUsername |
The ID of a Service Administrator in the target environment. If you plan to clone user and role assignments in the target environment, this user must also have the Identity Domain Administrator role. | Payload | Yes | None |
Example Payload
{
"targetURL": "https://<TARGET-BASE-URL>",
"targetUserName": "cloneUser@oracle.com",
"targetEncryptPassword": "<TARGET-BASE64-ENCODED-PASSWORD>",
"parameters": {
"snapshotName": "Artifact Snapshot",
"migrateUsers": true,
"maintenanceStartTime": true,
"dataManagement": true,
"jobConsole": true,
"applicationAudit": true,
"storedSnapshotsAndFiles": false
}
}
Response
Supported Media Types: application/json
Table 2-175 Parameters
| Name | Description |
|---|---|
details |
In the case of errors, details are published with the error string. Error details are always in english and not localized. |
status |
See Migration Status Codes |
links |
Detailed information about the link |
backupName |
Backup name used for the clone. |
backupCreatedTime |
The exact timestamp when the backup (used for the cloning process) was generated. |
cloneStartTime |
The timestamp when the clone job was initiated. |
cloneCompletedTime |
The timestamp indicating successful completion of the clone job;
this field remains null while the clone is in
progress or if the job is terminated.
|
statusDetails |
The localized, real-time status for each execution step, which can be polled continuously using the job status URL. Each entry includes a localized message, the step result, and, when applicable, detailed failure information. |
intermittentStatus |
The real‑time status of each execution step, which can be continuously polled via the job‑status URL. |
Example Response Body (Initiate Clone)
{
"links": [
{
"rel": "Job Status",
"href": "https://<BASE-URL>/interop/rest/v1/services/clone/status",
"data": null,
"action": "GET"
}
],
"details": null,
"status": -1,
"items": null,
"intermittentStatus": null
}Example of Response Body (In Progress)
{
"details": null,
"status": -1,
"items": null,
"links": null,
"backupName": "EPRCS_Backup.tar.gz",
"backupCreatedTime": "2026-04-10T04:03:26",
"cloneStartTime": "2026-04-10T09:20:02",
"cloneCompletedTime": null,
"intermittentStatus": [
{ "Validation before initiating clone": "Success" },
{ "Login to target environment": "Success" },
{ "Validating target environment version": "Success" },
{ "Validating target service environment": "Success" },
{ "Performing recreate service on target environment": "In Progress" }
],
"statusDetails": [
{ "message": "Validation before initiating clone", "result": "success" },
{ "message": "Login to target environment", "result": "success" },
{ "message": "Validating target environment version", "result": "success" },
{ "message": "Validating target service environment", "result": "success" },
{ "message": "Performing recreate service on target environment", "result": "inProgress" }
]
}
Example Response (Completed Successfully)
{
"details": null,
"status": 0,
"items": null,
"links": null,
"backupName": "EPRCS_Backup.tar.gz",
"backupCreatedTime": "2026-04-10T04:03:26",
"cloneStartTime": "2026-04-10T04:56:49",
"cloneCompletedTime": "2026-04-10T05:03:52",
"intermittentStatus": [
{ "Validation before initiating clone": "Success" },
{ "Login to target environment": "Success" },
{ "Validating target environment version": "Success" },
{ "Validating target service environment": "Success" },
{ "Performing recreate service on target environment": "Success" },
{ "Migration status": "Success" }
],
"statusDetails": [
{ "message": "Validation before initiating clone", "result": "success" },
{ "message": "Login to target environment", "result": "success" },
{ "message": "Validating target environment version", "result": "success" },
{ "message": "Validating target service environment", "result": "success" },
{ "message": "Performing recreate service on target environment", "result": "success" },
{ "message": "Migration status", "result": "success" }
]
}Sample cURL Command Basic Auth
curl -X POST -s -u '<USERNAME>:<PASSWORD>' -H 'Content-Type: application/json' -d '{"targetURL":
" https://<BASE URL>","targetUserName":"<TARGET-USERNAME>","targetEncryptPassword":"<TARGET-BASE64ENCODED-PASSWORD>",
"parameters":{"snapshotName":"<SNAPSHOT-NAME>","migrateUsers":"true","maintenanceStartTime":"<TRUE/FALSE>","dataManagement":
"<TRUE/FALSE>","jobConsole":"<TRUE/FALSE>","applicationAudit":"<TRUE/FALSE>","storedSnapshotsAndFiles":"<TRUE/FALSE>"}}'
'https://<BASE-URL>/interop/rest/v1/services/clone'
Sample cURL Command OAuth 2.0
curl -X POST --header "Authorization: Bearer <OAUTH_ACCESS_TOKEN>" -H 'Content-Type: application/json' -d '{"targetURL":
" https://<BASE URL>","targetUserName":"<TARGET-USERNAME>","targetEncryptPassword":"<TARGET-BASE64ENCODED-PASSWORD>",
"parameters":{"snapshotName":"<SNAPSHOT-NAME>","migrateUsers":"true","maintenanceStartTime":"<TRUE/FALSE>","dataManagement":
"<TRUE/FALSE>","jobConsole":"<TRUE/FALSE>","applicationAudit":"<TRUE/FALSE>","storedSnapshotsAndFiles":"<TRUE/FALSE>"}}'
'https://<BASE-URL>/interop/rest/v1/services/clone'