---
title: "CreateProject creates a new project"
method: POST
path: "/v1/orgs/{org}/projects"
---

# CreateProject creates a new project

`POST /v1/orgs/{org}/projects`

## Path parameters

- `org` string, required

## Request body

- object
  - `archiveAssetId` string — archive_asset_id is set for projects whose project files are not stored in github but are managed by rill.
  - `description` string
  - `directoryName` string — directory_name should be the most recently observed local directory name for the project. See ListProjectsForFingerprint for more context.
  - `gitRemote` string — git_remote is set for projects whose project files are stored in Git. It currently only supports Github remotes. It should be a HTTPS remote ending in .git for github.com. Either git_remote or archive_asset_id should be set.
  - `prodBranch` string
  - `prodSlots` string, int64
  - `prodVersion` string
  - `project` string
  - `provisioner` string
  - `public` boolean
  - `skipDeploy` boolean
  - `subpath` string

## Response `200`

A successful response.

- V1CreateProjectResponse
  - `project` V1Project
    - `annotations` object
    - `archiveAssetId` string
    - `createdByUserId` string
    - `createdOn` string, date-time
    - `description` string
    - `devSlots` string, int64
    - `directoryName` string
    - `frontendUrl` string — Note: Does NOT incorporate the parent org's custom domain.
    - `gitRemote` string
    - `id` string
    - `managedGitId` string — managed_git_id is set if the project is connected to a rill-managed git repo.
    - `name` string
    - `orgId` string
    - `orgName` string
    - `prodBranch` string
    - `prodDeploymentId` string
    - `prodSlots` string, int64
    - `prodTtlSeconds` string, int64
    - `prodVersion` string
    - `provisioner` string
    - `public` boolean
    - `subpath` string
    - `updatedOn` string, date-time

## Other responses

- `default` — An unexpected error response.

## Changes

- **2025-12-11** (v1) `f317ff96998d` — 6 warning, 3 info
  - removed the request property `devSlots`
  - removed the request property `primaryBranch`
  - removed the optional property `project/devTtlSeconds` from the response with the `200` status
  - removed the optional property `project/overrideDiskGb` from the response with the `200` status
  - …5 more

[Change history](https://skmtc.dev/rilldata/apis/rill-admin-api/changes/v1/orgs/:org/projects/post.md)

---

[API](https://skmtc.dev/rilldata/apis/rill-admin-api.md) · [All operations](https://skmtc.dev/rilldata/apis/rill-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/rilldata/rill-admin-api/revisions/f317ff96998d/schema)
