---
title: "Completed agents of your company (« ghosts » mode)"
method: GET
path: "/floor/past-agents"
tags: ["Floor"]
---

# Completed agents of your company (« ghosts » mode)

`GET /floor/past-agents`

## Request

- Base URL: `https://api.atako.ai`
- URL: `https://api.atako.ai/floor/past-agents`
- Auth: HTTP bearer

The agents `GET /floor/state` deliberately leaves out: the completed ones, most recently ended first (agents with no end date come last). A route of its own rather than a flag on `/floor/state`, because that read feeds the reconciliation of the stored floor layout and must never be told about departed agents. Deliberately cheap: one query on the agents table, no org-chart join, hence no `managerHumanId` — a completed agent holds no position anyway. Capped at 60 rows, with no cursor: this is a look back at the recent past, not an export. Open to any company member — 404 (not 403) when you have no company, exactly like `/floor/state`.

## Response `200`

- object
  - `agents` object[], required
    - `id` string, uuid, required
    - `name` string, required
    - `status` 'completed', required
    - `teamId` string, uuid, nullable, required
    - `avatarSeed` string, required: agents.image — mascot filename in apps/web/public/aiygents.
    - `createdAt` string, date-time, required
    - `lastActivityAt` string, date-time, nullable, required: agents.lastHeartbeatAt.
    - `endDate` string, date-time, nullable, required: When the agent was ended; null when it was never recorded.
    - `clientId` string, uuid, required: Owner of the agent.

## Other responses

- `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)
