# API reference

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md)

HTML version: https://developer.m-files.com/APIs/gRPC-API/Reference/

- [All messages](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/index.md)
- [All enums](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/index.md)

<a id="services"></a>

## Services

| Service | Book and level | Methods | Summary |
|---|---|---|---|
| [Server version](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCQueryVersion/index.md) `IRPCQueryVersion` | Vault API, core | 2 | An interface for querying server version information. |
| [Login and sessions](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLogin/index.md) `IRPCLogin` | Vault API, core | 25 | An interface for handling client login & logout operations. |
| [Vaults on a server](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaults/index.md) `IRPCVaults` | Vault API, core | 3 | An interface for enumerating vaults. |
| [Vault information](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/index.md) `IRPCVault` | Vault API, core | 26 | An interface for vault-level information and operations. |
| [Object types](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectTypes/index.md) `IRPCObjectTypes` | Vault API, core | 3 | An interface for reading object types. |
| [Property definitions and classes](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefs/index.md) `IRPCPropertyDefs` | Vault API, core | 4 | An interface for retrieving property definitions. |
| [Value lists](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCValueLists/index.md) `IRPCValueLists` | Vault API, core | 17 | Reads value lists and their items, and lets users add and edit value list items and traditional folders. |
| [Search](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSearch/index.md) `IRPCSearch` | Vault API, core | 14 | An interface for performing searches. |
| [Objects, versions, properties and files](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/index.md) `IRPCObjectOperations` | Vault API, core | 132 | An interface for handling documents and files |
| [Stateless file upload sessions](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCFileTransfer/index.md) `IRPCFileTransfer` | Vault API, standard | 3 | Stateless file upload. No method requires a sticky session. |
| [Streaming file upload](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCFileTransferStreaming/index.md) `IRPCFileTransferStreaming` | Vault API, standard | 2 | File transfer methods that stream the file data. |
| [Views](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCViews/index.md) `IRPCViews` | Vault API, standard | 14 | Reads and maintains the views of the vault: the common views and the calling user's own (private) views. |
| [Server push](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerDataPush/index.md) `IRPCServerDataPush` | Vault API, standard | 2 | A server-to-client channel: the server pushes requests and notifications to a logged-in client over a long-lived stream. |
| [Notification rules](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCNotificationRules/index.md) `IRPCNotificationRules` | Vault API, standard | 4 | Manages notification rules: which events on which objects send the user a notification. |
| [Shared links](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSharedLinks/index.md) `IRPCSharedLinks` | Vault API, standard | 15 | Creates and manages shared links to files for people outside the vault. |
| [Shared links (anonymous access)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSharedLinksPublic/index.md) `IRPCSharedLinksPublic` | Vault API, standard | 7 | Opens and downloads files through shared links, without logging in. |
| [Events and notifications](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCEvents/index.md) `IRPCEvents` | Vault API, standard | 7 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCEventLog/index.md) `IRPCEventLog` | Vault API, standard | 1 | Writes custom entries to the vault's event log. |
| [Thumbnails](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCThumbnails/index.md) `IRPCThumbnails` | Vault API, standard | 2 | Gets thumbnail images of document files and the vault's thumbnail settings. |
| [Languages](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguages/index.md) `IRPCLanguages` | Vault API, standard | 2 | Lists the vault's metadata languages and changes the calling user's vault language. |
| [Named access control lists](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCNamedACLs/index.md) `IRPCNamedACLs` | Vault API, standard | 1 | Lists the named access control lists that the calling user can see. |
| [Named value storage](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCNamedValueStorage/index.md) `IRPCNamedValueStorage` | Vault API, standard | 3 | Reads and writes named values: small key-value settings stored in the vault, grouped by storage type and namespace. |
| [Workspaces](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWorkspace/index.md) `IRPCWorkspace` | Vault API, standard | 3 | Workspace tabs: the views of related objects shown for an object of a given type. |
| [Task pane configurations](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCTaskPaneConfigurations/index.md) `IRPCTaskPaneConfigurations` | Vault API, standard | 4 | Stores the task pane configuration of M-Files Desktop per user and for all users. |
| [Folder UI settings](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCFolderUISettings/index.md) `IRPCFolderUISettings` | Vault API, standard | 7 | Stores the display settings of folders per user and as common defaults. |
| [Substitute users](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSubstituteUsers/index.md) `IRPCSubstituteUsers` | Vault API, standard | 4 | Reads and sets the substitute users of users. |
| [Electronic signatures](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCElectronicSignatures/index.md) `IRPCElectronicSignatures` | Vault API, standard | 2 | An interface for working with electronic signatures. |
| [Sensitivity labels](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCSensitivityLabels/index.md) `IRPCSensitivityLabels` | Vault API, standard | 1 | Reads the Microsoft Purview sensitivity labels of files. |
| [Exported data sets](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExportedDataSets/index.md) `IRPCExportedDataSets` | Vault API, standard | 7 | Reads the exported data sets of the vault and reports their export status (M-Files Reporting). |
| [Data export](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDataExport/index.md) `IRPCDataExport` | Vault API, standard | 5 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCScanningAndOCR/index.md) `IRPCScanningAndOCR` | Vault API, standard | 8 | Runs server-side OCR: converts files to searchable PDF and recognizes text in page areas. |
| [Vault extension methods](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultExtensionMethods/index.md) `IRPCVaultExtensionMethods` | Vault API, standard | 5 | Calls vault extension methods: server-side code in the vault that takes a string and returns a string. |
| [Client scripts and UI extension applications](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCClientScript/index.md) `IRPCClientScript` | Vault API, standard | 16 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCConversationOperations/index.md) `IRPCConversationOperations` | Vault API, standard | 6 | Stores conversations with Aino and their chat turns in the vault, per user. |
| [Aino agents](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCAgent/index.md) `IRPCAgent` | Vault API, standard | 3 | Connects M-Files clients to the Aino agents of M-Files Cloud. |
| [Anonymous login](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCAnonymousLoginOperations/index.md) `IRPCAnonymousLoginOperations` | Vault API, standard | 2 | An interface for managing anonymous authentication operations. |
| [Identities](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIdentityOperations/index.md) `IRPCIdentityOperations` | Vault API, standard | 1 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExtensionAuthentications/index.md) `IRPCExtensionAuthentications` | Vault API, standard | 8 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCTest/index.md) `IRPCTest` | Vault API, standard | 9 | An interface for testing connection between a client and the server. |
| [Server administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCServerAdmin/index.md) `IRPCServerAdmin` | Administration API, specialized | 21 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultsAdmin/index.md) `IRPCVaultsAdmin` | Administration API, specialized | 23 | Creates, attaches, detaches, destroys, upgrades, backs up, restores and copies the vaults of a server, and takes them offline and online. |
| [Vault management (basic)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultsAdminBasic/index.md) `IRPCVaultsAdminBasic` | Administration API, specialized | 7 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultAdmin/index.md) `IRPCVaultAdmin` | Administration API, specialized | 21 | Administers the vault of the session: verify and repair, search indexes, archiving and restoring from archives, and vault-level authentication settings. |
| [Server login accounts](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLoginsAdmin/index.md) `IRPCLoginsAdmin` | Administration API, specialized | 19 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVaultLoginsAdmin/index.md) `IRPCVaultLoginsAdmin` | Administration API, specialized | 17 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCUsersAdmin/index.md) `IRPCUsersAdmin` | Administration API, specialized | 11 | Adds, reads, modifies and removes the user accounts of a vault: who may use the vault, with which vault roles. |
| [User groups](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCUserGroupsAdmin/index.md) `IRPCUserGroupsAdmin` | Administration API, specialized | 12 | Adds, reads, modifies and removes the user groups of a vault and their members. |
| [Object type administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectTypesAdmin/index.md) `IRPCObjectTypesAdmin` | Administration API, specialized | 18 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefsAdmin/index.md) `IRPCPropertyDefsAdmin` | Administration API, specialized | 14 | Administers property definitions and classes: reads their full definitions, adds, modifies and removes them, and starts recalculation of automatic values. |
| [Class groups](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDocClassGroupsAdmin/index.md) `IRPCDocClassGroupsAdmin` | Administration API, specialized | 4 | Administers class groups: reads, adds, modifies and removes the groups that organize document classes. |
| [Workflow administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWorkflowsAdmin/index.md) `IRPCWorkflowsAdmin` | Administration API, specialized | 5 | Administers workflows: reads their full definitions with states and transitions, and adds, modifies and removes them. |
| [Common views administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCViewsAdmin/index.md) `IRPCViewsAdmin` | Administration API, specialized | 1 | Reads the common views and every user's private views of a vault, for administrators. |
| [Named access control list administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCNamedACLsAdmin/index.md) `IRPCNamedACLsAdmin` | Administration API, specialized | 5 | Adds, reads, modifies and removes the named access control lists (permission templates) of a vault. |
| [Language administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLanguagesAdmin/index.md) `IRPCLanguagesAdmin` | Administration API, specialized | 5 | Adds, modifies and removes the languages of a vault, and reads and writes the translations of its metadata structure names. |
| [Event handlers](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCEventHandlersAdmin/index.md) `IRPCEventHandlersAdmin` | Administration API, specialized | 4 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCEventsAdmin/index.md) `IRPCEventsAdmin` | Administration API, specialized | 13 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCScheduledJobsAdmin/index.md) `IRPCScheduledJobsAdmin` | Administration API, specialized | 10 | Lists, adds, changes, removes, starts and cancels scheduled jobs of the server or of a vault. |
| [Background operations](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCBackgroundOperationsAdmin/index.md) `IRPCBackgroundOperationsAdmin` | Administration API, specialized | 9 | Monitors the vault's background work: refreshes of external object types and external locations, and the queue of asynchronous tasks. |
| [Exported data set administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExportedDataSetsAdmin/index.md) `IRPCExportedDataSetsAdmin` | Administration API, specialized | 9 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCExternalLocationsAdmin/index.md) `IRPCExternalLocationsAdmin` | Administration API, specialized | 6 | Administers the vault's external sources: file folders and mail boxes from which the server imports or links content. |
| [Thumbnail administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCThumbnailsAdmin/index.md) `IRPCThumbnailsAdmin` | Administration API, specialized | 1 | Discards the thumbnail images stored in a vault. |
| [Web access administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWebAccessAdmin/index.md) `IRPCWebAccessAdmin` | Administration API, specialized | 7 | Sets up M-Files Web in Internet Information Services (IIS) on the server computer. |
| [License management](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCLicenseManagement/index.md) `IRPCLicenseManagement` | Administration API, specialized | 6 | Reads and sets the server's license, its usage, and whether licensed features such as OCR or M-Files Web are available. |
| [Monitoring status](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCMonitoringStatus/index.md) `IRPCMonitoringStatus` | Administration API, specialized | 3 | Reads the vault's monitoring indicators; currently the status of the search indexes. |
| [Declarative metadata structure](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDeclarativeMetadataStructure/index.md) `IRPCDeclarativeMetadataStructure` | Administration API, specialized | 8 | Reads and validates the whole metadata structure of a vault as one declarative JSON document. Preview feature, off by default. |
| [Declarative metadata structure (protobuf)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDeclarativeMetadataStructureAsProtobuf/index.md) `IRPCDeclarativeMetadataStructureAsProtobuf` | Administration API, specialized | 4 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCCloudManagementApiOperations/index.md) `IRPCCloudManagementApiOperations` | Administration API, specialized | 1 | Gets the identity of the server in M-Files Manage, for client features that call M-Files cloud services. |
| [Indexing data source](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource/index.md) `IRPCIndexingDataSource` | Server integration API, specialized | 21 | An interface for retrieving data for indexing. |
| [Indexing data source (version 2)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource2/index.md) `IRPCIndexingDataSource2` | Server integration API, specialized | 5 | More methods for search indexers, continuing [IRPCIndexingDataSource](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCIndexingDataSource/index.md). |
| [Monitoring data points](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCMonitoringDatapointsSink/index.md) `IRPCMonitoringDatapointsSink` | Server integration API, specialized | 4 | Receives the progress and status data points that the M-Files indexing service reports about each index of the vault. |
| [Application task queue](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCApplicationTaskQueue/index.md) `IRPCApplicationTaskQueue` | Server integration API, specialized | 12 | Persistent task queues and broadcast messages that vault applications use to share background work between the server instances of a vault. |
| [Replication packages](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCReplicationPackages/index.md) `IRPCReplicationPackages` | Server integration API, specialized | 2 | Lists and deletes the content replication packages that wait in cloud storage for import into the vault. |
| [WOPI operations](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWOPIOperations/index.md) `IRPCWOPIOperations` | Server integration API, specialized | 3 | 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)](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWOPIOperationsPublic/index.md) `IRPCWOPIOperationsPublic` | Server integration API, specialized | 15 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWebCompanionOperation/index.md) `IRPCWebCompanionOperation` | Server integration API, specialized | 1 | Registers an M-Files Web Companion installation with a vault. |
| [Web companion tasks](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCWebCompanionTaskOperation/index.md) `IRPCWebCompanionTaskOperation` | Server integration API, specialized | 2 | 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](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDocumentOperationsFileIOInternal/index.md) `IRPCDocumentOperationsFileIOInternal` | Server integration API, specialized | 2 | Server-to-server variants of file upload commit and file size checks. |
| [Ground Link channel](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCGroundLink/index.md) `IRPCGroundLink` | Server integration API, specialized | 1 | 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. |
