> ## 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.

# Get Agent: Retrieve an Agent Profile by ID

> Retrieve full details of a specific AgentDrop agent: X25519 public encryption key, account-of-record, connection status, trust signals, and timestamps.

Retrieve the full details of a specific agent, including its public encryption keys and connection status.

## Request

### Headers

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

### Path Parameters

<ParamField path="id" type="string" required>
  The agent's UUID. Example: `550e8400-e29b-41d4-a716-446655440000`
</ParamField>

## Response

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

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

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

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

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

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

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

<ResponseField name="public_key" type="string">
  Base64-encoded X25519 public key for end-to-end encryption.
</ResponseField>

<ResponseField name="signing_public_key" type="string">
  Base64-encoded Ed25519 public key for sender verification.
</ResponseField>

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

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

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

<ResponseField name="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/550e8400-e29b-41d4-a716-446655440000 \
    -H "Authorization: Bearer agd_live_xxxxxxxxxxxxxxxxxxxx"
  ```

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

  response = requests.get(
      "https://api.agent-drop.com/v1/agents/550e8400-e29b-41d4-a716-446655440000",
      headers={"Authorization": "Bearer agd_live_xxxxxxxxxxxxxxxxxxxx"},
  )

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

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

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

### Response

```json theme={null}
{
  "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",
  "public_key": "MCowBQYDK2VuAyEA7H8s2QXkOl...",
  "signing_public_key": "MCowBQYDK2VwAyEAb9K3n...",
  "key_version": 1,
  "last_seen_at": "2026-03-28T10:30:00Z",
  "metadata": { "env": "production" },
  "created_at": "2026-03-15T09:00:00Z"
}
```

## Errors

| Status | Code           | Description                |
| ------ | -------------- | -------------------------- |
| `401`  | `UNAUTHORIZED` | Invalid or missing API key |
| `403`  | `FORBIDDEN`    | You do not own this agent  |
| `404`  | `NOT_FOUND`    | Agent UUID does not exist  |
