Saltar al contenido principal

Tableros Kanban

Explorá espacios de trabajo, listá tableros, inspeccioná la configuración de un tablero y recuperá las tareas asociadas a un tablero.

Requisitos previos

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.


Listar espacios de trabajo​

Recuperá una lista paginada de espacios de trabajo Kanban disponibles para el usuario autenticado.

GET/apidev/v1/kanban/workspaces
PermisoAPICLI_KANBAN_READ
Límite de solicitudes30 req/min (ventana deslizante)
Caché30s

Encabezados de la solicitud​

Every request to a protected endpoint requires these headers:

HeaderRequiredDescription
AuthorizationYesBearer token obtained from the Login endpoint. Format: Bearer <token>
X-API-KeyYesCompany integration key provided during onboarding. Format: gtk_xxx...
tenantYesYour assigned tenant domain (default: geotareas.com) — always send your assigned tenant
Content-TypeConditionalapplication/json — required for POST and PUT requests

Parámetros de consulta​

ParámetroTipoObligatorioPor defectoRestriccionesDescripción
limitintegerNo25Mín 1, Máx 100Registros por página
offsetintegerNo0≥ 0Registros a omitir

Respuesta​

CampoTipoDescripción
idstringIdentificador único del espacio de trabajo (BigInt)
namestringNombre visible del espacio de trabajo
descriptionstring | nullDescripción opcional
boards_countintegerCantidad de tableros en este espacio de trabajo
rolestringRol del usuario autenticado en el espacio de trabajo
created_atstringMarca de tiempo ISO 8601

Ejemplos de código​

curl -s -X GET "$TENANT_URL/apidev/v1/kanban/workspaces?limit=10" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"

Ejemplo de respuesta​

{
"success": true,
"data": [
{
"id": "7284917284917284",
"name": "Operations",
"description": "Main operations workspace for field teams.",
"boards_count": 4,
"role": "admin",
"created_at": "2025-09-01T10:00:00"
}
],
"meta": {
"total": 3,
"limit": 10,
"offset": 0
}
}

Encabezados del límite de solicitudes​

Every response includes rate limit information in the headers:

HeaderDescription
X-RateLimit-LimitMaximum number of requests allowed in the current window
X-RateLimit-RemainingNumber of requests remaining in the current window
X-RateLimit-ResetUnix timestamp (seconds) when the current window resets
Retry-AfterSeconds to wait before retrying (only present on 429 responses)
X-Request-IdUnique request identifier for debugging and support tickets

Listar tableros​

Recuperá una lista paginada de tableros Kanban. Opcionalmente, filtrá por espacio de trabajo o por tipo.

GET/apidev/v1/kanban/boards
PermisoAPICLI_KANBAN_READ
Límite de solicitudes30 req/min (ventana deslizante)
Caché30s

Parámetros de consulta​

ParámetroTipoObligatorioPor defectoRestriccionesDescripción
limitintegerNo25Mín 1, Máx 100Registros por página
offsetintegerNo0≥ 0Registros a omitir
workspace_idstringNo—Longitud máxima 30Filtrar por ID de espacio de trabajo
typestringNo—tasks o customFiltrar por tipo de tablero
nota

El valor de type no distingue mayúsculas de minúsculas — el servidor lo convierte a minúsculas antes de comparar, por lo que Tasks y TASKS funcionan igual que tasks.

Respuesta​

CampoTipoDescripción
idstringIdentificador único del tablero (BigInt)
namestringNombre visible del tablero
descriptionstring | nullDescripción opcional
typestringTipo de tablero: tasks o custom
workspace_idstringID del espacio de trabajo padre (BigInt)
workspace_namestringNombre del espacio de trabajo padre
is_defaultbooleanSi este es el tablero por defecto
column_countintegerCantidad de columnas configuradas
statusstringEstado del tablero
created_atstringMarca de tiempo ISO 8601

Ejemplos de código​

curl -s -X GET "$TENANT_URL/apidev/v1/kanban/boards?workspace_id=7284917284917284&type=tasks&limit=10" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"

Ejemplo de respuesta​

{
"success": true,
"data": [
{
"id": "8391728491728491",
"name": "Field Installations",
"description": "Track field installation tasks from scheduling to completion.",
"type": "tasks",
"workspace_id": "7284917284917284",
"workspace_name": "Operations",
"is_default": false,
"column_count": 5,
"status": "active",
"created_at": "2025-09-05T11:00:00"
}
],
"meta": {
"total": 4,
"limit": 10,
"offset": 0
}
}

Detalle del tablero​

Recuperá la configuración completa de un único tablero, incluyendo sus columnas y campos personalizados.

GET/apidev/v1/kanban/boards/{id}
PermisoAPICLI_KANBAN_READ
Límite de solicitudes30 req/min (ventana deslizante)
Caché30s

Parámetros de ruta​

ParámetroTipoObligatorioDescripción
idstringSíIdentificador único del tablero (BigInt)

Respuesta​

Devuelve los mismos campos de nivel superior que Listar tableros, más:

CampoTipoDescripción
columnsarrayLista ordenada de columnas (ver abajo)
custom_fieldsarrayDefiniciones de campos personalizados (ver abajo)

