Update an attribute definition
curl --request PATCH \
--url https://app.nex.ai/api/developers/v1/objects/{slug}/attributes/{attr_id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Updated Status",
"options": {
"is_required": false,
"select_options": [
{
"id": "existing-id",
"name": "Renamed"
},
{
"name": "New Option"
}
]
}
}
'import requests
url = "https://app.nex.ai/api/developers/v1/objects/{slug}/attributes/{attr_id}"
payload = {
"name": "Updated Status",
"options": {
"is_required": False,
"select_options": [{
"id": "existing-id",
"name": "Renamed"
}, { "name": "New Option" }]
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Updated Status',
options: {
is_required: false,
select_options: [{id: 'existing-id', name: 'Renamed'}, {name: 'New Option'}]
}
})
};
fetch('https://app.nex.ai/api/developers/v1/objects/{slug}/attributes/{attr_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.nex.ai/api/developers/v1/objects/{slug}/attributes/{attr_id}"
payload := strings.NewReader("{\n \"name\": \"Updated Status\",\n \"options\": {\n \"is_required\": false,\n \"select_options\": [\n {\n \"id\": \"existing-id\",\n \"name\": \"Renamed\"\n },\n {\n \"name\": \"New Option\"\n }\n ]\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"description": "<string>",
"id": "<string>",
"name": "<string>",
"options": {
"is_multi_value": true,
"is_required": true,
"is_unique": true,
"is_whole_number": true,
"select_options": [
{
"id": "<string>",
"name": "<string>"
}
],
"use_raw_format": true
},
"slug": "<string>",
"type": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Schema
Update an attribute definition
Updates properties of an existing attribute definition
PATCH
/
v1
/
objects
/
{slug}
/
attributes
/
{attr_id}
Update an attribute definition
curl --request PATCH \
--url https://app.nex.ai/api/developers/v1/objects/{slug}/attributes/{attr_id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Updated Status",
"options": {
"is_required": false,
"select_options": [
{
"id": "existing-id",
"name": "Renamed"
},
{
"name": "New Option"
}
]
}
}
'import requests
url = "https://app.nex.ai/api/developers/v1/objects/{slug}/attributes/{attr_id}"
payload = {
"name": "Updated Status",
"options": {
"is_required": False,
"select_options": [{
"id": "existing-id",
"name": "Renamed"
}, { "name": "New Option" }]
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Updated Status',
options: {
is_required: false,
select_options: [{id: 'existing-id', name: 'Renamed'}, {name: 'New Option'}]
}
})
};
fetch('https://app.nex.ai/api/developers/v1/objects/{slug}/attributes/{attr_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.nex.ai/api/developers/v1/objects/{slug}/attributes/{attr_id}"
payload := strings.NewReader("{\n \"name\": \"Updated Status\",\n \"options\": {\n \"is_required\": false,\n \"select_options\": [\n {\n \"id\": \"existing-id\",\n \"name\": \"Renamed\"\n },\n {\n \"name\": \"New Option\"\n }\n ]\n }\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"description": "<string>",
"id": "<string>",
"name": "<string>",
"options": {
"is_multi_value": true,
"is_required": true,
"is_unique": true,
"is_whole_number": true,
"select_options": [
{
"id": "<string>",
"name": "<string>"
}
],
"use_raw_format": true
},
"slug": "<string>",
"type": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Authorizations
API key for authentication (format: "Bearer YOUR_API_KEY")
Body
application/json
Fields to update
New display name
New description
Hide child attributes
Hide child attributes
Response
Updated attribute definition
Last modified on March 26, 2026
⌘I