# M-Files gRPC API > Reference and guides for the M-Files Server gRPC API 26.11: 78 services and 712 methods in package MFiles. Every page is available as Markdown: the links below point to those Markdown twins (index.md). Call the API natively over gRPC (HTTP/2) with the published .proto files; this is the recommended way. Browsers and other clients that cannot speak HTTP/2 gRPC can use mf-http-grpc, which serves the same methods at routes such as `POST /grpc/v1/get-object-types` (the method name in kebab case). Each method page lists the gRPC path, the mf-http-grpc route, session requirement, idempotency, and the flattened request and response fields. The gRPC API is the complete interface to M-Files Server. The COM API and the REST API of developer.m-files.com are layers on top of it and expose much, but not all, of what it offers. The API evolves with M-Files Server: most changes are additions, and methods can also be deprecated or removed. See [Versions and compatibility](https://developer.m-files.com/APIs/gRPC-API/runtime/versioning/index.md). ## Start here - [Python quickstart](https://developer.m-files.com/APIs/gRPC-API/guides/quickstart-python/index.md): From an empty folder to a Python program that logs in to an M-Files vault over gRPC and lists its 10 most recently modified documents, on M-Files Cloud or on-premises. - [C# quickstart](https://developer.m-files.com/APIs/gRPC-API/guides/quickstart-csharp/index.md): From nothing to a .NET console app that logs in to an M-Files vault over gRPC and lists the 10 most recently modified documents, on M-Files Cloud or on-premises. - [Go quickstart](https://developer.m-files.com/APIs/gRPC-API/guides/quickstart-go/index.md): From nothing to a Go program that logs in to an M-Files vault over gRPC and lists the 10 most recently modified documents, on M-Files Cloud or on-premises. - [Connecting to the server](https://developer.m-files.com/APIs/gRPC-API/runtime/connecting/index.md): Endpoints, TLS, HTTP/2, message size and keepalive limits, method paths, and a first anonymous call to check that the server answers. - [Cloud and on-premises](https://developer.m-files.com/APIs/gRPC-API/runtime/deployments/index.md): What differs between M-Files Cloud and an on-premises M-Files Server for a gRPC caller - address, TLS, authentication and the front end. - [Authentication and sessions](https://developer.m-files.com/APIs/gRPC-API/runtime/authentication/index.md): How to log in with each AuthDataType, bind the session to a vault, send the 48-byte session ID, keep the session alive with KeepAlive and close it with LogOut. ## Concepts - [Vault and metadata structure](https://developer.m-files.com/APIs/gRPC-API/concepts/vault-and-metadata-structure/index.md): How an M-Files vault is organized (object types, value lists, classes, property definitions, workflows) and the separate ID spaces that identify them. - [Objects and versions](https://developer.m-files.com/APIs/gRPC-API/concepts/objects-and-versions/index.md): Object and version identity (ObjID, ObjVer), latest versus specific versions, check-out and check-in, files, deleted versus destroyed objects, GUIDs and external IDs. - [Properties and values](https://developer.m-files.com/APIs/gRPC-API/concepts/properties-and-values/index.md): How property values are represented (PropertyValue, TypedValue), how to set each data type including lookups and empty values, and the rules the server enforces. - [Search](https://developer.m-files.com/APIs/gRPC-API/concepts/search/index.md): The search condition model (expression, condition type, value), the conditions you need most with their exact message shapes, and how results, limits, sorting and paging behave. - [Workflows](https://developer.m-files.com/APIs/gRPC-API/concepts/workflows/index.md): Workflows, states and state transitions as metadata; how to read the allowed transitions, change an object's state, and what electronic signatures add. - [Permissions](https://developer.m-files.com/APIs/gRPC-API/concepts/permissions/index.md): Vault-level rights, object ACLs and named ACLs, effective permissions, setting the ACL of a new object, and what "access denied" looks like to a gRPC caller. - [Metadata structure version and caching](https://developer.m-files.com/APIs/gRPC-API/concepts/metadata-structure-version-and-caching/index.md): The vault's metadata structure version (mfiles-metadata-version-bin trailer, GetMetadataStructureVersion), the per-list version numbers, and how to cache the metadata structure safely. ## Runtime conventions - [Call metadata](https://developer.m-files.com/APIs/gRPC-API/runtime/call-metadata/index.md): Every metadata key the server reads or writes - session ID, activity ID, remote-call marker, metadata structure version trailer, cookies - plus deadlines and call importance. - [Errors](https://developer.m-files.com/APIs/gRPC-API/runtime/errors/index.md): How MFServer reports errors over gRPC - status codes, the error trailers, decoding the M-Files error stack, and the common error codes with what to do about each. - [Files](https://developer.m-files.com/APIs/gRPC-API/runtime/files/index.md): How to download and upload file content - download sessions, block sizes, upload sessions and inline content, which method to choose, and the limits that apply. - [Versions and compatibility](https://developer.m-files.com/APIs/gRPC-API/runtime/versioning/index.md): How the API changes between versions, how to find out what a server supports (QueryVersion, GetServerCapabilities), what to send in ClientData, and the compatibility rules that let one client work with older and newer servers. - [HTTP access (mf-http-grpc)](https://developer.m-files.com/APIs/gRPC-API/runtime/http-access/index.md): The JSON-over-HTTP gateway that M-Files Server runs next to its gRPC endpoint for browsers - what it is, how its routes and JSON map to the gRPC API, and why native gRPC is the better choice elsewhere. ## Guides - [Connect, log in and keep the session](https://developer.m-files.com/APIs/gRPC-API/guides/connect/index.md): Check the server version and capabilities anonymously, log in to a vault, read the session information, keep the session alive and log out. - [Read the vault structure](https://developer.m-files.com/APIs/gRPC-API/guides/vault-structure/index.md): List object types, classes and property definitions, find the properties of a class, and resolve the ID of a class or property by its alias. - [Search for documents](https://developer.m-files.com/APIs/gRPC-API/guides/search/index.md): Find the documents of a class modified in the last N days, newest first, with SearchObjects - object type, deletion, class and date conditions, sorting and a limit. - [Read an object and its properties](https://developer.m-files.com/APIs/gRPC-API/guides/read-object/index.md): Get the latest version of an object with all its property values in one call, and print text, number, date, timestamp, lookup and multi-select lookup values. - [Download a file](https://developer.m-files.com/APIs/gRPC-API/guides/download-file/index.md): Download a file of a document version to disk with a download session - DownloadFile_Begin, DownloadFile_ReadBlock in a loop, DownloadFile_Stop. - [Create a document](https://developer.m-files.com/APIs/gRPC-API/guides/create-document/index.md): Upload a file with UploadTempFile and UploadTempFileCommit, then create a single-file document with a class, a title and an access control list with AddObjectWithFiles. - [Update properties safely](https://developer.m-files.com/APIs/gRPC-API/guides/update-properties/index.md): Change property values without overwriting other users' changes - SetProperties on the version you read with fail_if_newer_version_exists, or CheckOut, SetProperties and CheckIn. - [Change the workflow state](https://developer.m-files.com/APIs/gRPC-API/guides/workflow-state/index.md): Read a workflow's states and the transitions the user may take from an object's current state, and move the object to another state by setting its State property. - [Page through large result sets](https://developer.m-files.com/APIs/gRPC-API/guides/paging/index.md): Visit every object that matches a search, page by page, by sorting on object ID and asking each page for the objects after the last ID of the previous one. - [Handle errors](https://developer.m-files.com/APIs/gRPC-API/guides/errors/index.md): Catch a failed call, decode the M-Files error code from the error trailers, and tell "not found" and "access denied" apart from other errors. ## Vault API: core services - [Server version (IRPCQueryVersion)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCQueryVersion/index.md): An interface for querying server version information. - [IRPCQueryVersion.QueryVersion](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCQueryVersion/QueryVersion/index.md): Gets the server version and the oldest client version the server accepts. - [Login and sessions (IRPCLogin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLogin/index.md): An interface for handling client login & logout operations. - [IRPCLogin.GetServerCapabilities](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLogin/GetServerCapabilities/index.md): Gets the features the server supports, without logging in. - [IRPCLogin.GetAuthenticationConfiguration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLogin/GetAuthenticationConfiguration/index.md): Tells a client, before login, whether to authenticate with an authentication plug-in (single sign-on) and returns the plug-in's client-side configuration. - [IRPCLogin.LogIn](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLogin/LogIn/index.md): Authenticates the caller and opens a session to a vault, or to the server when the vault GUID is all zeros. - [IRPCLogin.LogInWithSession](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLogin/LogInWithSession/index.md): Opens a new session to a vault (or the server) for the user of an existing session, without authenticating again. - [IRPCLogin.KeepAlive](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLogin/KeepAlive/index.md): Tells the server that the session is still in use, so that it does not expire. - [IRPCLogin.LogOut](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLogin/LogOut/index.md): Ends the session and releases its license. - [IRPCLogin.GetVaultSessionInfo](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLogin/GetVaultSessionInfo/index.md): Gets basic information about the current vault session: server version and ID, vault GUID and name, and the state of the server push channel. - [Vaults on a server (IRPCVaults)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaults/index.md): An interface for enumerating vaults. - [IRPCVaults.GetVaults](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaults/GetVaults/index.md): Lists the vaults on the server that the session's user can see. - [Vault information (IRPCVault)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/index.md): An interface for vault-level information and operations. - [IRPCVault.GetVault](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetVault/index.md): Gets the GUID, display name and other basic data of the session's vault. - [IRPCVault.GetMetadataStructureItemIdByAlias](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetMetadataStructureItemIdByAlias/index.md): Finds the vault-specific ID of a metadata structure item from one of its aliases. - [IRPCVault.GetMetadataStructureItemIdsByAliases](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetMetadataStructureItemIdsByAliases/index.md): Gets all unambiguous alias-to-ID mappings of one kind of metadata structure item, or of all kinds, as JSON. - [IRPCVault.GetMetadataStructureItemIdByGUID](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetMetadataStructureItemIdByGUID/index.md): Finds the vault-specific ID of a metadata structure item (object type, property definition, class, workflow, ...) from its GUID. - [IRPCVault.GetUsersAndUserGroups](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetUsersAndUserGroups/index.md): Gets all users and normal user groups of the vault as JSON. - [IRPCVault.GetMetadataStructureVersion](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetMetadataStructureVersion/index.md): Gets the version numbers of the vault's metadata structure and of its property definitions. - [Object types (IRPCObjectTypes)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectTypes/index.md): An interface for reading object types. - [IRPCObjectTypes.GetObjectTypes](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectTypes/GetObjectTypes/index.md): Gets all object types (real object types only, not plain value lists), with their icons. - [IRPCObjectTypes.GetObjectType](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectTypes/GetObjectType/index.md): Gets one object type or value list by ID, with its icon. - [Property definitions and classes (IRPCPropertyDefs)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefs/index.md): An interface for retrieving property definitions. - [IRPCPropertyDefs.GetPropertyDefs](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefs/GetPropertyDefs/index.md): Gets all property definitions that the user is allowed to see. - [IRPCPropertyDefs.GetPropertyDef](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefs/GetPropertyDef/index.md): Gets one property definition by ID. - [IRPCPropertyDefs.GetObjectClassesAndGroups](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefs/GetObjectClassesAndGroups/index.md): Gets all classes and class groups that the user is allowed to see. - [IRPCPropertyDefs.GetObjectClass](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefs/GetObjectClass/index.md): Gets one class by ID, with the property definitions associated with it. - [Value lists (IRPCValueLists)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCValueLists/index.md): Reads value lists and their items, and lets users add and edit value list items and traditional folders. - [IRPCValueLists.GetValueLists](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCValueLists/GetValueLists/index.md): Gets all value lists of the vault, including the object types, without icons. - [IRPCValueLists.GetValueList](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCValueLists/GetValueList/index.md): Gets one value list or object type by ID, without its icon. - [IRPCValueLists.GetLookupItems](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCValueLists/GetLookupItems/index.md): Gets the selectable items of one or more value lists or object types in one call, for example to fill lookup controls. - [IRPCValueLists.SearchValueListItemsWithPermissions](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCValueLists/SearchValueListItemsWithPermissions/index.md): Searches the items of one value list or object type by item ID, name, owner, parent or deleted state. - [IRPCValueLists.AddValueListItemFromClient](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCValueLists/AddValueListItemFromClient/index.md): Adds a new item to a value list, as a user. - [Search (IRPCSearch)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSearch/index.md): An interface for performing searches. - [IRPCSearch.SearchObjects](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSearch/SearchObjects/index.md): Searches the vault for objects that match the given conditions. - [IRPCSearch.GetObjectCountInSearch](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSearch/GetObjectCountInSearch/index.md): Counts the objects that match the given conditions without returning them. - [IRPCSearch.GetFacetValues](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSearch/GetFacetValues/index.md): Retrieves the facet values for the documents that satisfy the specified search conditions. - [IRPCSearch.GetFolderContents](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSearch/GetFolderContents/index.md): Lists the contents of a view or a view level: subviews, grouping folders and objects. - [Objects, versions, properties and files (IRPCObjectOperations)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/index.md): An interface for handling documents and files - [IRPCObjectOperations.GetObjectInfoAndProperties](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetObjectInfoAndProperties/index.md): Gets the version information and the property values of one object, either its latest version or a specific version. - [IRPCObjectOperations.GetObjectVersionAndPropertiesOfMultipleObjects](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetObjectVersionAndPropertiesOfMultipleObjects/index.md): Gets the version information and the property values of several objects in one call. The preferred way to read objects. - [IRPCObjectOperations.GetObjectDataOfMultipleObjects](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetObjectDataOfMultipleObjects/index.md): 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. - [IRPCObjectOperations.GetProperties](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetProperties/index.md): Gets the property values of one specific object version. - [IRPCObjectOperations.GetObjectFiles](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetObjectFiles/index.md): Gets the files of a specific object version. - [IRPCObjectOperations.DownloadFile_Begin](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/DownloadFile_Begin/index.md): Opens a download session for a file version and returns its ID, the content size and, on request, its MD5 checksum. - [IRPCObjectOperations.DownloadFile_ReadBlock](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/DownloadFile_ReadBlock/index.md): Reads a block of a file from a download session. - [IRPCObjectOperations.DownloadFile_Stop](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/DownloadFile_Stop/index.md): Closes a download session. - [IRPCObjectOperations.UploadTempFile](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/UploadTempFile/index.md): Uploads a block of a file to a temporary upload session on the server. The upload can then be used as the content of a new object. - [IRPCObjectOperations.UploadTempFileCommit](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/UploadTempFileCommit/index.md): Completes an upload made with UploadTempFile. - [IRPCObjectOperations.AddObjectWithFiles](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/AddObjectWithFiles/index.md): Creates a new object, optionally with its files, and optionally checks it in. - [IRPCObjectOperations.AddObject](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/AddObject/index.md): Creates a new object without files. - [IRPCObjectOperations.CheckOut](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/CheckOut/index.md): Checks out one object. - [IRPCObjectOperations.CheckIn](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/CheckIn/index.md): Checks in one object. - [IRPCObjectOperations.UndoCheckout](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/UndoCheckout/index.md): Undoes the checkout of one object. - [IRPCObjectOperations.SetProperties](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/SetProperties/index.md): Adds, replaces or removes property values of an object. - [IRPCObjectOperations.SetPropertiesMultiple](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/SetPropertiesMultiple/index.md): If the object is currently checked in, a new checked-in version is created. If the object is currently checked out, the changes are applied to the checked-out version. - [IRPCObjectOperations.AddObjectFile](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/AddObjectFile/index.md): Adds new document file to a document. - [IRPCObjectOperations.GetObjectHistory](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetObjectHistory/index.md): Lists the existing versions of an object, oldest first. - [IRPCObjectOperations.GetWorkflowStates](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetWorkflowStates/index.md): Gets the states of the given workflow in the appropriate order. - [IRPCObjectOperations.GetWorkflowStatesAndTransitions](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetWorkflowStatesAndTransitions/index.md): Gets the states and transitions of the given workflow. - [IRPCObjectOperations.GetEffectivePermissions](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetEffectivePermissions/index.md): Gets the effective permissions of a document. - [IRPCObjectOperations.RemoveObject](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/RemoveObject/index.md): Removes one object i.e. marks it deleted. - [IRPCObjectOperations.UndeleteObject](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/UndeleteObject/index.md): Undeletes a previously removed object. - [IRPCObjectOperations.DestroyObject](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/DestroyObject/index.md): Permanently destroys an object, or one version of it. ## Vault API: standard services - [Stateless file upload sessions (IRPCFileTransfer)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCFileTransfer/index.md): Stateless file upload. No method requires a sticky session. - [Streaming file upload (IRPCFileTransferStreaming)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCFileTransferStreaming/index.md): File transfer methods that stream the file data. - [Views (IRPCViews)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCViews/index.md): Reads and maintains the views of the vault: the common views and the calling user's own (private) views. - [Server push (IRPCServerDataPush)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerDataPush/index.md): A server-to-client channel: the server pushes requests and notifications to a logged-in client over a long-lived stream. - [Notification rules (IRPCNotificationRules)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCNotificationRules/index.md): Manages notification rules: which events on which objects send the user a notification. - [Shared links (IRPCSharedLinks)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSharedLinks/index.md): Creates and manages shared links to files for people outside the vault. - [Shared links (anonymous access) (IRPCSharedLinksPublic)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSharedLinksPublic/index.md): Opens and downloads files through shared links, without logging in. - [Events and notifications (IRPCEvents)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCEvents/index.md): Reads and sets the user's notification switch, checks whether a user can receive notifications, and sends requests and custom notifications to users. - [Event log (IRPCEventLog)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCEventLog/index.md): Writes custom entries to the vault's event log. - [Thumbnails (IRPCThumbnails)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCThumbnails/index.md): Gets thumbnail images of document files and the vault's thumbnail settings. - [Languages (IRPCLanguages)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguages/index.md): Lists the vault's metadata languages and changes the calling user's vault language. - [Named access control lists (IRPCNamedACLs)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCNamedACLs/index.md): Lists the named access control lists that the calling user can see. - [Named value storage (IRPCNamedValueStorage)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCNamedValueStorage/index.md): Reads and writes named values: small key-value settings stored in the vault, grouped by storage type and namespace. - [Workspaces (IRPCWorkspace)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWorkspace/index.md): Workspace tabs: the views of related objects shown for an object of a given type. - [Task pane configurations (IRPCTaskPaneConfigurations)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCTaskPaneConfigurations/index.md): Stores the task pane configuration of M-Files Desktop per user and for all users. - [Folder UI settings (IRPCFolderUISettings)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCFolderUISettings/index.md): Stores the display settings of folders per user and as common defaults. - [Substitute users (IRPCSubstituteUsers)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSubstituteUsers/index.md): Reads and sets the substitute users of users. - [Electronic signatures (IRPCElectronicSignatures)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCElectronicSignatures/index.md): An interface for working with electronic signatures. - [Sensitivity labels (IRPCSensitivityLabels)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSensitivityLabels/index.md): Reads the Microsoft Purview sensitivity labels of files. - [Exported data sets (IRPCExportedDataSets)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExportedDataSets/index.md): Reads the exported data sets of the vault and reports their export status (M-Files Reporting). - [Data export (IRPCDataExport)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/index.md): Reads objects, value list items and property value history in bulk, in batches ordered by ID, for exporting vault data to another system. - [Scanning and OCR (IRPCScanningAndOCR)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCScanningAndOCR/index.md): Runs server-side OCR: converts files to searchable PDF and recognizes text in page areas. - [Vault extension methods (IRPCVaultExtensionMethods)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultExtensionMethods/index.md): Calls vault extension methods: server-side code in the vault that takes a string and returns a string. - [Client scripts and UI extension applications (IRPCClientScript)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCClientScript/index.md): Lists, installs, enables, disables, licenses and removes the applications of the vault: vault applications (server side) and UI extension applications (client side), and downloads their packages and files. - [Conversations (IRPCConversationOperations)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCConversationOperations/index.md): Stores conversations with Aino and their chat turns in the vault, per user. - [Aino agents (IRPCAgent)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCAgent/index.md): Connects M-Files clients to the Aino agents of M-Files Cloud. - [Anonymous login (IRPCAnonymousLoginOperations)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCAnonymousLoginOperations/index.md): An interface for managing anonymous authentication operations. - [Identities (IRPCIdentityOperations)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIdentityOperations/index.md): Lets M-Files cloud services that hand out object and value list item IDs on behalf of a vault ask the vault to replenish their ID ranges. - [Extension authentications (IRPCExtensionAuthentications)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExtensionAuthentications/index.md): Manages the credentials that the vault uses to access external systems, such as external repositories connected to the vault, on behalf of the user. - [Connection and health checks (IRPCTest)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCTest/index.md): An interface for testing connection between a client and the server. ## Administration API: specialized services - [Server administration (IRPCServerAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerAdmin/index.md): Server-wide administration: master database backup and restore, vault backups, server activity, gRPC endpoint certificates, notification (e-mail) settings, server users and the M-Files Manage subscription. - [Vault management (IRPCVaultsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultsAdmin/index.md): Creates, attaches, detaches, destroys, upgrades, backs up, restores and copies the vaults of a server, and takes them offline and online. - [Vault management (basic) (IRPCVaultsAdminBasic)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultsAdminBasic/index.md): Lists the vaults, replica vaults and Ground Link proxy vaults of the server with their administrative details, as far as the caller is allowed to see them. - [Vault administration (IRPCVaultAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultAdmin/index.md): Administers the vault of the session: verify and repair, search indexes, archiving and restoring from archives, and vault-level authentication settings. - [Server login accounts (IRPCLoginsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLoginsAdmin/index.md): Manages the server's login accounts: list, add, modify and remove logins, force logouts, look up Windows accounts and groups, and handle password resets. - [Vault login accounts (IRPCVaultLoginsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultLoginsAdmin/index.md): Manages vault login accounts: login accounts stored in one vault, used on servers that have vault login accounts enabled, such as M-Files Cloud. - [Users (IRPCUsersAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCUsersAdmin/index.md): Adds, reads, modifies and removes the user accounts of a vault: who may use the vault, with which vault roles. - [User groups (IRPCUserGroupsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCUserGroupsAdmin/index.md): Adds, reads, modifies and removes the user groups of a vault and their members. - [Object type administration (IRPCObjectTypesAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectTypesAdmin/index.md): Administers object types and value lists: reads their full definitions, adds, modifies, converts and removes them, and manages value list items with administrator rights. - [Property definition and class administration (IRPCPropertyDefsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefsAdmin/index.md): Administers property definitions and classes: reads their full definitions, adds, modifies and removes them, and starts recalculation of automatic values. - [Class groups (IRPCDocClassGroupsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDocClassGroupsAdmin/index.md): Administers class groups: reads, adds, modifies and removes the groups that organize document classes. - [Workflow administration (IRPCWorkflowsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWorkflowsAdmin/index.md): Administers workflows: reads their full definitions with states and transitions, and adds, modifies and removes them. - [Common views administration (IRPCViewsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCViewsAdmin/index.md): Reads the common views and every user's private views of a vault, for administrators. - [Named access control list administration (IRPCNamedACLsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCNamedACLsAdmin/index.md): Adds, reads, modifies and removes the named access control lists (permission templates) of a vault. - [Language administration (IRPCLanguagesAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguagesAdmin/index.md): Adds, modifies and removes the languages of a vault, and reads and writes the translations of its metadata structure names. - [Event handlers (IRPCEventHandlersAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCEventHandlersAdmin/index.md): Reads and replaces the event handlers of a vault or of the server: VBScript code that the server runs when an event occurs. - [Event administration (IRPCEventsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCEventsAdmin/index.md): Reads, exports and deletes the vault's event log, turns event logging on or off, and stores the caller's saved event log filters. - [Scheduled jobs (IRPCScheduledJobsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCScheduledJobsAdmin/index.md): Lists, adds, changes, removes, starts and cancels scheduled jobs of the server or of a vault. - [Background operations (IRPCBackgroundOperationsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCBackgroundOperationsAdmin/index.md): Monitors the vault's background work: refreshes of external object types and external locations, and the queue of asynchronous tasks. - [Exported data set administration (IRPCExportedDataSetsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExportedDataSetsAdmin/index.md): Manages the vault's exported data sets: the definitions of the vault data that M-Files Reporting Data Services exports to a reporting database. - [External locations (IRPCExternalLocationsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExternalLocationsAdmin/index.md): Administers the vault's external sources: file folders and mail boxes from which the server imports or links content. - [Thumbnail administration (IRPCThumbnailsAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCThumbnailsAdmin/index.md): Discards the thumbnail images stored in a vault. - [Web access administration (IRPCWebAccessAdmin)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWebAccessAdmin/index.md): Sets up M-Files Web in Internet Information Services (IIS) on the server computer. - [License management (IRPCLicenseManagement)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLicenseManagement/index.md): Reads and sets the server's license, its usage, and whether licensed features such as OCR or M-Files Web are available. - [Monitoring status (IRPCMonitoringStatus)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCMonitoringStatus/index.md): Reads the vault's monitoring indicators; currently the status of the search indexes. - [Declarative metadata structure (IRPCDeclarativeMetadataStructure)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDeclarativeMetadataStructure/index.md): Reads and validates the whole metadata structure of a vault as one declarative JSON document. Preview feature, off by default. - [Declarative metadata structure (protobuf) (IRPCDeclarativeMetadataStructureAsProtobuf)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDeclarativeMetadataStructureAsProtobuf/index.md): Reads and replaces the whole metadata structure of a vault as one typed message. Preview feature, off by default; for the declarative configuration converter. - [Cloud management (IRPCCloudManagementApiOperations)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCCloudManagementApiOperations/index.md): Gets the identity of the server in M-Files Manage, for client features that call M-Files cloud services. ## Server integration API: specialized services - [Indexing data source (IRPCIndexingDataSource)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource/index.md): An interface for retrieving data for indexing. - [Indexing data source (version 2) (IRPCIndexingDataSource2)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource2/index.md): More methods for search indexers, continuing IRPCIndexingDataSource. - [Monitoring data points (IRPCMonitoringDatapointsSink)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCMonitoringDatapointsSink/index.md): Receives the progress and status data points that the M-Files indexing service reports about each index of the vault. - [Application task queue (IRPCApplicationTaskQueue)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCApplicationTaskQueue/index.md): Persistent task queues and broadcast messages that vault applications use to share background work between the server instances of a vault. - [Replication packages (IRPCReplicationPackages)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCReplicationPackages/index.md): Lists and deletes the content replication packages that wait in cloud storage for import into the vault. - [WOPI operations (IRPCWOPIOperations)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWOPIOperations/index.md): Creates the access tokens with which Office for the web (WOPI) opens vault files, and returns the Office for the web actions that the vault can use. - [WOPI operations (anonymous) (IRPCWOPIOperationsPublic)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWOPIOperationsPublic/index.md): File, lock and session operations for Office for the web (WOPI), authorized by a WOPI access token instead of an M-Files session. - [Web companion (IRPCWebCompanionOperation)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWebCompanionOperation/index.md): Registers an M-Files Web Companion installation with a vault. - [Web companion tasks (IRPCWebCompanionTaskOperation)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWebCompanionTaskOperation/index.md): Passes "open this file in a desktop application" tasks from M-Files Web to M-Files Web Companion. - [Document file I/O for server components (IRPCDocumentOperationsFileIOInternal)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDocumentOperationsFileIOInternal/index.md): Server-to-server variants of file upload commit and file size checks. - [Ground Link channel (IRPCGroundLink)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCGroundLink/index.md): The M-Files Ground Link channel: a long-lived two-way stream between a Ground Link proxy and the M-Files Server that hosts the vault, typically in M-Files Cloud. ## Full text and indexes - [Vault API, full text](https://developer.m-files.com/APIs/gRPC-API/llms-full-vault.txt): every page of the Vault API (services and methods) as one Markdown file - [Administration API, full text](https://developer.m-files.com/APIs/gRPC-API/llms-full-admin.txt): every page of the Administration API (services and methods) as one Markdown file - [Server integration API, full text](https://developer.m-files.com/APIs/gRPC-API/llms-full-integration.txt): every page of the Server integration API (services and methods) as one Markdown file - [Concepts, runtime and guides, full text](https://developer.m-files.com/APIs/gRPC-API/llms-full-guides.txt): every concept, runtime and guide page as one Markdown file - [Method index](https://developer.m-files.com/APIs/gRPC-API/methods.txt): one line per method: name | book/level | kind | session | summary | Markdown URL - [Method index (JSON lines)](https://developer.m-files.com/APIs/gRPC-API/methods.jsonl): the same facts plus request and response types - [API bundle](https://developer.m-files.com/APIs/gRPC-API/downloads/mfiles-grpc-api-bundle.zip): the .proto files and the runnable Python, C# and Go samples (proto/ and samples/) - [Proto files](https://developer.m-files.com/APIs/gRPC-API/downloads/mfiles-grpc-api-proto.zip): the .proto files of the API - [All messages](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/index.md): index of every message type - [All enums](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/index.md): index of every enum