> ## Documentation Index
> Fetch the complete documentation index at: https://reach-owl.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /api/v1/contacts — List Contacts

> Returns a paginated list of contacts generated by your campaigns. Contacts are read-only and cannot be created directly via the API.

The ReachOwl Contacts API lets you list contacts that were generated by your campaigns. Contacts are read-only resources: they are created automatically by running campaigns and cannot be created, updated, or deleted directly via the API.

## Endpoint

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

## Query Parameters

<ParamField query="team_id" type="integer" required>
  The team ID to filter contacts by.
</ParamField>

<ParamField query="page" default="1" type="integer">
  The page number for paginated results.
</ParamField>

## Request Example

```bash theme={null}
curl -X GET 'https://reachowl.com/api/v1/contacts?team_id=1&page=1' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Accept: application/json'
```

## Response Example

```json theme={null}
{
  "data": [
    {
      "id": 1,
      "name": "John Doe",
      "email": "john@example.com",
      "profile_url": "https://facebook.com/john.doe",
      "created_at": "2024-01-15T10:30:00Z",
      "campaign_id": 12
    }
  ],
  "current_page": 1,
  "last_page": 5,
  "per_page": 15,
  "total": 73
}
```

<Note>
  Contacts are created by campaigns only. There is no endpoint to create or modify contacts directly.
</Note>

## Error Responses

| Status | Description                                    |
| ------ | ---------------------------------------------- |
| 401    | Unauthorized - Invalid or missing Bearer token |
| 404    | Team not found                                 |
