---
Source: https://docs.microblink.com/platform-web-sdk/v1.8.x/state/types
---

[**Microblink Platform SDK**](../index.md)

***

[Microblink Platform SDK](../index.md) / state/types

# state/types

## Enumerations {/* #enumerations */}

<a id="machineeventtypes"></a>

### MachineEventTypes {/* #machineeventtypes */}

#### Enumeration Members {/* #enumeration-members */}

| Enumeration Member | Value |
| ------ | ------ |
| <a id="abort"></a> `ABORT` | `"abort"` |
| <a id="close_consent_dialog"></a> `CLOSE_CONSENT_DIALOG` | `"close_consent_dialog"` |
| <a id="complete"></a> `COMPLETE` | `"complete"` |
| <a id="consent_given"></a> `CONSENT_GIVEN` | `"consent_given"` |
| <a id="continue"></a> `CONTINUE` | `"continue"` |
| <a id="error"></a> `ERROR` | `"error"` |
| <a id="open_consent_dialog"></a> `OPEN_CONSENT_DIALOG` | `"open_consent_dialog"` |
| <a id="reset"></a> `RESET` | `"reset"` |
| <a id="retry"></a> `RETRY` | `"retry"` |
| <a id="run_d2d"></a> `RUN_D2D` | `"run_d2d"` |
| <a id="set_state"></a> `SET_STATE` | `"set_state"` |
| <a id="start"></a> `START` | `"start"` |
| <a id="submit_feedback"></a> `SUBMIT_FEEDBACK` | `"submit_feedback"` |
| <a id="update_transaction_state"></a> `UPDATE_TRANSACTION_STATE` | `"update_transaction_state"` |
| <a id="update_upload_progress_context"></a> `UPDATE_UPLOAD_PROGRESS_CONTEXT` | `"update_upload_progress_context"` |

***

<a id="machinestates"></a>

### MachineStates {/* #machinestates */}

#### Enumeration Members {/* #enumeration-members-1 */}

| Enumeration Member | Value |
| ------ | ------ |
| <a id="camerapermissionerror"></a> `cameraPermissionError` | `"cameraPermissionError"` |
| <a id="cameraselection"></a> `cameraSelection` | `"cameraSelection"` |
| <a id="cameraselectionerror"></a> `cameraSelectionError` | `"cameraSelectionError"` |
| <a id="capabilityerror"></a> `capabilityError` | `"capabilityError"` |
| <a id="d2dabort"></a> `d2dAbort` | `"d2dAbort"` |
| <a id="d2daddnewdevice"></a> `d2dAddNewDevice` | `"d2dAddNewDevice"` |
| <a id="d2dconnect"></a> `d2dConnect` | `"d2dConnect"` |
| <a id="d2dconnecterror"></a> `d2dConnectError` | `"d2dConnectError"` |
| <a id="d2dflowend"></a> `d2dFlowEnd` | `"d2dFlowEnd"` |
| <a id="d2didle"></a> `d2dIdle` | `"d2dIdle"` |
| <a id="d2dinit"></a> `d2dInit` | `"d2dInit"` |
| <a id="d2diniterror"></a> `d2dInitError` | `"d2dInitError"` |
| <a id="executecapability"></a> `executeCapability` | `"executeCapability"` |
| <a id="executecapabilityerror"></a> `executeCapabilityError` | `"executeCapabilityError"` |
| <a id="flowend"></a> `flowEnd` | `"flowEnd"` |
| <a id="gatherconsent"></a> `gatherConsent` | `"gatherConsent"` |
| <a id="gatherconsenterror"></a> `gatherConsentError` | `"gatherConsentError"` |
| <a id="idle"></a> `idle` | `"idle"` |
| <a id="requestcamerapermissions"></a> `requestCameraPermissions` | `"requestCameraPermissions"` |
| <a id="resumetransaction"></a> `resumeTransaction` | `"resumeTransaction"` |
| <a id="resumetransactionerror"></a> `resumeTransactionError` | `"resumeTransactionError"` |
| <a id="retrysubmitfeedback"></a> `retrySubmitFeedback` | `"retrySubmitFeedback"` |
| <a id="reviewprogress"></a> `reviewProgress` | `"reviewProgress"` |
| <a id="startflow"></a> `startFlow` | `"start"` |
| <a id="starttransaction"></a> `startTransaction` | `"startTransaction"` |
| <a id="starttransactionerror"></a> `startTransactionError` | `"startTransactionError"` |
| <a id="submitfeedback"></a> `submitFeedback` | `"submitFeedback"` |
| <a id="submittransactionerror"></a> `submitTransactionError` | `"submitTransactionError"` |
| <a id="transactioninfo"></a> `transactionInfo` | `"transactionInfo"` |

