> 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.

# List 

GET https://signalcore.ai/v1/activity

What the organization's agents did, newest activity first: its conversations and its
automations' runs, or one `kind` of them; `next` is the next page's `before`. With `tests`,
the owner's tests of the agents are listed too, marked `test`.

Reference: https://signalcore.ai/docs/referencia/actividad/list

## Authentication

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

## Request

### Query parameters

- `kind` (enum, optional, nullable)
  - Allowed values: `conversation`, `run`
- `squad` (string, optional, nullable)
- `agent` (string, optional, nullable)
- `origin` (enum, optional, nullable)
  - Allowed values: `person`, `automation`
- `automation` (string, optional, nullable)
- `outcome` (list of enum, optional, nullable)
  - Allowed values: `running`, `done`, `failed`, `waiting`, `handed`, `ignored`
- `channel` (enum, optional, nullable)
  - Allowed values: `whatsapp`, `instagram`, `sms`, `phone`, `web`
- `since` (datetime, optional, nullable)
- `before` (datetime, optional, nullable)
- `limit` (integer, optional, default: 50)
- `tests` (boolean, optional, default: false)

## Response

### 200

Successful Response

- `items` (list of ActivityPageItemsItem, required)
- `next` (datetime, required, nullable)

## Errors

### 422 Activity List Request Unprocessable Entity Error

Validation Error

- `detail` (list of ValidationError, optional)

## Types

### ActivityPageItemsItem

- `kind`: `conversation`
  - `actions` (list of ActionCount, required)
  - `agent_id` (string, required)
  - `automation` (AutomationGlance, required, nullable) — The automation that started a conversation, as its entry draws it.
  - `conversation_id` (string, required)
  - `error` (string, required, nullable)
  - `last` (LastSaid, required, nullable) — A conversation's newest words, on one line, and who said them.
  - `last_at` (datetime, required)
  - `origin` (enum, required)
    - Allowed values: `person`, `automation`
  - `outcome` (enum, required)
    - Allowed values: `running`, `done`, `failed`, `waiting`, `handed`, `ignored`
  - `squad_id` (string, required)
  - `started_at` (datetime, required)
  - `title` (string, required, 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).
  - `decision` (AppSchemasDecisionOut, optional, nullable) — What was decided of a contact's message (`handlers`): by the channel's filter, the agent answers it or not this time (`skip`); by the agent's own handlers (`@sc.on`), it answers, or the conversation goes to a person (`hold`) or to nobody (`ignore`); `deciding` while they go.
  - `handover` (HandoverOut, optional, nullable) — A change of who answers a conversation: to whom, why, who set it and when.
  - `test` (boolean, optional, default: false)
- `kind`: `run`
  - `agent_id` (string, required)
  - `automation` (string, required)
  - `by` (enum, required)
    - Allowed values: `schedule`, `webhook`, `event`, `platform`, `agent`, `test`
  - `conversation_id` (string, required, nullable)
  - `dry` (boolean, required)
  - `ended_at` (datetime, required, nullable)
  - `error` (string, required, nullable)
  - `id` (string, required)
  - `last_at` (datetime, required)
  - `opened` (list of string, required)
  - `started_at` (datetime, required)
  - `status` (enum, required)
    - Allowed values: `running`, `waiting`, `done`, `failed`, `skipped`
  - `summary` (string, required, nullable)
  - `title` (string, required)
  - `tokens_in` (integer, required)
  - `tokens_out` (integer, required)
  - `decision` (AppRunsDecisionOut, optional, nullable) — What a handler decided of a message (`sc.answer`, `sc.hold`, `sc.ignore`).

### ValidationError

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

### ActionCount

- `name` (string, required)
- `count` (integer, required)

### AutomationGlance

The automation that started a conversation, as its entry draws it.

- `id` (string, required)
- `kind` (string, required)
- `title` (string, required)
- `app` (string, required, nullable)
- `provider` (string, required, nullable)
- `icon` (string, required, nullable)

### LastSaid

A conversation's newest words, on one line, and who said them.

- `text` (string, required)
- `by` (enum, required)
  - Allowed values: `person`, `agent`

### 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)

### AppSchemasDecisionOut

What was decided of a contact's message (`handlers`): by the channel's filter, the agent answers it or not this time (`skip`); by the agent's own handlers (`@sc.on`), it answers, or the conversation goes to a person (`hold`) or to nobody (`ignore`); `deciding` while they go.

- `kind` (enum, required)
  - Allowed values: `deciding`, `answer`, `skip`, `hold`, `ignore`
- `reason` (string, required, nullable)
- `automation` (string, required, nullable)
- `title` (string, required, nullable)
- `run_id` (string, required, nullable)

### 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)

### AppRunsDecisionOut

What a handler decided of a message (`sc.answer`, `sc.hold`, `sc.ignore`).

- `kind` (enum, required)
  - Allowed values: `answer`, `hold`, `ignore`
- `reason` (string, required)

### ValidationErrorLocItem

## Examples

**Response**

```json
{
  "items": [
    {
      "kind": "conversation",
      "actions": [
        {
          "name": "name",
          "count": 1
        }
      ],
      "agent_id": "agent_id",
      "automation": {
        "id": "id",
        "kind": "kind",
        "title": "title",
        "app": null,
        "provider": null,
        "icon": null
      },
      "conversation_id": "conversation_id",
      "error": "error",
      "last": {
        "text": "text",
        "by": "person"
      },
      "last_at": "2024-01-15T09:30:00Z",
      "origin": "person",
      "outcome": "running",
      "squad_id": "squad_id",
      "started_at": "2024-01-15T09:30:00Z",
      "title": "title",
      "channel": {
        "id": "id",
        "kind": "kind",
        "name": "name"
      },
      "contact": {
        "id": "id",
        "name": null,
        "address": "address"
      },
      "decision": {
        "kind": "deciding",
        "reason": null,
        "automation": null,
        "title": null,
        "run_id": null
      },
      "handover": {
        "holder": "agent",
        "reason": "reason",
        "by": "by",
        "title": null,
        "at": "2024-01-15T09:30:00Z"
      },
      "test": true
    }
  ],
  "next": "2024-01-15T09:30:00Z"
}
```

**SDK Code**

```python
import requests

url = "https://signalcore.ai/v1/activity"

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

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

print(response.json())
```