# Upload file Upload a file to project storage. Accepts PDF or image files up to 10 MB. Endpoint: POST /files/upload Version: 1.0.0 Security: ApiKeyAuth ## Request fields (multipart/form-data): - `file` (string, required) File to upload - `projectId` (string) Associated project ID Example: "nike-swoosh-commercial" - `type` (string) File type/category Example: "call-sheet" ## Response 201 fields (application/json): - `id` (string, required) File identifier (DigitalOcean Spaces object key) Example: "files/2024/03/budget-report.pdf" - `name` (string, required) Original filename Example: "call-sheet-day-3.pdf" - `type` (string, required) MIME type Example: "application/pdf" - `size` (integer, required) File size in bytes Example: 1048576 ## Response 400 fields (application/json): - `error` (string, required) Error message Example: "Invalid request parameters" - `details` (object) Additional error details Example: {"field":"projectId","reason":"Project not found"} - `code` (string) Error code Example: "VALIDATION_ERROR" ## Response 401 fields (application/json): - `error` (string, required) Error message Example: "Invalid request parameters" - `details` (object) Additional error details Example: {"field":"projectId","reason":"Project not found"} - `code` (string) Error code Example: "VALIDATION_ERROR" ## Response 413 fields (application/json): - `error` (string, required) Error message Example: "Invalid request parameters" - `details` (object) Additional error details Example: {"field":"projectId","reason":"Project not found"} - `code` (string) Error code Example: "VALIDATION_ERROR" ## Response 500 fields (application/json): - `error` (string, required) Error message Example: "Invalid request parameters" - `details` (object) Additional error details Example: {"field":"projectId","reason":"Project not found"} - `code` (string) Error code Example: "VALIDATION_ERROR"