---
title: "Create a project from pre-categorised uploaded files (member+)"
method: POST
path: "/api/workspaces/{workspace_id}/projects/upload"
tags: ["upload"]
---

# Create a project from pre-categorised uploaded files (member+)

`POST /api/workspaces/{workspace_id}/projects/upload`

## Request

- Base URL: `https://api.hillstar.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.hillstar.ai/api/workspaces/{workspace_id}/projects/upload`
- Auth: none declared

## Path parameters

- `workspace_id` integer, required: Workspace ID

## Request body `multipart/form-data`

- object
  - `categories_json` string: JSON object {categories:[CategoryTemplate...]} (logically required; handler returns 400 when empty or wrong-shaped)
  - `file_categorizations_json` string: JSON object {files:[FileCategorization...]} (logically required; handler returns 400 with a helpful message when empty)
  - `project_name` string: Optional project name; defaults to first file's original filename
  - `weights_json` string: Optional JSON object {weights:{name:int}} summing to 100

## Response `201`

Created

- Response
  - `$schema` string, uri: A URL to the JSON Schema for this object.
  - `message` string, required
  - `project_id` integer, required
  - `project_name` string, required
  - `status` string, required

## Other responses

- `default`: Error

---

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