Concepts
The M-Files model behind the API: vaults and their metadata structure, objects and versions, properties, search, permissions and workflows.
- Vault and metadata structure -- 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 -- 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 -- 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 -- 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 -- Workflows, states and state transitions as metadata; how to read the allowed transitions, change an object's state, and what electronic signatures add.
- Permissions -- 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 -- 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.