---
title: "Commit Project Files"
method: POST
path: "/api/projects/{project_id}/files/commit"
---

# Commit Project Files

`POST /api/projects/{project_id}/files/commit`

## Request

- Base URL: `https://app.tin.computer` (the document declares no server; this is the origin it was published from)
- URL: `https://app.tin.computer/api/projects/{project_id}/files/commit`
- Auth: HTTP bearer

## Path parameters

- `project_id` string, uuid, required

## Request body

- ProjectFilesCommit
  - `request_id` string, uuid
  - `expected_revision` string, required
  - `message` string, required
  - `changes` ProjectFileMutationInput[], required
    - `operation` 'upsert' | 'delete' | 'rename', required
    - `path` string, required
    - `content` string, nullable
    - `new_path` string, nullable

## Response `200`

Successful Response

- ProjectFileCommitView
  - `project_id` string, uuid, required
  - `request_id` string, uuid, required
  - `revision` string, required
  - `changed_paths` string[], required
  - `operation` string, required
  - `replayed` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tin/apis/tin-lite-switchboard.md) · [All operations](https://skmtc.dev/tin/apis/tin-lite-switchboard/llms.txt) · [OpenAPI document](https://skmtc.dev/tin/apis/tin-lite-switchboard/revisions/c800ca3406f4?raw)
