---
title: "Create Project Endpoint"
method: POST
path: "/v1/projects"
tags: ["v1-projects"]
---

# Create Project Endpoint

`POST /v1/projects`

Create a new project.

## Request body

- CreateProjectRequest
  - `name` string, required — Project name (1-100 characters).
  - `org_id` string, nullable — Organization to create the project in. Inferred from your auth when omitted.

## Response `201`

The created project row.

- ProjectRow — One projects-table row, as returned by these endpoints. Spec-only: handlers return raw rows (select *) via JSONResponse, so this documents the stable core without filtering. extra="allow" — rows may carry additional audit columns.
  - `id` string, required — Project ID.
  - `org_id` string, required — Organization the project belongs to.
  - `name` string, required — Project name.
  - `created_at` string, required — When the project was created.

## Other responses

- `409` — A project with this name already exists.
- `422` — Validation Error

---

[API](https://skmtc.net/tryardent/apis/fastapi.md) · [All operations](https://skmtc.net/tryardent/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tryardent/fastapi/revisions/71b66f68e19c/schema)
