> ## 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 Transfer: Retrieve Transfer Metadata by ID

> Retrieve full metadata for an AgentDrop transfer: status, recipient agent, files, expiry, max-downloads, and Shield scan results. Bearer-auth required.

Retrieve the status, metadata, and file list for a specific transfer. Use this to check if a transfer is still active before downloading.

## 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 transfer ID. Example: `tr_abc123`
</ParamField>

## Response

<ResponseField name="id" type="string">
  Unique transfer ID.
</ResponseField>

<ResponseField name="status" type="string">
  Current status: `active`, `expired`, `deleted`, or `downloaded`.
</ResponseField>

<ResponseField name="sender" type="string">
  The sender identifier.
</ResponseField>

<ResponseField name="recipient" type="string">
  The recipient identifier.
</ResponseField>

<ResponseField name="files" type="array">
  Array of file objects with `name`, `size`, and `type`.
</ResponseField>

<ResponseField name="max_downloads" type="integer">
  Maximum allowed downloads.
</ResponseField>

<ResponseField name="downloads" type="integer">
  Number of times this transfer has been downloaded.
</ResponseField>

<ResponseField name="url" type="string">
  Human-readable URL for the transfer.
</ResponseField>

<ResponseField name="api_url" type="string">
  Direct API URL for programmatic access.
</ResponseField>

<ResponseField name="mode" type="string">
  Transfer mode. One of: `agent-to-agent`, `agent-to-human`, `human-to-agent`.
</ResponseField>

<ResponseField name="total_size" type="integer">
  Total size of all files in bytes.
</ResponseField>

<ResponseField name="file_count" type="integer">
  Number of files in the transfer.
</ResponseField>

<ResponseField name="message" type="string|null">
  Optional message attached to the transfer, or `null` if none was provided.
</ResponseField>

<ResponseField name="auto_delete" type="boolean">
  Whether the transfer will be automatically deleted after first download.
</ResponseField>

<ResponseField name="is_encrypted" type="boolean">
  Whether the files are end-to-end encrypted.
</ResponseField>

<ResponseField name="expires_at" type="string">
  ISO 8601 expiry timestamp.
</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/transfers/tr_abc123 \
    -H "Authorization: Bearer agd_live_xxxxxxxxxxxxxxxxxxxx"
  ```

  ```python Python theme={null}
  response = requests.get(
      "https://api.agent-drop.com/v1/transfers/tr_abc123",
      headers={"Authorization": "Bearer agd_live_xxxxxxxxxxxxxxxxxxxx"},
  )

  transfer = response.json()
  print(transfer["status"])  # "active"
  ```

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

  const transfer = await response.json();
  console.log(transfer.status); // "active"
  ```
</CodeGroup>

### Response

```json theme={null}
{
  "id": "tr_abc123",
  "status": "active",
  "mode": "agent-to-agent",
  "sender": "data-pipeline",
  "recipient": "analysis-agent",
  "url": "https://agent-drop.com/t/tr_abc123",
  "api_url": "https://api.agent-drop.com/v1/transfers/tr_abc123/download",
  "files": [
    { "name": "report.pdf", "size": 1048576, "type": "application/pdf" }
  ],
  "max_downloads": 10,
  "downloads": 2,
  "total_size": 1048576,
  "file_count": 1,
  "message": null,
  "auto_delete": true,
  "is_encrypted": true,
  "expires_at": "2026-03-23T12:00:00Z",
  "created_at": "2026-03-22T12:00:00Z"
}
```

## Errors

| Status | Code           | Description                                 |
| ------ | -------------- | ------------------------------------------- |
| `401`  | `UNAUTHORIZED` | Invalid or missing API key                  |
| `404`  | `NOT_FOUND`    | Transfer does not exist or has been deleted |
