# Initiate file upload Initiates a file upload and returns a pre-signed URL for uploading. Endpoint: POST /v1/assets/{assetUuid}/files/actions/initiate-upload Version: 1.0.0 Security: Bearer ## Path parameters: - `assetUuid` (string, required) Unique identifier of the asset. ## Request fields (application/json): - `variationType` (string, required) Type of file variation being uploaded. Enum: "original", "thumbnail", "webOptimized", "mobileOptimized", "productDetail", "printReady", "socialMedia", "videoPoster", "videoPreview", "videoStreamLow", "videoStreamMedium", "videoStreamHigh" - `storageLocation` (string, required) Storage backend where the file will be stored. Enum: "s3" - `mimeType` (string, required) MIME type of the file being uploaded. - `extension` (string, required) File extension of the file being uploaded. ## Response 201 fields (application/json): - `uuid` (string, required) Unique identifier for this file. - `assetUuid` (string, required) Identifier of the parent asset this file belongs to. - `createdAt` (string, required) Timestamp when this file was created. Example: "2025-11-23T14:15:22.123456Z" - `status` (string, required) Current lifecycle status of this file. Enum: "awaitingUpload", "uploaded" - `variationType` (string, required) Type of file variation. Enum: "original", "thumbnail", "webOptimized", "mobileOptimized", "productDetail", "printReady", "socialMedia", "videoPoster", "videoPreview", "videoStreamLow", "videoStreamMedium", "videoStreamHigh" - `storageLocation` (string, required) Storage backend where this file is stored. Enum: "s3" - `mimeType` (string, required) MIME type of this file. - `extension` (string, required) File extension of this file. - `storageSize` (integer,null) File size in bytes. Null if not yet calculated. - `checksum` (string, required) SHA-256 checksum for file integrity verification. - `isAutogenerated` (boolean, required) Whether this file was automatically generated by the system. - `presignedUrl` (string, required) Temporary pre-signed URL for downloading this file. ## Response 401 fields (application/problem+json): - `type` (string,null) - `title` (string,null) - `status` (integer,null) - `detail` (string,null) - `instance` (string,null) ## Response 403 fields (application/problem+json): - `type` (string,null) - `title` (string,null) - `status` (integer,null) - `detail` (string,null) - `instance` (string,null) - `correlationId` (string,null) ## Response 422 fields (application/problem+json): - `errors` (array) - `errors.code` (string, required) - `errors.message` (string, required) - `type` (string,null) - `title` (string,null) - `status` (integer,null) - `detail` (string,null) - `instance` (string,null) - `correlationId` (string,null) ## Response 500 fields (application/problem+json): - `type` (string,null) - `title` (string,null) - `status` (integer,null) - `detail` (string,null) - `instance` (string,null) - `correlationId` (string,null)