Skip to main content
POST
/
api
/
v1
/
projects
Create Project
curl --request POST \
  --url https://control-plane.kubiya.ai/api/v1/projects \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "<string>",
  "key": "<string>",
  "description": "<string>",
  "goals": "<string>",
  "settings": {},
  "visibility": "private",
  "restrict_to_environment": false,
  "policy_ids": [
    "<string>"
  ],
  "default_model": "<string>"
}'
{
  "id": "<string>",
  "organization_id": "<string>",
  "name": "<string>",
  "key": "<string>",
  "description": "<string>",
  "goals": "<string>",
  "settings": {},
  "status": "<string>",
  "visibility": "<string>",
  "owner_id": "<string>",
  "owner_email": "<string>",
  "restrict_to_environment": false,
  "policy_ids": [],
  "default_model": "<string>",
  "created_at": "<string>",
  "updated_at": "<string>",
  "archived_at": "<string>",
  "agent_count": 0,
  "team_count": 0
}

Body

application/json
name
string
required

Project name

key
string
required

Short project key (e.g., JIRA, PROJ)

Required string length: 2 - 50
description
string | null

Project description

goals
string | null

Project goals and objectives

settings
object

Project settings

visibility
string
default:private

Project visibility: private or org

restrict_to_environment
boolean
default:false

Restrict to specific runners/environment

policy_ids
string[]

List of OPA policy IDs for access control

default_model
string | null

Default LLM model for this project

Response

Successful Response

id
string
required
organization_id
string
required
name
string
required
key
string
required
description
string | null
required
goals
string | null
required
settings
object
required
status
string
required
visibility
string
required
owner_id
string | null
required
owner_email
string | null
required
created_at
string
required
updated_at
string
required
archived_at
string | null
required
restrict_to_environment
boolean
default:false
policy_ids
string[]
default_model
string | null
agent_count
integer
default:0
team_count
integer
default:0