Create a project
import requests
url = "https://app.langwatch.ai/api/v1/projects"
payload = {
"name": "<string>",
"language": "<string>",
"framework": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', language: '<string>', framework: '<string>'})
};
fetch('https://app.langwatch.ai/api/v1/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://app.langwatch.ai/api/v1/projects \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"language": "<string>",
"framework": "<string>"
}
'{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"language": "<string>",
"framework": "<string>",
"teamId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"serviceApiKey": "<string>",
"serviceApiKeyId": "<string>"
}This response has no body data.This response has no body data.This response has no body data.This response has no body data.This response has no body data.Projects
Create project
Create a new project in the organization. Returns the project with a newly minted service API key (serviceApiKey) for sending traces. Provide either teamId (existing team) or newTeamName (creates a new team). Requires project:create permission.
POST
/
api
/
v1
/
projects
Create a project
import requests
url = "https://app.langwatch.ai/api/v1/projects"
payload = {
"name": "<string>",
"language": "<string>",
"framework": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', language: '<string>', framework: '<string>'})
};
fetch('https://app.langwatch.ai/api/v1/projects', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));curl --request POST \
--url https://app.langwatch.ai/api/v1/projects \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"language": "<string>",
"framework": "<string>"
}
'{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"language": "<string>",
"framework": "<string>",
"teamId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"serviceApiKey": "<string>",
"serviceApiKeyId": "<string>"
}This response has no body data.This response has no body data.This response has no body data.This response has no body data.This response has no body data.Authorizations
Admin API key for organization-level operations (managing projects, API keys). Create one in Settings > API Keys or via POST /api/api-keys. Format: sk-lw-{id}_{secret}.
Body
application/json
Project name
Required string length:
1 - 255Programming language, such as python or typescript
Minimum string length:
1Framework in use, such as langchain or openai
Minimum string length:
1Id of an existing team to put the project in
Minimum string length:
1Create a team with this name and put the project in it
Required string length:
1 - 255Response
Success
Minimum string length:
1Minimum string length:
1Minimum string length:
1Minimum string length:
1Last modified on October 13, 2026
Was this page helpful?