# Restore an archived card

`POST https://evohub.io/api/v1/board/archive/cards/{cardID}/restore`

Part of the [Board API](https://docs.evohub.io/board.md) reference · operationId `restoreArchivedCard`.

Puts an archived card back on its board, at the bottom of the list it
left. If that list is archived too, the card goes to the board's first
list that is neither the review nor the done list. A restored card is
no longer counted as finished. The answer says where it went.

Requires the `board:card:write` scope.

## Authorization

Any one of:

- `bearerKey`
- `headerKey`

Where:

- `bearerKey`: HTTP Bearer — An EvoHub API key (`evohub_…`) as a bearer token.
- `headerKey`: API key in the header `X-API-Key` — An EvoHub API key (`evohub_…`).

## Path parameters

- `cardID` (string, required, example `crd_9f2e4d6c8b0a1e3f5d7c9b1a3e5f7d90`): The card's ID.

## Responses

### 200 — The restored card.

Content type: `application/json`

Type: `CardEnvelope`

- `data` (object)
  - `card` (Card)
    - `id` (string, example `crd_9f2e4d6c8b0a1e3f5d7c9b1a3e5f7d90`)
    - `board_id` (string)
    - `list_id` (string)
    - `number` (integer): The card's number on its board, from 1. With the board's `card_prefix` it is the card's reference.
    - `title` (string, max length 200)
    - `description` (string, max length 20000)
    - `color` (string): A hex colour, or `""` for none.
    - `due_at` (string (date-time)): Absent when the card has no due date.
    - `review` (Review)
      - `state` (string, one of `pending`, `approved`)
      - `approved_by` (string)
      - `approved_at` (string (date-time))
    - `completed_at` (string (date-time)): When the card entered a done list. Absent while it is not in one.
    - `created_by` (string)
    - `created_at` (string (date-time))
    - `updated_at` (string (date-time))
    - `version` (integer): Goes up by one on every edit of the title or description.
    - `assignee_ids` (array of string | null): Who the card is on. Filled in when a board or list is read; `null` when one card is read on its own.
    - `label_ids` (array of string | null): The labels the card carries. Filled in when a board or list is read; `null` when one card is read on its own.

### 401 — No API key was sent, or it is unknown, revoked or expired (`UNAUTHORIZED`).

Content type: `application/json`

Type: `Error`

- `error` (object, required)
  - `code` (string, required, example `NOT_FOUND`)
  - `message` (string, required, example `not found`)
  - `request_id` (string)

### 403 — The key lacks the scope this endpoint needs (`FORBIDDEN`).

Content type: `application/json`

Type: `Error`

- `error` (object, required)
  - `code` (string, required, example `NOT_FOUND`)
  - `message` (string, required, example `not found`)
  - `request_id` (string)

### 404 — It does not exist, or it is on a board the caller cannot see (`NOT_FOUND`).

Content type: `application/json`

Type: `Error`

- `error` (object, required)
  - `code` (string, required, example `NOT_FOUND`)
  - `message` (string, required, example `not found`)
  - `request_id` (string)

### 409 — The board has no list to restore the card into (`NO_LIST_TO_RESTORE_INTO`). Add one first.

Content type: `application/json`

Type: `Error`

- `error` (object, required)
  - `code` (string, required, example `NOT_FOUND`)
  - `message` (string, required, example `not found`)
  - `request_id` (string)

### 429 — Too many requests (`RATE_LIMITED`). Wait for `Retry-After` seconds.

Headers:

- `Retry-After` (integer): Seconds to wait before retrying.

Content type: `application/json`

Type: `Error`

- `error` (object, required)
  - `code` (string, required, example `NOT_FOUND`)
  - `message` (string, required, example `not found`)
  - `request_id` (string)

### 500 — Something went wrong on EvoHub's side (`INTERNAL_ERROR`). Retry later.

Content type: `application/json`

Type: `Error`

- `error` (object, required)
  - `code` (string, required, example `NOT_FOUND`)
  - `message` (string, required, example `not found`)
  - `request_id` (string)

## Example request

```bash
curl -X POST 'https://evohub.io/api/v1/board/archive/cards/crd_9f2e4d6c8b0a1e3f5d7c9b1a3e5f7d90/restore' \
  -H 'Authorization: Bearer <TOKEN>'
```
