# IRPCVault.GetAllMetadataStructureItemIdswithAliases

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Vault API](https://developer.m-files.com/APIs/gRPC-API/vault/index.md) > [Vault information](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/index.md)

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

Badges: `Vault API / core` `read` `session or assertion` `idempotent` `returns metadata structure version`

Gets all unambiguous alias-to-ID mappings of one kind of metadata structure item, or of all
kinds, as typed lists.

- **Service:** [Vault information](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/index.md) `MFiles.IRPCVault`
- **gRPC method:** `/MFiles.IRPCVault/GetAllMetadataStructureItemIdswithAliases`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/get-all-metadata-structure-item-idswith-aliases`
- **Request:** [`GetAllMetadataStructureItemIdswithAliasesRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetAllMetadataStructureItemIdswithAliases/index.md#request)
- **Response:** [`GetAllMetadataStructureItemIdswithAliasesResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetAllMetadataStructureItemIdswithAliases/index.md#response)
- **Book and level:** Vault API, core
- **Kind:** read
- **Session:** Required: a session (mfiles-session-id-bin metadata) or a session assertion (x-mf-session-assertion metadata).
- **Idempotent:** yes
- **Returns metadata structure version:** yes (in the mfiles-metadata-version-bin trailer)
- **Streaming:** none (unary)

<a id="remarks"></a>

## Remarks

The typed form of
[GetMetadataStructureItemIdsByAliases](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCVault/GetMetadataStructureItemIdsByAliases/index.md):
one list per kind in `metadata_structure_aliases`, each entry an alias and its ID. Lists of kinds
without aliases are empty. `unambiguous_aliases_only` must be true; false fails with
`E_NOTIMPL`. Fetch once and cache with the metadata structure version.

<a id="request"></a>

## Request: GetAllMetadataStructureItemIdswithAliasesRequest

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

| Field | Type | Description |
|---|---|---|
| `emsi` | [`MetadataStructureItem`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.MetadataStructureItem/index.md) | The kind of item, or `METADATA_STRUCTURE_ITEM_ALL` for every kind that can have aliases. |
| `unambiguous_aliases_only` | `bool` | Must be true. Aliases used by more than one item of the same kind are left out. |

<a id="response"></a>

## Response: GetAllMetadataStructureItemIdswithAliasesResponse

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

| Field | Type | Description |
|---|---|---|
| `metadata_structure_aliases` | [`MetadataStructureAliases`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.MetadataStructureAliases/index.md) | Receives the output object. |
| `metadata_structure_aliases.class_metadatas[]` | repeated [`StructureAlias`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.StructureAlias/index.md) | StructureAlias array related to the class. |
| `metadata_structure_aliases.class_metadatas[].alias_name` | `string` | The metadata structure item alias name. |
| `metadata_structure_aliases.class_metadatas[].id` | `int32` | The metadata structure item ID. |
| `metadata_structure_aliases.class_metadatas[].allocated_as_new` | `bool` | True if the ID was allocated as new. |
| `metadata_structure_aliases.object_types[]` | repeated [`StructureAlias`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.StructureAlias/index.md) | StructureAlias array related to the objecttype. |
| `metadata_structure_aliases.object_types[].alias_name` | `string` | The metadata structure item alias name. |
| `metadata_structure_aliases.object_types[].id` | `int32` | The metadata structure item ID. |
| `metadata_structure_aliases.object_types[].allocated_as_new` | `bool` | True if the ID was allocated as new. |
| `metadata_structure_aliases.property_defs[]` | repeated [`StructureAlias`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.StructureAlias/index.md) | StructureAlias array related to the propertydef. |
| `metadata_structure_aliases.property_defs[].alias_name` | `string` | The metadata structure item alias name. |
| `metadata_structure_aliases.property_defs[].id` | `int32` | The metadata structure item ID. |
| `metadata_structure_aliases.property_defs[].allocated_as_new` | `bool` | True if the ID was allocated as new. |
| `metadata_structure_aliases.workflows[]` | repeated [`StructureAlias`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.StructureAlias/index.md) | StructureAlias array related to the workflow. |
| `metadata_structure_aliases.workflows[].alias_name` | `string` | The metadata structure item alias name. |
| `metadata_structure_aliases.workflows[].id` | `int32` | The metadata structure item ID. |
| `metadata_structure_aliases.workflows[].allocated_as_new` | `bool` | True if the ID was allocated as new. |
| `metadata_structure_aliases.states[]` | repeated [`StructureAlias`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.StructureAlias/index.md) | StructureAlias array related to the state. |
| `metadata_structure_aliases.states[].alias_name` | `string` | The metadata structure item alias name. |
| `metadata_structure_aliases.states[].id` | `int32` | The metadata structure item ID. |
| `metadata_structure_aliases.states[].allocated_as_new` | `bool` | True if the ID was allocated as new. |
| `metadata_structure_aliases.state_transitions[]` | repeated [`StructureAlias`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.StructureAlias/index.md) | StructureAlias array related to the StateTransition. |
| `metadata_structure_aliases.state_transitions[].alias_name` | `string` | The metadata structure item alias name. |
| `metadata_structure_aliases.state_transitions[].id` | `int32` | The metadata structure item ID. |
| `metadata_structure_aliases.state_transitions[].allocated_as_new` | `bool` | True if the ID was allocated as new. |
| `metadata_structure_aliases.named_acls[]` | repeated [`StructureAlias`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.StructureAlias/index.md) | StructureAlias array related to the NamedACL. |
| `metadata_structure_aliases.named_acls[].alias_name` | `string` | The metadata structure item alias name. |
| `metadata_structure_aliases.named_acls[].id` | `int32` | The metadata structure item ID. |
| `metadata_structure_aliases.named_acls[].allocated_as_new` | `bool` | True if the ID was allocated as new. |
| `metadata_structure_aliases.user_groups[]` | repeated [`StructureAlias`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.StructureAlias/index.md) | StructureAlias array related to the usergroup. |
| `metadata_structure_aliases.user_groups[].alias_name` | `string` | The metadata structure item alias name. |
| `metadata_structure_aliases.user_groups[].id` | `int32` | The metadata structure item ID. |
| `metadata_structure_aliases.user_groups[].allocated_as_new` | `bool` | True if the ID was allocated as new. |
| `metadata_structure_aliases.value_lists[]` | repeated [`StructureAlias`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.StructureAlias/index.md) | StructureAlias array related to the ValueList. |
| `metadata_structure_aliases.value_lists[].alias_name` | `string` | The metadata structure item alias name. |
| `metadata_structure_aliases.value_lists[].id` | `int32` | The metadata structure item ID. |
| `metadata_structure_aliases.value_lists[].allocated_as_new` | `bool` | True if the ID was allocated as new. |

<a id="related"></a>

## Related methods

- [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.
