---
title: "Create a generic project file"
method: POST
path: "/apps/{app-slug}/generic-project-files"
tags: ["generic-project-file"]
---

# Create a generic project file

`POST /apps/{app-slug}/generic-project-files`

Create a temporary pre-signed upload URL (expires in 10 minutes) for the generic project file and upload it to AWS with a simple `curl` request. To complete the uploading process and view your files on the Code Signing tab of your app, continue with the [POST /apps/{app-slug}/generic-project-files/{generic-project-file-slug}/uploaded](https://api-docs.bitrise.io/#/generic-project-file/generic-project-file-confirm) endpoint. Read more in our [Creating and uploading files to Generic File Storage](https://devcenter.bitrise.io/api/managing-files-in-generic-file-storage/#creating-and-uploading-files-to-generic-file-storage) guide.

## Path parameters

- `app-slug` string, required

## Request body

- V0ProjectFileStorageUploadParams
  - `upload_file_name` string, required
  - `upload_file_size` integer, required
  - `user_env_key` string, required

## Response `201`

Created

- V0ProjectFileStorageUploadResponseModel
  - `data` V0ProjectFileStorageUploadResponseItemModel
    - `exposed_meta_datastore` object
    - `is_expose` boolean
    - `is_protected` boolean
    - `processed` boolean
    - `slug` string
    - `upload_file_name` string
    - `upload_file_size` integer
    - `upload_url` string
    - `user_env_key` string

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `404` — Not Found
- `500` — Internal Server Error

---

[API](https://skmtc.net/bitrise/apis/bitrise-api.md) · [All operations](https://skmtc.net/bitrise/apis/bitrise-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bitrise/bitrise-api/versions/89468e4a014b/schema)