## Interfaces {/* #interfaces */}

<a id="machinecontext"></a>

### MachineContext {/* #machinecontext */}

#### Properties {/* #properties */}

<a id="apiconfig"></a>

##### apiConfig {/* #apiconfig */}

> **apiConfig**: [`ProxyConfig`](../types.md#proxyconfig) \| [`TransactionConfig`](../types.md#transactionconfig)

<a id="apimanager"></a>

##### apiManager {/* #apimanager */}

> **apiManager**: `ApiManager`

<a id="backcameraid"></a>

##### backCameraId {/* #backcameraid */}

> **backCameraId**: `string`

<a id="consentdata"></a>

##### consentData {/* #consentdata */}

> **consentData**: [`ConsentData`](../types.md#consentdata)

<a id="currentinstruction"></a>

##### currentInstruction {/* #currentinstruction */}

> **currentInstruction**: [`InstructionParams`](../api/types.md#instructionparams)

<a id="currentinstructionfeedback"></a>

##### currentInstructionFeedback {/* #currentinstructionfeedback */}

> **currentInstructionFeedback**: [`InstructionFeedback`](../api/types.md#instructionfeedback)

<a id="d2dabandoned"></a>

##### d2dAbandoned {/* #d2dabandoned */}

> **d2dAbandoned**: `boolean`

<a id="d2dqrcodeautogencount"></a>

##### d2dQrCodeAutogenCount {/* #d2dqrcodeautogencount */}

> **d2dQrCodeAutogenCount**: `number`

<a id="d2dqrcodeexpiresat"></a>

##### d2dQrCodeExpiresAt {/* #d2dqrcodeexpiresat */}

> **d2dQrCodeExpiresAt**: `Date`

<a id="d2durl"></a>

##### d2dUrl {/* #d2durl */}

> **d2dUrl**: `string`

<a id="deviceid"></a>

##### deviceId {/* #deviceid */}

> **deviceId**: `string`

<a id="enabled2d"></a>

##### enableD2D {/* #enabled2d */}

> **enableD2D**: `boolean`

<a id="frontcameraid"></a>

##### frontCameraId {/* #frontcameraid */}

> **frontCameraId**: `string`

<a id="iscameragoodenough"></a>

##### isCameraGoodEnough {/* #iscameragoodenough */}

> **isCameraGoodEnough**: `boolean`

<a id="iscameragranted"></a>

##### isCameraGranted {/* #iscameragranted */}

> **isCameraGranted**: `boolean`

<a id="isconsentdialogopen"></a>

##### isConsentDialogOpen {/* #isconsentdialogopen */}

> **isConsentDialogOpen**: `boolean`

<a id="isprefetching"></a>

##### isPrefetching {/* #isprefetching */}

> **isPrefetching**: `Promise`\<`void`\>

<a id="mode"></a>

##### mode {/* #mode */}

> **mode**: [`WorkingMode`](#workingmode)

<a id="onresult"></a>

##### onResult()? {/* #onresult */}

> `optional` **onResult**: (`result`) => `void`

###### Parameters {/* #parameters */}

| Parameter | Type |
| ------ | ------ |
| `result` | [`InstructionFeedback`](../api/types.md#instructionfeedback) |

###### Returns {/* #returns */}

`void`

<a id="processingstatus"></a>

##### processingStatus {/* #processingstatus */}

> **processingStatus**: [`ProcessingStatus`](../api/types.md#processingstatus-3)

<a id="reason"></a>

##### reason? {/* #reason */}

> `optional` **reason**: [`ERROR_SCAN_TIMEOUT`](../api/types.md)

<a id="resourcespath"></a>

##### resourcesPath? {/* #resourcespath */}

> `optional` **resourcesPath**: `string`

<a id="retrydelay"></a>

##### retryDelay {/* #retrydelay */}

> **retryDelay**: `string`

<a id="shouldactivatecurrentdevice"></a>

##### shouldActivateCurrentDevice {/* #shouldactivatecurrentdevice */}

> **shouldActivateCurrentDevice**: `boolean`

<a id="showprogress"></a>

##### showProgress {/* #showprogress */}

> **showProgress**: `boolean`

<a id="statussubcode"></a>

##### statusSubcode {/* #statussubcode */}

> **statusSubcode**: [`StatusSubcode`](../api/types.md#statussubcode-1)

<a id="uploadprogress"></a>

##### uploadProgress {/* #uploadprogress */}

> **uploadProgress**: `number`

<a id="verificationstatus"></a>

##### verificationStatus {/* #verificationstatus */}

> **verificationStatus**: [`VerificationStatus`](../api/types.md#verificationstatus-2)

<a id="workflowinfo"></a>

##### workflowInfo {/* #workflowinfo */}

> **workflowInfo**: [`TransactionWorkflowInfo`](../api/types.md#transactionworkflowinfo)

## Type Aliases {/* #type-aliases */}

<a id="machineevents"></a>

### MachineEvents {/* #machineevents */}

> **MachineEvents** = \{ `type`: `START`; \} \| \{ `type`: `OPEN_CONSENT_DIALOG`; \} \| \{ `type`: `CLOSE_CONSENT_DIALOG`; \} \| \{ `data`: `Partial`\<[`MachineContext`](#machinecontext)\>; `type`: `CONSENT_GIVEN`; \} \| \{ `shouldActivateCurrentDevice`: `boolean`; `showProgress`: `boolean`; `type`: `CONTINUE`; \} \| \{ `type`: `RUN_D2D`; \} \| \{ `result`: [`InstructionFeedback`](../api/types.md#instructionfeedback); `type`: `SUBMIT_FEEDBACK`; \} \| \{ `type`: `RETRY`; \} \| \{ `reason?`: [`TransactionEventType`](../api/types.md#transactioneventtype); `type`: `ERROR`; \} \| \{ `reason?`: [`TransactionEventType`](../api/types.md#transactioneventtype); `type`: `ABORT`; \} \| \{ `data`: `Partial`\<[`MachineContext`](#machinecontext)\>; `type`: `SET_STATE`; \} \| \{ `type`: `RESET`; \} \| \{ `type`: `COMPLETE`; `verificationStatus`: [`VerificationStatus`](../api/types.md#verificationstatus-2); \} \| \{ `data`: \{ `processingStatus`: [`ProcessingStatus`](../api/types.md#processingstatus-3); `verificationStatus`: [`VerificationStatus`](../api/types.md#verificationstatus-2); \}; `type`: `UPDATE_TRANSACTION_STATE`; \} \| \{ `progress`: `number`; `type`: `UPDATE_UPLOAD_PROGRESS_CONTEXT`; \}

***

<a id="machineinputs"></a>

### MachineInputs {/* #machineinputs */}

> **MachineInputs** = `object`

#### Properties {/* #properties-1 */}

<a id="apiconfig-1"></a>

##### apiConfig {/* #apiconfig-1 */}

> **apiConfig**: [`IdvFlowProps`](../types.md#idvflowprops)\[`"apiConfig"`\]

<a id="consentdata-1"></a>

##### consentData {/* #consentdata-1 */}

> **consentData**: [`ConsentData`](../types.md#consentdata)

<a id="enabled2d-1"></a>

##### enableD2D? {/* #enabled2d-1 */}

> `optional` **enableD2D**: `boolean`

<a id="mode-1"></a>

##### mode {/* #mode-1 */}

> **mode**: [`WorkingMode`](#workingmode)

<a id="resourcespath-1"></a>

##### resourcesPath? {/* #resourcespath-1 */}

> `optional` **resourcesPath**: `string`

***

<a id="workingmode"></a>

### WorkingMode {/* #workingmode */}

> **WorkingMode** = `"classic"` \| `"d2d"`


Last updated on May 21, 2026
