# uploadFile **Type:** GraphQL mutations **Description:** Specify a file *name* and *type* for a given file to be uploaded and get a *fileId* and *uploadUrl* for it. Use HTTP POST to upload the file content to the *uploadUrl*. The *uploadUrl* has a 15-minute expiration time so use it before then. Pass the *fileId* as a parameter to other mutations, but only after posting the file content to the *uploadUrl*. ## Arguments - fileUpload (FileUploadInput): undefined - name (String): Full file name - type (FileType, Not Null): File type - category (Category): Service where the file will be used (optional) ## Response **Type:** FileUpload **Description:** Attributes of the file to be uploaded ### Fields - id (String): Unique File ID - name (String): Full file name provided by the user - type (FileType): File type corresponds directly with the MIME type (and often the file extension) - uploadUrl (String): Signed URL enabling file upload via HTTP PUT with 15-minute expiration