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

# Retrieve a contact

> GET /v1/contacts/{id}: fetch one contact with name, email, phone, company and remembered data fields

Returns a single contact by its ID: who the person is and what Replyful remembers about them.

```http theme={null}
GET /v1/contacts/{id}
```

## Authentication

Bearer token in the `Authorization` header. A read-only key is enough. See [Authentication](https://docs.replyful.com/api-reference/authentication.md).

```http theme={null}
Authorization: Bearer rfl_live_...
```

## Path parameters

**id** `string` *required*

Contact ID, usually prefixed with `con_`. It is the `requester.id` of a ticket.

## Response

Returns a [`Contact` object](https://docs.replyful.com/api-reference/contacts/list#the-contact-object).

## Examples

### Fetch a contact

```bash curl theme={null}
curl https://api.replyful.com/v1/contacts/con_9dKmT3xWq6bYrN8cJfA2e \
  -H "Authorization: Bearer rfl_live_..."
```

```ts Node.js theme={null}
const res = await fetch(
  "https://api.replyful.com/v1/contacts/con_9dKmT3xWq6bYrN8cJfA2e",
  { headers: { Authorization: `Bearer ${process.env.REPLYFUL_API_KEY}` } },
);
const contact = await res.json();
```

```json Response theme={null}
{
  "id": "con_9dKmT3xWq6bYrN8cJfA2e",
  "object": "contact",
  "externalId": "user_42",
  "firstName": "Ada",
  "lastName": "Lovelace",
  "name": "Ada Lovelace",
  "email": { "email": "ada@example.com", "verified": true },
  "phone": "+46 70 123 45 67",
  "client": { "id": "cli_4mHbW8xKq2eYd7Tf3pLz9", "name": "Analytical Engines Ltd" },
  "dataFields": [
    {
      "key": "customer_number",
      "name": "Customer number",
      "value": "C-10482",
      "savedOn": "contact",
      "source": "handover",
      "updatedAt": "2026-04-29T14:31:10Z"
    }
  ],
  "optedInAt": "2026-04-29T14:29:40Z",
  "suppression": {
    "reason": "bounce",
    "suppressedAt": "2026-06-18T07:45:12Z"
  },
  "createdAt": "2026-03-02T08:15:00Z",
  "updatedAt": "2026-06-18T07:45:12Z"
}
```

## Error responses

| Status | `error.code` | When |
| - | - | - |
| `401` | `missing_api_key` | The `Authorization` header is absent. |
| `401` | `invalid_api_key` | The token is malformed, unknown, or archived. |
| `404` | `contact_not_found` | The contact does not exist, belongs to another organization, or has been erased. |
| `422` | `invalid_path_parameter` | The `id` path parameter is not a valid contact ID. |
| `429` | `too_many_requests` | Rate limit exceeded. Honor `Retry-After`. |

See [Errors](https://docs.replyful.com/api-reference/errors.md) for the full error envelope reference.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.