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

# Replay Job As New V1

> Re-run a *succeeded* job with the same params. Distinct from /retry, which is reserved for failed/cancelled jobs…

Re-run a *succeeded* job with the same params.

Distinct from `/retry`, which is reserved for failed/cancelled jobs.
This is the right call for 're-fetch this dataset' / 'regenerate this
report' workflows where the original task was successful but the
output is now stale. Quota-checked; original job remains intact.

**Idempotency.** Pass an `Idempotency-Key` header to make the replay
replay-safe: a duplicate POST returns the original new-job id with
`Idempotency-Replayed: true`. Per-source-job key namespace so the
same caller key is reusable across different sources.

### Path parameters

<ParamField path="job_id" type="string (uuid)" required />

### Response

`TriggerResponse`

<ResponseField name="job_id" type="string" required>
  UUID of the queued job. Use it for subsequent /jobs/:id calls.
</ResponseField>

<ResponseField name="status" type="string" required>
  Initial job status — usually 'queued'. Replays of an idempotent request return the existing job's current status.
</ResponseField>

### Status codes

| Code  | Meaning             |
| ----- | ------------------- |
| `200` | Successful Response |
| `422` | Validation Error    |

<RequestExample>
  ```bash cURL theme={null}
  curl --request POST \
    --url 'https://api.computer.stateset.app/api/v1/jobs/{job_id}/replay-as-new' \
    --header "X-API-Key: $STATESET_COMPUTER_USE_API_KEY"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "job_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "status": "pending"
  }
  ```
</ResponseExample>
