Parallel Tickets
/api/helpdesk/processes/{processId}/parallel-tickets/{parallelTicketId}
Exposes one parallel-ticket definition below a ticket process.
Start conditions use native condition data. Clients should obtain valid condition types and field operators from editor metadata. Conditions in one list are combined with logical AND. The conditionData property is a JSON string, not an embedded JSON object.
For example, this definition starts after activity activity-review was visited and the main ticket has priority 2. The referenced activity and field key must exist in the same process; EQUALS must be listed for that field by editor metadata:
{
"id": "parallel-security",
"name": "Security review",
"startActivityId": "parallel-start",
"startCondition": [
{"type":"activityVisited",
"conditionData":"{\"itemId\":\"activity-review\",\"ignoreIfNoLongerReachable\":false}"},
{"type":"ticketHasValue",
"conditionData":"{\"referencedTicket\":null,\"ticketFieldKey\":\"priority\",\"operator\":\"EQUALS\",\"value\":\"2\"}"}
],
"deactivated": false,
"relativeLatestStart": null,
"actionOnMainTicketEnd": 42
}
GET /api/helpdesk/processes/{processId}/parallel-tickets/{parallelTicketId}
Exposes one parallel-ticket definition below a ticket process.
Start conditions use native condition data. Clients should obtain valid condition types and field operators from editor metadata. Conditions in one list are combined with logical AND. The conditionData property is a JSON string, not an embedded JSON object.
For example, this definition starts after activity activity-review was visited and the main ticket has priority 2. The referenced activity and field key must exist in the same process; EQUALS must be listed for that field by editor metadata:
{
"id": "parallel-security",
"name": "Security review",
"startActivityId": "parallel-start",
"startCondition": [
{"type":"activityVisited",
"conditionData":"{\"itemId\":\"activity-review\",\"ignoreIfNoLongerReachable\":false}"},
{"type":"ticketHasValue",
"conditionData":"{\"referencedTicket\":null,\"ticketFieldKey\":\"priority\",\"operator\":\"EQUALS\",\"value\":\"2\"}"}
],
"deactivated": false,
"relativeLatestStart": null,
"actionOnMainTicketEnd": 42
}
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
processId |
path | string |
yes | — |
parallelTicketId |
path | string |
yes | branch identifier from URL |
fields |
query | string |
no | Comma-separated readable properties to include in the JSON response. |
Response
| Status | Content Type | Schema | Description |
|---|---|---|---|
200 |
application/json |
ParallelTicketRead |
Successful response. |
Example Request
# Request
GET /api/helpdesk/processes/<processId>/parallel-tickets/<parallelTicketId> HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
# Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "4sr2xsmoedl35omst4qn2rs8j",
"name": "string",
"activities": [
{
"nextProcessToStart": "dq7yrib057lrpo4uba39dyl5o",
"followUpActivities": [
],
"ticketText": null,
"mainTicketTextInParallelMode": "NONE",
"name": "string"
}
],
"startActivityId": "bhgu1npktz1coobweefodkb0i",
"startCondition": [
{
"conditionData": "string",
"type": "string"
}
]
}
PATCH /api/helpdesk/processes/{processId}/parallel-tickets/{parallelTicketId}
Patches branch settings against the latest process snapshot.
Example:
PATCH /api/helpdesk/processes/{processId}/parallel-tickets/{parallelTicketId}
{"name":"Security review","deactivated":false,
"startCondition":[{"type":"ticketFinished",
"conditionData":"{\"itemId\":\"parallel-data\",\"ignoreIfNoLongerReachable\":true}"}]}
Parameters
| Name | Location | Type | Required | Description |
|---|---|---|---|---|
processId |
path | string |
yes | — |
parallelTicketId |
path | string |
yes | branch identifier from URL |
Request Body
| Content Type | Schema | Required | Description |
|---|---|---|---|
application/json |
ParallelTicketPatch |
yes | selected properties; null properties remain unchanged, empty condition list clears conditions |
Response
| Status | Content Type | Schema | Description |
|---|---|---|---|
200 |
application/json |
ParallelTicketRead |
refreshed parallel-ticket endpoint |
Example Request
# Request
PATCH /api/helpdesk/processes/<processId>/parallel-tickets/<parallelTicketId> HTTP/1.1
Accept: application/json
Authorization: Bearer <access-token>
Content-Type: application/json
{
"startActivityId": "7qt3z57ifowvn8ta8mtr4ktsw",
"startCondition": [
{
"conditionData": "string",
"type": "string"
}
],
"clearActionOnMainTicketEnd": true,
"actionOnMainTicketEnd": 0,
"clearRelativeLatestStart": true
}
# Response
HTTP/1.1 200 OK
Content-Type: application/json
{
"id": "4sr2xsmoedl35omst4qn2rs8j",
"name": "string",
"activities": [
{
"nextProcessToStart": "dq7yrib057lrpo4uba39dyl5o",
"followUpActivities": [
],
"ticketText": null,
"mainTicketTextInParallelMode": "NONE",
"name": "string"
}
],
"startActivityId": "bhgu1npktz1coobweefodkb0i",
"startCondition": [
{
"conditionData": "string",
"type": "string"
}
]
}
Common Error Responses
The status codes 400, 403, 404, 405, 406, 409, 413, 415, and 500 use the same ApiError JSON error format:
{
"status": 404,
"code": "route_not_found",
"message": "The requested API route does not exist.",
"details": []
}
Schemas
Request and response schemas used on this page.
ParallelTicketRead
| Property | Type | Required | Description |
|---|---|---|---|
id |
string |
no |
Parallel-ticket identifier. |
name |
string |
no |
Parallel-ticket display name. |
activities |
array<Activity> |
no |
Parallel-ticket activities. |
startActivityId |
string |
no |
Start activity identifier. |
startCondition |
array<ProcessCondition> |
no |
Conditions required before start. |
deactivated |
boolean |
no |
Whether this branch is disabled. |
relativeLatestStart |
number (int64) |
no |
Latest start offset in milliseconds, or null. |
actionOnMainTicketEnd |
integer (int32) |
no |
Action applied when main ticket ends. |
Activity
| Property | Type | Required | Description |
|---|---|---|---|
nextProcessToStart |
string |
no | — |
followUpActivities |
array<ActivityTransition> |
no | — |
ticketText |
ReaStepTextVO |
no | — |
mainTicketTextInParallelMode |
string [NONE, APPEND, PREPEND] |
no | — |
name |
string |
no | — |
allowedActions |
array<integer (int32)> |
no | — |
description |
string |
no | — |
weight |
integer (int32) |
no | — |
processTicketData |
ProcessTicketData |
no | — |
id |
string |
no | — |
type |
string [Standard, FinishProcess] |
no | — |
requiredFieldKeys |
array<string> |
no | — |
ActivityTransition
| Property | Type | Required | Description |
|---|---|---|---|
actionid |
integer (int32) |
no | — |
autoTransitionText |
ReaStepTextVO |
no | — |
conditionsForAutoTransition |
array<ProcessCondition> |
no | — |
nextActivityId |
string |
no | — |
actionLabel |
string |
no | — |
ReaStepTextVO
| Property | Type | Required | Description |
|---|---|---|---|
duplicatedContent |
array<DuplicateRange> |
no | — |
text |
string |
no | — |
htmlContent |
boolean |
no | — |
DuplicateRange
| Property | Type | Required | Description |
|---|---|---|---|
uid |
string |
no | — |
ids |
array<integer (int32)> |
no | — |
from |
integer (int32) |
no | — |
to |
integer (int32) |
no | — |
ProcessCondition
| Property | Type | Required | Description |
|---|---|---|---|
conditionData |
string |
no | — |
type |
string |
no | — |
ProcessTicketData
| Property | Type | Required | Description |
|---|---|---|---|
map |
object |
no | — |
ProcessValueReference
| Property | Type | Required | Description |
|---|---|---|---|
field |
string |
no | — |
valueString |
string |
no | — |
referenceType |
integer (int32) |
no | — |
parallelTicketId |
string |
no | — |
ApiError
| Property | Type | Required | Description |
|---|---|---|---|
status |
integer (int32) |
yes | — |
code |
string |
yes | — |
message |
string |
yes | — |
details |
array<object> |
no | — |
ParallelTicketPatch
| Property | Type | Required | Description |
|---|---|---|---|
startActivityId |
string |
no | — |
startCondition |
array<ProcessCondition> |
no | — |
clearActionOnMainTicketEnd |
boolean |
no | — |
actionOnMainTicketEnd |
integer (int32) |
no | — |
clearRelativeLatestStart |
boolean |
no | — |
name |
string |
no | — |
relativeLatestStart |
number (int64) |
no | — |
deactivated |
boolean |
no | — |