# FileDownloadUrlRequestData

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Reference](https://developer.m-files.com/APIs/gRPC-API/Reference/index.md) > [Messages](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.FileDownloadUrlRequestData/

Request details for generating a download key for downloading files from a single object.

- **Full name:** `MFiles.FileDownloadUrlRequestData`
- **Proto file:** [`mfiles/structs.proto`](https://developer.m-files.com/APIs/gRPC-API/downloads/proto/mfiles/structs.proto)

<a id="fields"></a>

## Fields

| Field | Type | Number | Description |
|---|---|---|---|
| <a id="f-obj_ver"></a>`obj_ver` | [`ObjVer`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjVer/index.md) | 1 | The object version to download files from with the key. Not used if uploadID is not zero or fileRef is not empty. |
| <a id="f-file_ids"></a>`file_ids` | repeated [`FileID`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.FileID/index.md) | 2 | File IDs in the object version to download with the key. Not used if uploadID is not zero or fileRef is not empty. |
| <a id="f-upload_id"></a>`upload_id` | `int32` | 3 | The identifier of the upload operation (from UploadTempFile or UploadTempFileCommit). If this is not zero, objVer and fileIds are ignored, and the download key is generated for downloading the file uploaded in the upload operation identified by this parameter. |
| <a id="f-file_ref"></a>`file_ref` | `string` | 4 | If not empty, the file_ref of a stateless upload ended with FileUploadEnd, and the download key is generated for downloading it; objVer and fileIds are ignored. At most one of uploadID and fileRef may be set. |
| <a id="f-extension"></a>`extension` | `string` | 5 | The extension of the file, not including the dot (e.g. "doc"). Used with fileRef only, as a file_ref has no file name. |

<a id="used-by-methods"></a>

## Used by methods

- [IRPCObjectOperations.GetFileDownloadUrl2](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetFileDownloadUrl2/index.md): Not available over native gRPC: the server answers "Not implemented.". Used by the M-Files HTTP gateway.

<a id="used-in-fields"></a>

## Used in fields

- [`GetFileDownloadUrlRequest2.download_requests`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetFileDownloadUrl2/index.md#request): Download requests.
