---
title: "Update a project's name / budget cap"
method: PATCH
path: "/projects/{projectId}"
tags: ["Projects"]
---

# Update a project's name / budget cap

`PATCH /projects/{projectId}`

Partial update. For `monthlyCredits`, a number **sets** the cap,
an explicit `null` **clears** it, and omitting the field leaves
it alone.

## Request body

- object
  - `name` string
  - `monthlyCredits` integer, nullable — Number sets the cap, explicit null clears it, omitted leaves it alone.

## Response `200`

The updated 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.
- `404` — Project not found (unknown, cross-parent, or deleted — no existence leak)

---

[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)
