# Tareas

> Crear, gestionar y hacer seguimiento de tareas sobre contactos

Source: https://docs.graph8.com/es/developers/tasks/

Las tareas le permiten crear recordatorios de seguimiento y elementos de acción vinculados a contactos.

---

## Listar tareas de un contacto

`GET /contacts/{contact_id}/tasks`

Devuelve las tareas vinculadas a un contacto específico.

### Parámetros de consulta

| Parámetro | Tipo | Predeterminado | Descripción |
|-----------|------|----------------|-------------|
| `status` | string | — | Filtrar por estado (`open`, `completed`, `overdue`) |

### Ejemplo

**cURL**

```bash
curl "https://be.graph8.com/api/v1/contacts/12345/tasks?status=open" \
  -H "Authorization: Bearer $API_KEY"
```

**Python**

```python
response = requests.get(
    f"{BASE_URL}/contacts/12345/tasks",
    headers=HEADERS,
    params={"status": "open"}
)
```

### Respuesta

```json
{
  "data": [
    {
      "id": "task-abc",
      "title": "Send proposal",
      "description": "Draft and send the enterprise proposal.",
      "status": "open",
      "priority": 2,
      "due_date": "2026-03-05T00:00:00Z",
      "assignee_id": "user-123",
      "entity_type": "contact",
      "entity_id": "12345",
      "created_at": "2026-02-25T10:00:00Z",
      "updated_at": "2026-02-25T10:00:00Z"
    }
  ]
}
```

---

## Listar todas las tareas

`GET /tasks`

Devuelve todas las tareas de la organización, con filtros opcionales.

### Parámetros de consulta

| Parámetro | Tipo | Predeterminado | Descripción |
|-----------|------|----------------|-------------|
| `status` | string | — | Filtrar por estado |
| `priority` | integer | — | Filtrar por prioridad (0=ninguna, 1=urgente, 2=alta, 3=normal, 4=baja) |
| `assignee_id` | string | — | Filtrar por responsable |
| `search` | string | — | Buscar en título y descripción |

---

## Crear tarea

`POST /contacts/{contact_id}/tasks`

### Cuerpo de la solicitud

| Campo | Tipo | Requerido | Descripción |
|-------|------|-----------|-------------|
| `title` | string | Sí | Título de la tarea |
| `description` | string | No | Detalles de la tarea |
| `due_date` | string | No | Fecha de vencimiento en formato ISO 8601 |
| `assignee_id` | string | No | ID del usuario asignado |
| `priority` | integer | No | 0=ninguna, 1=urgente, 2=alta, 3=normal, 4=baja |

### Ejemplo

**cURL**

```bash
curl -X POST "https://be.graph8.com/api/v1/contacts/12345/tasks" \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Send proposal", "due_date": "2026-03-05", "priority": 2}'
```

---

## Actualizar tarea

`PATCH /tasks/{task_id}`

Admite actualizaciones parciales. Envíe únicamente los campos que desea modificar.

---

## Eliminar tarea

`DELETE /tasks/{task_id}`

Devuelve `204 No Content` cuando la operación se realiza con éxito.
