# `PhoenixKitWeb.UploadController`
[🔗](https://github.com/BeamLabEU/phoenix_kit/blob/v1.7.165/lib/phoenix_kit_web/controllers/upload_controller.ex#L1)

File upload controller for handling multipart uploads.

Accepts file uploads, validates them, and queues them for background processing.

# `create`

Upload a file via multipart form.

## Request

    POST /api/upload

## Parameters

- `file` (required): The file to upload (multipart/form-data)
- `user_uuid` (optional): Override user UUID (admin only)

## Response

Success (200):
    {
      "file_uuid": "uuidv7-string",
      "original_filename": "photo.jpg",
      "file_type": "image",
      "mime_type": "image/jpeg",
      "size": 1234567,
      "status": "processing",
      "message": "Upload successful, processing variants..."
    }

Error (400):
    {
      "error": "INVALID_FILE_TYPE",
      "message": "File type not allowed"
    }

Error (413):
    {
      "error": "FILE_TOO_LARGE",
      "message": "File size exceeds maximum allowed (100MB)"
    }

---

*Consult [api-reference.md](api-reference.md) for complete listing*
