# Upload asset direct `POST` `/api/v1/assets` Upload a CSV or Excel (xlsx/xls) file as multipart/form-data. Returns an asset:// URI. For Excel files, pass ``sheet_index`` (0-indexed, default 0) to select which sheet to convert to CSV. ## Request body `multipart/form-data` | Field | Type | Required | Description | |-------|------|----------|-------------| | file | string | yes | CSV or Excel file to upload | | sheet_index | integer | no | Sheet index (0-based) to convert for Excel files | ## Response `201 Created` — `application/json` | Field | Type | Description | |-------|------|-------------| | asset_id | string | An asset:// URI referencing the uploaded file | ## Errors | Status | Description | |--------|-------------| | 400 | Bad Request | | 422 | Unprocessable Entity |