> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.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.

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](/services/playfab/api-references/c/pftypes/structs/pfstringdictionaryentry) const\*<br />*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](/services/playfab/api-references/c/pftypes/structs/pfentitykey-c) const\*

The entity to perform this action on.

**`expectedProfileVersion`**   int32\_t const\*<br />*may be nullptr*

(Optional) Optional field used for concurrency control. By specifying the previously returned value of ProfileVersion from GetProfile API, you can ensure that the object set will only be performed if the profile has not been updated by any other clients since the version you last loaded.

**`objects`**   [PFDataSetObject](/services/playfab/api-references/c/pfdatatypes/structs/pfdatasetobject) const\*

Collection of objects to set on the profile.

**`objectsCount`**   uint32\_t

Count of objects

## Requirements

**Header:** PFDataTypes.h

## See also

[PFDataTypes members](/services/playfab/api-references/c/pfdatatypes/pfdatatypes_members)


## Related topics

- [PFDataSetObjectsAsync](/services/playfab/api-references/c/pfdata/functions/pfdatasetobjectsasync.md)
- [Services C API overview - PFDataTypes.h](/services/playfab/api-references/c/pfdatatypes/pfdatatypes_members.md)
- [PFDataGetObjectsRequest](/services/playfab/api-references/c/pfdatatypes/structs/pfdatagetobjectsrequest.md)
- [PFDataSetObject](/services/playfab/api-references/c/pfdatatypes/structs/pfdatasetobject.md)
- [PFDataSetObjectInfo](/services/playfab/api-references/c/pfdatatypes/structs/pfdatasetobjectinfo.md)
