---
title: "Create a secure file"
method: POST
path: "/api/v4/projects/{id}/secure_files"
tags: ["secure_files"]
---

# Create a secure file

`POST /api/v4/projects/{id}/secure_files`

## Request

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

Creates a secure file in a specified project.

## Path parameters

- `id` string, required

## Request body

- PostApiV4ProjectsIdSecureFiles: Create a secure file
  - `name` string, required: The name of the file being uploaded. The filename must be unique within the project
  - `file` string, binary, required: The secure file being uploaded

## Response `201`

Create a secure file

- APIEntitiesCiSecureFile: API_Entities_Ci_SecureFile model
  - `id` integer, required
  - `name` string, required
  - `checksum` string, required
  - `checksum_algorithm` string, required
  - `created_at` string, date-time, required
  - `expires_at` string, date-time, required
  - `metadata` object, required
  - `file_extension` string, required

## Other responses

- `400`: 400 Bad Request

---

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