> ## Documentation Index
> Fetch the complete documentation index at: https://platform.atlan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agents

> Every published agents operation, generated from the contract.

17 operations on `client.agents`, including `agents.sessions`, `agents.traces`.

Path parameters come first, positionally; the request body is last, as a plain
object. Method names are `snake_case` in Python and `camelCase` in
TypeScript, and resource names follow the same rule.

<CodeGroup>
  ```python Python theme={null}
  result = client.agents.aggregate(body)
  ```

  ```typescript TypeScript theme={null}
  const result = await client.agents.aggregate(body);
  ```
</CodeGroup>

## Operations

| Call                                                  | Route                                                     | Does                                |
| ----------------------------------------------------- | --------------------------------------------------------- | ----------------------------------- |
| `client.agents.aggregate(body)`                       | `POST /agent/v1/agents/aggregate`                         | Aggregate agents                    |
| `client.agents.archive(agent_id)`                     | `POST /agent/v1/agents/{agent_id}/archive`                | Archive an agent                    |
| `client.agents.create(body)`                          | `POST /agent/v1/agents`                                   | Create an agent                     |
| `client.agents.delete_profile_image(agent_id)`        | `DELETE /agent/v1/agents/{agent_id}/profile-image`        | Remove an agent's profile image     |
| `client.agents.get(agent_id)`                         | `GET /agent/v1/agents/{agent_id}`                         | Get an agent                        |
| `client.agents.get_profile_image(agent_id)`           | `GET /agent/v1/agents/{agent_id}/profile-image`           | Get an agent's profile image        |
| `client.agents.list()`                                | `GET /agent/v1/agents`                                    | List agents                         |
| `client.agents.revoke_identity(agent_id)`             | `POST /agent/v1/agents/{agent_id}/identity/revoke`        | Revoke an agent's API key           |
| `client.agents.rotate_identity(agent_id)`             | `POST /agent/v1/agents/{agent_id}/identity/rotate`        | Rotate an agent's API key           |
| `client.agents.search(body)`                          | `POST /agent/v1/agents/search`                            | Search agents                       |
| `client.agents.update(agent_id, body)`                | `PATCH /agent/v1/agents/{agent_id}`                       | Update an agent                     |
| `client.agents.upload_profile_image(agent_id, body)`  | `POST /agent/v1/agents/{agent_id}/profile-image`          | Upload an agent's profile image     |
| `client.agents.sessions.list(agent_id)`               | `GET /agent/v1/agents/{agent_id}/sessions`                | List an agent's sessions            |
| `client.agents.traces.get(agent_id, trace_id)`        | `GET /agent/v1/agents/{agent_id}/traces/{trace_id}`       | Read one trace for an agent         |
| `client.agents.traces.list(agent_id)`                 | `GET /agent/v1/agents/{agent_id}/traces`                  | List traces for an agent            |
| `client.agents.traces.list_spans(agent_id, trace_id)` | `GET /agent/v1/agents/{agent_id}/traces/{trace_id}/spans` | List spans in a trace for an agent  |
| `client.agents.traces.query_stats(agent_id, body)`    | `POST /agent/v1/agents/{agent_id}/traces/stats/query`     | Query trace statistics for an agent |

## Related

<CardGroup cols={2}>
  <Card title="How the client is organised" icon="list" href="/sdk/operations">
    Resources, call shapes, and errors.
  </Card>

  <Card title="Errors and retries" icon="triangle-exclamation" href="/developers/errors-and-retries">
    What the SDK raises, and which calls are safe to retry.
  </Card>
</CardGroup>
