# Work Management API



<EndpointIndex
  names={[
  	'getTask',
  	'addTask',
  	'updateTask',
  	'activateTask',
  	'assignTask',
  	'unassignTask',
  	'cancelTask',
  	'completeTask',
  	'fetchTasksWithNumber',
  	'generateTaskNumber',
  	'listTasks',
  	'listAllTasks',
  	'listAssignedTasks',
  	'listTaskHistory',
  	'searchTasks',
  	'setTaskNumber',
  	'getUserAssociation',
  	'makeUserAssociation',
  	'completeUserAssociation',
  	'uncompleteUserAssociation',
  	'disassociateUserAssociation',
  	'listUserAssociationHistory',
  	'listUserUserAssociationsHistory',
  	'getQualifications',
  	'fetchUsersQualifications',
  	'getUserQualifications',
  	'updateUserQualifications',
  	'createWorkgroup',
  	'getWorkgroup',
  	'listWorkgroups',
  	'patchWorkgroup',
  	'discardWorkgroup',
  	'autoAssign',
  	'createWorkplan',
  	'getWorkplan',
  	'listWorkplans',
  	'patchWorkplan',
  	'discardWorkplan',
  ]}
  titles={{
  	fetchUsersQualifications: 'Fetch Users for a Qualification',
  	autoAssign: 'Auto-Assign',
  }}
/>

