# IRPCObjectOperations.GetStateTransitionSignatureSettings

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) > [Objects, versions, properties and files](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/index.md)

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

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

Gets the signature settings for a state transition.

- **Service:** [Objects, versions, properties and files](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/index.md) `MFiles.IRPCObjectOperations`
- **gRPC method:** `/MFiles.IRPCObjectOperations/GetStateTransitionSignatureSettings`
- **HTTP (mf-http-grpc):** `POST /grpc/v1/get-state-transition-signature-settings`
- **Request:** [`GetStateTransitionSignatureSettingsRequest`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetStateTransitionSignatureSettings/index.md#request)
- **Response:** [`GetStateTransitionSignatureSettingsResponse`](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/GetStateTransitionSignatureSettings/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

Tells whether a state transition requires an electronic signature and what the signature must
contain. Give `state_transition_id`, or -1 and the `from_state` and `to_state`. `found` is true if
the transition exists. Signing is done with the `signature` field of
[SetProperties](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/SetProperties/index.md).

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

## Request: GetStateTransitionSignatureSettingsRequest

> 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 |
|---|---|---|
| `state_transition_id` | `int32` | StateTransition ID. Ignored if -1. |
| `from_state` | `int32` | FromState ID. Ignored if lStateTransitionID is given. |
| `to_state` | `int32` | ToState ID. Ignored if lStateTransitionID is given. |

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

## Response: GetStateTransitionSignatureSettingsResponse

> 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 |
|---|---|---|
| `found` | `bool` | Receives true if the state transition was found. |
| `settings` | [`ElectronicSignatureSettings`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ElectronicSignatureSettings/index.md) | Receives the signature settings. |
| `settings.is_required` | `bool` | True if this transition requires an electronic signature. |
| `settings.prompt_mode` | [`ElectronicSignaturePromptMode`](https://developer.m-files.com/APIs/gRPC-API/Reference/Enums/MFiles.ElectronicSignaturePromptMode/index.md) | Option 1: static reason/meaning. Values: `ELECTRONIC_SIGNATURE_PROMPT_MODE_FIXED` (0), `ELECTRONIC_SIGNATURE_PROMPT_MODE_SELECTABLE` (1). |
| `settings.fixed_prompt_details` | [`ElectronicSignaturePromptInfo`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ElectronicSignaturePromptInfo/index.md) | Option 2: Pre-defined reason |
| `settings.fixed_prompt_details.reason` | `string` | Reason text for the signature. This is typically a short description such as "Authorization for Use". |
| `settings.fixed_prompt_details.meaning` | `string` | Meaning text for the signature. This is typically a longer description such as "I have reviewed the document and authorize it for use". |
| `settings.selectable_prompt_details[]` | repeated [`ElectronicSignaturePromptInfo`](https://developer.m-files.com/APIs/gRPC-API/Reference/Messages/MFiles.ElectronicSignaturePromptInfo/index.md) | Option 3: Metadata-based reason/meaning. |
| `settings.selectable_prompt_details[].reason` | `string` | Reason text for the signature. This is typically a short description such as "Authorization for Use". |
| `settings.selectable_prompt_details[].meaning` | `string` | Meaning text for the signature. This is typically a longer description such as "I have reviewed the document and authorize it for use". |
| `settings.user_selectable_reason_meaning_items_property_def` | `int32` | A property definition that represents items in value list. Used if the prompt mode is eesrmpmPromptModeMetadataBasedUserSelectable. |
| `settings.user_selectable_reason_property_def` | `int32` | A property definition that indicates the reason property. PROPERTYDEF_UNINITIALIZED if no reason is specified. Used if the prompt mode is eesrmpmPromptModeMetadataBasedUserSelectable. |
| `settings.user_selectable_meaning_property_def` | `int32` | A property definition that indicates the meaning property. PROPERTYDEF_UNINITIALIZED if no meaning is specified. Used if the prompt mode is eesrmpmPromptModeMetadataBasedUserSelectable. |
| `settings.add_metadata_reference_to_reason_meaning_item` | `bool` | Common prompt details. |
| `settings.prompt_free_form_text` | `bool` | True if a free-form text is prompted with the signature. |
| `settings.free_form_text_property_def` | `int32` | Signature details. boolean bFillReasonPropertyText;  //!< Optional? boolean bFillMeaningPropertyText;  //!< Optional? |
| `settings.manifestation_additional_info` | `string` | Additional information for the manifestation text for the signature. This is not shown to the user when signing. |
| `settings.create_separate_signature_object` | `bool` | True if the electronic signature shall be stored as a separate signature object. False to store as an embedded signature in a multi-line text property. |
| `settings.manifestation_property_def` | `int32` | Property definition to be used for storing the signature manifestation on the object. Ignored if bCreateSeparateSignatureObject is true. |
| `settings.signature_identifier` | `string` | Signature identifier. Required if bCreateSeparateSignatureObject is true. |

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

## Related methods

- [SetProperties](https://developer.m-files.com/APIs/gRPC-API/Reference/MFiles.IRPCObjectOperations/SetProperties/index.md): Adds, replaces or removes property values of an object.
