IRPCObjectOperations.SetPropertiesWithMetadata
Vault API / core write session or assertion returns metadata structure version
Adds, replaces or removes property values of an object, also storing metadata about each value.
| Service | Objects, versions, properties and files MFiles.IRPCObjectOperations |
|---|---|
| gRPC method | /MFiles.IRPCObjectOperations/SetPropertiesWithMetadata |
| HTTP (mf-http-grpc) | POST /grpc/v1/set-properties-with-metadata |
| Request | SetPropertiesWithMetadataRequest |
| Response | SetPropertiesWithMetadataResponse |
| Book and level | Vault API, core |
| Kind | write |
| Session | Required: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata). |
| Idempotent | no |
| Returns metadata structure version | yes (in the mfiles-metadata-version-bin trailer) |
| Streaming | none (unary) |
Remarks
Same request fields and rules as
SetProperties; each value also carries
value_metadata (see TypedValueMetadata).
Request: SetPropertiesWithMetadataRequest
Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page. Fields marked (recursive) refer to a type already on their path.
| Field | Type | Description |
|---|---|---|
signature | SESSIONID | The electronic signature that might be required by a workflow state transition operation. |
signature.value | bytes | 64-byte session ID in RPC interface. 48 bytes in gRPC interface. |
obj_ver | ObjVer | The object version to set the properties of. (represented by ObjVer struct.) |
obj_ver.obj_id | ObjID | The object. |
obj_ver.obj_id.type | int32 | The object type ID, for example 0 for documents. In a lookup value, the value list ID (for a lookup to objects, the object type ID). |
obj_ver.obj_id.item_id | ItemID | The ID of the object within its type, in item_id.internal_id. |
obj_ver.version | ObjVerVersion | The version. Usually OBJ_VER_VERSION_TYPE_SPECIFIC with internal_version. |
obj_ver.version.type | ObjVerVersionType | What internal_version means. OBJ_VER_VERSION_TYPE_SPECIFIC for a version number.Values: OBJ_VER_VERSION_TYPE_UNINITIALIZED (0), OBJ_VER_VERSION_TYPE_LATEST (1), OBJ_VER_VERSION_TYPE_ANY (2), OBJ_VER_VERSION_TYPE_ALL (3), OBJ_VER_VERSION_TYPE_SPECIFIC (4), OBJ_VER_VERSION_TYPE_VALUE_LIST_ITEM (6), OBJ_VER_VERSION_TYPE_OBJECT_LEVEL_REFERENCE (7). |
obj_ver.version.internal_version | int32 | The version number, starting from 1, when type is OBJ_VER_VERSION_TYPE_SPECIFIC. The server returns -1 with OBJ_VER_VERSION_TYPE_LATEST. |
obj_ver.version.external_repository_version | string | Used only for objects in external repositories. Leave empty. |
obj_ver.version.external_repository_sort_key | int64 | Used only for objects in external repositories. Leave 0. |
allow_modifying_checked_in_object | bool | If true, modifying a checked-in document is possible. The server automatically checks out, modifies and checks in the document. |
allow_missing_required_properties | bool | If true, object can be set to have missing required parameters. |
fail_if_newer_version_exists | bool | If bAllowModifyingCheckedInDoc is true, this parameter defines if the method should fail if there already is a checked-in version that is newer than lDocVersion. |
version_guid | string | If not GUID_NULL, specifies the ObjVersionGUID of the version to set the properties of. The server will use this GUID for additional checks if bFailIfNotLatestCheckedInVersion is true. |
properties[] | repeated PropertyValueWithMetadata | The properties to add/replace. |
properties[].property_def | int32 | Property definition ID. |
properties[].value | TypedValueWithMetadata | The value of the property. |
properties[].value.type | Datatype | Data type. Note. Name of the property can't be isNull because name collision with Objective-C reserved name. |
properties[].value.is_null_value | bool | Is the value unset. |
properties[].value.data | TypedValueUnionWithMetadata | The value data as a union, if set. |
properties[].value.value_metadata | TypedValueMetadata | The metadata about the typed value. If the value is a Lookup or MSLookup, this data will be in that struct. |
remove_unspecified_properties | bool | True if ppropvalSet contains the full set of properties. Other existing properties will be removed. |
remove[] | repeated int32 | The properties to remove (property definition IDs). |
object_flags | OBJECTOPFLAGS | Flags that control this operation. |
object_flags.all | bool | Specifies all flags set; Including any future flags. |
object_flags.require_read_access_after_operation | bool | Requires read access to the object after the object operation. If available, the operation fails if the user does not have read access to the object after the operation. |
object_flags.require_edit_access_after_operation | bool | Requires edit access to the object after the object operation. If available, the operation fails if the user does not have edit access to the object after the operation. |
object_flags.disallow_name_change | bool | If specified, the operation will fail if it causes a change in the object version's name. |
object_flags.require_change_permissions_access_after_operation | bool | Requires security change access to the object after the object operation. If available, the operation fails if the user does not have security change access to the object after the operation. |
object_flags.require_full_access_after_operation | bool | Requires full access to the object after the object operation. If available, the operation fails if the user does not have full access to the object after the operation. |
object_flags.change_acl_in_all_versions | bool | Changes the ACL of all versions of the object. This is currently used to request setting the ACL of all versions of an object, not just a specific version, when calling ChangeSecurity. |
object_flags.verify_check_in_wopi_locked_document | bool | Verify the document is locked for WOPI Co-authoring or editing during checkin. |
acl_mode | ACLEnforcingMode | ACL enforcing mode.Values: ACLENFORCING_MODE_USE_PREVIOUS (0), ACLENFORCING_MODE_USE_PROVIDED (1), ACLENFORCING_MODE_RESET_TO_DEFAULT (2), ACLENFORCING_MODE_DISALLOW_CHANGES (3). |
acl | AccessControlList | The provided ACL. Can be unset. |
acl.checked_out_to_user | int32 | Specifies the ID of the user who has extended rights because of the checkout operation performed by her. 0 if such user does not exist. |
acl.is_fully_authoritative | bool | Specifies whether this access control list is set to ignore the secondary permissions that come from the latest checked in version. |
acl.custom_component | AccessControlListComponent | Accesses the custom component of this ACL. |
acl.custom_component.named_acl_id | int32 | Specifies the named ACL link of this component. |
acl.custom_component.has_named_acl | bool | True if the component links to a named ACL (named_acl_id). |
acl.custom_component.current_user_id | int32 | Specifies the current user binding of this component. |
acl.custom_component.has_current_user | bool | True if the component has an access control entry for the current user. |
acl.custom_component.permissions[] | repeated AccessControlEntry | The access control entry datas. The data belongs to the key in the corresponding index. |
acl.custom_component.overridability_permissions[] | repeated AccessControlEntry | Overridability permission data of this ACL component. |
acl.custom_component.status | ACCESSCONTROLLISTCOMPONENTSTATUSFLAGS | Modification status of this component. |
acl.restrictive_components[] | repeated AccessControlListComponentMapEntry | Accesses the restrictive automatic components of this ACL. |
acl.restrictive_components[].key | AccessControlListComponentKey | Access control list component. |
acl.restrictive_components[].component | AccessControlListComponent | Access control list component. |
acl.secondary_access_control_list | AccessControlList (recursive) | Secondary ACL used for latest version ACL. Not used for access check if null. |
acl.additive_components[] | repeated AccessControlListComponentMapEntry | Accesses the additive automatic components of this ACL. |
acl.additive_components[].key | AccessControlListComponentKey | Access control list component. |
acl.additive_components[].component | AccessControlListComponent | Access control list component. |
Response: SetPropertiesWithMetadataResponse
Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.
| Field | Type | Description |
|---|---|---|
object_info | ObjectVersionEx | Receives the object version data (when found and visible). Note that when requesting the latest version, its ID parts (document ID and version ID) are always returned whenever the latest version exists although it's not visible to the user. |
object_info.version_info | ObjectVersion | Object Version information. |
object_info.version_info.version | ObjVerVersion | The version number, as a specific version. |
object_info.version_info.display_version | string | The version label to show, if it differs from the version number; empty otherwise. |
object_info.version_info.title | string | The title (name) of the object in this version. |
object_info.version_info.is_single_file_object | bool | True if the object is a single-file document, which has exactly one file. |
object_info.version_info.has_relationships_from_this | bool | Note: this field is deprecated. True if relationships from this object version to one or more documents exist. |
object_info.version_info.has_relationships_to_this | bool | Note: this field is deprecated. True if relationships from one or more documents to this object version exist. |
object_info.version_info.has_assignments | bool | True if relationships from one or more assignments to this object version exist. |
object_info.version_info.last_modified_at_utc | google.protobuf.Timestamp | When the version was last modified, in UTC. |
object_info.version_info.files[] | repeated File | The files of this version. Each file_ver can be passed to DownloadFile_Begin. |
object_info.version_info.object_version_flags | OBJVERFLAGS | Bit flags that provide additional information on the object version. |
object_info.version_info.class_id | int32 | The class ID of the version. |
object_info.version_info.version_guid | string | The GUID of this version. |
object_info.version_info.base_properties[] | repeated PropertyValue | Not filled by the object read methods; read the property values with GetObjectVersionAndPropertiesOfMultipleObjects or GetProperties. |
object_info.version_info.primary_file | FileID | File ID of the primary file of a multi-file object, if the object is a multi-file object. |
object_info.object_info | ObjectLevelInfo | Object-level information. |
object_info.object_info.obj_id | ObjID | The object type and ID of the object. |
object_info.object_info.external_id_status | ExtIDStatus | The status of this object's external ID.Values: EXT_IDSTATUS_UNKNOWN (0), EXT_IDSTATUS_EXTERNAL (1), EXT_IDSTATUS_INTERNAL (2), EXT_IDSTATUS_DISCARDED (3), EXT_IDSTATUS_NOT_AVAILABLE (4), EXT_IDSTATUS_EXTERNAL_REDUCED (5). |
object_info.object_info.external_id | string | The external ID (display ID) of this object. unset means that the external ID is the same as the internal ID. |
object_info.object_info.checked_out_version | ObjVerVersion | The version that is checked out. Version number 0 if the object is not checked out. |
object_info.object_info.checked_out_to_user_id | int32 | The ID of the user who has the object checked out. |
object_info.object_info.checked_out_to_user_name | string | The user name of the user who has the object checked out. |
object_info.object_info.checked_out_to_host_name | string | The host name of the computer to which the object was checked out. |
object_info.object_info.checked_out_at_utc | google.protobuf.Timestamp | The timestamp of the moment the object was checked out. |
object_info.object_info.checked_in_version | ObjVerVersion | The latest checked-in version. |
object_info.object_info.created_at_utc | google.protobuf.Timestamp | The time when the object was created (same as the PROPERTYDEF_CREATED propertyvalue). |
object_info.object_info.accessed_by_me_utc | google.protobuf.Timestamp | Accessed by me timestamp. Parallel operations may cause slight inconsistencies in the returned timestamp in rare cases and the precise value shouldn't be relied upon. The observed timestamp may even roll back. |
object_info.object_info.guid | string | The object GUID, in braces. The same value as GetObjectGUID returns. |
object_info.object_info.options | ITEMFLAGS | Bit flags that provide additional information on the object (e.g. is the object deleted or a stub). |
object_info.object_info.original_vault_guid | string | The GUID of the vault in which the object was originally created. |
object_info.object_info.original_vault_obj_id | ObjID | The original objid in the vault in which the object was originally created. |
object_info.object_info.associated_view_id | ItemID | Identifies the view associated with this object if any. |
object_info.object_info.external_repository_icon_id | string | If not null, identifies the icon of the object. Currently applicable only to unmanaged objects. |
object_info.object_info.primary_view_id | ItemID | If not null, identifies the primary view of the object that is also the default opening location of the object. Currently applicable only to unmanaged objects. |
object_info.object_info.capabilities | OBJECTCAPABILITYFLAGS | Bit flags that provide information on the object capabilities. |
property_array[] | repeated PropertyValueWithMetadata | Receives the object version properties (when found and visible). |
property_array[].property_def | int32 | Property definition ID. |
property_array[].value | TypedValueWithMetadata | The value of the property. |
property_array[].value.type | Datatype | Data type. Note. Name of the property can't be isNull because name collision with Objective-C reserved name. |
property_array[].value.is_null_value | bool | Is the value unset. |
property_array[].value.data | TypedValueUnionWithMetadata | The value data as a union, if set. |
property_array[].value.value_metadata | TypedValueMetadata | The metadata about the typed value. If the value is a Lookup or MSLookup, this data will be in that struct. |
Related methods
- SetProperties -- Adds, replaces or removes property values of an object.
- SetPropertiesWithMetadataAttributedTo -- Sets property values with metadata and records the change as made by a built-in agent user.