---
title: "RetryFailedJobs"
method: POST
path: "/depot.ci.v1.CIService/RetryFailedJobs"
tags: ["CIService"]
---

# RetryFailedJobs

`POST /depot.ci.v1.CIService/RetryFailedJobs`

## Request

- Base URL: `https://api.depot.dev`
- URL: `https://api.depot.dev/depot.ci.v1.CIService/RetryFailedJobs`
- Auth: HTTP bearer

Retries the failed and cancelled jobs in a workflow, along with every job that depends on them. A dependent that already succeeded or was skipped runs again too, because a job it consumed is running again. Queued dependents are left untouched, since they re-check their dependencies before starting. Fails without resetting anything when a waiting or running job depends on the retried set; wait for that job to finish, or cancel the workflow and use `RerunWorkflow`.

## Headers

- `Connect-Protocol-Version` 1, required: Define the version of the Connect protocol
- `Connect-Timeout-Ms` number: Define the timeout, in ms

## Request body

- DepotCiV1RetryFailedJobsRequest
  - `workflowId` string, required: Unique identifier for the workflow containing failed jobs. Returned by `GetRunStatus` and `ListWorkflows`.

## Response `200`

Success

- DepotCiV1RetryFailedJobsResponse
  - `workflowId` string: Unique identifier for the workflow. Matches the request `workflowId`. A retry creates a new workflow execution rather than a new workflow.
  - `jobIds` string[]: Unique identifiers for jobs that were set back to queued. A new attempt is created for each job when it runs again.
  - `jobCount` integer: Number of jobs reset to queued. Includes the failed and cancelled jobs, plus every job that depends on them, whether it previously succeeded or was skipped. Equal to the number of entries in the `jobIds` array.

## Other responses

- `default`: Error

---

[API](https://skmtc.dev/depot/apis/depot-ci-api.md) - [All operations](https://skmtc.dev/depot/apis/depot-ci-api/llms.txt) - [OpenAPI document](https://skmtc.dev/depot/apis/depot-ci-api/revisions/6cf759b535b4?raw)
