Complete API reference for managing tasks and time tracking programmatically.
https://wapify.me/api/tasks
All requests require Bearer token authentication. Include the token in the Authorization header:
Authorization: Bearer YOUR_API_TOKEN
https://wapify.me/api/tasks/statuses
Retrieve a list of all available task statuses.
{
"success": true,
"data": [
{
"id": 1,
"name": "TO_DO",
"translated_name": "Por hacer",
"color": "#6c757d"
},
{
"id": 2,
"name": "IN_PROGRESS",
"translated_name": "En progreso",
"color": "#0d6efd"
},
{
"id": 3,
"name": "REVIEW",
"translated_name": "Revisión",
"color": "#ffc107"
},
{
"id": 4,
"name": "DONE",
"translated_name": "Completado",
"color": "#198754"
}
]
}
https://wapify.me/api/tasks
Retrieve a list of tasks assigned to the authenticated user.
| Parameter | Tipo | Descripción |
|---|---|---|
status_id |
integer | Filter by status ID |
pending_only |
boolean | Show only pending tasks (not DONE or CANCELLED) |
{
"success": true,
"data": [
{
"id": 1,
"title": "Actualizar sitio web",
"description": "Actualizar el contenido del sitio",
"start_date": "2026-02-01",
"due_date": "2026-02-08",
"estimated_hours": 5.5,
"status": {
"id": 2,
"name": "IN_PROGRESS",
"translated_name": "En progreso"
},
"category": {
"id": 1,
"name": "Desarrollo"
},
"project": {
"id": 3,
"name": "Sitio Web Corporativo"
},
"responsible": {
"id": 1,
"name": "Juan Pérez",
"email": "juan@example.com"
},
"active_time": {
"id": 5,
"started_at": "2026-02-02T14:30:00Z",
"elapsed_seconds": 1250
}
}
]
}
https://wapify.me/api/tasks
Create a new task. Optionally start the timer automatically.
| Field | Tipo | Required | Descripción |
|---|---|---|---|
title |
string | Yes | Task title (max 255 chars) |
description |
string | No | Descripción de la tarea |
start_timer |
boolean | No | Start timer immediately (default: false) |
{
"title": "Implementar nueva funcionalidad",
"description": "Agregar sistema de notificaciones push",
"start_timer": true
}
{
"success": true,
"message": "Tarea creada correctamente.",
"data": {
"task_id": 15,
"title": "Implementar nueva funcionalidad",
"status": {
"id": 2,
"name": "IN_PROGRESS",
"translated_name": "En progreso"
},
"time_id": 42,
"timer_started": true
}
}
https://wapify.me/api/tasks/{id}
Get detailed information about a specific task.
| Parameter | Descripción |
|---|---|
id |
Task ID |
https://wapify.me/api/tasks/{id}/status
Update the status of a task.
| Field | Tipo | Required | Descripción |
|---|---|---|---|
status_id |
integer | Yes | New status ID (must exist in task_statuses) |
{
"status_id": 4
}
{
"success": true,
"message": "Estado actualizado correctamente.",
"data": {
"task_id": 15,
"status": {
"id": 4,
"name": "DONE",
"translated_name": "Completado"
}
}
}
https://wapify.me/api/tasks/{id}/start
Start time tracking for a task. Automatically stops any other active timer and changes task status to IN_PROGRESS.
{
"success": true,
"message": "Tarea iniciada correctamente.",
"data": {
"time_id": 42,
"task_id": 15,
"started_at": "2026-02-02T14:30:00Z"
}
}
https://wapify.me/api/tasks/{id}/stop
Stop the active timer for a task.
{
"success": true,
"message": "Tarea detenida correctamente.",
"data": {
"time_id": 42,
"task_id": 15,
"started_at": "2026-02-02T14:30:00Z",
"ended_at": "2026-02-02T16:45:00Z",
"duration_seconds": 8100,
"duration_formatted": "02:15:00"
}
}
https://wapify.me/api/tasks/{id}/time
Get complete time tracking information for a task, including all time entries and active timer.
{
"success": true,
"data": {
"task": {
"id": 15,
"title": "Implementar nueva funcionalidad",
"description": "Agregar sistema de notificaciones push",
"status": {
"id": 2,
"name": "IN_PROGRESS",
"translated_name": "En progreso"
},
"project": {
"id": 3,
"name": "Sitio Web Corporativo"
}
},
"total_seconds": 12300,
"total_formatted": "03:25:00",
"total_hours": 3.42,
"active_time": {
"id": 45,
"started_at": "2026-02-02T16:00:00Z"
},
"entries": [
{
"id": 42,
"user": {
"id": 1,
"name": "Juan Pérez"
},
"started_at": "2026-02-02T14:30:00Z",
"ended_at": "2026-02-02T16:45:00Z",
"duration_seconds": 8100,
"duration_formatted": "02:15:00"
}
]
}
}
| Código | Descripción |
|---|---|
400 |
Bad Request - Invalid parameters or task already has active timer |
401 |
Unauthorized - Invalid or missing authentication token |
403 |
Forbidden - You don't have permission to access this task |
404 |
Not Found - Task does not exist |
422 |
Validation Error - Invalid input data |
{
"success": false,
"message": "No tienes permiso para iniciar esta tarea."
}