IRPCObjectOperations.GetEffectivePermissions

View as Markdown

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

Gets the effective permissions of a document.

ServiceObjects, versions, properties and files MFiles.IRPCObjectOperations
gRPC method/MFiles.IRPCObjectOperations/GetEffectivePermissions
HTTP (mf-http-grpc)POST /grpc/v1/get-effective-permissions
RequestGetEffectivePermissionsRequest
ResponseGetEffectivePermissionsResponse
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

Lists every user of the vault who has any access to the object version through its ACL, with their read, edit, delete and change-permissions access. Users without any access are left out, and vault-level rights such as seeing all objects are not counted: an object with an empty ACL returns an empty list even though administrators can see it. The caller must be able to read the object.

Request: GetEffectivePermissionsRequest

Requests effective permissions.

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

FieldTypeDescription
obj_verObjVerThe object version, by number.
obj_ver.obj_idObjIDThe object.
obj_ver.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_ver.obj_id.item_idItemIDThe ID of the object within its type, in item_id.internal_id.
obj_ver.versionObjVerVersionThe version. Usually OBJ_VER_VERSION_TYPE_SPECIFIC with internal_version.
obj_ver.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_ver.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_ver.version.external_repository_versionstringUsed only for objects in external repositories. Leave empty.
obj_ver.version.external_repository_sort_keyint64Used only for objects in external repositories. Leave 0.

Response: GetEffectivePermissionsResponse

Response for effective permissions request.

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

FieldTypeDescription
permissions[]repeated EffectivePermissionsOne entry per user with any access, by user ID.
permissions[].user_idint32The user account ID.
permissions[].permissionsObjectPermissionsForClientWhat the user can do with the object according to its ACL.
permissions[].permissions.can_user_seeboolThe object is visible for the current user (provided for symmetry).
permissions[].permissions.can_user_editboolThe current user can edit the object.
permissions[].permissions.can_user_deleteboolThe current user can delete the object.
permissions[].permissions.can_user_change_permissionsboolThe current user can change the object permissions.