---
title: "Changes to Update a file in a repository if SHA is set, or create the file if SHA is not set"
method: PUT
path: "/repos/{owner}/{repo}/contents/{filepath}"
---

# Changes to Update a file in a repository if SHA is set, or create the file if SHA is not set

`PUT /repos/{owner}/{repo}/contents/{filepath}`

> Every recorded change to this operation, newest first.

## Timeline

Changed in 2 of 13 revisions.

- **2026-10-28** `7ef50c4c527f`: 4 info
- **2026-07-13** `4df6be504c96`: 1 info

## Changes

- **2026-10-28** `7ef50c4c527f`: 4 info
  - removed the non-success response with the status `403`
  - removed the non-success response with the status `404`
  - removed the non-success response with the status `422`
  - removed the non-success response with the status `423`
- **2026-07-13** `4df6be504c96`: 1 info
  - added the success response with the status `201`

---

[Operation](https://skmtc.dev/gitea/apis/gitea-api/docs/repos/:owner/:repo/contents/:filepath/put.md) - [API](https://skmtc.dev/gitea/apis/gitea-api.md) - [Page](https://skmtc.dev/gitea/apis/gitea-api/changes/repos/:owner/:repo/contents/:filepath/put)
