IRPCObjectOperations.GetObjectDataOfMultipleObjects

View as Markdown

Vault API / core read session or assertion idempotent returns metadata structure version

Gets selected data of several objects: version information, properties, ACL, the caller's permissions, relationships, version comments and more, with a result or an error per object.

ServiceObjects, versions, properties and files MFiles.IRPCObjectOperations
gRPC method/MFiles.IRPCObjectOperations/GetObjectDataOfMultipleObjects
HTTP (mf-http-grpc)POST /grpc/v1/get-object-data-of-multiple-objects
RequestGetObjectDataOfMultipleObjectsRequest
ResponseGetObjectDataOfMultipleObjectsResponse
Book and levelVault API, core
Kindread
SessionRequired: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata).
Idempotentyes
Returns metadata structure versionyes (in the mfiles-metadata-version-bin trailer)
Streamingnone (unary)

Remarks

Choose this method when you need more than properties, or when you want a per-object error instead of a failed or shortened response.

Results. results has exactly one item per requested object, in the request order. results[i].obj_ver repeats the request; results[i].object_data.obj_ver is the version that was actually read. A result has either object_data or error_info.

What is returned. Only the data named in data_request.required_data_flags or optional_data_flags. With no flags at all, object_data holds only the resolved obj_ver, which is a cheap way to resolve the latest versions of many objects. If required data is missing, the object gets error_info instead. Relationships, collection members and version comments were returned only when requested in required_data_flags.

Versions. data_request.version_type defaults to OBJECT_VERSION_DATA_REQUEST_VERSION_TYPE_SPECIFIC_VERSIONS, which needs specific versions in obj_vers; the OBJ_VER_VERSION_TYPE_LATEST marker then fails with "The parameter is incorrect.". Use OBJECT_VERSION_DATA_REQUEST_VERSION_TYPE_LATEST_VERSIONS (includes a version checked out to the caller) or OBJECT_VERSION_DATA_REQUEST_VERSION_TYPE_LATEST_CHECKED_IN_VERSIONS to read the latest versions. An object or version may appear only once ("Duplicate object IDs or versions.").

Errors. With the default error tolerance the whole call fails if any object is missing. With OBJECT_VERSION_DATA_REQUEST_ERROR_TOLERANCE_ALLOW_MISSING_OBJECT_VERSIONS, an object that does not exist or that the caller cannot read gets error_info.error_code 0x8004000B ("Not found.") and no object_data.

Request: GetObjectDataOfMultipleObjectsRequest

Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

