Create an object definition
curl --request POST \
--url https://app.nex.ai/api/developers/v1/objects \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Project",
"name_plural": "Projects",
"slug": "project",
"description": "Project tracker",
"type": "custom"
}
'import requests
url = "https://app.nex.ai/api/developers/v1/objects"
payload = {
"name": "Project",
"name_plural": "Projects",
"slug": "project",
"description": "Project tracker",
"type": "custom"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Project',
name_plural: 'Projects',
slug: 'project',
description: 'Project tracker',
type: 'custom'
})
};
fetch('https://app.nex.ai/api/developers/v1/objects', 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"
payload := strings.NewReader("{\n \"name\": \"Project\",\n \"name_plural\": \"Projects\",\n \"slug\": \"project\",\n \"description\": \"Project tracker\",\n \"type\": \"custom\"\n}")
req, _ := http.NewRequest("POST", 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))
}{
"attributes": [
{
"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>"
}
],
"created_at": "<string>",
"description": "<string>",
"id": "<string>",
"name": "<string>",
"name_plural": "<string>",
"slug": "<string>",
"type": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}{
"code": 123,
"message": "<string>"
}Schema
Create an object definition
Creates a new object definition (entity type) in the workspace
POST
/
v1
/
objects
Create an object definition
curl --request POST \
--url https://app.nex.ai/api/developers/v1/objects \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "Project",
"name_plural": "Projects",
"slug": "project",
"description": "Project tracker",
"type": "custom"
}
'import requests
url = "https://app.nex.ai/api/developers/v1/objects"
payload = {
"name": "Project",
"name_plural": "Projects",
"slug": "project",
"description": "Project tracker",
"type": "custom"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: 'Project',
name_plural: 'Projects',
slug: 'project',
description: 'Project tracker',
type: 'custom'
})
};
fetch('https://app.nex.ai/api/developers/v1/objects', 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"
payload := strings.NewReader("{\n \"name\": \"Project\",\n \"name_plural\": \"Projects\",\n \"slug\": \"project\",\n \"description\": \"Project tracker\",\n \"type\": \"custom\"\n}")
req, _ := http.NewRequest("POST", 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))
}{
"attributes": [
{
"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>"
}
],
"created_at": "<string>",
"description": "<string>",
"id": "<string>",
"name": "<string>",
"name_plural": "<string>",
"slug": "<string>",
"type": "<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
Object definition to create
Response
Created object definition
Hide child attributes
Hide child attributes
Hide child attributes
Hide child attributes
Last modified on February 17, 2026
⌘I