Tasks [#tasks]

Get Task [#get-task]

<ApiEndpoint name="getTask" />

<ApiSchema name="Task" />

Add Task [#add-task]

<ApiEndpoint name="addTask" />

<ApiSchema name="TaskCreateRequest" />

<ApiSchema name="TaskCreationResponse" />

Update Task [#update-task]

<ApiEndpoint name="updateTask" />

<ApiSchema name="TaskUpdateRequest" />

Activate Task [#activate-task]

<ApiEndpoint name="activateTask" />

Assign Task [#assign-task]

<ApiEndpoint name="assignTask" />

Unassign Task [#unassign-task]

<ApiEndpoint name="unassignTask" />

Cancel Task [#cancel-task]

<ApiEndpoint name="cancelTask" />

Complete Task [#complete-task]

<ApiEndpoint name="completeTask" />

Fetch Tasks With Number [#fetch-tasks-with-number]

<ApiEndpoint name="fetchTasksWithNumber" />

Generate Task Number [#generate-task-number]

<ApiEndpoint name="generateTaskNumber" />

List Tasks [#list-tasks]

<ApiEndpoint name="listTasks" />

List All Tasks [#list-all-tasks]

<ApiEndpoint name="listAllTasks" />

List Assigned Tasks [#list-assigned-tasks]

<ApiEndpoint name="listAssignedTasks" />

<ApiSchema name="ListPageResponseTask" />

List Task History [#list-task-history]

<ApiEndpoint name="listTaskHistory" />

Search Tasks [#search-tasks]

<ApiEndpoint name="searchTasks" />

Set Task Number [#set-task-number]

<ApiEndpoint name="setTaskNumber" />

<ApiSchema name="TaskReference" />

User Associations [#user-associations]

Get User Association [#get-user-association]

<ApiEndpoint name="getUserAssociation" />

<ApiSchema name="UserAssociation" />

Make User Association [#make-user-association]

<ApiEndpoint name="makeUserAssociation" />

<ApiSchema name="UserAssociationCreateRequest" />

Complete User Association [#complete-user-association]

<ApiEndpoint name="completeUserAssociation" />

Uncomplete User Association [#uncomplete-user-association]

<ApiEndpoint name="uncompleteUserAssociation" />

Disassociate User Association [#disassociate-user-association]

<ApiEndpoint name="disassociateUserAssociation" />

List User Association History [#list-user-association-history]

<ApiEndpoint name="listUserAssociationHistory" />

<ApiSchema name="ListPageResponseUserAssociation" />

List User User Associations History [#list-user-user-associations-history]

<ApiEndpoint name="listUserUserAssociationsHistory" />

User Qualifications [#user-qualifications]

Get Qualifications [#get-qualifications]

<ApiEndpoint name="getQualifications" />

Fetch Users for a Qualification [#fetch-users-for-a-qualification]

<ApiEndpoint name="fetchUsersQualifications" title="Fetch Users for a Qualification" />

<ApiSchema name="UserQualification" />

Get User Qualifications [#get-user-qualifications]

<ApiEndpoint name="getUserQualifications" />

Update User Qualifications [#update-user-qualifications]

<ApiEndpoint name="updateUserQualifications" />

<ApiSchema name="QualificationsUpdateRequest" />

Workgroups [#workgroups]

Create Workgroup [#create-workgroup]

<ApiEndpoint name="createWorkgroup" />

Get Workgroup [#get-workgroup]

<ApiEndpoint name="getWorkgroup" />

List Workgroups [#list-workgroups]

<ApiEndpoint name="listWorkgroups" />

Patch Workgroup [#patch-workgroup]

<ApiEndpoint name="patchWorkgroup" />

Discard Workgroup [#discard-workgroup]

<ApiEndpoint name="discardWorkgroup" />

Auto-Assign [#auto-assign]

<ApiEndpoint name="autoAssign" title="Auto-Assign" />

<ApiSchema name="WorkgroupCreateRequest" />

<ApiSchema name="WorkgroupResponse" />

<ApiSchema name="ListPageResponseWorkgroupResponse" />

<ApiSchema name="WorkgroupPatchRequest" />

<ApiSchema name="AutoAssignmentCreateRequest" />

<ApiSchema name="AutoAssignmentResponse" />

Workplans [#workplans]

Create Workplan [#create-workplan]

<ApiEndpoint name="createWorkplan" />

Get Workplan [#get-workplan]

<ApiEndpoint name="getWorkplan" />

List Workplans [#list-workplans]

<ApiEndpoint name="listWorkplans" />

Patch Workplan [#patch-workplan]

<ApiEndpoint name="patchWorkplan" />

Discard Workplan [#discard-workplan]

<ApiEndpoint name="discardWorkplan" />

<ApiSchema name="WorkplanCreateRequest" />

<ApiSchema name="Workplan" />

<ApiSchema name="WorkplanItem" />

<ApiSchema name="ListPageResponseWorkplan" />

<ApiSchema name="WorkplanPatchRequest" />

<ApiSchema name="WorkplanItemRequest" />


## API Reference

GET /work-management/{tenantLocator}/tasks/{locator} — getTask
Tags: tasks-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

POST /work-management/{tenantLocator}/tasks — addTask
Tags: tasks-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
Request body (TaskCreateRequest):
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/tasks/{locator} — updateTask
Tags: tasks-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (TaskUpdateRequest):
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/tasks/{locator}/activate — activateTask
Tags: tasks-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/tasks/{locator}/assign/{userLocator} — assignTask
Tags: tasks-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  userLocator (uuid, path, required)
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/tasks/{locator}/unassign — unassignTask
Tags: tasks-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/tasks/{locator}/cancel — cancelTask
Tags: tasks-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/tasks/{locator}/complete — completeTask
Tags: tasks-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/tasks/numbers/{taskNumber} — fetchTasksWithNumber
Tags: tasks-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  taskNumber (string, path, required)
Responses:
  200 — OK

POST /work-management/{tenantLocator}/tasks/{locator}/number/generate — generateTaskNumber
Tags: tasks-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/tasks/list — listTasks
Tags: tasks-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/tasks/all/list — listAllTasks
Tags: tasks-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/tasks/user/{userLocator}/list — listAssignedTasks
Tags: tasks-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  userLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/tasks/{locator}/history/list — listTaskHistory
Tags: tasks-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/tasks/{referenceType}/{referenceLocator}/list — searchTasks
Tags: tasks-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  referenceType (Enum account | quickQuote | quote | policy | transaction | invoice | underwritingFlag | payment | quoteGroup | inquiry, path, required)
  referenceLocator (ulid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

POST /work-management/{tenantLocator}/tasks/{locator}/number/set — setTaskNumber
Tags: tasks-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  taskNumber (string, query, required)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/userAssociations/{locator} — getUserAssociation
Tags: user-associations-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

POST /work-management/{tenantLocator}/userAssociations — makeUserAssociation
Tags: user-associations-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
Request body (UserAssociationCreateRequest):
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/userAssociations/{userAssociationLocator}/complete — completeUserAssociation
Tags: user-associations-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  userAssociationLocator (ulid, path, required)
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/userAssociations/{userAssociationLocator}/uncomplete — uncompleteUserAssociation
Tags: user-associations-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  userAssociationLocator (ulid, path, required)
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/userAssociations/{userAssociationLocator}/disassociate — disassociateUserAssociation
Tags: user-associations-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  userAssociationLocator (ulid, path, required)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/userAssociations/{locator}/history/list — listUserAssociationHistory
Tags: user-associations-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/userAssociations/user/{userLocator}/history/list — listUserUserAssociationsHistory
Tags: user-associations-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  userLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/qualifications — getQualifications
Tags: qualifications-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/qualifications/{category}/{level} — fetchUsersQualifications
Tags: qualifications-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  category (string, path, required)
  level (string, path, required)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/qualifications/{userLocator} — getUserQualifications
Tags: qualifications-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  userLocator (uuid, path, required)
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/qualifications/{userLocator} — updateUserQualifications
Tags: qualifications-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  userLocator (uuid, path, required)
Request body (QualificationsUpdateRequest):
Responses:
  200 — OK

POST /work-management/{tenantLocator}/workgroups — createWorkgroup
Tags: workgroups-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
Request body (WorkgroupCreateRequest):
Responses:
  200 — OK

GET /work-management/{tenantLocator}/workgroups/{workgroupLocator} — getWorkgroup
Tags: workgroups-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  workgroupLocator (ulid, path, required)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/workgroups/list — listWorkgroups
Tags: workgroups-controller
Permissions: read, list
Parameters:
  tenantLocator (uuid, path, required)
  user (uuid, query)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/workgroups/{workgroupLocator} — patchWorkgroup
Tags: workgroups-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  workgroupLocator (ulid, path, required)
Request body (WorkgroupPatchRequest):
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/workgroups/{workgroupLocator}/discard — discardWorkgroup
Tags: workgroups-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  workgroupLocator (ulid, path, required)
Responses:
  200 — OK

POST /work-management/{tenantLocator}/assignments — autoAssign
Tags: auto-assignments-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
Request body (AutoAssignmentCreateRequest):
Responses:
  200 — OK

POST /work-management/{tenantLocator}/workplans — createWorkplan
Tags: workplans-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
Request body (WorkplanCreateRequest):
Responses:
  200 — OK

GET /work-management/{tenantLocator}/workplans/{locator} — getWorkplan
Tags: workplans-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

GET /work-management/{tenantLocator}/workplans/list — listWorkplans
Tags: workplans-controller
Permissions: read
Parameters:
  tenantLocator (uuid, path, required)
  offset (integer, query)
  count (integer, query)
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/workplans/{locator} — patchWorkplan
Tags: workplans-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Request body (WorkplanPatchRequest):
Responses:
  200 — OK

PATCH /work-management/{tenantLocator}/workplans/{locator}/discard — discardWorkplan
Tags: workplans-controller
Permissions: write
Parameters:
  tenantLocator (uuid, path, required)
  locator (ulid, path, required)
Responses:
  200 — OK

Task
Properties:
  locator (ulid, required)
  category (string, required)
  type (string, required)
  taskState (Enum active | pastDeadline | completed | cancelled, required)
  references (TaskReference[], required)
  underwritingFlagLocators (ulid[], required)
  deadlineTime (datetime)
  assignedTo (uuid)
  createdBy (uuid, required)
  createdAt (datetime, required)
  updatedBy (uuid)
  updatedAt (datetime)
  description (string)
  taskNumber (string)
  completedAt (datetime)
  completedBy (uuid)
  source (string)
  tag (string)

TaskCreateRequest
Properties:
  type (string, required)
  deadlineTime (datetime)
  references (TaskReference[], required)
  underwritingFlagLocators (ulid[], required)
  assignedTo (uuid)
  description (string)
  source (string)
  tag (string)

TaskCreationResponse
Properties:
  taskLocator (ulid, required)
  status (Enum succeeded | failed, required)

TaskUpdateRequest
Properties:
  deadlineTime (datetime)
  addReferences (TaskReference[], required)
  removeReferences (TaskReference[], required)
  addUnderwritingFlags (ulid[], required)
  removeUnderwritingFlags (ulid[], required)
  description (string)
  source (string)
  tag (string)

ListPageResponseTask
Properties:
  listCompleted (boolean, required)
  items (Task[], required)

TaskReference
Properties:
  referenceType (Enum account | quickQuote | quote | policy | transaction | invoice | underwritingFlag | payment | quoteGroup | inquiry, required)
  referenceLocator (ulid, required)

UserAssociation
Properties:
  locator (ulid, required)
  userLocator (uuid, required)
  userAssociationRole (string, required)
  referenceType (Enum account | quickQuote | quote | policy | transaction | invoice | underwritingFlag | payment | quoteGroup | inquiry, required)
  referenceLocator (ulid, required)
  userAssociationState (Enum active | completed | disassociated | discarded, required)
  createdBy (uuid, required)
  createdAt (datetime, required)
  updatedBy (uuid)
  updatedAt (datetime)

UserAssociationCreateRequest
Properties:
  userLocator (uuid, required)
  userAssociationRole (string, required)
  referenceType (Enum account | quickQuote | quote | policy | transaction | invoice | underwritingFlag | payment | quoteGroup | inquiry, required)
  referenceLocator (ulid, required)

ListPageResponseUserAssociation
Properties:
  listCompleted (boolean, required)
  items (UserAssociation[], required)

UserQualification
Properties:
  userLocator (uuid, required)
  category (string, required)
  level (string, required)

QualificationsUpdateRequest
Properties:
  removeQualifications (map<string, string>, required)
  addQualifications (map<string, string>, required)

WorkgroupCreateRequest
Properties:
  name (string, required)
  subgroups (ulid[], required)
  users (uuid[], required)
  parentLocator (ulid)
  region (string)
  tag (string)

WorkgroupResponse
Properties:
  locator (ulid, required)
  name (string, required)
  workgroupState (Enum active | discarded, required)
  subgroups (WorkgroupResponse[], required)
  users (uuid[], required)
  entities (ulid[], required)
  tasks (ulid[], required)
  parent (ulid)
  region (string)
  tag (string)
  createdBy (uuid, required)
  createdAt (datetime, required)

ListPageResponseWorkgroupResponse
Properties:
  listCompleted (boolean, required)
  items (WorkgroupResponse[], required)

WorkgroupPatchRequest
Properties:
  name (string)
  setSubgroups (ulid[], required)
  removeSubgroups (ulid[], required)
  setUsers (uuid[], required)
  removeUsers (uuid[], required)
  parentLocator (ulid)
  region (string)
  tag (string)
  empty (boolean, required)

AutoAssignmentCreateRequest
Properties:
  taskLocator (ulid)
  task (TaskCreateRequest)
  referenceType (Enum account | quickQuote | quote | policy | transaction | invoice | underwritingFlag | payment | quoteGroup | inquiry, required)
  referenceLocator (ulid, required)
  associationRole (string)
  workgroupLocator (ulid)
  traversal (Enum depthFirst | breadthFirst | none)
  assignToGroup (Enum never | ifNotAssigned | always)

AutoAssignmentResponse
Properties:
  taskLocator (ulid, required)
  assignedUserLocator (uuid, required)
  assignedWorkgroupLocator (ulid, required)
  associationLocator (ulid, required)

WorkplanCreateRequest
Properties:
  name (string, required)
  items (WorkplanItemRequest[], required)
  defaultGroup (string)

Workplan
Properties:
  locator (ulid, required)
  name (string, required)
  workplanState (Enum active | discarded, required)
  items (WorkplanItem[], required)
  defaultGroup (string)
  createdBy (uuid, required)
  createdAt (datetime, required)

WorkplanItem
Properties:
  locator (ulid, required)
  associationRole (string)
  task (TaskCreateRequest)
  defaultGroup (string)
  referenceType (Enum account | quickQuote | quote | policy | transaction | invoice | underwritingFlag | payment | quoteGroup | inquiry, required)
  referenceLocator (ulid, required)
  traversal (Enum depthFirst | breadthFirst | none, required)
  assignToGroup (Enum never | ifNotAssigned | always, required)

ListPageResponseWorkplan
Properties:
  listCompleted (boolean, required)
  items (Workplan[], required)

WorkplanPatchRequest
Properties:
  name (string)
  addItems (WorkplanItemRequest[], required)
  removeItems (ulid[], required)
  defaultGroup (string)

WorkplanItemRequest
Properties:
  associationRole (string, required)
  task (TaskCreateRequest)
  defaultGroup (string, required)
  referenceType (Enum account | quickQuote | quote | policy | transaction | invoice | underwritingFlag | payment | quoteGroup | inquiry, required)
  referenceLocator (ulid, required)
  traversal (Enum depthFirst | breadthFirst | none, required)
  assignToGroup (Enum never | ifNotAssigned | always, required)