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

# Listar tasks

> Obtener todas las tareas de tu organización o de un agente específico.

## Endpoint

```
GET /api/tasks
```

## Headers

<ParamField header="Authorization" type="string" required>
  Bearer token con tu API key. Formato: `Bearer sk_live_xxx`
</ParamField>

## Query Parameters

<ParamField query="agentId" type="string">
  Filtrar tareas por agente específico
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://app.horneross.com/api/tasks?agentId=agent_abc123" \
    -H "Authorization: Bearer sk_live_xxx"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://app.horneross.com/api/tasks?agentId=agent_abc123',
    {
      headers: {
        'Authorization': 'Bearer sk_live_xxx',
      },
    }
  );

  const { triggers } = await response.json();
  ```

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

  response = requests.get(
      'https://app.horneross.com/api/tasks',
      headers={'Authorization': 'Bearer sk_live_xxx'},
      params={'agentId': 'agent_abc123'}
  )

  data = response.json()
  print(f'Tasks: {len(data["triggers"])}')
  ```
</RequestExample>

## Response

<ResponseField name="triggers" type="array" required>
  Array de tareas

  <Expandable title="Propiedades de cada task">
    <ResponseField name="triggers[].id" type="string" required>
      ID único de la tarea
    </ResponseField>

    <ResponseField name="triggers[].agentId" type="string" required>
      ID del agente asociado
    </ResponseField>

    <ResponseField name="triggers[].type" type="string" required>
      Tipo de trigger (`schedule`, `integration_event`, `webhook`, etc.)
    </ResponseField>

    <ResponseField name="triggers[].name" type="string" required>
      Nombre de la tarea
    </ResponseField>

    <ResponseField name="triggers[].description" type="string">
      Descripción opcional
    </ResponseField>

    <ResponseField name="triggers[].config" type="object" required>
      Configuración del trigger (incluye `prompt`)
    </ResponseField>

    <ResponseField name="triggers[].isEnabled" type="boolean" required>
      Si la tarea está activa
    </ResponseField>

    <ResponseField name="triggers[].createdAt" type="string" required>
      Fecha de creación (ISO 8601)
    </ResponseField>

    <ResponseField name="triggers[].agent" type="object" required>
      Información básica del agente
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 200 - Success theme={null}
  {
    "triggers": [
      {
        "id": "trigger_abc123",
        "agentId": "agent_xyz",
        "type": "schedule",
        "name": "Resumen diario",
        "description": "Genera resumen de conversaciones",
        "config": {
          "prompt": "Genera un resumen de las conversaciones de ayer",
          "cronExpression": "0 9 * * *",
          "timezone": "America/Argentina/Buenos_Aires"
        },
        "isEnabled": true,
        "createdAt": "2024-01-21T10:00:00Z",
        "agent": {
          "id": "agent_xyz",
          "name": "Asistente de Ventas",
          "iconUrl": "https://..."
        }
      }
    ]
  }
  ```
</ResponseExample>
