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

# Retrieve a contact

> GET /v1/contacts/{id} — fetch a single contact by id, including subscription state and metadata.

Fetch one contact by id, with its full name, subscription state, timestamps, and stored metadata.

**`GET /v1/contacts/{id}`**

## Path parameters

<ParamField body="id" type="string" required>
  The contact id, e.g. `ct_7Yh2Lp`.
</ParamField>

## Request

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.drin.run/v1/contacts/ct_7Yh2Lp \
    -H "Authorization: Bearer $DRIN_API_KEY"
  ```

  ```typescript Node.js theme={null}
  import { DrinClient } from "@drin00/sdk";

  const drin = new DrinClient({ apiKey: process.env.DRIN_API_KEY });

  const contact = await drin.contacts.get("ct_7Yh2Lp");
  ```
</CodeGroup>

## Response

Returns `200 OK` with the contact. An id that is unknown or not visible to this project returns `404 not_found`.

```json 200 OK theme={null}
{
  "id": "ct_7Yh2Lp",
  "email": "ada@example.com",
  "firstName": "Ada",
  "lastName": "Lovelace",
  "subscribed": true,
  "unsubscribedAt": null,
  "metadata": { "plan": "pro" },
  "createdAt": "2026-06-02T17:30:00.000Z",
  "updatedAt": "2026-06-02T17:30:00.000Z"
}
```
