> 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/squads

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

## Authentication

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

## Response

### 200

Successful Response

- `list of SquadOut`

## Types

### SquadOut

- `id` (string, required)
- `name` (string, required)
- `description` (string, required)
- `builder_id` (string, required)
- `agents` (list of AgentOut, required)
- `created_at` (datetime, required)

### AgentOut

- `id` (string, required)
- `squad_id` (string, required)
- `name` (string, required)
- `role` (string, required)
- `description` (string, required)
- `instructions` (string, required)
- `model` (string, required)
- `actions` (list of string, required)
- `needs_approval` (list of string, required)
- `access` (map from string to any, required)
- `icon` (enum, required, nullable)
  - Allowed values: `sparkle`, `calendar`, `headset`, `message`, `phone`, `mail`, `cart`, `card`, `chart`, `megaphone`, `wrench`, `briefcase`, `heart`, `user`, `search`, `file`, `globe`, `code`, `map`
- `about_at` (datetime, required, nullable)
- `is_builder` (boolean, required)
- `voice` (Voice, required) — How an agent talks on a call (VOICE.md). The defaults are the old product's, in Spanish: its ElevenLabs voice (Carolina, from Spain), up to ten minutes, a goodbye ends it.
- `timezone` (string, required)
- `packages` (Packages, required) — What an agent's own code needs besides the platform, installed exactly as declared (`environments.py`): Debian packages (`apt`: ffmpeg, poppler-utils) and Python requirements (`pip`: openpyxl==3.1.5, pinned so a new release never changes what runs). The manifest checks each (`manifest.read_packages`).
- `created_at` (datetime, required)
- `approvals` (map from string to enum, optional)
  - Allowed values: `never`, `person`, `business`

### Voice

How an agent talks on a call (VOICE.md). The defaults are the old product's, in Spanish: its ElevenLabs voice (Carolina, from Spain), up to ten minutes, a goodbye ends it.

- `language` (string, optional, default: es)
- `voice` (VoiceId, optional) — Who speaks for the agent: a voice of ElevenLabs (by its id there) or of Cartesia.
- `first_message` (string, optional, default: Hola, ¿en qué puedo ayudarte?)
- `max_duration_s` (integer, optional, default: 600)
- `end_call_phrases` (list of string, optional, default: ["adiós","hasta luego"])
- `model` (enum, optional, default: claude-haiku-5-5)
  - Allowed values: `claude-haiku-5-5`, `claude-sonnet-5-5`
- `record` (boolean, optional, default: true)

### Packages

What an agent's own code needs besides the platform, installed exactly as declared (`environments.py`): Debian packages (`apt`: ffmpeg, poppler-utils) and Python requirements (`pip`: openpyxl==3.1.5, pinned so a new release never changes what runs). The manifest checks each (`manifest.read_packages`).

- `apt` (list of string, optional, default: [])
- `pip` (list of string, optional, default: [])

### VoiceId

Who speaks for the agent: a voice of ElevenLabs (by its id there) or of Cartesia.

- `provider` (enum, required)
  - Allowed values: `elevenlabs`, `cartesia`
- `id` (string, required)

## Examples

**Response**

```json
[
  {
    "id": "id",
    "name": "name",
    "description": "description",
    "builder_id": "builder_id",
    "agents": [
      {
        "id": "id",
        "squad_id": "squad_id",
        "name": "name",
        "role": "role",
        "description": "description",
        "instructions": "instructions",
        "model": "model",
        "actions": [
          "actions"
        ],
        "needs_approval": [
          "needs_approval"
        ],
        "access": {
          "key": "value"
        },
        "icon": null,
        "about_at": null,
        "is_builder": true,
        "voice": {},
        "timezone": "timezone",
        "packages": {},
        "created_at": "2024-01-15T09:30:00Z"
      }
    ],
    "created_at": "2024-01-15T09:30:00Z"
  }
]
```

**SDK Code**

```python
import requests

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

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

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

print(response.json())
```