Definiciones de Workflow
Recuperá las configuraciones base de tus workflows automatizados. Listá todas las definiciones con filtrado y paginación, o recuperá el perfil completo de una única definición, incluyendo su resumen de pasos y disparadores.
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 definiciones
Recuperá una lista paginada de definiciones de workflow.
/apidev/v1/workflow/definitionsEncabezados 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 consulta
| Parámetro | Tipo | Obligatorio | Por defecto | Descripción |
|---|---|---|---|---|
limit | integer | No | 25 | Cantidad de registros por página. Mín: 1, Máx: 100 |
offset | integer | No | 0 | Cantidad de registros a omitir para la paginación |
status | string | No | active | Filtrar por estado: active, inactive o all |
entity_type | string | No | — | Filtrar por tipo de entidad: TAREA, CUENTA, CLIENTE, PERSONAL, DISPOSITIVO, NINGUNA |
search | string | No | — | Coincidencia parcial sobre name o description. Longitud máxima: 120 |
Respuesta
Una respuesta exitosa devuelve un arreglo de objetos de definición de workflow dentro del campo data.
| Campo | Tipo | Descripción |
|---|---|---|
id | string | Identificador único de la definición (BigInt) |
name | string | Nombre visible de la definición |
description | string | null | Descripción del workflow |
status | string | "active" o "inactive" |
entity_type | string | Tipo de entidad al que aplica este workflow |
version | integer | Número de versión de la definición |
steps_count | integer | Cantidad de pasos del workflow |
triggers_count | integer | Cantidad de disparadores configurados |
created_at | string | Marca de tiempo de creación (ISO 8601, sin zona horaria) |
updated_at | string | Marca de tiempo de la última actualización (ISO 8601, sin zona horaria) |
Ejemplos de código
- cURL
- JavaScript
- Python
curl -s -X GET "https://$TENANT_HOST/apidev/v1/workflow/definitions?limit=10&status=active" \
-H "Authorization: Bearer $TOKEN" \
-H "X-API-Key: $APIKEY" \
-H "tenant: $TENANT"
const response = await fetch(
`https://${TENANT_HOST}/apidev/v1/workflow/definitions?limit=10&status=active`,
{
headers: {
"Authorization": `Bearer ${TOKEN}`,
"X-API-Key": APIKEY,
"tenant": TENANT,
},
}
);
const { data, meta } = await response.json();
console.log(`Fetched ${data.length} of ${meta.total} definitions`);
import requests
response = requests.get(
f"https://{TENANT_HOST}/apidev/v1/workflow/definitions",
headers={
"Authorization": f"Bearer {TOKEN}",
"X-API-Key": APIKEY,
"tenant": TENANT,
},
params={"limit": 10, "status": "active"},
)
result = response.json()
for definition in result["data"]:
print(f"{definition['id']}: {definition['name']} ({definition['status']})")
Ejemplo de respuesta
{
"success": true,
"data": [
{
"id": "482938470192837465",
"name": "New Account Onboarding",
"description": "Triggered when a new account is created to complete the onboarding checklist.",
"status": "active",
"entity_type": "CUENTA",
"version": 3,
"steps_count": 5,
"triggers_count": 2,
"created_at": "2025-08-10T14:30:00",
"updated_at": "2026-01-20T09:15:00"
}
],
"meta": {
"total": 12,
"limit": 10,
"offset": 0
}
}
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 |
Detalle de la definición
Recuperá el perfil completo de una única definición de workflow, incluyendo su resumen de pasos y las configuraciones de los disparadores.
/apidev/v1/workflow/definitions/{id}Parámetros de ruta
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
id | string | Sí | El identificador único de la definición de workflow (BigInt) |
Respuesta
Devuelve los mismos campos que el endpoint de listado, más los siguientes campos adicionales:
| Campo | Tipo | Descripción |
|---|---|---|
steps_summary | array | Lista ordenada de los pasos del workflow (ver abajo) |
triggers | array | Lista de disparadores que inician este workflow (ver abajo) |
La respuesta de detalle no incluye los campos steps_count ni triggers_count del listado. Los arreglos completos steps_summary y triggers contienen la misma información, así que podés contar sus entradas directamente.
Elementos del arreglo steps_summary:
| Campo | Tipo | Descripción |
|---|---|---|
node_id | string | Identificador del nodo dentro de la definición |
name | string | Nombre visible del paso |
type | string | Tipo de paso: human_task, automatic, condition, notification |
assignee_type | string | null | Tipo de asignación: user, group, role o null |
has_form | boolean | Si este paso tiene un formulario de captura |
Elementos del arreglo triggers:
| Campo | Tipo | Descripción |
|---|---|---|
type | string | Tipo de disparador: manual, event, schedule |
description | string | null | Descripción legible del disparador |
Ejemplo de respuesta
{
"success": true,
"data": {
"id": "482938470192837465",
"name": "New Account Onboarding",
"description": "Triggered when a new account is created to complete the onboarding checklist.",
"status": "active",
"entity_type": "CUENTA",
"version": 3,
"created_at": "2025-08-10T14:30:00",
"updated_at": "2026-01-20T09:15:00",
"steps_summary": [
{
"node_id": "node_a1b2c3",
"name": "Verify Contact Information",
"type": "human_task",
"assignee_type": "group",
"has_form": true
},
{
"node_id": "node_d4e5f6",
"name": "Send Welcome Email",
"type": "automatic",
"assignee_type": null,
"has_form": false
}
],
"triggers": [
{
"type": "event",
"description": "Fires when a new account is created"
},
{
"type": "manual",
"description": null
}
]
},
"meta": {}
}
Errores
Todos los endpoints de esta página pueden devolver los siguientes errores. Para la referencia completa de errores, consultá Manejo de errores.
| Código | HTTP | Descripción |
|---|---|---|
VALIDATION_ERROR | 400 | Parámetros inválidos |
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 |
Recursos relacionados
- Autenticación -- Cómo obtener y usar tokens JWT y claves de API
- Instancias de Workflow -- Iniciá, hacé seguimiento y cancelá instancias de workflow
- Tareas de Workflow -- Gestioná las tareas de workflow en tu bandeja de entrada
- Paginación -- Parámetros y metadatos de paginación estándar
- Límites de solicitudes -- Ventanas de límite de solicitudes y estrategias de reintento
- Manejo de errores -- Referencia completa de códigos de error