# Create a file upload

`needleCreateFileUpload`

Mint a short-lived signed PUT URL, or copy a public file with sourceUrl. PUT bytes to uploadUrl when it is returned, then pass the returned url on needleSendLinkedinMessage, needleSendLinkedinInMail, or a campaign LinkedIn send step. downloadUrl is a preview link. Do not store uploadUrl.

**Input**

- `filename` (string, optional)
- `contentType` (string, optional)
- `sourceUrl` (string · uri, optional): Public https URL. Needle copies the file into a private object and returns the url to attach.
