Update job
Update an existing job or sub-job by its unique ID.
PUT /jobs/v1/jobs/{jobId}
Restrictions
ImportantYou cannot update a parent job that has sub-jobs. Update the sub-jobs individually instead.
- Cannot change a sub-job's parent (
parentIdcannot be modified) - Title must be unique
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| jobId | string | Yes | The unique identifier of the job or sub-job |
Request Body (Parent Job)
| Field | Type | Required | Description |
|---|---|---|---|
| title | string | Yes | Job title (max 128 characters) |
| code | string | No | Job code identifier |
| description | string | No | Job description |
| color | string | No | Hex color code |
| gps | object | No | Location data |
| assign | object | Yes | Assignment settings |
| instanceIds | array | No | Update assigned scheduler/time clock IDs |
| customFields | array | No | Custom field values |
Request Body (Sub-Job)
| Field | Type | Required | Description |
|---|---|---|---|
| parentId | string | Yes | ID of the parent job (cannot be changed) |
| title | string | Yes | Sub-job title |
| code | string | No | Sub-job code |
| useParentData | boolean | Yes | Whether to inherit from parent |
| description | string | Conditional | Required if useParentData is false |
| gps | object | Conditional | Required if useParentData is false |
| assign | object | Conditional | Required if useParentData is false |
| customFields | array | No | Custom field values |
Example: Update Parent Job
Request
{
"title": "Updated Job Title",
"code": "UPD-001",
"description": "Updated description",
"color": "#3968BB",
"gps": {
"address": "456 New Address, City",
"longitude": -77.12,
"latitude": 38.98
},
"assign": {
"type": "both",
"userIds": [],
"groupIds": [1123124, 1234456]
}
}Response
{
"requestId": "abc123-def456",
"data": {
"job": {
"jobId": "9fdebf1f-0c69-4914-89d2-8f86c3e5f47d",
"title": "Updated Job Title",
"code": "UPD-001",
"color": "#3968BB",
"description": "Updated description",
"gps": {
"address": "456 New Address, City",
"longitude": -77.12,
"latitude": 38.98
},
"isDeleted": false,
"assign": {
"type": "both",
"userIds": [],
"groupIds": ["1123124", "1234456"]
},
"useParentData": false,
"parentId": null,
"subJobs": [],
"instanceIds": [6833518],
"customFields": []
}
}
}Example: Update Sub-Job
When updating a sub-job, you must include the parentId and useParentData fields.
Request (inheriting from parent)
{
"parentId": "19cc77e2-0aab-4578-a79c-0d8160671a34",
"title": "Updated Sub-Job Title",
"code": "SUB-UPD",
"useParentData": true
}Request (with custom settings)
{
"parentId": "19cc77e2-0aab-4578-a79c-0d8160671a34",
"title": "Updated Sub-Job Title",
"code": "SUB-UPD",
"useParentData": false,
"description": "Custom description for sub-job",
"assign": {
"type": "both",
"userIds": [7031021],
"groupIds": []
}
}Error Responses
| Status | Error | Description |
|---|---|---|
| 400 | This API does not support updating a job with sub-jobs | Update sub-jobs individually |
| 400 | Cannot update sub-job parent | parentId cannot be changed |
| 400 | Invalid instance ids | instanceIds don't exist |
| 400 | Job name already exists | Title must be unique |
| 400 | assign must be defined when use_parent_data is false | Missing required field |
| 404 | Job not found | jobId doesn't exist |
Updated 19 days ago
What’s Next
