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

# Get

GET https://signalcore.ai/v1/squads/{squad_id}

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

## Authentication

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

## Request

### Path parameters

- `squad_id` (string, required)

## Response

### 200

Successful Response

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

## Errors

### 422 Squads Get Request Unprocessable Entity Error

Validation Error

- `detail` (list of ValidationError, optional)

## Types

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

### ValidationError

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

### 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: [])

### ValidationErrorLocItem

### 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": "sparkle",
      "about_at": "2024-01-15T09:30:00Z",
      "is_builder": true,
      "voice": {},
      "timezone": "timezone",
      "packages": {},
      "created_at": "2024-01-15T09:30:00Z",
      "approvals": {
        "key": "never"
      }
    }
  ],
  "created_at": "2024-01-15T09:30:00Z"
}
```

**SDK Code**

```python
import requests

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

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

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

print(response.json())
```