---
title: "Create a file in a repository"
method: POST
path: "/api/v4/projects/{id}/repository/files/{file_path}"
tags: ["files"]
---

# Create a file in a repository

`POST /api/v4/projects/{id}/repository/files/{file_path}`

## Request

- Base URL: `https://gitlab.com`
- URL: `https://gitlab.com/api/v4/projects/{id}/repository/files/{file_path}`
- Auth: none declared

Creates a file in a specified repository. Use the Commits API to create multiple files with a single request.

## Path parameters

- `id` string, required
- `file_path` string, required

## Request body

- PostApiV4ProjectsIdRepositoryFilesFilePath: Create a file in a repository
  - `file` string, binary, required: The file content to be created (generated by Multipart middleware)

## Response `201`

Create a file in a repository

---

[API](https://skmtc.dev/gitlab/apis/gitlab-api.md) - [All operations](https://skmtc.dev/gitlab/apis/gitlab-api/llms.txt) - [OpenAPI document](https://skmtc.dev/gitlab/apis/gitlab-api/revisions/b234947ef3f2?raw)
