---
title: "Start Revnu"
method: POST
path: "/api/v1/setup/finish"
tags: ["API Reference"]
---

# Start Revnu

`POST /api/v1/setup/finish`

## Request

- Base URL: `https://revnu.com`
- URL: `https://revnu.com/api/v1/setup/finish`
- Auth: HTTP bearer

Once the trial is running, start Revnu's first work now rather than waiting for the automatic start 15 minutes after the trial begins.

**Response.** | Code | Meaning |
|---|---|
| 200 | `{ "started": true, "requestId": "…" }`, or `{ "started": false, "alreadyStarted": true }` when Revnu has already started. Safe to call twice. |
| 409 | `rejected` with a `message`: the subscription doesn't exist yet (the message names the missing step), or the account starts from the dashboard, as YC-deal and Managed accounts do. |

After it starts, its first work lands in the [review queue](/docs/review-list). Without a call here, Revnu starts on its own 15 minutes after the trial begins.

## Response `200`

{ "started": true, "requestId": "…" }, or { "started": false, "alreadyStarted": true } when Revnu has already started. Safe to call twice.

- union
  - object
    - `started` boolean, required
    - `alreadyStarted` boolean, required
  - object
    - `started` boolean, required
    - `requestId` string, nullable, required

## Other responses

- `401`: Missing, malformed, unknown or revoked token.
- `409`: rejected with a message: the subscription doesn't exist yet (the message names the missing step), or the account starts from the dashboard, as YC-deal and Managed accounts do.
- `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)
