---
updatedAt: 2026-03-04T12:53:49.000Z
agentTools:
  projectIndex: https://docs.strivacity.com/llms.txt
---

# Challenge point of the MFA enrollment

A request made to give the challenge.This endpoint can be called to passcode the customer entered in the form which has the id of `mfaEnrollChallenge`

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "description": "API documentation of Native Journey API",
    "title": "Native Journey API",
    "version": "v0.0.1"
  },
  "servers": [
    {
      "url": "https://{tenant}",
      "variables": {
        "tenant": {
          "default": "example.strivacity.com",
          "description": "Your strivacity tenant"
        }
      }
    }
  ],
  "paths": {
    "/flow/api/v1/form/mfaEnrollChallenge": {
      "post": {
        "description": "A request made to give the challenge.This endpoint can be called to passcode the customer entered in the form which has the id of `mfaEnrollChallenge`",
        "operationId": "mfaEnrollChallenge",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MfaEnrollChallengeRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Screen"
                }
              }
            },
            "description": "OK"
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden"
          }
        },
        "summary": "Challenge point of the MFA enrollment",
        "tags": [
          "Native Journey API"
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "Branding": {
        "type": "object",
        "properties": {
          "copyright": {
            "type": "string"
          },
          "logoUrl": {
            "type": "string"
          },
          "privacyPolicyUrl": {
            "type": "string"
          },
          "siteTermUrl": {
            "type": "string"
          },
          "styling": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        },
        "description": "Contains branding data, describes the styling of the screen"
      },
      "CheckboxWidget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "readonly": {
            "type": "boolean"
          },
          "render": {
            "$ref": "#/components/schemas/CheckboxWidgetRender"
          },
          "type": {
            "type": "string"
          },
          "validator": {
            "$ref": "#/components/schemas/CheckboxWidgetValidator"
          },
          "value": {
            "type": "boolean"
          }
        },
        "description": "A widget which is used for customer data input and can be either `true` or `false`"
      },
      "CheckboxWidgetRender": {
        "type": "object",
        "properties": {
          "labelType": {
            "type": "string",
            "enum": [
              "text",
              "html"
            ]
          },
          "type": {
            "type": "string",
            "enum": [
              "checkboxHidden",
              "checkboxShown"
            ]
          }
        }
      },
      "CheckboxWidgetValidator": {
        "type": "object",
        "properties": {
          "required": {
            "type": "boolean"
          }
        }
      },
      "DateWidget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "readonly": {
            "type": "boolean"
          },
          "render": {
            "$ref": "#/components/schemas/DateWidgetRender"
          },
          "type": {
            "type": "string"
          },
          "validator": {
            "$ref": "#/components/schemas/DateWidgetValidator"
          },
          "value": {
            "type": "string"
          }
        },
        "description": "A widget which is used for date input"
      },
      "DateWidgetRender": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "native",
              "fieldSet"
            ]
          }
        }
      },
      "DateWidgetValidator": {
        "type": "object",
        "properties": {
          "notAfter": {
            "type": "string"
          },
          "notBefore": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          }
        }
      },
      "FormWidget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "widgets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericWidget"
            }
          }
        },
        "description": "A form widget containing multiple widgets"
      },
      "GenericLayout": {
        "type": "object",
        "description": "Describes the layout of the screen",
        "oneOf": [
          {
            "$ref": "#/components/schemas/WidgetLayout"
          },
          {
            "$ref": "#/components/schemas/HorizontalLayout"
          },
          {
            "$ref": "#/components/schemas/VerticalLayout"
          },
          {
            "$ref": "#/components/schemas/GridLayout"
          }
        ]
      },
      "GenericWidget": {
        "type": "object",
        "oneOf": [
          {
            "$ref": "#/components/schemas/FormWidget"
          },
          {
            "$ref": "#/components/schemas/SubmitWidget"
          },
          {
            "$ref": "#/components/schemas/StaticWidget"
          },
          {
            "$ref": "#/components/schemas/InputWidget"
          },
          {
            "$ref": "#/components/schemas/CheckboxWidget"
          },
          {
            "$ref": "#/components/schemas/PasswordWidget"
          },
          {
            "$ref": "#/components/schemas/DateWidget"
          },
          {
            "$ref": "#/components/schemas/PhoneWidget"
          },
          {
            "$ref": "#/components/schemas/SelectWidget"
          },
          {
            "$ref": "#/components/schemas/MultiSelectWidget"
          }
        ]
      },
      "GridLayout": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "widget",
              "horizontal",
              "vertical",
              "grid"
            ]
          }
        },
        "description": "A layout which displays items in multiple rows and columns"
      },
      "Hint": {
        "type": "object",
        "properties": {
          "icon": {
            "type": "string"
          },
          "variant": {
            "type": "string"
          }
        }
      },
      "HorizontalLayout": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GenericLayout"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "widget",
              "horizontal",
              "vertical",
              "grid"
            ]
          }
        },
        "description": "A layout which displays items in multiple columns"
      },
      "InputWidget": {
        "type": "object",
        "properties": {
          "autocomplete": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "inputmode": {
            "type": "string",
            "enum": [
              "email"
            ]
          },
          "label": {
            "type": "string"
          },
          "readonly": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "validator": {
            "$ref": "#/components/schemas/InputWidgetValidator"
          },
          "value": {
            "type": "string"
          }
        },
        "description": "A widget which is used for customer data input"
      },
      "InputWidgetValidator": {
        "type": "object",
        "properties": {
          "maxLength": {
            "type": "integer",
            "format": "int32"
          },
          "minLength": {
            "type": "integer",
            "format": "int32"
          },
          "regex": {
            "type": "string"
          },
          "required": {
            "type": "boolean"
          }
        }
      },
      "Message": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        }
      },
      "Messages": {
        "type": "object",
        "properties": {
          "global": {
            "$ref": "#/components/schemas/Message"
          }
        },
        "description": "Contains error messages during the flow"
      },
      "MfaEnrollChallengeRequest": {
        "required": [
          "passcode"
        ],
        "type": "object",
        "properties": {
          "passcode": {
            "type": "string"
          },
          "rememberDevice": {
            "type": "boolean"
          }
        }
      },
      "MultiSelectWidget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "description": "Contains the items in the multi select widget with additional groupings",
            "items": {
              "$ref": "#/components/schemas/Options"
            }
          },
          "readonly": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "validator": {
            "$ref": "#/components/schemas/MultiSelectWidgetValidator"
          },
          "value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "description": "A widget which is used to receive inputs from a predefined set of values"
      },
      "MultiSelectWidgetValidator": {
        "type": "object",
        "properties": {
          "maxSelectable": {
            "type": "integer",
            "format": "int32"
          },
          "minSelectable": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "Options": {
        "type": "object",
        "properties": {
          "label": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Options"
            }
          },
          "type": {
            "type": "string",
            "enum": [
              "group",
              "item"
            ]
          },
          "value": {
            "type": "string"
          }
        }
      },
      "PasswordWidget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "qualityIndicator": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "validator": {
            "$ref": "#/components/schemas/PasswordWidgetValidator"
          }
        },
        "description": "A widget which is used for password input"
      },
      "PasswordWidgetValidator": {
        "type": "object",
        "properties": {
          "maxLength": {
            "type": "integer",
            "format": "int32"
          },
          "maxNumericCharacterSequences": {
            "type": "integer",
            "format": "int32"
          },
          "maxRepeatedCharacters": {
            "type": "integer",
            "format": "int32"
          },
          "minLength": {
            "type": "integer",
            "format": "int32"
          },
          "mustContain": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "UPPERCASE",
                "LOWERCASE",
                "NUMERIC",
                "SPECIAL"
              ]
            }
          },
          "restrictedCharacters": {
            "type": "string"
          }
        }
      },
      "PhoneWidget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "readonly": {
            "type": "boolean"
          },
          "type": {
            "type": "string"
          },
          "validator": {
            "$ref": "#/components/schemas/PhoneWidgetValidator"
          },
          "value": {
            "type": "string"
          }
        },
        "description": "A widget which is used for phone input"
      },
      "PhoneWidgetValidator": {
        "type": "object",
        "properties": {
          "required": {
            "type": "boolean"
          }
        }
      },
      "Screen": {
        "type": "object",
        "properties": {
          "branding": {
            "$ref": "#/components/schemas/Branding"
          },
          "finalizeUrl": {
            "type": "string",
            "description": "URL to redirect to at the end of the flow"
          },
          "forms": {
            "type": "array",
            "description": "Contains the widgets appearing on the screen",
            "items": {
              "$ref": "#/components/schemas/FormWidget"
            }
          },
          "hostedUrl": {
            "type": "string",
            "description": "Fallback URL to continue the flow in case of an unknown widget cannot be rendered natively"
          },
          "layout": {
            "$ref": "#/components/schemas/GenericLayout"
          },
          "messages": {
            "$ref": "#/components/schemas/Messages"
          },
          "screen": {
            "type": "string",
            "description": "Name of the screen"
          }
        }
      },
      "SelectWidget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "options": {
            "type": "array",
            "description": "Contains the items in the select widget with additional groupings",
            "items": {
              "$ref": "#/components/schemas/Options"
            }
          },
          "readonly": {
            "type": "boolean"
          },
          "render": {
            "$ref": "#/components/schemas/SelectWidgetRender"
          },
          "type": {
            "type": "string"
          },
          "validator": {
            "$ref": "#/components/schemas/SelectWidgetValidator"
          },
          "value": {
            "type": "string"
          }
        },
        "description": "A widget which is used to receive input from a predefined set of values"
      },
      "SelectWidgetRender": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "dropdown",
              "radio"
            ]
          }
        }
      },
      "SelectWidgetValidator": {
        "type": "object",
        "properties": {
          "required": {
            "type": "boolean"
          }
        }
      },
      "StaticWidget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "render": {
            "$ref": "#/components/schemas/StaticWidgetRender"
          },
          "type": {
            "type": "string"
          },
          "value": {
            "type": "string"
          }
        },
        "description": "A widget which contains static text to display on the form"
      },
      "StaticWidgetRender": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "text",
              "html"
            ]
          }
        }
      },
      "SubmitWidget": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "label": {
            "type": "string"
          },
          "render": {
            "$ref": "#/components/schemas/SubmitWidgetRender"
          },
          "type": {
            "type": "string"
          }
        },
        "description": "A widget which is used to submit a form"
      },
      "SubmitWidgetRender": {
        "type": "object",
        "properties": {
          "bgColor": {
            "type": "string"
          },
          "hint": {
            "$ref": "#/components/schemas/Hint"
          },
          "textColor": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "button",
              "link"
            ]
          }
        }
      },
      "VerticalLayout": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "widget",
              "horizontal",
              "vertical",
              "grid"
            ]
          }
        },
        "description": "A layout which displays items in multiple rows"
      },
      "WidgetLayout": {
        "type": "object",
        "properties": {
          "formId": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "widget",
              "horizontal",
              "vertical",
              "grid"
            ]
          },
          "widgetId": {
            "type": "string"
          }
        },
        "description": "A layout which refers to a widget within a form"
      }
    }
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
```