# Create assets and upload files An AssetAndUploadBatchJob should be created when you want to create multiple Asset resources and also create an AssetUpload for each of them. Each asset can be uploaded in a single part or in multiple parts. If the filesize is less than 5MiB then it must be uploaded in a single part. If the filesize is greater than 5GiB then it must be uploaded in multiple parts, each smaller than 5GiB. The AssetUpload resources in the completed job should then be used to upload the files for each and asset and complete each upload. After the Asset resources have been created and files uploaded to them they will still be in Asset.lifecycleStatus.state = 'STAGED'. To send them for approval or put them live see Asset Lifecycle. Endpoint: POST /asset-and-upload-batch-jobs Version: 2.0.0 Security: bearerToken ## Request fields (application/json): - `items` (array, required) - `items.batchItemId` (string, required) An ID provided by the caller to uniquely identify this item in the batch request This is will be used to match the relevant results in the batch result Example: "my-item-1" - `items.path` (string, required) The path of the file including filename and any folders. This path will to set the value of the [Asset](#tag/Assets) [Folder Field](#tag/Folder-Settings). Set to "/" to upload to the top-level in Dash. Example: "/Folder A/Folder D/a_file.jpg" - `items.size` (integer, required) The size of the file that is to be uploaded (in bytes) Example: 15318362 - `items.partSize` (integer,null) Optionally specify the part size (in bytes) for multi-part uploading of the file. This must be less than 5368709120, and more than 5242880 unless it is the final part. If omitted or null a default part size will be used. Example: 7000000 - `items.partUrlsRequest` (object) - `items.partUrlsRequest.uploadId` (string,null) The unique identifier of the [AssetUpload](#operation/postAssetUpload) to get URLs for. If this is not provided, a new multi-part upload will be generated. Therefore this only needs to be provided when not getting all upload URLs at once. Example: "5a2481e0-819f-4b46-a7e6-143f943345f2" - `items.partUrlsRequest.urlRequests` (array, required) - `items.partUrlsRequest.urlRequests.partNumber` (integer, required) 1-based indexing number of the part Example: 2 - `items.partUrlsRequest.urlRequests.contentMd5` (string,null) The MD5 hash of the content contained within the part Example: "86fb269d190d2c85f6e0468ceca42a20" ## Response 4XX fields (application/json): - `timestamp` (string) The datetime that the error occurred in ISO offset format Example: "2021-02-16T16:21:58.640+00:00" - `status` (integer) The HTTP status code of the error Example: 401 - `error` (string) The title of the error Example: "Unauthorized" - `message` (string) A more detailed error message - `path` (string) The path that was called which led to the error Example: "/folder-settings"