---
title: "Run a workflow now"
method: POST
path: "/api/v1/workflows/{id}/runs"
tags: ["API Reference"]
---

# Run a workflow now

`POST /api/v1/workflows/{id}/runs`

## Request

- Base URL: `https://revnu.com`
- URL: `https://revnu.com/api/v1/workflows/{id}/runs`
- Auth: HTTP bearer

Start a workflow's next run within about a minute, without changing its schedule.

Requires the `workflows:write` scope.

**Response.** `202 { "run": { id, status: "queued", startedAt }, "deduplicated": false }`. The run starts within about a minute and then shows in [`GET /workflows/{id}/runs`](/docs/workflow-runs) under the same `id`, moving from `queued` to `running` and then `done` or `failed`.

`deduplicated: true` means no new run was queued: the `clientRequestId` was seen before, or the workflow already has a run queued or running, and `run` is that one.

| Code | Meaning |
|---|---|
| 409 | `error` is `paused` (resume it first), `schedule_pending` (the schedule is still being set up, so retry shortly) or `schedule_error` (fix `scheduleText`). |

## Path parameters

- `id` string, required

## Request body

- object

## Response `202`

202 { "run": { id, status: "queued", startedAt }, "deduplicated": false }. The run starts within about a minute and then shows in GET /workflows/{id}/runs under the same id, moving from queued to running and then done or failed. deduplicated: true means no new run was queued: the clientRequestId was

- object
  - `run` object, required
    - `id` string, required
    - `status` 'abandoned' | 'done' | 'failed' | 'queued' | 'running', required
    - `startedAt` number, required
  - `deduplicated` boolean, required

## Other responses

- `400`: The request is malformed; the error names the problem.
- `401`: Missing, malformed, unknown or revoked token.
- `402`: `setup_pending`: the account hasn't started its trial. Finish setup with `GET /setup`.
- `403`: The token lacks the scope in `requiredScope`.
- `404`: Unknown id, or another account's id.
- `409`: error is paused (resume it first), schedule_pending (the schedule is still being set up, so retry shortly) or schedule_error (fix scheduleText).
- `429`: Rate limited.
- `503`: Temporarily unavailable; retry the same call.

---

[API](https://skmtc.dev/revnu/apis/revnu-api.md) · [All operations](https://skmtc.dev/revnu/apis/revnu-api/llms.txt) · [OpenAPI document](https://skmtc.dev/revnu/apis/revnu-api/revisions/52e523c2db61?raw)
