> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# PFDataInitiateFileUploadsRequest

> PFDataInitiateFileUploadsRequest data model. Returns URLs that may be used to upload the files for a profile 5 minutes. After using the upload calls FinalizeFileUploads must be called to move the file status from pending to live.

PFDataInitiateFileUploadsRequest data model. Returns URLs that may be used to upload the files for a profile 5 minutes. After using the upload calls FinalizeFileUploads must be called to move the file status from pending to live.

## Syntax

```cpp theme={null}
typedef struct PFDataInitiateFileUploadsRequest {  
    PFStringDictionaryEntry const* customTags;  
    uint32_t customTagsCount;  
    PFEntityKey const* entity;  
    const char* const* fileNames;  
    uint32_t fileNamesCount;  
    int32_t const* profileVersion;  
} PFDataInitiateFileUploadsRequest;  
```

### Members

**`customTags`**   [PFStringDictionaryEntry](https://docs.xbox.com/services/playfab/api-references/c/pftypes/structs/pfstringdictionaryentry.md) const\*\
*may be nullptr*

(Optional) The optional custom tags associated with the request (e.g. build number, external trace identifiers, etc.).

**`customTagsCount`**   uint32\_t

Count of customTags

**`entity`**   [PFEntityKey](https://docs.xbox.com/services/playfab/api-references/c/pftypes/structs/pfentitykey-c.md) const\*

The entity to perform this action on.

**`fileNames`**   const char\* const\*

Names of the files to be set. Restricted to a-Z, 0-9, '(', ')', '\_', '-' and '.'.

**`fileNamesCount`**   uint32\_t

Count of fileNames

**`profileVersion`**   int32\_t const\*\
*may be nullptr*

(Optional) Optional field used for concurrency control. By specifying the previously returned ProfileVersion value from the GetFiles API or other APIs, you can ensure that the file upload initiation is performed only if the profile has not been updated since you last loaded that version. If the profile for the same entity has been updated, the operation will fail with an EntityProfileVersionMismatch error. The conflicting update can be caused by any operation that modifies the entity profile, including SetObjects, FinalizeFileUploads, and UpdateStatistics.

## Requirements

**Header:** PFDataTypes.h

## See also

[PFDataTypes members](https://docs.xbox.com/services/playfab/api-references/c/pfdatatypes/pfdatatypes_members.md)


## Related topics

- [PFDataInitiateFileUploadsAsync](https://docs.xbox.com/services/playfab/api-references/c/pfdata/functions/pfdatainitiatefileuploadsasync.md)
- [Services C API overview - PFDataTypes.h](https://docs.xbox.com/services/playfab/api-references/c/pfdatatypes/pfdatatypes_members.md)
- [PFDataInitiateFileUploadsResponse](https://docs.xbox.com/services/playfab/api-references/c/pfdatatypes/structs/pfdatainitiatefileuploadsresponse.md)
- [PFDataInitiateFileUploadMetadata](https://docs.xbox.com/services/playfab/api-references/c/pfdatatypes/structs/pfdatainitiatefileuploadmetadata.md)
- [PFDataInitiateFileUploadsGetResult](https://docs.xbox.com/services/playfab/api-references/c/pfdata/functions/pfdatainitiatefileuploadsgetresult.md)
