---
title: "Archive a card (never deletes)"
method: DELETE
path: "/projects/{projectId}/cards/{cardId}"
tags: ["Projects"]
---

# Archive a card (never deletes)

`DELETE /projects/{projectId}/cards/{cardId}`

## Request

- Base URL: `https://api.atako.ai`
- URL: `https://api.atako.ai/projects/{projectId}/cards/{cardId}`
- Auth: HTTP bearer

A card carries a discussion and the decisions taken on it, so it is set aside rather than destroyed. Its place in the column closes immediately — an archived card holds no rank — and the column's new contents come back with it.

## Path parameters

- `projectId` string, uuid, required
- `cardId` string, uuid, required

## Response `200`

The archived card, plus the column it left.

- object
  - `card` ProjectCard, required: A unit of work on the board. It carries no status field: where the card stands IS its state, so read `column`. `blocked` and `due` are absent rather than null when unset — asking whether a card is blocked is asking for the reason.
    - `id` string, uuid, required
    - `title` string, required
    - `description` string, required
    - `assignee` string, uuid, nullable, required: A ProjectParticipant id (project_members row) — human or agent, both assignable — or null when nobody has taken the card.
    - `column` string, uuid, required: The column the card stands in: its state.
    - `priority` 'low' | 'normal' | 'high', required
    - `blocked` string: Why the card cannot move. Absent when it is not blocked — there is no blocked flag, only the reason.
    - `labels` string[], required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `due` string, date-time: Absent when the card has no deadline.
    - `checklist` ProjectCardChecklistItem[], required
      - `text` string, required
      - `done` boolean, required
    - `comments` ProjectCardComment[], required: Oldest first — a discussion is read in the order it was written, not like an inbox.
      - `id` string, uuid
      - `author` string, required
      - `authorUserId` string, uuid: The human author — absent for an agent.
      - `authorAgentId` string, uuid: Present only when an agent wrote it.
      - `at` string, date-time, required
      - `editedAt` string, date-time: Present when the text was edited afterwards.
      - `text` string, required
      - `parentId` string, uuid, nullable: The thread ROOT this replies to; null on a root (one level).
      - `anchor` string, nullable: Root only: the id of the `[comment id="…"]…[/comment]` mark wrapping the commented passage in the Markdown, or `block:<key>` for a block without text (image, file, code). Null = general discussion.
      - `quote` string, nullable: The commented passage, frozen — the thread stays readable if the text goes.
      - `resolvedAt` string, date-time, nullable: Root only: the thread was resolved. A reply reopens it.
  - `columns` ProjectColumnOrder[], required
    - `id` string, uuid, required
    - `cardIds` string[], required: Live cards, top to bottom. Archived cards are never listed.

## Other responses

- `400`: Malformed project/card/page/revision id, invalid JSON body, or validation error.
- `401`: Missing, malformed, or invalid bearer token / API key, or revoked session (SESSION_REVOKED).
- `404`: Not found, or the caller is not authorized to access this resource.

---

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