# IndirectionLevel

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.IndirectionLevel/

Property definition or object type

- **Full name:** `MFiles.IndirectionLevel`
- **Proto file:** [`mfiles/structs.proto`](https://developer.m-files.com/APIs/gRPC-API/downloads/proto/mfiles/structs.proto)
- **Nested types:** [`IndirectionLevel.IndirectionLevelType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.IndirectionLevel.IndirectionLevelType/index.md)

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

## Fields

| Field | Type | Number | Description |
|---|---|---|---|
| <a id="f-type"></a>`type` | `bool` | 1 | True if `id` is a property definition ID; false if it is an object type ID. An object type level follows a reference to an object of that type through any property. |
| <a id="f-id"></a>`id` | `int32` | 2 | The property definition ID or object type ID to follow. |

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

## Used in fields

- [`Expression.indirection_levels`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.Expression/index.md#f-indirection_levels): The lookups to follow before evaluating the expression, from the searched object outwards. Empty evaluates the expression on the object itself.
