> This page is for Referencia de la API.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://signalcore.ai/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://signalcore.ai/docs/_mcp/server.

# Conversations Of

GET https://signalcore.ai/v1/contacts/{contact_id}/conversations

Their conversations on every channel and call, the latest first.

Reference: https://signalcore.ai/docs/referencia/contactos/conversations-of

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Path parameters

- `contact_id` (string, required)

## Response

### 200

Successful Response

- `list of ConversationOut`

## Errors

### 422 Contacts Conversations of Request Unprocessable Entity Error

Validation Error

- `detail` (list of ValidationError, optional)

## Types

### ConversationOut

- `id` (string, required)
- `agent_id` (string, required)
- `trigger_id` (string, required, nullable)
- `handled_by` (enum, required)
  - Allowed values: `agent`, `person`, `nobody`
- `pending` (boolean, required)
- `test` (boolean, required)
- `created_at` (datetime, required)
- `run_id` (string, optional, nullable)
- `handover` (HandoverOut, optional, nullable) — A change of who answers a conversation: to whom, why, who set it and when.
- `title` (string, optional, nullable)
- `channel` (ChannelGlance, optional, nullable) — The channel a conversation is on, as a list draws it.
- `contact` (ContactGlance, optional, nullable) — The person a conversation on a channel is with, or a person of a host's page (on no channel).
- `reply_due_at` (datetime, optional, nullable)
- `last_inbound_at` (datetime, optional, nullable)
- `call` (CallGlance, optional, nullable) — The call a conversation is (VOICE.md): the owner's in the browser or a phone call, when the worker took it and when it ended, why and how long.
- `person` (PersonOut, optional, nullable) — Who a conversation is with (`people`).

### ValidationError

- `loc` (list of ValidationErrorLocItem, required)
- `msg` (string, required)
- `type` (string, required)
- `input` (any, optional)
- `ctx` (map from string to any, optional)

### HandoverOut

A change of who answers a conversation: to whom, why, who set it and when.

- `holder` (enum, required)
  - Allowed values: `agent`, `person`, `nobody`
- `reason` (string, required)
- `by` (string, required)
- `title` (string, required, nullable)
- `at` (datetime, required)

### ChannelGlance

The channel a conversation is on, as a list draws it.

- `id` (string, required)
- `kind` (string, required)
- `name` (string, required)

### ContactGlance

The person a conversation on a channel is with, or a person of a host's page (on no channel).

- `id` (string, required)
- `name` (string, required, nullable)
- `address` (string, required)
- `muted` (boolean, optional, default: false)

### CallGlance

The call a conversation is (VOICE.md): the owner's in the browser or a phone call, when the worker took it and when it ended, why and how long.

- `id` (string, required)
- `kind` (enum, required)
  - Allowed values: `browser`, `phone`
- `reason` (string, required, nullable)
- `seconds` (integer, required, nullable)
- `started_at` (datetime, required, nullable)
- `ended_at` (datetime, required, nullable)
- `recording` (boolean, optional, default: false)

### PersonOut

Who a conversation is with (`people`).

- `kind` (enum, required)
  - Allowed values: `host_person`, `visitor`, `contact`, `owner`
- `external_id` (string, required)
- `name` (string, required, nullable)
- `email` (string, required, nullable)

### ValidationErrorLocItem

## Examples

**Response**

```json
[
  {
    "id": "id",
    "agent_id": "agent_id",
    "trigger_id": "trigger_id",
    "handled_by": "agent",
    "pending": true,
    "test": true,
    "created_at": "2024-01-15T09:30:00Z",
    "run_id": "run_id",
    "handover": {
      "holder": "agent",
      "reason": "reason",
      "by": "by",
      "title": "title",
      "at": "2024-01-15T09:30:00Z"
    },
    "title": "title",
    "channel": {
      "id": "id",
      "kind": "kind",
      "name": "name"
    },
    "contact": {
      "id": "id",
      "name": "name",
      "address": "address",
      "muted": true
    },
    "reply_due_at": "2024-01-15T09:30:00Z",
    "last_inbound_at": "2024-01-15T09:30:00Z",
    "call": {
      "id": "id",
      "kind": "browser",
      "reason": "reason",
      "seconds": 1,
      "started_at": "2024-01-15T09:30:00Z",
      "ended_at": "2024-01-15T09:30:00Z",
      "recording": true
    },
    "person": {
      "kind": "host_person",
      "external_id": "external_id",
      "name": "name",
      "email": "email"
    }
  }
]
```

**SDK Code**

```python
import requests

url = "https://signalcore.ai/v1/contacts/contact_id/conversations"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```