---
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
  - `devSlots` string, int64
  - `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.
  - `primaryBranch` 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
    - `devTtlSeconds` 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
    - `overrideDiskGb` string, int64
    - `primaryBranch` string
    - `primaryDeploymentId` 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

- **2026-05-13** (v1) `a33e730a9000` — 1 info
  - added the optional property `project/overrideDiskGb` to the response with the `200` status
- **2026-05-06** (v1) `0aeb660cd27f` — 1 info
  - added the optional property `project/devTtlSeconds` to the response with the `200` status
- **2026-04-21** (v1) `600528969633` — 1 info
  - added the new optional request property `devSlots`
- **2025-12-19** (v1) `c0043bbd6982` — 3 warning, 3 info
  - removed the request property `prodBranch`
  - removed the optional property `project/prodBranch` from the response with the `200` status
  - removed the optional property `project/prodDeploymentId` from the response with the `200` status
  - added the new optional request property `primaryBranch`
  - …2 more
- **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/abe7a430f373/schema)
