{
  "contents": {
    "startTask": "1",
    "tasks": {
      "0": {
        "action": "logged-in",
        "id": "0",
        "name": "End",
        "next": {},
        "type": "automated",
        "view": {
          "x": 4740,
          "y": -432
        }
      },
      "1": {
        "allInputKeys": [
          "email"
        ],
        "calculatedInputKeys": true,
        "id": "1",
        "inputKeys": [
          "email"
        ],
        "name": "Welcome Screen",
        "next": {
          "rules": [
            {
              "interactionId": "COcMh1vzSn",
              "taskId": "18"
            }
          ]
        },
        "screenId": "SC3BXDXk9xnf3EGSKazmE0dYb5jh5",
        "type": "screen",
        "view": {
          "x": -300,
          "y": -204
        }
      },
      "3": {
        "action": "sign-up-or-in-otp-email",
        "arguments": {
          "extraTemplateVals": {
            "type": "inline",
            "value": ""
          },
          "providerId": {
            "type": "inline",
            "value": ""
          },
          "templateId": {
            "type": "inline",
            "value": ""
          }
        },
        "id": "3",
        "name": "Sign Up or In / OTP / Email",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "4"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 1308,
          "y": -108
        }
      },
      "4": {
        "allInputKeys": [
          "code"
        ],
        "calculatedInputKeys": true,
        "contextKeys": [
          "sentTo.maskedEmail"
        ],
        "id": "4",
        "name": "Verify Email OTP",
        "next": {
          "rules": [
            {
              "interactionId": "resend",
              "taskId": "3"
            },
            {
              "interactionId": "oneTimeCodeId",
              "taskId": "5"
            }
          ]
        },
        "screenId": "SC3BXDXhJD9bpEuRoYFCqnLOl0Mim",
        "type": "screen",
        "view": {
          "x": 1764,
          "y": -108
        }
      },
      "5": {
        "action": "verify-code-otp-email",
        "id": "5",
        "name": "Verify Code / OTP / Email",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "14"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 2184,
          "y": -36
        }
      },
      "6": {
        "conditions": [
          {
            "atomicConditions": [
              {
                "operator": "empty",
                "predicate": {
                  "type": "inline",
                  "value": ""
                },
                "target": {
                  "type": "context",
                  "value": "unauthUser.loginIds"
                }
              }
            ],
            "interactionId": "35v2e6e49za",
            "logicalOr": false,
            "name": "if new user"
          },
          {
            "atomicConditions": [],
            "interactionId": "ELSE",
            "name": "if existing user"
          }
        ],
        "errorHandlingV2": {},
        "id": "6",
        "name": "Is New User on Descope?",
        "next": {
          "rules": [
            {
              "interactionId": "35v2e6e49za",
              "taskId": "7"
            },
            {
              "interactionId": "ELSE",
              "taskId": "3"
            }
          ]
        },
        "type": "condition",
        "view": {
          "x": 840,
          "y": -180
        }
      },
      "7": {
        "action": "connector",
        "arguments": {
          "args": {
            "type": "inline",
            "value": [
              {
                "key": "endpoint",
                "type": "string",
                "value": "descope/check-user?email={{form.email}}"
              },
              {
                "key": "timeout",
                "type": "number",
                "value": 3
              },
              {
                "key": "payload",
                "type": "string",
                "value": "{}"
              }
            ]
          },
          "async": {
            "type": "inline",
            "value": false
          },
          "command": {
            "type": "inline",
            "value": "get"
          },
          "connectorId": {
            "type": "inline",
            "value": "CI3BlZL2WCQ6ZpeVARiPADg1trfuS"
          },
          "resultPath": {
            "type": "inline",
            "value": "checkUserHttpResult"
          },
          "templateId": {
            "type": "inline",
            "value": "http"
          }
        },
        "errorHandlingV2": {
          "ConnectorFailed": {
            "errorHandlingType": "automatic"
          },
          "request_error": {
            "errorHandlingType": "automatic"
          }
        },
        "id": "7",
        "name": "Check for existing user on Zencity",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "8"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 1224,
          "y": -516
        }
      },
      "8": {
        "conditions": [
          {
            "atomicConditions": [
              {
                "operator": "is-true",
                "predicate": {
                  "type": "inline",
                  "value": ""
                },
                "target": {
                  "type": "context",
                  "value": "connectors.checkUserHttpResult.exists"
                }
              }
            ],
            "interactionId": "kor20etzxvr",
            "logicalOr": false,
            "name": "if user exist"
          },
          {
            "atomicConditions": [],
            "interactionId": "ELSE",
            "name": "if user doesn't exist"
          }
        ],
        "errorHandlingV2": {},
        "id": "8",
        "name": "User exist on Zencity DB?",
        "next": {
          "rules": [
            {
              "interactionId": "kor20etzxvr",
              "taskId": "10"
            },
            {
              "interactionId": "ELSE",
              "taskId": "9"
            }
          ]
        },
        "type": "condition",
        "view": {
          "x": 1620,
          "y": -660
        }
      },
      "9": {
        "action": "connector",
        "arguments": {
          "args": {
            "type": "inline",
            "value": [
              {
                "key": "endpoint",
                "type": "string",
                "value": "/descope/create-user"
              },
              {
                "key": "timeout",
                "type": "number",
                "value": 3
              },
              {
                "key": "payload",
                "type": "string",
                "value": "{\n  \"email\": \"{{form.email}}\",\n  \"customerId\": \"{{form.clientId}}\"\n}"
              }
            ]
          },
          "async": {
            "type": "inline",
            "value": false
          },
          "command": {
            "type": "inline",
            "value": "post"
          },
          "connectorId": {
            "type": "inline",
            "value": "CI3BlZL2WCQ6ZpeVARiPADg1trfuS"
          },
          "resultPath": {
            "type": "inline",
            "value": "createUserHttpResult"
          },
          "templateId": {
            "type": "inline",
            "value": "http"
          }
        },
        "errorHandlingV2": {
          "ConnectorFailed": {
            "errorHandlingType": "automatic"
          },
          "request_error": {
            "errorHandlingType": "automatic"
          }
        },
        "id": "9",
        "name": "Create Resident User on Zencity",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "7"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 2028,
          "y": -588
        }
      },
      "10": {
        "action": "sign-up-or-in-otp-email",
        "arguments": {
          "extraTemplateVals": {
            "type": "inline",
            "value": ""
          },
          "providerId": {
            "type": "inline",
            "value": ""
          },
          "templateId": {
            "type": "inline",
            "value": ""
          }
        },
        "id": "10",
        "name": "Sign Up or In / OTP / Email",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "11"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 2136,
          "y": -876
        }
      },
      "11": {
        "allInputKeys": [
          "code"
        ],
        "calculatedInputKeys": true,
        "contextKeys": [
          "sentTo.maskedEmail"
        ],
        "id": "11",
        "name": "Verify Email OTP",
        "next": {
          "rules": [
            {
              "interactionId": "resend",
              "taskId": "10"
            },
            {
              "interactionId": "oneTimeCodeId",
              "taskId": "12"
            }
          ]
        },
        "screenId": "SC3BXGa7p0rSkHAACNCnq1WwbPJZW",
        "type": "screen",
        "view": {
          "x": 2616,
          "y": -876
        }
      },
      "12": {
        "action": "verify-code-otp-email",
        "id": "12",
        "name": "Verify Code / OTP / Email",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "13"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 3084,
          "y": -804
        }
      },
      "13": {
        "action": "update-user-properties",
        "arguments": {
          "userPropertiesDefinitions": {
            "type": "inline",
            "value": [
              {
                "key": "customAttributes.postgresId",
                "type": "context",
                "value": "connectors.checkUserHttpResult.residentId"
              }
            ]
          }
        },
        "errorHandlingV2": {
          "UpdateUserPropertiesFailed": {
            "errorHandlingType": "automatic"
          }
        },
        "id": "13",
        "name": "Update Resident on Descope",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "14"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 3492,
          "y": -780
        }
      },
      "14": {
        "action": "custom-claims",
        "arguments": {
          "customClaims": {
            "type": "inline",
            "value": [
              {
                "key": "residentId",
                "type": "context",
                "value": "user.customAttributes.postgresId"
              }
            ]
          },
          "customRefreshDuration": {
            "type": "inline",
            "value": false
          },
          "providedCustomClaimsKey": {
            "type": "inline",
            "value": ""
          },
          "refreshDuration": {
            "type": "inline",
            "value": ""
          },
          "refreshDurationType": {
            "type": "inline",
            "value": "days"
          }
        },
        "id": "14",
        "name": "Respondent Custom Claims",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "0"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 4320,
          "y": -492
        }
      },
      "16": {
        "action": "connector",
        "arguments": {
          "args": {
            "type": "inline",
            "value": [
              {
                "key": "endpoint",
                "type": "string",
                "value": "/descope/add-customer-id"
              },
              {
                "key": "timeout",
                "type": "number",
                "value": 3
              },
              {
                "key": "payload",
                "type": "string",
                "value": "{\n  \"email\": \"{{form.email}}\",\n  \"customerId\": \"{{form.clientId}}\"\n}"
              }
            ]
          },
          "async": {
            "type": "inline",
            "value": false
          },
          "command": {
            "type": "inline",
            "value": "post"
          },
          "connectorId": {
            "type": "inline",
            "value": "CI3BlZL2WCQ6ZpeVARiPADg1trfuS"
          },
          "resultPath": {
            "type": "inline",
            "value": "addCustomerIdHttpResult"
          },
          "templateId": {
            "type": "inline",
            "value": "http"
          }
        },
        "errorHandlingV2": {
          "ConnectorFailed": {
            "errorHandlingType": "automatic"
          },
          "request_error": {
            "errorHandlingType": "automatic"
          }
        },
        "id": "16",
        "name": "Check for existing customerId on the user",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "14"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 3888,
          "y": -516
        }
      },
      "17": {
        "action": "scriptlet",
        "arguments": {
          "outputPath": {
            "type": "inline",
            "value": "getCustomerIdScriptletResult"
          },
          "overrideForm": {
            "type": "inline",
            "value": []
          },
          "scriptArgs": {
            "type": "inline",
            "value": [
              {
                "key": "clientId",
                "type": "context",
                "value": "form.clientId"
              },
              {
                "key": "formObject",
                "type": "context",
                "value": "form"
              }
            ]
          },
          "scriptCode": {
            "type": "inline",
            "value": "console.log('clientId: ', clientId);\nconsole.log('formObject: ', formObject);\n\nreturn {\n    customerId: clientId,\n};\n"
          }
        },
        "errorHandlingV2": {
          "ScriptletFailed": {
            "errorHandlingType": "automatic"
          }
        },
        "id": "17",
        "name": "Get customerId",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "6"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 456,
          "y": -156
        }
      },
      "18": {
        "action": "scriptlet",
        "arguments": {
          "outputPath": {
            "type": "inline",
            "value": "getUserEmailScriptletResult"
          },
          "overrideForm": {
            "type": "inline",
            "value": []
          },
          "scriptArgs": {
            "type": "inline",
            "value": [
              {
                "key": "formEmail",
                "type": "context",
                "value": "form.email"
              },
              {
                "key": "unauthUserEmail",
                "type": "context",
                "value": "unauthUser.email"
              },
              {
                "key": "userEmail",
                "type": "context",
                "value": "user.email"
              },
              {
                "key": "env",
                "type": "context",
                "value": "form.env"
              }
            ]
          },
          "scriptCode": {
            "type": "inline",
            "value": "const resolvedEmail = formEmail || unauthUserEmail || userEmail;\n\nconsole.log(\"resolvedEmail: \", resolvedEmail)\n\nconsole.log(\"env: \", env)\n\nreturn {\n    userEmail: resolvedEmail,\n};\n"
          }
        },
        "errorHandlingV2": {
          "ScriptletFailed": {
            "errorHandlingType": "automatic"
          }
        },
        "id": "18",
        "name": "Get user email",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "17"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 84,
          "y": -180
        }
      },
      "19": {
        "action": "scriptlet",
        "arguments": {
          "outputPath": {
            "type": "inline",
            "value": "getUserEmailScriptletResult"
          },
          "overrideForm": {
            "type": "inline",
            "value": []
          },
          "scriptArgs": {
            "type": "inline",
            "value": [
              {
                "key": "createUserHttpResult",
                "type": "context",
                "value": "connectors.createUserHttpResult"
              },
              {
                "key": "formClientId",
                "type": "context",
                "value": "form.clientId"
              }
            ]
          },
          "scriptCode": {
            "type": "inline",
            "value": "console.log('Connector execution error: ', createUserHttpResult);\nconsole.log('formClientId: ', formClientId);\n\nreturn {};\n"
          }
        },
        "errorHandlingV2": {
          "ScriptletFailed": {
            "errorHandlingType": "automatic"
          }
        },
        "id": "19",
        "name": "Connector execution error",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "21"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 2556,
          "y": -648
        }
      },
      "20": {
        "action": "scriptlet",
        "arguments": {
          "outputPath": {
            "type": "inline",
            "value": "getUserEmailScriptletResult"
          },
          "overrideForm": {
            "type": "inline",
            "value": []
          },
          "scriptArgs": {
            "type": "inline",
            "value": [
              {
                "key": "createUserHttpResult",
                "type": "context",
                "value": "connectors.createUserHttpResult"
              },
              {
                "key": "formClientId",
                "type": "context",
                "value": "form.clientId"
              }
            ]
          },
          "scriptCode": {
            "type": "inline",
            "value": "console.log('Generic HTTP error: ', createUserHttpResult);\nconsole.log('formClientId: ', formClientId);\n\nreturn {};\n"
          }
        },
        "errorHandlingV2": {
          "ScriptletFailed": {
            "errorHandlingType": "automatic"
          }
        },
        "id": "20",
        "name": "Generic HTTP error",
        "next": {
          "rules": [
            {
              "interactionId": "success",
              "taskId": "21"
            }
          ]
        },
        "type": "automated",
        "view": {
          "x": 2556,
          "y": -516
        }
      },
      "21": {
        "calculatedInputKeys": true,
        "id": "21",
        "name": "New Screen",
        "next": {},
        "screenId": "SC3C5Z1LmFYFhDiuPGWDY32xdacaq",
        "type": "screen",
        "view": {
          "x": 3252,
          "y": -528
        }
      },
      "start": {
        "id": "start",
        "name": "start",
        "next": {
          "rules": [
            {
              "taskId": "1"
            }
          ]
        },
        "view": {
          "x": -444,
          "y": -168
        }
      }
    }
  },
  "flowId": "resident-login-copy",
  "metadata": {
    "componentsVersion": "3.1.0",
    "description": "Sign in using OTP using either email or phone, in the same input component.",
    "managementConfig": {
      "triggers": {
        "eventTriggers": {}
      }
    },
    "name": "Resident login copy",
    "sharedInteractions": [
      {
        "id": "0.success",
        "type": "success"
      }
    ]
  },
  "references": {
    "connectors": {
      "Local Resident Profiles API": "CI3BlZL2WCQ6ZpeVARiPADg1trfuS"
    }
  },
  "screens": [
    {
      "contents": {
        "ROOT": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "auED4dEJkJ",
            "eBGiu9cYSb",
            "yZNZ2ZVVu_"
          ],
          "props": {
            "align": "center",
            "background": "",
            "data-editor-type": "container",
            "direction": "column",
            "id": "ROOT",
            "justify": "center",
            "paddingX": "4",
            "paddingY": "4",
            "spaceBetween": "5",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        },
        "auED4dEJkJ": {
          "custom": {},
          "displayName": "Text",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "ROOT",
          "props": {
            "children": "We've sent a message containing a 6-digit code to {{sentTo.maskedEmail}}",
            "full-width": false,
            "id": "auED4dEJkJ",
            "isEnriched": true,
            "italic": false,
            "link-target-blank": true,
            "mode": "primary",
            "text-align": "center",
            "variant": "subtitle1"
          },
          "type": {
            "resolvedName": "Text"
          }
        },
        "eBGiu9cYSb": {
          "custom": {},
          "displayName": "Text",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "ROOT",
          "props": {
            "children": "Enter Code",
            "full-width": false,
            "id": "eBGiu9cYSb",
            "isEnriched": true,
            "italic": false,
            "link-target-blank": true,
            "mode": "primary",
            "text-align": "center",
            "variant": "subtitle2"
          },
          "type": {
            "resolvedName": "Text"
          }
        },
        "fyz-aN6hyx": {
          "custom": {},
          "displayName": "Error Message",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "thNbUTWOGY",
          "props": {
            "color": "error",
            "data-type": "error-message",
            "full-width": false,
            "hide-when-empty": true,
            "id": "fyz-aN6hyx",
            "italic": false,
            "mode": "error",
            "text-align": "center",
            "variant": "body1"
          },
          "type": {
            "resolvedName": "ErrorMessage"
          }
        },
        "oOOUcyEOVr": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "resend"
          ],
          "parent": "yZNZ2ZVVu_",
          "props": {
            "align": "start",
            "background": "#ffffff00",
            "data-editor-type": "container",
            "direction": "row",
            "id": "oOOUcyEOVr",
            "justify": "center",
            "paddingX": "5",
            "paddingY": "0",
            "spaceBetween": "0",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        },
        "oneTimeCodeId": {
          "custom": {
            "type": "oneTimeCode"
          },
          "displayName": "One Time Code",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "yZNZ2ZVVu_",
          "props": {
            "bordered": true,
            "data-auto-submit": true,
            "data-errormessage-pattern-mismatch": "Must be a 6 digit number",
            "data-errormessage-value-missing": "Please fill out this field.",
            "digits": 6,
            "full-width": false,
            "fullWidth": false,
            "id": "oneTimeCodeId",
            "label": "",
            "name": "code",
            "required": true,
            "size": "lg",
            "type": "tel"
          },
          "type": {
            "resolvedName": "CodeInput"
          }
        },
        "resend": {
          "custom": {
            "type": "button"
          },
          "displayName": "Button",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "oOOUcyEOVr",
          "props": {
            "children": "Send again",
            "color": "primary",
            "data-type": "button",
            "formNoValidate": true,
            "full-width": true,
            "id": "resend",
            "mode": "primary",
            "size": "sm",
            "variant": "link"
          },
          "type": {
            "resolvedName": "Button"
          }
        },
        "thNbUTWOGY": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "fyz-aN6hyx"
          ],
          "parent": "yZNZ2ZVVu_",
          "props": {
            "align": "start",
            "background": "#ffffff00",
            "data-editor-type": "container",
            "direction": "row",
            "id": "thNbUTWOGY",
            "justify": "center",
            "paddingX": "4",
            "paddingY": "3",
            "spaceBetween": "1",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        },
        "yZNZ2ZVVu_": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "oneTimeCodeId",
            "thNbUTWOGY",
            "oOOUcyEOVr"
          ],
          "parent": "ROOT",
          "props": {
            "align": "center",
            "background": "",
            "data-editor-type": "container",
            "direction": "column",
            "id": "yZNZ2ZVVu_",
            "justify": "start",
            "paddingX": "4",
            "paddingY": "4",
            "spaceBetween": "1.5",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        }
      },
      "interactions": [
        {
          "id": "oneTimeCodeId",
          "label": "Verify OTP code"
        },
        {
          "id": "resend",
          "label": "Send again"
        }
      ],
      "screenId": "SC3BXDXhJD9bpEuRoYFCqnLOl0Mim"
    },
    {
      "contents": {
        "2kQVuE0n1Q": {
          "custom": {
            "type": "input"
          },
          "displayName": "Email Input",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "ROOT",
          "props": {
            "bordered": true,
            "copy-to-clipboard": false,
            "data-errormessage-pattern-mismatch": "Must be a valid email",
            "data-errormessage-value-missing": "Please fill out this field.",
            "external-input": false,
            "full-width": true,
            "id": "2kQVuE0n1Q",
            "label": "Email",
            "label-type": "static",
            "max": 100,
            "name": "email",
            "pattern": "^[\\w\\.\\%\\+\\-']+@[\\w\\.\\-]+\\.[A-Za-z]{2,}$",
            "placeholder": "Email",
            "required": false,
            "size": "md",
            "type": "email"
          },
          "type": {
            "resolvedName": "EmailInput"
          }
        },
        "COcMh1vzSn": {
          "custom": {
            "type": "button"
          },
          "displayName": "Button",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "sJzJr1_Ek8",
          "props": {
            "auto-submit": true,
            "children": "Continue",
            "color": "primary",
            "data-type": "button",
            "formNoValidate": false,
            "full-width": true,
            "id": "COcMh1vzSn",
            "mode": "primary",
            "size": "md",
            "tooltipText": "Tooltip text",
            "variant": "contained"
          },
          "type": {
            "resolvedName": "Button"
          }
        },
        "DY-8rUNtnX": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "cDmtaSAoSF",
            "snOmO2tgDH"
          ],
          "parent": "ROOT",
          "props": {
            "align": "center",
            "background": "#ffffff00",
            "data-editor-type": "container",
            "direction": "column",
            "id": "DY-8rUNtnX",
            "justify": "start",
            "paddingX": "1",
            "paddingY": "1",
            "spaceBetween": "2.5",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        },
        "ElG3Za-rdk": {
          "custom": {},
          "displayName": "Logo",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "ROOT",
          "props": {
            "alt": "Logo",
            "height": "100px",
            "id": "ElG3Za-rdk"
          },
          "type": {
            "resolvedName": "Logo"
          }
        },
        "O6g57IzhQ9": {
          "custom": {},
          "displayName": "Error Message",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "ROOT",
          "props": {
            "data-type": "error-message",
            "full-width": false,
            "hide-when-empty": true,
            "id": "O6g57IzhQ9",
            "italic": false,
            "link-target-blank": true,
            "mode": "error",
            "text-align": "center",
            "variant": "body1"
          },
          "type": {
            "resolvedName": "ErrorMessage"
          }
        },
        "ROOT": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "ElG3Za-rdk",
            "DY-8rUNtnX",
            "2kQVuE0n1Q",
            "sJzJr1_Ek8",
            "O6g57IzhQ9"
          ],
          "props": {
            "align": "center",
            "background": "",
            "data-editor-type": "container",
            "direction": "column",
            "id": "ROOT",
            "justify": "center",
            "paddingX": "5",
            "paddingY": "5",
            "spaceBetween": "4",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        },
        "cDmtaSAoSF": {
          "custom": {},
          "displayName": "Text",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "DY-8rUNtnX",
          "props": {
            "children": "Welcome!",
            "full-width": true,
            "id": "cDmtaSAoSF",
            "isEnriched": true,
            "italic": false,
            "link-target-blank": true,
            "mode": "primary",
            "text-align": "center",
            "tooltipText": "Tooltip text",
            "variant": "h3"
          },
          "type": {
            "resolvedName": "Text"
          }
        },
        "sJzJr1_Ek8": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "COcMh1vzSn"
          ],
          "parent": "ROOT",
          "props": {
            "align": "start",
            "background": "#ffffff00",
            "data-editor-type": "container",
            "direction": "row",
            "id": "sJzJr1_Ek8",
            "justify": "center",
            "paddingX": "1",
            "paddingY": "1",
            "spaceBetween": "3",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        },
        "snOmO2tgDH": {
          "custom": {},
          "displayName": "Text",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "DY-8rUNtnX",
          "props": {
            "children": "By signing in, I agree to the [company's privacy](https://example.com/privacy) statement and [terms of service](https://example.com/terms)\n\n",
            "full-width": false,
            "id": "snOmO2tgDH",
            "isEnriched": true,
            "italic": false,
            "link-target-blank": true,
            "mode": "primary",
            "text-align": "center",
            "tooltipText": "Tooltip text",
            "variant": "body1"
          },
          "type": {
            "resolvedName": "Text"
          }
        }
      },
      "interactions": [
        {
          "id": "COcMh1vzSn",
          "label": "Continue",
          "type": "button"
        }
      ],
      "screenId": "SC3BXDXk9xnf3EGSKazmE0dYb5jh5"
    },
    {
      "contents": {
        "ROOT": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "auED4dEJkJ",
            "eBGiu9cYSb",
            "yZNZ2ZVVu_"
          ],
          "props": {
            "align": "center",
            "background": "",
            "data-editor-type": "container",
            "direction": "column",
            "id": "ROOT",
            "justify": "center",
            "paddingX": "4",
            "paddingY": "4",
            "spaceBetween": "5",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        },
        "auED4dEJkJ": {
          "custom": {},
          "displayName": "Text",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "ROOT",
          "props": {
            "children": "We've sent a message containing a 6-digit code to {{sentTo.maskedEmail}}",
            "full-width": false,
            "id": "auED4dEJkJ",
            "isEnriched": true,
            "italic": false,
            "link-target-blank": true,
            "mode": "primary",
            "text-align": "center",
            "variant": "subtitle1"
          },
          "type": {
            "resolvedName": "Text"
          }
        },
        "eBGiu9cYSb": {
          "custom": {},
          "displayName": "Text",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "ROOT",
          "props": {
            "children": "Enter Code",
            "full-width": false,
            "id": "eBGiu9cYSb",
            "isEnriched": true,
            "italic": false,
            "link-target-blank": true,
            "mode": "primary",
            "text-align": "center",
            "variant": "subtitle2"
          },
          "type": {
            "resolvedName": "Text"
          }
        },
        "fyz-aN6hyx": {
          "custom": {},
          "displayName": "Error Message",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "thNbUTWOGY",
          "props": {
            "color": "error",
            "data-type": "error-message",
            "full-width": false,
            "hide-when-empty": true,
            "id": "fyz-aN6hyx",
            "italic": false,
            "mode": "error",
            "text-align": "center",
            "variant": "body1"
          },
          "type": {
            "resolvedName": "ErrorMessage"
          }
        },
        "oOOUcyEOVr": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "resend"
          ],
          "parent": "yZNZ2ZVVu_",
          "props": {
            "align": "start",
            "background": "#ffffff00",
            "data-editor-type": "container",
            "direction": "row",
            "id": "oOOUcyEOVr",
            "justify": "center",
            "paddingX": "5",
            "paddingY": "0",
            "spaceBetween": "0",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        },
        "oneTimeCodeId": {
          "custom": {
            "type": "oneTimeCode"
          },
          "displayName": "One Time Code",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "yZNZ2ZVVu_",
          "props": {
            "bordered": true,
            "data-auto-submit": true,
            "data-errormessage-pattern-mismatch": "Must be a 6 digit number",
            "data-errormessage-value-missing": "Please fill out this field.",
            "digits": 6,
            "full-width": false,
            "fullWidth": false,
            "id": "oneTimeCodeId",
            "label": "",
            "name": "code",
            "required": true,
            "size": "lg",
            "type": "tel"
          },
          "type": {
            "resolvedName": "CodeInput"
          }
        },
        "resend": {
          "custom": {
            "type": "button"
          },
          "displayName": "Button",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "oOOUcyEOVr",
          "props": {
            "children": "Send again",
            "color": "primary",
            "data-type": "button",
            "formNoValidate": true,
            "full-width": true,
            "id": "resend",
            "mode": "primary",
            "size": "sm",
            "variant": "link"
          },
          "type": {
            "resolvedName": "Button"
          }
        },
        "thNbUTWOGY": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "fyz-aN6hyx"
          ],
          "parent": "yZNZ2ZVVu_",
          "props": {
            "align": "start",
            "background": "#ffffff00",
            "data-editor-type": "container",
            "direction": "row",
            "id": "thNbUTWOGY",
            "justify": "center",
            "paddingX": "4",
            "paddingY": "3",
            "spaceBetween": "1",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        },
        "yZNZ2ZVVu_": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "oneTimeCodeId",
            "thNbUTWOGY",
            "oOOUcyEOVr"
          ],
          "parent": "ROOT",
          "props": {
            "align": "center",
            "background": "",
            "data-editor-type": "container",
            "direction": "column",
            "id": "yZNZ2ZVVu_",
            "justify": "start",
            "paddingX": "4",
            "paddingY": "4",
            "spaceBetween": "1.5",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        }
      },
      "interactions": [
        {
          "id": "oneTimeCodeId",
          "label": "Verify OTP code"
        },
        {
          "id": "resend",
          "label": "Send again"
        }
      ],
      "screenId": "SC3BXGa7p0rSkHAACNCnq1WwbPJZW"
    },
    {
      "contents": {
        "1sMmkeVxVT": {
          "custom": {},
          "displayName": "Error Message",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "ROOT",
          "props": {
            "align": "center",
            "data-type": "error-message",
            "full-width": false,
            "id": "1sMmkeVxVT",
            "italic": false,
            "link-target-blank": true,
            "mode": "error",
            "text-align": "center",
            "variant": "body1"
          },
          "type": {
            "resolvedName": "ErrorMessage"
          }
        },
        "LmrSIGOWZb": {
          "custom": {},
          "displayName": "Text",
          "hidden": false,
          "isCanvas": false,
          "linkedNodes": {},
          "nodes": [],
          "parent": "ROOT",
          "props": {
            "align": "center",
            "children": "Screen body",
            "full-width": false,
            "id": "LmrSIGOWZb",
            "isEnriched": true,
            "italic": false,
            "link-target-blank": true,
            "mode": "primary",
            "text-align": "center",
            "tooltipText": "Tooltip text",
            "variant": "body1"
          },
          "type": {
            "resolvedName": "Text"
          }
        },
        "ROOT": {
          "custom": {},
          "displayName": "Container",
          "hidden": false,
          "isCanvas": true,
          "linkedNodes": {},
          "nodes": [
            "LmrSIGOWZb",
            "1sMmkeVxVT"
          ],
          "props": {
            "align": "center",
            "background": "",
            "data-editor-type": "container",
            "direction": "column",
            "id": "ROOT",
            "justify": "center",
            "paddingX": "4",
            "paddingY": "8",
            "space-between": "md",
            "spaceBetween": "4",
            "st-items-grow": 0,
            "width": "100%"
          },
          "type": {
            "resolvedName": "Container"
          }
        }
      },
      "screenId": "SC3C5Z1LmFYFhDiuPGWDY32xdacaq"
    }
  ]
}