Estado de Tareas Kanban
Hacé transicionar las tareas entre estados del flujo de trabajo en un tablero Kanban. Los sistemas externos pueden mover tareas entre estados directamente desde el contexto del kanban.
Todos los endpoints de esta página requieren un token JWT válido, una clave de API y el encabezado tenant. Consultá Autenticación para más detalles.
Actualizar estado de la tarea
Hacé transicionar una tarea a un nuevo estado del flujo de trabajo.
/apidev/v1/kanban/tasks/{taskId}/stateEncabezados de la solicitud
Every request to a protected endpoint requires these headers:
| Header | Required | Description |
|---|---|---|
Authorization | Yes | Bearer token obtained from the Login endpoint. Format: Bearer <token> |
X-API-Key | Yes | Company integration key provided during onboarding. Format: gtk_xxx... |
tenant | Yes | Your assigned tenant domain (default: geotareas.com) — always send your assigned tenant |
Content-Type | Conditional | application/json — required for POST and PUT requests |
Parámetros de ruta
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
taskId | string | Sí | Identificador único de la tarea (BigInt) |
Cuerpo de la solicitud
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
board_id | string | Sí | Longitud máxima 30 | Tablero al que pertenece la tarea (BigInt) |
target_status | string | Sí | Longitud máxima 10 | Estado destino: ACE, INI, USU, FIN, CAN |
driver_id | string | No | Longitud máxima 30 | Conductor a asignar (BigInt) |
Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
task_id | string | Identificador único de la tarea (BigInt) |
previous_status | string | null | Estado en el que estaba la tarea antes de la transición. Se lee justo antes del cambio; null en el caso raro de que no se haya podido leer |
new_status | string | Estado después de la transición |
updated_at | string | Marca de tiempo ISO 8601 |
previous_status viene con datoEl estado se captura inmediatamente antes de aplicar la transición, así que recibís el valor anterior real — sirve para armar una traza de auditoría sin una lectura aparte. Tomá null como "no se sabe", no como "no había estado anterior": la transición igual se completó.
Ejemplos de código
- cURL
- JavaScript
- Python
curl -s -X PUT "$TENANT_URL/apidev/v1/kanban/tasks/5001847291847291/state" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT" \
-H "Content-Type: application/json" \
-d '{
"board_id": "8391728491728491",
"target_status": "FIN"
}'
const response = await fetch(
`${TENANT_URL}/apidev/v1/kanban/tasks/5001847291847291/state`,
{
method: "PUT",
headers: {
"Authorization": `Bearer ${TOKEN}`,
"X-API-Key": APIKEY,
"tenant": TENANT,
"Content-Type": "application/json",
},
body: JSON.stringify({
board_id: "8391728491728491",
target_status: "FIN",
}),
}
);
const { data } = await response.json();
console.log(`Task ${data.task_id}: ${data.previous_status} -> ${data.new_status}`);
import requests
response = requests.put(
f"{TENANT_URL}/apidev/v1/kanban/tasks/5001847291847291/state",
headers={
"Authorization": f"Bearer {TOKEN}",
"X-API-Key": APIKEY,
"tenant": TENANT,
},
json={
"board_id": "8391728491728491",
"target_status": "FIN",
},
)
task = response.json()["data"]
print(f"Task {task['task_id']}: {task['previous_status']} -> {task['new_status']}")
Ejemplo de respuesta
{
"success": true,
"data": {
"task_id": "5001847291847291",
"previous_status": "INI",
"new_status": "FIN",
"updated_at": "2026-03-19T16:45:00"
},
"meta": {}
}
Encabezados del límite de solicitudes
Every response includes rate limit information in the headers:
| Header | Description |
|---|---|
X-RateLimit-Limit | Maximum number of requests allowed in the current window |
X-RateLimit-Remaining | Number of requests remaining in the current window |
X-RateLimit-Reset | Unix timestamp (seconds) when the current window resets |
Retry-After | Seconds to wait before retrying (only present on 429 responses) |
X-Request-Id | Unique request identifier for debugging and support tickets |
Errores
| Código | HTTP | Descripción |
|---|---|---|
VALIDATION_ERROR | 400 | Parámetros inválidos |
STATE_CHANGE_FAILED | 400 | Transición de estado inválida (ej. FIN a SA) |
UNAUTHORIZED | 401 | tenant / Authorization / X-API-Key ausente, inválido o expirado |
FORBIDDEN | 403 | El usuario no tiene el permiso requerido |
NOT_FOUND | 404 | Recurso no encontrado |
RATE_LIMITED | 429 | Se superó el límite de solicitudes |
INTERNAL_ERROR | 500 | Error inesperado del servidor |