---
title: "Resume an existing run"
method: POST
path: "/api/runs/resume"
tags: ["Runs"]
---

# Resume an existing run

`POST /api/runs/resume`

## Request

- Base URL: `https://pluto-api.trainy.ai`
- URL: `https://pluto-api.trainy.ai/api/runs/resume`
- Auth: HTTP bearer

Resumes an existing run, setting its status back to RUNNING. Returns the same response format as create. Use this when you want to log additional data (e.g., evaluation metrics) to a previously completed run. Provide exactly one of: runId (numeric), displayId (e.g., 'MMP-1'), or externalId (user-provided).

## Request body

- ResumeRunRequest
  - `runId` number: Numeric ID of the run to resume
  - `displayId` string: Human-readable display ID (e.g., 'MMP-1')
  - `externalId` string: User-provided external ID
  - `projectName` string: Project name. Required when using externalId (which is scoped to a project). Optional but recommended with displayId to disambiguate when distinct project names share a run-prefix.

## Response `200`

Run resumed successfully

- ResumeRunResponse
  - `runId` number, required: Numeric ID of the resumed run
  - `number` number, nullable, required: Sequential run number within the project
  - `displayId` string, nullable, required: Human-readable display ID (e.g., 'MMP-1')
  - `projectName` string, required: Name of the project
  - `organizationSlug` string, required: Organization slug
  - `url` string, required: URL to view the run
  - `resumed` boolean, required: Always true for this endpoint

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `404`: Run not found
- `409`: Display ID is ambiguous across multiple projects; specify projectName

---

[API](https://skmtc.dev/trainy/apis/mlop-api.md) - [All operations](https://skmtc.dev/trainy/apis/mlop-api/llms.txt) - [OpenAPI document](https://skmtc.dev/trainy/apis/mlop-api/revisions/5d2c0b0baecb?raw)
