Cases¶
The home/ routes are the case workspace: reading a case, its documents, its notes and
its messages, and the actions that move it forward. These are the endpoints an
integration needs.
All of them are POST with a JSON body. The case is identified by app_uid, and most
also need del_index — the position of the task in the case, which the case list
provides.
Starting a case¶
This API has no separate "create case" route. Starting a case is favorites/launch:
POST /favorites/launch {"pro_uid": "…", "tas_uid": "…"}
It checks that the user may start that process at that task, creates the case and returns it:
{"success": true, "case": {"APPLICATION": "…", "INDEX": 1, "PROCESS": "…", "TASK": "…"}}
APPLICATION is the app_uid the rest of this page needs, and INDEX is the
del_index. If the user cannot start it, the call answers success: false with a
reason: process_not_found, process_inactive, task_not_found, task_not_start or
user_not_assigned. The process must also be active, and the task must be a start task
assigned to the user.
The route is named after favorites because that is the screen that uses it, but it does not need a favorite: any process and start task the user is allowed to start will do.
Reading a case¶
| Route | Fields | Returns |
|---|---|---|
home/case-context |
app_uid, del_index, tas_uid, action |
The case, its task and the data the workspace needs to render it |
home/case-history |
app_uid |
The steps the case went through |
home/case-change-log |
app_uid, pro_uid, tas_uid |
The variables each step changed |
home/case-dynaforms |
app_uid |
The forms of the case |
home/case-actions |
app_uid, del_index, action |
Which actions are allowed on the case |
home/case-derivation |
app_uid, del_index, tas_uid, app_number |
The routes available to move the case on |
case-context is the entry point: it is what the case screen calls first, and the
action value (todo, for example) says from which list the case was opened.
Documents¶
| Route | Fields | Returns |
|---|---|---|
home/case-input-documents/info |
inp_doc_uid |
The definition: title, allowed extensions, maximum size |
home/case-input-documents/upload |
app_uid, del_index, inp_doc_uid, comments |
Uploads one or more files |
home/case-documents/uploaded |
app_uid, del_index, tas_uid |
The files the case provides |
home/case-documents/generated |
app_uid, del_index, tas_uid |
The files the process generated |
home/case-documents/download |
app_doc_uid, doc_version, ext |
The file, with its version |
home/case-messages/attachment |
app_msg_uid, app_uid, index |
The file attached to an email |
The upload is a multipart request, not JSON: send the files in files (one file or
an array), and comments as an array with one comment per file. Without a file the call
answers 400 with No files received.
Notes¶
| Route | Fields |
|---|---|
home/case-notes |
app_uid, del_index, pro_uid, tas_uid |
home/case-notes/create |
app_uid, del_index, pro_uid, tas_uid, note, send_mail |
home/case-notes/users |
usr_uid |
The note text is the body of the message, and send_mail decides whether the people
mentioned receive it by email. Listing the users is what fills the mention picker.
Messages¶
| Route | Fields |
|---|---|
home/case-messages |
app_uid |
home/case-messages/resend |
app_uid, app_msg_uid |
Resending sends the same message again to the same recipients; the case keeps the original and the copy is recorded in the message history.
Acting on a case¶
| Route | Fields | Effect |
|---|---|---|
home/case-claim |
app_uid, del_index |
Assigns an unassigned case to the caller |
home/case-pause |
app_uid, del_index, reason, unpause_date, notify |
Pauses the case |
home/case-unpause |
app_uid, del_index |
Resumes it |
home/case-cancel |
app_uid, del_index, reason, notify |
Cancels it |
home/case-delete |
app_uid |
Removes the case from the lists |
home/case-reassign-users |
app_uid, tas_uid, search, limit |
The users the case can be given to |
home/case-reassign |
app_uid, usr_uid_target, reason, notify |
Gives it to another user |
Pause, cancel and reassign accept a reason and a notify flag. With notify on, the
people affected receive the message the process defines; that message appears in the
case's message history.
case-delete is not the same as cancel: a cancelled case stays in the lists with its
state, a deleted one is gone.
Deriving a case¶
POST /home/case-derivate
| Field | Meaning |
|---|---|
app_uid |
The case |
del_index |
The current task |
tas_uid |
The task the case is on |
form |
The submitted form data. When it is empty, the route reads ROU_TYPE and TASKS from the top level instead |
The call runs the step triggers, stores the form values and moves the case.
case-derivation before it is what tells you which tasks the case can move to; it is
what the derivation window uses to build the route picker.
User cards¶
| Route | Fields | Returns |
|---|---|---|
home/user-card |
usr_uid |
The name, photo and contact of a user |
home/user-name-format |
— (GET also works) |
How names are formatted in this workspace |
These two do not need a case: they are how a screen shows "who" without loading the whole user record.
Related¶
- API concepts — base URL and authentication.
- Case actions — the same actions in the interface.
- Derivation — what a derivation does to the case.
- Uploading documents — the upload flow.