> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flowx.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Start process and copy data from another instance

> Start a new process whose initial data is copied from an existing process instance — useful for retry, resume, and clone-like workflows.

<Tip>
  Looking for end-to-end guidance on calling FlowX from your own app? See [Consuming FlowX from external apps](/5.9/docs/platform-deep-dive/integrations/consuming-flowx-from-external-apps).
</Tip>

Start a new process instance and seed its data from a previously executed process instance. The new process picks up the data values that were on the source instance at the moment of the call.

Common use cases:

* Replaying a failed workflow with the same input
* Cloning an existing case for a similar customer
* Resuming downstream processing after an interruption

## Path parameters

<ParamField path="workspaceId" type="string" required>
  The ID of the workspace that owns the application.
</ParamField>

<ParamField path="appId" type="string" required>
  The ID of the application.
</ParamField>

<ParamField path="processName" type="string" required>
  The name of the process definition to start.
</ParamField>

<ParamField path="processInstanceId" type="string" required>
  The UUID of the source process instance. Its data is copied into the new instance at start time.
</ParamField>

## Request headers

<ParamField header="Authorization" type="string" required>
  Bearer token. Format: `Bearer <token>`.
</ParamField>

<ParamField header="Content-Type" type="string" required>
  Must be `application/json`.
</ParamField>

## Request body

A JSON object with values to merge on top of the copied data. Pass `{}` to start with the source instance's data unchanged.

```json theme={"system"}
{
  "retryReason": "manual-rerun",
  "operatorId": "u-9023"
}
```

## Response

Same shape as [Start process by workspace, app, and process name](./start-by-process-name) — the new instance's `uuid`, `state`, and metadata.

<RequestExample>
  ```bash theme={"system"}
  curl -X POST "{BASE_URL}/api/runtime/wks/{workspaceId}/app/{appId}/process-name/{processName}/start/copyDataFrom/{processInstanceId}" \
    -H "Authorization: Bearer <token>" \
    -H "Content-Type: application/json" \
    -d '{
      "retryReason": "manual-rerun"
    }'
  ```
</RequestExample>