FieldTypeDescription
obj_vers[]repeated ObjVerThe objects. With a latest version type, only obj_id is used.
obj_vers[].obj_idObjIDThe object.
obj_vers[].obj_id.typeint32The 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_vers[].obj_id.item_idItemIDThe ID of the object within its type, in item_id.internal_id.
obj_vers[].versionObjVerVersionThe version. Usually OBJ_VER_VERSION_TYPE_SPECIFIC with internal_version.
obj_vers[].version.typeObjVerVersionTypeWhat 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_vers[].version.internal_versionint32The version number, starting from 1, when type is OBJ_VER_VERSION_TYPE_SPECIFIC. The server returns -1 with OBJ_VER_VERSION_TYPE_LATEST.
obj_vers[].version.external_repository_versionstringUsed only for objects in external repositories. Leave empty.
obj_vers[].version.external_repository_sort_keyint64Used only for objects in external repositories. Leave 0.
data_requestObjectVersionDataRequestWhat to return, which versions to read and how to handle missing objects. Set at least required_data_flags or optional_data_flags, and version_type.
data_request.required_data_flagsOBJECTDATAREQUESTFLAGSSpecifies the required object information.
data_request.required_data_flags.allboolSpecifies all flags set; Including any future flags.
data_request.required_data_flags.object_versionboolObject information is requested, e.g. ObjectVersionEx.
data_request.required_data_flags.propertiesboolProperty values are requested, e.g. PropertyValueArray.
data_request.required_data_flags.aclboolAccess control list is requested, e.g. ACL.
data_request.required_data_flags.current_user_permissionsboolObject permissions for client is requested, e.g. ObjectPermissionsForClient.
data_request.required_data_flags.properties_for_displayboolDisplay properties are requested, e.g. PropertyValueArray.
data_request.required_data_flags.relationshipsboolRelated objects are requested, e.g. RelationshipGroup.
data_request.required_data_flags.collection_member_relationshipsboolCollection member objects are requested, e.g. RelationshipGroup.
data_request.required_data_flags.commentsboolComment history is requested, e.g. ObjVerProperties.
data_request.required_data_flags.user_event_subscriptionsboolEvent subscription is requested, e.g. EventSubscription.
data_request.required_data_flags.object_activitiesboolObjectActivities is requested, e.g. ObjectActivitiesResponse.
data_request.required_data_flags.latest_version_commentboolLatest version comment is requested, e.g. LatestVersionComment.
data_request.optional_data_flagsOBJECTDATAREQUESTFLAGSSpecifies the optional object information.
data_request.optional_data_flags.allboolSpecifies all flags set; Including any future flags.
data_request.optional_data_flags.object_versionboolObject information is requested, e.g. ObjectVersionEx.
data_request.optional_data_flags.propertiesboolProperty values are requested, e.g. PropertyValueArray.
data_request.optional_data_flags.aclboolAccess control list is requested, e.g. ACL.
data_request.optional_data_flags.current_user_permissionsboolObject permissions for client is requested, e.g. ObjectPermissionsForClient.
data_request.optional_data_flags.properties_for_displayboolDisplay properties are requested, e.g. PropertyValueArray.
data_request.optional_data_flags.relationshipsboolRelated objects are requested, e.g. RelationshipGroup.
data_request.optional_data_flags.collection_member_relationshipsboolCollection member objects are requested, e.g. RelationshipGroup.
data_request.optional_data_flags.commentsboolComment history is requested, e.g. ObjVerProperties.
data_request.optional_data_flags.user_event_subscriptionsboolEvent subscription is requested, e.g. EventSubscription.
data_request.optional_data_flags.object_activitiesboolObjectActivities is requested, e.g. ObjectActivitiesResponse.
data_request.optional_data_flags.latest_version_commentboolLatest version comment is requested, e.g. LatestVersionComment.
data_request.version_typeObjectVersionDataRequestVersionTypeSpecifies the version type to search for.Values: OBJECT_VERSION_DATA_REQUEST_VERSION_TYPE_SPECIFIC_VERSIONS (0), OBJECT_VERSION_DATA_REQUEST_VERSION_TYPE_LATEST_VERSIONS (1), OBJECT_VERSION_DATA_REQUEST_VERSION_TYPE_LATEST_CHECKED_IN_VERSIONS (2).
data_request.error_toleranceObjectVersionDataRequestErrorToleranceSpecifies how error cases are handled during the request.Values: OBJECT_VERSION_DATA_REQUEST_ERROR_TOLERANCE_FAIL_ON_ANY_ERROR (0), OBJECT_VERSION_DATA_REQUEST_ERROR_TOLERANCE_ALLOW_MISSING_OBJECT_VERSIONS (1).
data_request.identity_typeObjectVersionDataRequestIdentityTypeSpecifies how objects with changed identities are handled.Values: OBJECT_VERSION_DATA_REQUEST_IDENTITY_TYPE_SPECIFIC (0), OBJECT_VERSION_DATA_REQUEST_IDENTITY_TYPE_MANAGED_IF_AVAILABLE (1).
data_request.object_activities_parametersObjectVersionActivityRequestSpecifies the required object version activity input.
data_request.object_activities_parameters.category_filterOBJECTVERSIONACTIVITYCATEGORYFLAGSCategory flags.
data_request.object_activities_parameters.limituint32Maximum number of object version activities to be included.
data_request.object_activities_parameters.offset_obj_ver_versionObjVerVersionStarting version for object version activities. 0 or missing means no offset.

Response: GetObjectDataOfMultipleObjectsResponse

Nested message fields are expanded to depth 3; follow a type link for deeper levels and for the type's own page.

FieldTypeDescription
results[]repeated ObjectVersionDataResultOne result per requested object, in the request order.
results[].obj_verObjVerRequested object version.
results[].obj_ver.obj_idObjIDThe object.
results[].obj_ver.versionObjVerVersionThe version. Usually OBJ_VER_VERSION_TYPE_SPECIFIC with internal_version.
results[].object_dataObjectVersionDataThe pointer to the result data details. Equals to null for the failed result.
results[].object_data.obj_verObjVerThe actual resolved object version.
results[].object_data.object_versionObjectVersionExThe pointer to object info. Null pointer, if data was not requested.
results[].object_data.propertiesPropertyValueArrayThe pointer to property values. Null pointer, if data was not requested.
results[].object_data.aclAccessControlListThe pointer to ACL. Null pointer, if data was not requested.
results[].object_data.current_user_permissionsObjectPermissionsForClientThe pointer to object permissions for client. Null pointer, if data was not requested.
results[].object_data.properties_for_displayPropertyValueArrayProperty values for display, or an empty array. Null pointer, if data was not requested.
results[].object_data.relationships[]repeated RelationshipGroupList of related objects(From and To) and collection members. Null pointer, if data was not requested.
results[].object_data.commentsVersionCommentArrayList of version comments. Null pointer, if data was not requested.
results[].object_data.user_event_subscriptions[]repeated EventSubscriptionThe pointer to event subscription. Null pointer, if data was not requested.
results[].object_data.object_activitiesObjectVersionActivityResponseThe pointer to object version activity.
results[].object_data.latest_version_commentLatestVersionCommentThe pointer to latest version comment. Null pointer, if data was not requested.
results[].error_infoErrorInfoThe pointer to the error information. Equals to null for the successful result.
results[].error_info.error_codeint32The error code (HRESULT value).