> ## 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.

# PFDataSetObjectsRequest

> PFDataSetObjectsRequest data model. Sets JSON objects on the requested entity profile. May include a version number to be used to perform optimistic concurrency operations during update. If the current version differs from the version in the request the request will be ignored. If no version is set on the request then the value will always be updated if the values differ. Using the version value does not guarantee a write though, ConcurrentEditError may still occur if multiple clients are attempting to update the same profile. .

PFDataSetObjectsRequest data model. Sets JSON objects on the requested entity profile. May include a version number to be used to perform optimistic concurrency operations during update. If the current version differs from the version in the request the request will be ignored. If no version is set on the request then the value will always be updated if the values differ. Using the version value does not guarantee a write though, ConcurrentEditError may still occur if multiple clients are attempting to update the same profile. .

## Syntax

```cpp theme={null}
typedef struct PFDataSetObjectsRequest {  
    PFStringDictionaryEntry const* customTags;  
    uint32_t customTagsCount;  
    PFEntityKey const* entity;  
    int32_t const* expectedProfileVersion;  
    PFDataSetObject const* objects;  
    uint32_t objectsCount;  
} PFDataSetObjectsRequest;  
```

### 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.

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

(Optional) Optional field used for concurrency control. By specifying the previously returned ProfileVersion value from the GetObjects API or other APIs, you can ensure that the object update 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.

**`objects`**   [PFDataSetObject](https://docs.xbox.com/services/playfab/api-references/c/pfdatatypes/structs/pfdatasetobject.md) const\*

Collection of objects to set on the profile.

**`objectsCount`**   uint32\_t

Count of objects

## Requirements

**Header:** PFDataTypes.h

## See also

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


## Related topics

- [PFDataSetObjectsAsync](https://docs.xbox.com/services/playfab/api-references/c/pfdata/functions/pfdatasetobjectsasync.md)
- [Services C API overview - PFDataTypes.h](https://docs.xbox.com/services/playfab/api-references/c/pfdatatypes/pfdatatypes_members.md)
- [PFDataSetObject](https://docs.xbox.com/services/playfab/api-references/c/pfdatatypes/structs/pfdatasetobject.md)
- [PFDataGetObjectsRequest](https://docs.xbox.com/services/playfab/api-references/c/pfdatatypes/structs/pfdatagetobjectsrequest.md)
- [Set Objects](https://docs.xbox.com/api-reference/object/set-objects.md)
