# IRPCPropertyDefsAdmin.GetPropertyDefAdmin

Location: [gRPC API](https://developer.m-files.com/APIs/gRPC-API/index.md) > [Administration API](https://developer.m-files.com/APIs/gRPC-API/admin/index.md) > [Property definition and class administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefsAdmin/index.md)

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

Badges: `Administration API / specialized` `admin` `session`

Gets the administrative definition of one property definition.

- **Service:** [Property definition and class administration](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefsAdmin/index.md) `MFiles.IRPCPropertyDefsAdmin`
- **gRPC method:** `/MFiles.IRPCPropertyDefsAdmin/GetPropertyDefAdmin`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/get-property-def-admin`
- **Request:** [`GetPropertyDefAdminRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefsAdmin/GetPropertyDefAdmin/index.md#request)
- **Response:** [`GetPropertyDefAdminResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCPropertyDefsAdmin/GetPropertyDefAdmin/index.md#response)
- **Book and level:** Administration API, specialized
- **Kind:** admin
- **Session:** Required: the session ID from LogIn in the mfiles-session-id-bin metadata.
- **Idempotent:** no
- **Returns metadata structure version:** no
- **Streaming:** none (unary)

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

## Remarks

- Requires `read_all_metadata_structure`; a normal user gets "Access denied.".
- An unknown ID fails with `Unknown property definition "<id>".`.

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

## Request: GetPropertyDefAdminRequest

> 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 |
|---|---|---|
| `property_def` | `int32` | The ID of the property definition. |

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

## Response: GetPropertyDefAdminResponse

> 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 |
|---|---|---|
| `ppropdefadmin` | [`PropertyDefAdmin`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.PropertyDefAdmin/index.md) | The definition. See [PropertyDefAdmin](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.PropertyDefAdmin/index.md). |
| `ppropdefadmin.property_def` | [`PropertyDef`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.PropertyDef/index.md) | Basic data. |
| `ppropdefadmin.property_def.id` | `int32` | The property definition ID. Built-in property definitions (0 Name or title, 20 Created, 100 Class, ...) have the same ID in every vault. IDs 1-19 are never used by real property definitions. |
| `ppropdefadmin.property_def.name` | `string` | The name of the property. |
| `ppropdefadmin.property_def.tooltip` | `string` | The tip text of this property. |
| `ppropdefadmin.property_def.data_type` | [`Datatype`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.Datatype/index.md) | The data type of the values. Lookup properties use `DATATYPE_LOOKUP` (one item) or `DATATYPE_MULTI_SELECT_LOOKUP` (several items). |
| `ppropdefadmin.property_def.content_type` | [`ContentType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.ContentType/index.md) | Content type (sub-datatype). Values: `CONTENT_TYPE_GENERIC` (0), `CONTENT_TYPE_EMAIL_ADDRESS` (1), `CONTENT_TYPE_URL` (2), `CONTENT_TYPE_RTF` (3), `CONTENT_TYPE_HTML` (4). |
| `ppropdefadmin.property_def.is_based_on_value_list` | `bool` | True for lookup properties; `value_list` then names the list. Test this flag, not `value_list != 0`: 0 is a valid list ID (the Document object type). |
| `ppropdefadmin.property_def.enable_automatic_permissions` | `bool` | True to allow automatic permissions via this property def. |
| `ppropdefadmin.property_def.is_conflict_reference` | `bool` | True if this is the conflict property of the object type in `value_list`. |
| `ppropdefadmin.property_def.disallow_as_grouping_level` | `bool` | True to disallow using this property def as a grouping level in views. |
| `ppropdefadmin.property_def.value_list` | `int32` | With `is_based_on_value_list`, the ID of the value list or object type whose items are the property's values. |
| `ppropdefadmin.property_def.value_list_item_filter[]` | repeated [`SearchCondition`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.SearchCondition/index.md) | A static filter on the items of `value_list`. The server applies it when this property is passed as `filtering_property_def` or `LookupItemRequest.property_def`; such conditions cannot be sent in `search_conditions` directly. |
| `ppropdefadmin.property_def.update_type` | [`UpdateType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.UpdateType/index.md) | The update behaviour of the property. Values: `UPDATE_TYPE_NORMAL` (0), `UPDATE_TYPE_SET_BY_SERVER` (1), `UPDATE_TYPE_SET_BY_CLIENT_CODE` (2). |
| `ppropdefadmin.property_def.automatic_value_type` | [`AutomaticValueType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.AutomaticValueType/index.md) | Defines the type of the automatic value of this field, if any. Values: `AUTOMATIC_VALUE_TYPE_NONE` (0), `AUTOMATIC_VALUE_TYPE_CALCULATE_WITH_TEMPLATE` (1), `AUTOMATIC_VALUE_TYPE_CALCULATED_WITH_CODE` (2), `AUTOMATIC_VALUE_TYPE_FIXED_VALUE_WITH_INCREMENT` (3), `AUTOMATIC_VALUE_TYPE_FIXED_VALUE_WITH_CODE` (4). |
| `ppropdefadmin.property_def.default_value` | [`TypedValue`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.TypedValue/index.md) | If set, specifies a fixed default value for this property. |
| `ppropdefadmin.property_def.icon` | [`Bytes`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.Bytes/index.md) | If set, contains an icon in .ICO format (contains multiple sizes and color depths). |
| `ppropdefadmin.property_def.is_predefined` | `bool` | True if this is a predefined PropertyDef. Predefined PropertyDefs cannot be deleted and modifying them is restricted. |
| `ppropdefadmin.property_def.allow_for_all_object_types` | `bool` | True if this property definition can be used with all object types. |
| `ppropdefadmin.property_def.is_owner` | `bool` | True if this is the owner property of the object type in `value_list`. |
| `ppropdefadmin.property_def.is_default` | `bool` | True if this is the default property of the object type in `value_list` (`ValueList.default_property_def`). |
| `ppropdefadmin.property_def.owner_property_def_info` | [`OwnerPropertyDef`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.OwnerPropertyDef/index.md) | For a lookup property, the property whose value limits this property's values. For example, Workflow State (39) is limited by Workflow (38). A `property_def` of -106 means that the owner property is determined automatically. |
| `ppropdefadmin.property_def.object_type` | `int32` | If `allow_for_all_object_types` is false, the object type whose objects use this property; otherwise ignored. |
| `ppropdefadmin.property_def.acl` | [`AccessControlList`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.AccessControlList/index.md) | If set, specifies the ACL that defines the visibility and editability of this property in objects. |
| `ppropdefadmin.property_def.property_def_permissions` | [`PropertyDefPermissionsForClient`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.PropertyDefPermissionsForClient/index.md) | What the caller may do with values of this property: see them and edit them. Set when the property definition has permissions. |
| `ppropdefadmin.property_def.value_list_sorting_type` | [`VLSortingType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.VLSortingType/index.md) | The sorting type of value list items. Values: `VLSORTING_TYPE_BY_DISPLAY_NAME` (0), `VLSORTING_TYPE_BY_EXTERNAL_ID` (1). |
| `ppropdefadmin.property_def.value_list_sort_ascending` | `bool` | True to sort in ascending order, false to sort in descending order. |
| `ppropdefadmin.property_def.validation_type` | [`ValidationType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.ValidationType/index.md) | How values are validated; `validation_string` holds the rule. Values: `VALIDATION_TYPE_NONE` (0), `VALIDATION_TYPE_REGEX` (1), `VALIDATION_TYPE_CODE` (2). |
| `ppropdefadmin.property_def.validation_string` | `string` | The validation rule; its meaning depends on `validation_type`. |
| `ppropdefadmin.property_def.formatting_type` | [`FormattingType`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.FormattingType/index.md) | How values are formatted; `formatting_string` holds the format. Values: `FORMATTING_TYPE_NONE` (0). |
| `ppropdefadmin.property_def.formatting_string` | `string` | The format; its meaning depends on `formatting_type`. |
| `ppropdefadmin.property_def.guid` | `string` | The GUID of the property definition, with braces. |
| `ppropdefadmin.property_def.options` | [`PROPERTYDEFFLAGS`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.PROPERTYDEFFLAGS/index.md) | Flags such as `can_use_in_search`. See [PROPERTYDEFFLAGS](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.PROPERTYDEFFLAGS/index.md). |
| `ppropdefadmin.automatic_value` | [`AutomaticValue`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.AutomaticValue/index.md) | The definitions for automatic value generation. |
| `ppropdefadmin.automatic_value.automatic_numbering_increment` | `int32` | Simple automatic numbering: Increment. |
| `ppropdefadmin.automatic_value.automatic_numbering_code` | `string` | Automatic numbering with VBScript: VBScript code. |
| `ppropdefadmin.automatic_value.calculated_value_template` | `string` | Simple calculated value: Expression. |
| `ppropdefadmin.automatic_value.calculated_value_code` | `string` | Calculated value with VBScript: VBScript code. |
| `ppropdefadmin.automatic_value.calculation_order` | `int32` | A number that specified calculation order. Properties are calculated from smallest to largest calculation order number. |
| `ppropdefadmin.validation` | [`Validation`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.Validation/index.md) | The definitions for property value validation. |
| `ppropdefadmin.validation.regular_expression` | `string` | A regular expression for the validation. |
| `ppropdefadmin.validation.code` | `string` | VBScript used in the validation. |
| `ppropdefadmin.aliases` | `string` | Semicolon-separated list of semantic aliases for metadata mapping. |
| `ppropdefadmin.tags` | [`NamedValueNamespaces`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.NamedValueNamespaces/index.md) | Names value namespaces related to the property definition. |
| `ppropdefadmin.tags.value[]` | repeated [`NamedValueNamespace`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.NamedValueNamespace/index.md) | An array of the NamedValueNAmespace structures. |
