|  |  | @ -124,6 +124,9 @@ Notas: | 
			
		
	
		
		
			
				
					
					|  |  |  |   - GET /api/groups/:id/tasks?unassignedFirst=true (respeta gating y membresía) |  |  |  |   - GET /api/groups/:id/tasks?unassignedFirst=true (respeta gating y membresía) | 
			
		
	
		
		
			
				
					
					|  |  |  |   - GET /api/me/preferences |  |  |  |   - GET /api/me/preferences | 
			
		
	
		
		
			
				
					
					|  |  |  |   - POST /api/me/preferences (actualiza frecuencia/hora) |  |  |  |   - POST /api/me/preferences (actualiza frecuencia/hora) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   - POST /api/tasks/:id/claim (reclamar tarea; idempotente; requiere sesión, tarea abierta y gating) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   - POST /api/tasks/:id/unassign (soltar tarea; idempotente; requiere sesión, tarea abierta y gating) | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |   - PATCH /api/tasks/:id (actualiza due_date: 'YYYY-MM-DD' | null; valida formato; requiere sesión, tarea abierta y gating) | 
			
		
	
		
		
			
				
					
					|  |  |  |   - GET /api/integrations/feeds |  |  |  |   - GET /api/integrations/feeds | 
			
		
	
		
		
			
				
					
					|  |  |  |     - Genera automáticamente (si faltan) tokens B por cada grupo activo del usuario. |  |  |  |     - Genera automáticamente (si faltan) tokens B por cada grupo activo del usuario. | 
			
		
	
		
		
			
				
					
					|  |  |  |     - Devuelve URLs para: ICS personal (mis tareas), ICS por grupo (B), y opcional ICS multigrupo (C). |  |  |  |     - Devuelve URLs para: ICS personal (mis tareas), ICS por grupo (B), y opcional ICS multigrupo (C). | 
			
		
	
	
		
		
			
				
					|  |  | 
 |