columns[]:

CampoTipoDescripción
idstringIdentificador único de la columna (BigInt)
namestringNombre visible de la columna
colorstring | nullCódigo de color hexadecimal
orderintegerPosición en el tablero
status_codesstring[]Códigos de estado de tarea mapeados a esta columna
wip_limitinteger | nullLímite de trabajo en curso (null = ilimitado)

custom_fields[]:

CampoTipoDescripción
idstringIdentificador único del campo (BigInt)
namestringNombre visible del campo
typestringTipo de campo (text, number, date, select)
optionsstring[] | nullOpciones disponibles para el tipo select

Ejemplos de código​

curl -s -X GET "$TENANT_URL/apidev/v1/kanban/boards/8391728491728491" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"

Ejemplo de respuesta​

{
"success": true,
"data": {
"id": "8391728491728491",
"name": "Field Installations",
"description": "Track field installation tasks from scheduling to completion.",
"type": "tasks",
"workspace_id": "7284917284917284",
"workspace_name": "Operations",
"is_default": false,
"columns": [
{
"id": "9100000000000001",
"name": "Backlog",
"color": "#6B7280",
"order": 1,
"status_codes": ["SA"],
"wip_limit": null
},
{
"id": "9100000000000002",
"name": "In Progress",
"color": "#3B82F6",
"order": 2,
"status_codes": ["ASI", "ACE", "INI"],
"wip_limit": 10
},
{
"id": "9100000000000003",
"name": "Done",
"color": "#10B981",
"order": 3,
"status_codes": ["FIN"],
"wip_limit": null
}
],
"custom_fields": [
{
"id": "6200000000000001",
"name": "Region",
"type": "select",
"options": ["North", "South", "East", "West"]
}
]
},
"meta": {}
}

Tareas del tablero​

Recuperá las tareas agrupadas por columna para un tablero específico.

GET/apidev/v1/kanban/boards/{id}/tasks
PermisoAPICLI_KANBAN_READ
Límite de solicitudes30 req/min (ventana deslizante)
Caché15s

Parámetros de ruta​

ParámetroTipoObligatorioDescripción
idstringSíIdentificador único del tablero (BigInt)

Parámetros de consulta​

ParámetroTipoObligatorioPor defectoRestriccionesDescripción
statusstringNo—Longitud máxima 50Filtrar por código de estado de tarea
searchstringNo—Longitud máxima 120Buscar por título o número de tarea
driver_idstringNo—Longitud máxima 30Filtrar por ID de conductor (BigInt)
client_idstringNo—Longitud máxima 30Filtrar por ID de cliente (BigInt)
prioritystringNo—Longitud máxima 20Filtrar por nivel de prioridad

Respuesta​

CampoTipoDescripción
board_idstringID del tablero (BigInt)
columnsarrayColumnas con sus tareas (ver abajo)
total_tasksintegerTotal de tareas en todas las columnas
timestampstringMarca de tiempo ISO 8601 de la instantánea

columns[]:

CampoTipoDescripción
idstringID de la columna (BigInt)
namestringNombre visible de la columna
tasksarrayTareas en esta columna (ver abajo)
task_countintegerCantidad de tareas en esta columna

columns[].tasks[]:

CampoTipoDescripción
idstringIdentificador único de la tarea (BigInt)
numberstringNúmero visible de la tarea
statusstringCódigo de estado actual de la tarea
titlestringTítulo de la tarea
client_namestring | nullNombre del cliente
account_namestring | nullNombre de la cuenta
driver_namestring | nullNombre del conductor asignado
prioritystringNivel de prioridad
scheduled_atstring | nullFecha programada (ISO 8601)
created_atstringMarca de tiempo de creación (ISO 8601)
delay_minutesinteger | nullMinutos de retraso (null si está a tiempo)

Ejemplos de código​

curl -s -X GET "$TENANT_URL/apidev/v1/kanban/boards/8391728491728491/tasks?status=INI" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"

Ejemplo de respuesta​

{
"success": true,
"data": {
"board_id": "8391728491728491",
"columns": [
{
"id": "9100000000000002",
"name": "In Progress",
"tasks": [
{
"id": "5001847291847291",
"number": "T-2026-00142",
"status": "INI",
"title": "Install GPS device at warehouse #7",
"client_name": "Acme Corp",
"account_name": "Warehouse District 7",
"driver_name": "Carlos Mendoza",
"priority": "high",
"scheduled_at": "2026-03-25T18:00:00",
"created_at": "2026-03-10T09:00:00",
"delay_minutes": 45
}
],
"task_count": 1
}
],
"total_tasks": 47,
"timestamp": "2026-03-19T16:45:00"
},
"meta": {}
}

Errores​

CódigoHTTPDescripción
VALIDATION_ERROR400Parámetros de consulta inválidos
UNAUTHORIZED401tenant / Authorization / X-API-Key ausente, inválido o expirado
FORBIDDEN403El usuario no tiene el permiso requerido
NOT_FOUND404Recurso no encontrado
RATE_LIMITED429Se superó el límite de solicitudes
INTERNAL_ERROR500Error inesperado del servidor