---
title: "Put a dismissed growth idea back"
method: POST
path: "/v1/ideas/{idea_id}/restore"
tags: ["ideas"]
---

# Put a dismissed growth idea back

`POST /v1/ideas/{idea_id}/restore`

## Request

- Base URL: `https://frontshelf.io/api`
- URL: `https://frontshelf.io/api/v1/ideas/{idea_id}/restore`
- Auth: HTTP bearer

Put a dismissed growth idea back before its date: dismissed becomes new, and the dismissal is cleared. Pass the `version` you last read as expected_version. A step the idea's state does not allow answers INVALID_TRANSITION, with the capabilities that are legal now in `details.legal_actions`.

## Path parameters

- `idea_id` string, required: The idea's id (idea_…), as ideas_list and ideas_get give it.

## Request body

- object
  - `expected_version` integer, required: The idea's `version` as you last read it (ideas_get). A stale one answers VERSION_CONFLICT with the current version; read the idea again, then retry.
  - `dry_run` boolean: true: check the call and say what it would do, without doing it.
  - `confirm` boolean: true: go ahead with a change that asks for confirmation.

## Response `200`

Put a dismissed growth idea back

- object
  - `summary` string, required: The answer in one or two sentences, with the numbers it rests on.
  - `warnings` string[], required: What limits this answer (a cap, a read that was cut short). Empty when nothing does.
  - `next_actions` object[], required: What to call next, best first. Follow them.
    - `capability` string, required: What to call next: a capability.
    - `arguments` object, required: Its arguments, complete; pass them as they are.
    - `instruction` string, required: What to do, written to you.
  - `idea` object, required: The idea as it stands now.
    - `id` string, required
    - `state` 'new' | 'agent_working' | 'awaiting_merge' | 'checking' | 'fixed' | 'marked_done' | 'dismissed', required: The idea's state after the step.
    - `version` integer, required: The idea's version after the step: pass it as expected_version next time.

## Other responses

- `400`: VALIDATION_FAILED
- `401`: UNAUTHENTICATED
- `402`: BILLING_REQUIRED
- `403`: ORGANIZATION_FROZEN, SCOPE_DENIED
- `404`: NOT_FOUND
- `409`: VERSION_CONFLICT, INVALID_TRANSITION, AGENT_STOPPED
- `503`: PLATFORM_READ_ONLY, DEPENDENCY_UNAVAILABLE

---

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