---
updatedAt: 2026-01-28T09:44:53.000Z
---

Fetch the complete documentation index at: https://developer.connecteam.com/llms.txt. Use this file to discover all available pages before exploring further.

# Update job

Update an existing job or sub-job by its unique ID.

`PUT /jobs/v1/jobs/{jobId}`

## Restrictions

> 🚧 Important
>
> You **cannot** update a parent job that has sub-jobs. Update the sub-jobs individually instead.

* Cannot change a sub-job's parent (`parentId` cannot 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

```json
{
  "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

```json
{
  "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)

```json
{
  "parentId": "19cc77e2-0aab-4578-a79c-0d8160671a34",
  "title": "Updated Sub-Job Title",
  "code": "SUB-UPD",
  "useParentData": true
}
```

### Request (with custom settings)

```json
{
  "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          |

[Update Job API reference](https://developer.connecteam.com/reference/update_job_jobs_v1_jobs__job_id__put)