> ## Documentation Index
> Fetch the complete documentation index at: https://docs.whaapy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Listar Agentes

> Obtén la lista de agentes humanos de tu equipo con su disponibilidad y conversaciones asignadas

Retorna todos los miembros del equipo (agentes humanos) asociados a tu negocio. Útil para obtener IDs de agentes antes de asignarlos a contactos.

<Info>
  **Scope requerido:** `team:read`
</Info>

***

## Respuesta

<ResponseField name="agents" type="array">
  <Expandable title="Propiedades de cada agente">
    <ResponseField name="id" type="string">
      UUID del agente. Usa este valor para asignar el agente a un contacto.
    </ResponseField>

    <ResponseField name="name" type="string | null">
      Nombre del agente
    </ResponseField>

    <ResponseField name="email" type="string">
      Email del agente
    </ResponseField>

    <ResponseField name="role" type="string">
      Rol en el equipo: `super_admin`, `admin`, o `agent`
    </ResponseField>

    <ResponseField name="is_available" type="boolean">
      Si el agente está disponible para recibir asignaciones
    </ResponseField>

    <ResponseField name="assigned_conversations" type="number">
      Cantidad de conversaciones activas asignadas actualmente
    </ResponseField>
  </Expandable>
</ResponseField>

***

## Ejemplos

<RequestExample>
  ```bash cURL theme={null}
  curl https://api.whaapy.com/team/v1 \
    -H "Authorization: Bearer wha_TU_API_KEY"
  ```

  ```javascript Node.js theme={null}
  const response = await fetch('https://api.whaapy.com/team/v1', {
    headers: {
      'Authorization': 'Bearer wha_TU_API_KEY'
    }
  });
  const data = await response.json();
  console.log(data.agents);
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      'https://api.whaapy.com/team/v1',
      headers={'Authorization': 'Bearer wha_TU_API_KEY'}
  )
  print(response.json())
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "agents": [
      {
        "id": "550e8400-e29b-41d4-a716-446655440000",
        "name": "Juan Pérez",
        "email": "juan@empresa.com",
        "role": "admin",
        "is_available": true,
        "assigned_conversations": 5
      },
      {
        "id": "660e8400-e29b-41d4-a716-446655440001",
        "name": "María García",
        "email": "maria@empresa.com",
        "role": "agent",
        "is_available": true,
        "assigned_conversations": 3
      },
      {
        "id": "770e8400-e29b-41d4-a716-446655440002",
        "name": "Carlos López",
        "email": "carlos@empresa.com",
        "role": "agent",
        "is_available": false,
        "assigned_conversations": 0
      }
    ]
  }
  ```
</ResponseExample>

***

## Uso con Asignación de Contactos

Una vez que tengas el ID del agente, puedes asignarlo a un contacto usando [PATCH /contacts/v1/:id](/api-reference/contacts/update) o al [crear un contacto](/api-reference/contacts/create):

```bash theme={null}
curl -X PATCH https://api.whaapy.com/contacts/v1/CONTACT_ID \
  -H "Authorization: Bearer wha_TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "assigned_agent_id": "550e8400-e29b-41d4-a716-446655440000" }'
```

Al asignar un agente a un contacto:

* Todas las conversaciones **activas** del contacto se asignan automáticamente al agente
* Las conversaciones **futuras** del contacto también se asignarán al agente automáticamente

<CardGroup cols={2}>
  <Card title="Crear Contacto" icon="user-plus" href="/api-reference/contacts/create">
    Crea un contacto con agente asignado
  </Card>

  <Card title="Actualizar Contacto" icon="pen" href="/api-reference/contacts/update">
    Asigna un agente a un contacto existente
  </Card>
</CardGroup>
