Casos (API clásica)¶
El recurso cases es el corazón de la API clásica: listar los casos que ve un usuario,
leer uno, actuar sobre él y llegar a sus documentos, notas y variables.
Las rutas son relativas a /api/1.0/{espacio}/cases.
Listar¶
| Ruta | Devuelve |
|---|---|
GET / |
Los casos que puede ver el llamador |
GET /paged |
Lo mismo, paginado |
GET /draft, /participated, /unassigned, /paused |
Una bandeja, con su variante paged |
GET /advanced-search, /advanced-search/paged |
El resultado de un filtro guardado |
GET /advanced-search/filters |
Los filtros que guardó este usuario |
POST /advanced-search/filter · PUT/DELETE …/:filterUid |
Crear, editar, borrar un filtro |
Las bandejas también están en home/ y lists/, con conteos. Prefiere una de las
tres familias en una integración: devuelven los mismos casos con formas distintas, y
mezclarlas obliga a interpretar dos juegos de campos.
Los endpoints de lista comparten un conjunto de parámetros y devuelven 15 casos por defecto, ordenados por número de caso, del más nuevo al más viejo:
| Parámetro | Significado |
|---|---|
caseNumber |
Un número de caso |
process |
El id del proceso |
task |
El id de la tarea |
limit |
Cuántos devolver |
offset |
Dónde empezar |
caseTitle |
Texto en el título del caso |
reviewStatus |
READ o UNREAD: si el asignado abrió el caso |
Leer un caso¶
| Ruta | Devuelve |
|---|---|
GET /:appUid |
El caso |
GET /:appUid/current-task |
La tarea en la que está |
GET /:appUid/tasks |
Todas las tareas del caso |
GET /:appUid/:del_index/steps |
Los pasos de una delegación |
GET /:appNumber/supervisor |
El supervisor del caso |
GET /:appUid/sub-process-cases |
Los casos que generó |
app_uid es el id del caso (APP_UID); del_index es la posición de la tarea en el
caso, y ambos aparecen en toda respuesta de lista.
GET /:appUid responde con la cabecera del caso y sus tareas abiertas:
{
"app_uid": "36722263554ca70b82c52e8020802754",
"app_number": "5",
"app_name": "#5",
"app_status": "TO_DO",
"pro_uid": "35648267754ca36d119ecc1014698225",
"pro_name": "Safety training course",
"app_create_date": "2026-01-29 12:41:12",
"current_task": [
{ "usr_uid": "…", "usr_name": "Administrator", "tas_uid": "…",
"tas_title": "Written safety test", "del_index": 2, "del_thread_status": "OPEN" }
]
}
Leer un caso en el que no participas requiere un permiso de proceso, como el formulario
resumen o ALL.
Notas¶
| Ruta | Hace |
|---|---|
GET /:appUid/notes · /:appUid/notes/paged |
Lista las notas; la variante paginada acepta search |
POST /:appUid/note |
Agrega una |
El POST recibe note_content —texto plano, \n para un salto de línea— y send_mail,
que en 1 envía la nota por correo a todos los participantes. El mensaje queda en cola, no
sale de inmediato: se envía cuando corre el programador.
Documentos¶
| Ruta | Hace |
|---|---|
GET /:appUid/input-documents |
Los documentos de entrada del caso |
GET /:appUid/input-document/:inp_doc_uid |
Una definición |
GET /:appUid/input-document/:app_doc_uid/file |
Descarga el archivo |
GET /:appUid/input-document/:app_doc_uid/versions |
Sus versiones |
POST /:appUid/input-document |
Sube |
DELETE /:appUid/:del_index/input-document/:app_doc_uid |
Borra |
GET /:appUid/output-documents |
Los documentos generados |
GET /:appUid/output-document/:app_doc_uid/file |
Descarga uno |
POST /:appUid/:del_index/output-document/:out_doc_uid |
Genera uno |
DELETE /:appUid/output-document/:app_doc_uid |
Borra uno |
La subida recibe inp_doc_uid (la definición), tas_uid (la tarea donde el documento es un
paso) y app_doc_comment. Generar un documento de salida recibe el del_index y el
out_doc_uid —el id que está detrás de Show ID en la lista de documentos de salida—.
Subir a una variable (un campo de archivo de un formulario) es otra familia:
POST /:appUid/upload/:var_name
POST /:appUid/upload/:var_name/:doc_uid
POST /:appUid/upload/:var_name/:doc_uid/:app_doc_uid
Las tres variantes agregan una versión a un documento existente en lugar de reemplazarlo.
Variables¶
| Ruta | Hace |
|---|---|
GET /:appUid/variables |
Todas las variables del caso |
PUT /:appUid/variable?del_index=N |
Escribe variables; del_index indica qué delegación registra el cambio |
GET /:appUid/:del_index/variable/:var_name |
Lee una variable en esa delegación |
GET /:appUid/:del_index/variable/:var_name/paged |
Lee una variable de grilla, paginada |
del_index es el índice de delegación —la posición de la tarea en el caso—, que el proceso
también ve como la variable de sistema @%INDEX. Leer una variable por delegación dice qué
tenía el caso en ese paso, no qué tiene ahora.
Actuar sobre un caso¶
Cada acción recibe el id en la ruta y el resto en el cuerpo:
reassign-case—usr_uid_source(el asignado actual) yusr_uid_targetson obligatorios; el destinatario debe estar ya en el grupo de usuarios de la tarea.del_indexes opcional y por defecto toma la tarea abierta más reciente.pause—unpaused_dateenYYYY-MM-DDoYYYY-MM-DD HH:MM:SS; una cadena vacía pausa el caso indefinidamente.unpause—unpaused_dateopcional; vacío o ausente reanuda de inmediato.route-case—del_indexopcional, por defecto la tarea abierta más alta.executeTriggersBeforeAssignmentexiste pero no se recomienda: puede meter el caso en un bucle.execute-trigger— eltri_uiddel desencadenador; se ejecuta aunque no esté adjunto al proceso del caso.cancelydelete— soloapp_uid.
Un fallo responde con un objeto de error, no con un estado desnudo:
{"error": {"code": 400,
"message": "Bad Request: This case delegation is already closed or does not exist"}}
| Ruta | Efecto |
|---|---|
PUT /:appUid/claim |
Asigna al llamador un caso sin asignar |
PUT /:appUid/:usrUid/assign |
Lo asigna a otro usuario |
PUT /:appUid/reassign-case |
Lo reasigna |
POST /reassign |
Reasigna en lote |
PUT /:appUid/pause · /unpause |
Pausa y reanuda |
PUT /:appUid/cancel |
Cancela |
DELETE /:appUid |
Elimina |
PUT /:appUid/route-case |
Mueve a la tarea siguiente |
PUT /:appUid/execute-trigger/:tri_uid |
Ejecuta un desencadenador |
PUT /:appUid/execute-triggers |
Ejecuta varios |
Cuidado con el enrutamiento: route-case mueve el caso a la tarea siguiente sin
enviar un formulario. Cuando el paso tiene un DynaForm, la llamada que guarda el
formulario y mueve el caso juntos es case-derivate de la API del espacio de trabajo.
Iniciar casos¶
| Ruta | Devuelve |
|---|---|
GET /start-cases |
Las tareas que puede iniciar el llamador |
GET /bookmark-start-cases |
Las que marcó |
POST /bookmark/:tas_uid · DELETE /bookmark/:tas_uid |
Agrega o quita un marcador |
POST / |
Inicia un caso |
POST /impersonate |
Lo inicia como otro usuario |
POST /cases recibe la tarea, el usuario y las variables iniciales; la respuesta trae el
APP_UID nuevo.
Quién puede iniciar un proceso¶
Dos recursos responden eso sin iniciar nada:
| Ruta | Devuelve |
|---|---|
GET /project/:prj_uid/process-permissions |
Las reglas de permiso del proceso |
GET /project/:prj_uid/users |
Los usuarios relacionados con el proceso |
GET /project/:prj_uid/user/:usr_uid/starting-tasks |
Las tareas que ese usuario puede iniciar |
La última es la verificación práctica: una lista vacía significa que el usuario no puede iniciar nada en el proceso, diga lo que diga el diagrama.
Relacionado¶
- API REST clásica — URL base y autenticación.
- Referencia de endpoints — todas las rutas documentadas.
- Casos en la API del espacio de trabajo — la superficie más nueva.