# Update job level

Call this interface to update the information of the specified job level.

## Request

Facts | &nbsp;
---|---
HTTP URL | https://open.feishu.cn/open-apis/contact/v3/job_levels/:job_level_id
HTTP Method | PUT
Rate Limit | [10 per second](https://open.feishu.cn/document/ukTMukTMukTM/uUzN04SN3QjL1cDN)
Supported app types | Custom App
Required scopes<br>**To use this API, you must have at least 1 of the listed scopes.**<br>Enable any scope from the list | Update Contacts(contact:contact)<br>Create, update, and delete job level(contact:job_level)

### Request header

Parameter | Type | Required | Description
---|---|---|---
Authorization | string | Yes | `tenant_access_token`<br>**Value format**: "Bearer `access_token`"<br>**Example value**: "Bearer t-7f1bcd13fc57d46bac21793a18e560"<br>[How to choose and get access token](https://open.feishu.cn/document/uAjLw4CM/ugTN1YjL4UTN24CO1UjN/trouble-shooting/how-to-choose-which-type-of-token-to-use)
Content-Type | string | Yes | **Fixed value**: "application/json; charset=utf-8"

### Path parameters

Parameter | Type | Description
---|---|---
job_level_id | string | Job level ID. How to obtain it:<br>- When creating a job level, you can obtain the job level ID from the returned result.<br>- Call the [Get tenant job level list](https://open.feishu.cn/document/uAjLw4CM/ukTMukTMukTM/reference/contact-v3/job_level/list) interface to find the ID information of the specified job level.<br>**Example value**: "mga5oa8ayjlp9rb"

### Request body

Parameter | Type | Required | Description
---|---|---|---
name | string | No | The generic name of the job level, if no multilingual name is set, this name will be displayed by default.<br>**Default value**: empty, meaning no update.<br>**Example value**: "senior expert"<br>**Data validation rules**:<br>- Length range: `1` ～ `255` characters
description | string | No | The general description of the job level, if the multilingual description is not set, this description will be displayed by default.<br>**Default value**: empty, indicating no update.<br>**Example value**: "Personnel with intermediate and senior titles in the company and certain professional and technical capabilities"
order | int | No | Job level order. Sort in ascending order.<br>**Default value**: empty, indicating no update.<br>**Example value**: 200<br>**Data validation rules**:<br>- Value range: `100` ～ `100000`
status | boolean | No | Whether to enable this job level.<br>**Optional values**:<br>- true<br>- false<br>**Default value**: Empty, indicating no update.<br>**Example value**: true
i18n_name | i18n_content\[\] | No | Multilingual name
locale | string | No | Language version. For example:<br>- zh_cn: Chinese<br>- en_us: English<br>- ja_jp: Japanese<br>**Default value**: Empty, meaning no update.<br>**Example value**: "en_us"
value | string | No | The job level name corresponding to the language version.<br>**Default value**: empty, indicating no update.<br>**Example value**: "multilingual content"
i18n_description | i18n_content\[\] | No | Multilingual description
locale | string | No | Language version. For example:<br>- zh_cn: Chinese<br>- en_us: English<br>- ja_jp: Japanese<br>**Default value**: Empty, meaning no update.<br>**Example value**: "en_us"
value | string | No | The job level description corresponding to the language version.<br>**Example value**: "multilingual content"

### Request body example
```json
{
    "name": "senior expert",
    "description": "Personnel with intermediate and senior titles in the company and certain professional and technical capabilities",
    "order": 200,
    "status": true,
    "i18n_name": [
        {
            "locale": "en_us",
            "value": "multilingual content"
        }
    ],
    "i18n_description": [
        {
            "locale": "en_us",
            "value": "multilingual content"
        }
    ]
}
```

## Response

### Response body

Parameter | Type | Description
---|---|---
code | int | Error codes, fail if not zero
msg | string | Error descriptions
data | \- | \-
job_level | job_level | Job level information
name | string | Job level name
description | string | Job level description
order | int | Job level order, sort in ascending order.
status | boolean | Whether to enable this job level.<br>**Possible values**:<br>- true<br>- false
job_level_id | string | Job level ID, you can use this ID to delete, update, and query the job level later.
i18n_name | i18n_content\[\] | Multilingual name
locale | string | Language version
value | string | The job level name corresponding to the language version.
i18n_description | i18n_content\[\] | Multilingual description
locale | string | Language version
value | string | The job level description corresponding to the language version.

### Response body example
```json
{
    "code": 0,
    "msg": "success",
    "data": {
        "job_level": {
            "name": "senior expert",
            "description": "Personnel with intermediate and senior titles in the company and certain professional and technical capabilities",
            "order": 200,
            "status": true,
            "job_level_id": "mga5oa8ayjlp9rb",
            "i18n_name": [
                {
                    "locale": "en_us",
                    "value": "multilingual content"
                }
            ],
            "i18n_description": [
                {
                    "locale": "en_us",
                    "value": "multilingual content"
                }
            ]
        }
    }
}
```

### Error code

HTTP status code | Error code | Description | Troubleshooting suggestions
---|---|---|---
400 | 42302 | job level tenant lock failed | update job level lock error, wait some seconds and retry.
400 | 42303 | job level name not valid | job level name not valid. The name length limit set during the request is 1 to 255 characters.
400 | 42305 | job level name duplicate | job level name duplicate. Please adjust the name value and try again.
400 | 42306 | job level order duplicate | job level order duplicate. Please adjust the order value and try again.
400 | 42304 | job level description not valid | The description is invalid. The description limit is 5,000 characters.
400 | 42307 | job level external id duplicate | The job level ID is repeated due to system reasons. Please try again.
404 | 42301 | job level does not exist | job level not exist. Please make sure the entered job level ID is correct and try again.
400 | 42308 | job level invalid order | invalid job level order. The job level order value range is 100 ~ 100000.

For more error code information, see [General error codes](https://open.feishu.cn/document/ukTMukTMukTM/ugjM14COyUjL4ITN).

