# DeclarativeMetadataStructure

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

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

DeclarativeMetadataStructure structure.

- **Full name:** `MFiles.DeclarativeMetadataStructure`
- **Proto file:** [`mfiles/structs.proto`](https://developer.m-files.com/APIs/gRPC-API/downloads/proto/mfiles/structs.proto)

<a id="fields"></a>

## Fields

| Field | Type | Number | Description |
|---|---|---|---|
| <a id="f-revision"></a>`revision` | `int32` | 1 | Base revision. This is meaningful only if Revision is negative, indicating that the metadata structure is based on a local MFServer revision. In that case, this property indicates the actual revision that the local revision is based on. It may also be zero, which means that there has not been any actual revision deployed to MFServer, and the local revision is based on the initial state of MFServer before any revisions have been deployed. |
| <a id="f-revision_base"></a>`revision_base` | `int32` | 2 | Actual revision-based metadata structure. |
| <a id="f-object_types"></a>`object_types` | repeated [`ObjectTypeDecl`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectTypeDecl/index.md) | 3 | An array of the ObjectTypeDecl structures. |
| <a id="f-value_lists"></a>`value_lists` | repeated [`ObjectTypeDecl`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectTypeDecl/index.md) | 4 | An array of the ObjectTypeDecl structures. |
| <a id="f-classes"></a>`classes` | repeated [`ObjectClassDecl`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectClassDecl/index.md) | 5 | An array of the ObjectClassDecl structures. |
| <a id="f-class_groups"></a>`class_groups` | repeated [`ObjectClassGroupDecl`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ObjectClassGroupDecl/index.md) | 6 | An array of the ObjectClassGroupDecl structures. |
| <a id="f-property_defs"></a>`property_defs` | repeated [`PropertyDefDecl`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.PropertyDefDecl/index.md) | 7 | An array of the PropertyDefDecl structures. |
| <a id="f-workflows"></a>`workflows` | repeated [`WorkflowDecl`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.WorkflowDecl/index.md) | 8 | An array of the WorkflowDecl structures. |
| <a id="f-named_acls"></a>`named_acls` | repeated [`NamedAclDecl`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.NamedAclDecl/index.md) | 9 | Users and UserGroups as references. |
| <a id="f-user_accounts"></a>`user_accounts` | repeated [`UserAccountDecl`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.UserAccountDecl/index.md) | 10 | An array of the UserAccount structures. |
| <a id="f-user_groups"></a>`user_groups` | repeated [`UserGroupDecl`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.UserGroupDecl/index.md) | 11 | Value list items as references. |
| <a id="f-value_list_items"></a>`value_list_items` | repeated [`ValueListItemDecl`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ValueListItemDecl/index.md) | 12 | Named references for all the above elements. |
| <a id="f-named_references"></a>`named_references` | repeated [`MetadataStructureNamedReference`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.MetadataStructureNamedReference/index.md) | 13 | Vault languages. The entry with pwszLanguageCode="" is the default language. |
| <a id="f-languages"></a>`languages` | repeated [`Language`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.Language/index.md) | 14 | An array of the Language structures defining the vault languages. |
| <a id="f-unknown_json"></a>`unknown_json` | `string` | 15 | Opaque JSON object of schema-recognized, converter-unmapped top-level properties, keyed by original property name. |

<a id="used-by-methods"></a>

## Used by methods

- [IRPCDeclarativeMetadataStructureAsProtobuf.GetDeclarativeMetadataStructureAsProtobuf](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDeclarativeMetadataStructureAsProtobuf/GetDeclarativeMetadataStructureAsProtobuf/index.md): Gets the vault's current metadata structure as one typed message.
- [IRPCDeclarativeMetadataStructureAsProtobuf.SetDeclarativeMetadataStructureAsProtobuf](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDeclarativeMetadataStructureAsProtobuf/SetDeclarativeMetadataStructureAsProtobuf/index.md): Replaces the vault's metadata structure with the given structure.

<a id="used-in-fields"></a>

## Used in fields

- [`GetDeclarativeMetadataStructureAsProtobufResponse.mds`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDeclarativeMetadataStructureAsProtobuf/GetDeclarativeMetadataStructureAsProtobuf/index.md#response): The complete metadata structure.
- [`SetDeclarativeMetadataStructureAsProtobufRequest.mds`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCDeclarativeMetadataStructureAsProtobuf/SetDeclarativeMetadataStructureAsProtobuf/index.md#request): The complete new metadata structure.
