curl --request POST \
--url http://localhost:3000/api/v1/projects \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "AI Chatbot",
"description": "Customer service chatbot",
"icon": "🤖",
"color": "#3B82F6"
}'
const response = await fetch('http://localhost:3000/api/v1/projects', {
method: 'POST',
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: "AI Chatbot",
description: "Customer service chatbot",
icon: "🤖",
color: "#3B82F6"
})
});
const data = await response.json();
import requests
url = "http://localhost:3000/api/v1/projects"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"name": "AI Chatbot",
"description": "Customer service chatbot",
"icon": "🤖",
"color": "#3B82F6"
}
response = requests.post(url, headers=headers, json=payload)
data = response.json()
{
"success": true,
"message": "Project created",
"project": {
"id": "proj_123abc",
"name": "AI Chatbot",
"description": "Customer service chatbot",
"icon": "🤖",
"color": "#3B82F6",
"createdAt": "2024-01-17T10:30:00Z",
"updatedAt": "2024-01-17T10:30:00Z"
}
}
{
"success": false,
"message": "Unauthorized"
}
Projects
Create Project
Creates a new project for the authenticated user
POST
/
api
/
v1
/
projects
curl --request POST \
--url http://localhost:3000/api/v1/projects \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "AI Chatbot",
"description": "Customer service chatbot",
"icon": "🤖",
"color": "#3B82F6"
}'
const response = await fetch('http://localhost:3000/api/v1/projects', {
method: 'POST',
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: "AI Chatbot",
description: "Customer service chatbot",
icon: "🤖",
color: "#3B82F6"
})
});
const data = await response.json();
import requests
url = "http://localhost:3000/api/v1/projects"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"name": "AI Chatbot",
"description": "Customer service chatbot",
"icon": "🤖",
"color": "#3B82F6"
}
response = requests.post(url, headers=headers, json=payload)
data = response.json()
{
"success": true,
"message": "Project created",
"project": {
"id": "proj_123abc",
"name": "AI Chatbot",
"description": "Customer service chatbot",
"icon": "🤖",
"color": "#3B82F6",
"createdAt": "2024-01-17T10:30:00Z",
"updatedAt": "2024-01-17T10:30:00Z"
}
}
{
"success": false,
"message": "Unauthorized"
}
Body Parameters
string
required
Project name
string
Project description
string
Project icon (emoji or icon identifier)
string
Project color (hex code, e.g., #3B82F6)
Response
boolean
Indicates if the project was created successfully
string
Success or error message
object
The newly created project object
curl --request POST \
--url http://localhost:3000/api/v1/projects \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"name": "AI Chatbot",
"description": "Customer service chatbot",
"icon": "🤖",
"color": "#3B82F6"
}'
const response = await fetch('http://localhost:3000/api/v1/projects', {
method: 'POST',
headers: {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: "AI Chatbot",
description: "Customer service chatbot",
icon: "🤖",
color: "#3B82F6"
})
});
const data = await response.json();
import requests
url = "http://localhost:3000/api/v1/projects"
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
payload = {
"name": "AI Chatbot",
"description": "Customer service chatbot",
"icon": "🤖",
"color": "#3B82F6"
}
response = requests.post(url, headers=headers, json=payload)
data = response.json()
{
"success": true,
"message": "Project created",
"project": {
"id": "proj_123abc",
"name": "AI Chatbot",
"description": "Customer service chatbot",
"icon": "🤖",
"color": "#3B82F6",
"createdAt": "2024-01-17T10:30:00Z",
"updatedAt": "2024-01-17T10:30:00Z"
}
}
{
"success": false,
"message": "Unauthorized"
}
Notes
- Only the
namefield is required - Icons can be emojis or icon identifiers from your icon library
- Colors should be in hex format (e.g., #3B82F6)
- The project is automatically associated with the authenticated user
⌘I

