---
title: "List your company's projects"
method: GET
path: "/projects"
tags: ["Projects"]
---

# List your company's projects

`GET /projects`

## Request

- Base URL: `https://api.atako.ai`
- URL: `https://api.atako.ai/projects`
- Auth: HTTP bearer

The storey's table: each project with aggregate counts computed in SQL and a short participant list for the avatar stack — never the cards themselves (use GET /projects/{id}). Newest first. Archived projects are left out by default; `archived=only` lists them alone and `archived=include` lists everything.

## Query parameters

- `limit` integer
- `offset` integer
- `archived` 'exclude' | 'only' | 'include'
- `includeArchived` 'true' | 'false'
- `spaceId` string, uuid
- `space` string
- `withoutSpace` 'true' | 'false'

## Response `200`

- object
  - `projects` ProjectSummary[], required
    - `id` string, uuid, required
    - `name` string, required
    - `description` string, required
    - `tone` 'amber' | 'mint' | 'periwinkle' | 'plum' | 'blush', required
    - `status` 'active' | 'paused' | 'done', required
    - `spaceId` string, uuid, nullable, required: The project's space (see GET /projects/spaces); null = no space.
    - `space` string, nullable, required: Name of the space (joined from `spaceId`); null = no space.
    - `owner` string, required: Display name of whoever opened the project; "" once that user is gone.
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `archivedAt` string, date-time, nullable, required
    - `counts` object, required
      - `cards` object, required: `done` counts cards standing in the column whose `kind` is `done` (never a column name); `blocked` counts cards carrying a blocking reason. Archived cards are excluded.
        - `total` integer, required
        - `done` integer, required
        - `blocked` integer, required
      - `members` integer, required
      - `wikiPages` integer, required
    - `participants` ProjectParticipant[], required
      - `id` string, uuid, required
      - `name` string, required
      - `role` string, required: Free text shown on the card ("Chef de projet"…) — unrelated to platform permissions.
      - `kind` 'human' | 'agent', required
      - `memberRef` string, uuid: The user id (human) or agent id — stable across projects, unlike `id`.
      - `photo` string, nullable, required: The person's own profile picture (`users.photo`), null when they have not uploaded one — and always null for an agent, which has no face. Never a stand-in: a participant without a photo is shown by their initials.
      - `finish` string, nullable, required: An agent's skin (`agents.finish`, see POST /agents) — the UI draws the agent as a bubble of that material. Null for a human, and for an agent that never picked one (carbone).
  - `total` integer, required: Total matching projects, ignoring limit/offset.
  - `limit` integer, required
  - `offset` integer, required

## Other responses

- `400`: Invalid pagination, archived or includeArchived value, or `space` / `spaceId` / `withoutSpace=true` combined.
- `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)
