IRPCSharedLinks.CreateSharedLink

View as Markdown

Vault API / standard write session or assertion returns metadata structure version

Creates a shared link to one file of an object and returns it with its new access key.

ServiceShared links MFiles.IRPCSharedLinks
gRPC method/MFiles.IRPCSharedLinks/CreateSharedLink
HTTP (mf-http-grpc)POST /grpc/v1/create-shared-link
RequestCreateSharedLinkRequest
ResponseCreateSharedLinkResponse
Book and levelVault API, standard
Kindwrite
SessionRequired: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata).
Idempotentno
Returns metadata structure versionyes (in the mfiles-metadata-version-bin trailer)
Streamingnone (unary)

Remarks

Request: CreateSharedLinkRequest

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

FieldTypeDescription
sl_infoSharedLinkInfoThe link to create: shared_link_type, obj_ver, file_ver, and optionally description, expires_at_utc (unset for no expiration) and, for external links, external_shared_link_access_type and is_anyone_access_granted.
sl_info.access_keystringThe access key of the shared link.
sl_info.descriptionstringThe description of the shared link.
sl_info.created_at_utcgoogle.protobuf.TimestampThe creation time for the shared link. Is set by the server. Should be FILETIME_ZERO, when creating a new link.
sl_info.expires_at_utcgoogle.protobuf.TimestampThe expiration time for the shared link. Use FILETIME_ZERO to indicate no expiration time.
sl_info.obj_verObjVerThe object version referenced by the shared link.
sl_info.obj_ver.obj_idObjIDThe object.
sl_info.obj_ver.versionObjVerVersionThe version. Usually OBJ_VER_VERSION_TYPE_SPECIFIC with internal_version.
sl_info.created_by_userint32The creator of this shared Link.
sl_info.file_verFileVerThe file version referenced by the shared link.
sl_info.file_ver.file_idFileIDThe file.
sl_info.file_ver.typeFileVerTypeFILE_VER_TYPE_SPECIFIC for a file version number.Values: FILE_VER_TYPE_UNINITIALIZED (0), FILE_VER_TYPE_LATEST (1), FILE_VER_TYPE_ANY (2), FILE_VER_TYPE_SPECIFIC (3).
sl_info.file_ver.internal_versionint32The file version number.
sl_info.file_ver.external_repository_versionstringUsed only for files in external repositories. Leave empty.
sl_info.file_ver.external_repository_sort_keyint64Used only for files in external repositories. Leave 0.
sl_info.shared_link_typeSharedLinkTypeType of the shared link.Values: SHARED_LINK_TYPE_READ_ONLY (0), SHARED_LINK_TYPE_CO_AUTHORING (1), SHARED_LINK_TYPE_WOPIREADONLY (2), SHARED_LINK_TYPE_WOPIEDIT (3), SHARED_LINK_TYPE_VISITOR (4), SHARED_LINK_TYPE_EXTERNAL (5).
sl_info.is_anyone_access_grantedboolTrue if any user has granted public access to the document.
sl_info.anyone_access_granted_by_userint32The user who has granted public access to the document.
sl_info.external_shared_link_access_typeExternalSharedLinkAccessTypeAccess type of the external shared link.Values: EXTERNAL_SHARED_LINK_ACCESS_TYPE_UNINITIALIZED (0), EXTERNAL_SHARED_LINK_ACCESS_TYPE_DOWNLOAD (1), EXTERNAL_SHARED_LINK_ACCESS_TYPE_PREVIEW (2), EXTERNAL_SHARED_LINK_ACCESS_TYPE_EDIT (3).
sl_info.created_by_user_namestringThe user who created the shared link.
sl_info.anyone_access_granted_by_user_namestringThe user who granted public access.

Response: CreateSharedLinkResponse

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

FieldTypeDescription
sl_info_resultSharedLinkInfoThe created link, including its access_key.
sl_info_result.access_keystringThe access key of the shared link.
sl_info_result.descriptionstringThe description of the shared link.
sl_info_result.created_at_utcgoogle.protobuf.TimestampThe creation time for the shared link. Is set by the server. Should be FILETIME_ZERO, when creating a new link.
sl_info_result.expires_at_utcgoogle.protobuf.TimestampThe expiration time for the shared link. Use FILETIME_ZERO to indicate no expiration time.
sl_info_result.obj_verObjVerThe object version referenced by the shared link.
sl_info_result.obj_ver.obj_idObjIDThe object.
sl_info_result.obj_ver.versionObjVerVersionThe version. Usually OBJ_VER_VERSION_TYPE_SPECIFIC with internal_version.
sl_info_result.created_by_userint32The creator of this shared Link.
sl_info_result.file_verFileVerThe file version referenced by the shared link.
sl_info_result.file_ver.file_idFileIDThe file.
sl_info_result.file_ver.typeFileVerTypeFILE_VER_TYPE_SPECIFIC for a file version number.Values: FILE_VER_TYPE_UNINITIALIZED (0), FILE_VER_TYPE_LATEST (1), FILE_VER_TYPE_ANY (2), FILE_VER_TYPE_SPECIFIC (3).
sl_info_result.file_ver.internal_versionint32The file version number.
sl_info_result.file_ver.external_repository_versionstringUsed only for files in external repositories. Leave empty.
sl_info_result.file_ver.external_repository_sort_keyint64Used only for files in external repositories. Leave 0.
sl_info_result.shared_link_typeSharedLinkTypeType of the shared link.Values: SHARED_LINK_TYPE_READ_ONLY (0), SHARED_LINK_TYPE_CO_AUTHORING (1), SHARED_LINK_TYPE_WOPIREADONLY (2), SHARED_LINK_TYPE_WOPIEDIT (3), SHARED_LINK_TYPE_VISITOR (4), SHARED_LINK_TYPE_EXTERNAL (5).
sl_info_result.is_anyone_access_grantedboolTrue if any user has granted public access to the document.
sl_info_result.anyone_access_granted_by_userint32The user who has granted public access to the document.
sl_info_result.external_shared_link_access_typeExternalSharedLinkAccessTypeAccess type of the external shared link.Values: EXTERNAL_SHARED_LINK_ACCESS_TYPE_UNINITIALIZED (0), EXTERNAL_SHARED_LINK_ACCESS_TYPE_DOWNLOAD (1), EXTERNAL_SHARED_LINK_ACCESS_TYPE_PREVIEW (2), EXTERNAL_SHARED_LINK_ACCESS_TYPE_EDIT (3).
sl_info_result.created_by_user_namestringThe user who created the shared link.
sl_info_result.anyone_access_granted_by_user_namestringThe user who granted public access.