---
title: "Create a project (child org)"
method: POST
path: "/projects"
tags: ["Projects"]
---

# Create a project (child org)

`POST /projects`

Creates a project under the API key's parent org.
`monthlyCredits` is the optional per-project budget cap in
credits — `null` or omitted means uncapped. A child org's key
cannot create projects (nesting is one level deep) →
`400 PARENT_REQUIRED`.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `name` string, required
  - `monthlyCredits` integer, nullable — Monthly budget cap in credits; null/omitted = uncapped.

## Response `201`

The created project.

- Project — A project is a **child org** under the parent (agency) org — a customer's own isolated set of workspaces/tables while credits and the concurrency pool stay shared at the parent. Select it on any non-`/projects` request via the `x-origami-project` header.
  - `object` 'project', required
  - `id` string, uuid, required
  - `name` string, required
  - `monthlyCredits` number, nullable, required — Monthly budget cap in credits, or `null` when uncapped.
  - `usage` object, required — This billing period's settled spend plus live in-flight reservations attributed to the project, in credits — the same numbers the in-app Teams page shows.
    - `spent` number, required — Settled charges this billing period, in credits.
    - `reserved` number, required — Live reservations held by in-flight work right now, in credits.
  - `createdAt` string, date-time, required

## Other responses

- `400` — VALIDATION_ERROR — bad body; or PARENT_REQUIRED — a child org's key cannot create projects.

---

[API](https://skmtc.net/origami/apis/origami-agent-api.md) · [All operations](https://skmtc.net/origami/apis/origami-agent-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/origami/origami-agent-api/versions/8083ad7fe081/schema)
