Skip to main content
POST
/
api
/
projects
Create a project
import requests

url = "https://app.langwatch.ai/api/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)
{
  "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>"
}

Documentation Index

Fetch the complete documentation index at: https://langwatch.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

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
name
string
required

Project name

Required string length: 1 - 255
language
string
required

Programming language (e.g. python, typescript)

framework
string
required

Framework (e.g. langchain, vercel-ai, openai)

teamId
string

ID of an existing team to assign the project to

newTeamName
string

Name for a new team to create and assign the project to

Maximum string length: 255

Response

Project created. Returns a scoped service API key for this project.

id
string

Project ID (project_...)

name
string
slug
string
language
string
framework
string
teamId
string
piiRedactionLevel
enum<string>
Available options:
STRICT,
ESSENTIAL,
DISABLED
createdAt
string<date-time>
updatedAt
string<date-time>
serviceApiKey
string

Scoped service API key with ADMIN on this project (sk-lw-..._...). Store securely — shown only once.

serviceApiKeyId
string

ID of the auto-created service key, for management via DELETE /api/api-keys/{id}.