Skip to content

Reference

Processes

Save a checklist definition for a record type. A process is not an automation.

A process is a checklist a record can move through. It is not an automation. Sending an automation tree here is rejected.

MethodPathWhat it does
GET/api/v1/x/processesDefinitions. Optional entityType is a catalog key
GET/api/v1/x/processes/{id}One definition
POST/api/v1/x/processesCreate
PUT/api/v1/x/processes/{id}Replace

The firm on the token is the only firm. A body tenantId is rejected.

Create and update need name, entityType, and stages. description and startStageId are optional. entityType is a catalog key such as Company. company is 400 unknown_entity.

stages is an array. Each stage has id, name, type, and config. type is Approval, FieldRequired, FieldValue, Branch, External, DocumentRequired, SwitchProcess, or End. nextStageId points at the next stage’s id. startStageId is one of those ids. A stage with no nextStageId ends the checklist.

A stage id can be any non-empty text, such as s-name. Capsure stores a guid and rewrites startStageId and every nextStageId to that guid. A get returns the stored guids. An id that is already a guid is kept. startStageId or nextStageId that does not match a stage is 400 invalid_field.

stagesJson, a string of that same array, is still accepted. If both are sent and they differ, the call is 400 invalid_field. A get returns stages as the array and stagesJson as the stored string.

This checklist requires a company name, then ends:

{
"name": "Company intake",
"entityType": "Company",
"startStageId": "s-name",
"stages": [
{
"id": "s-name",
"name": "Name is set",
"type": "FieldRequired",
"config": { "fields": ["name"] },
"nextStageId": "s-end"
},
{ "id": "s-end", "name": "Done", "type": "End", "config": {} }
]
}

isActive on update defaults to true. Send false to turn the definition off. There is no separate publish route.