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

# Create Project Endpoint

`POST /v1/projects`

## Request

- Base URL: `https://api.tryardent.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tryardent.com/v1/projects`
- Auth: none declared

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.dev/tryardent/apis/tryardent-api.md) - [All operations](https://skmtc.dev/tryardent/apis/tryardent-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tryardent/apis/tryardent-api/revisions/a0512915b997?raw)
