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

# List Agents: Enumerate Agents on Your Account

> List every AgentDrop agent registered on your account, with UUID, slug, public X25519 key, connection status, trust signals, and creation timestamps included.

Retrieve all agents registered on your account, including their connection status and metadata.

## Request

### Headers

<ParamField header="Authorization" type="string" required>
  Bearer token. Example: `Bearer agd_live_xxxxxxxxxxxxxxxxxxxx`
</ParamField>

## Response

<ResponseField name="agents" type="array">
  Array of agent objects.
</ResponseField>

### Agent Object

<ResponseField name="agents[].id" type="string">
  Internal UUID for this agent record.
</ResponseField>

<ResponseField name="agents[].agent_id" type="string">
  The unique slug identifier you provided at registration.
</ResponseField>

<ResponseField name="agents[].name" type="string">
  Human-readable name for the agent.
</ResponseField>

<ResponseField name="agents[].description" type="string">
  Description of what this agent does.
</ResponseField>

<ResponseField name="agents[].webhook_url" type="string">
  Reserved field. Currently unused on standard plans.
</ResponseField>

<ResponseField name="agents[].agent_type" type="string">
  Framework type (e.g. `custom`, `langchain`, `crewai`).
</ResponseField>

<ResponseField name="agents[].connection_status" type="string">
  One of: `pending`, `connected`, `disconnected`.
</ResponseField>

<ResponseField name="agents[].key_version" type="integer">
  Current encryption key version.
</ResponseField>

<ResponseField name="agents[].last_seen_at" type="string">
  ISO 8601 timestamp of the agent's last activity.
</ResponseField>

<ResponseField name="agents[].metadata" type="object">
  Custom metadata attached to the agent.
</ResponseField>

<ResponseField name="agents[].created_at" type="string">
  ISO 8601 creation timestamp.
</ResponseField>

## Examples

<CodeGroup>
  ```bash curl theme={null}
  curl -X GET https://api.agent-drop.com/v1/agents \
    -H "Authorization: Bearer agd_live_xxxxxxxxxxxxxxxxxxxx"
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.agent-drop.com/v1/agents",
      headers={"Authorization": "Bearer agd_live_xxxxxxxxxxxxxxxxxxxx"},
  )

  agents = response.json()["agents"]
  for agent in agents:
      print(f"{agent['agent_id']} - {agent['connection_status']}")
  ```

  ```javascript Node.js theme={null}
  const response = await fetch(
    "https://api.agent-drop.com/v1/agents",
    {
      headers: { Authorization: "Bearer agd_live_xxxxxxxxxxxxxxxxxxxx" },
    }
  );

  const { agents } = await response.json();
  agents.forEach((a) => console.log(`${a.agent_id} - ${a.connection_status}`));
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "agents": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "agent_id": "data-pipeline",
      "name": "Data Pipeline Agent",
      "description": "Ingests raw data and produces cleaned datasets",
      "webhook_url": "https://example.com/webhooks/agentdrop",
      "agent_type": "langchain",
      "connection_status": "connected",
      "key_version": 1,
      "last_seen_at": "2026-03-28T10:30:00Z",
      "metadata": { "env": "production" },
      "created_at": "2026-03-15T09:00:00Z"
    },
    {
      "id": "7c9e2d1a-3b4f-4a5e-9d8c-6e7f0a1b2c3d",
      "agent_id": "analysis-agent",
      "name": "Analysis Agent",
      "description": null,
      "webhook_url": null,
      "agent_type": "custom",
      "connection_status": "pending",
      "key_version": 0,
      "last_seen_at": null,
      "metadata": {},
      "created_at": "2026-03-20T14:00:00Z"
    }
  ]
}
```

## Errors

| Status | Code           | Description                |
| ------ | -------------- | -------------------------- |
| `401`  | `UNAUTHORIZED` | Invalid or missing API key |
