---
title: "Navigate through the Wizard without xs2a.js"
method: POST
path: "/wizard"
tags: ["Wizard API"]
---

# Navigate through the Wizard without xs2a.js

`POST /wizard`

Note that this endpoint uses the `v1.1` prefix, so the URL is `https://api.xs2a.com/v1.1/wizard`.

## Validations rules
| Rule Name              | Description                                                      |
|------------------------|------------------------------------------------------------------|
| alpha_num              | Only alpha-numeric characters are allowed.                       |
| between:min,max        | The field must have a size between min and max.                  |
| digits:value           | The field must be numeric and must have an exact length of value.|
| in:value1,value2,...   | The field must be included in the given list of values.          |
| min:value              | The field must have a minimum value.                             |
| max:value              | The field must have a maximum value.                             |
| required               | The field must be present and not empty.                         |
| size:value             | The field must have a size matching the value.                   |

## Request body

- WizardAPIRequest — Key is a required parameter here in every request. Next to action, you can send any key-value pairs corresponding to the form responses you get.
  - `key` string, required — The wizard session key.
  - `action` 'switch-login-tabs' | 'back' | 'poll' | 'change-language' | 'abort' | 'complete-bankcodes' — Valid values are: back (go back one step), switch-login-tabs (switch to another transport), poll (status polling), change-language (change the language) and abort (abort the transaction).

## Response `200`

Request successfully processed

- union
  - WizardResponse
    - `code` integer — The http status code
    - `message` string — The error message
    - `error` string[] — Will be set if an error occurs during the processing of the current step (e.g. the session has expired). If the recoverable flag equals false a new session has to be started.
    - `polling` Polling — The polling attribute indicates whether the transaction status needs to be polled. This is usually the case when your customer has to approve a payment via the banks mobile app. If polling is an empty object no action is required. If interval is set you need to POST a request every interval milliseconds to the wizard API endpoint providing the wizard session key as well as the parameter action=poll until you receive the finish response.
      - `interval` integer — The inverval in milliseconds
    - `form` FormObject — Contains the form objects
      - `name` string — The name of the current form
      - `elements` union[] — Contains the elements of the form. Can contain any of 'Form.Element'
        - union
          - FormCaptcha
            - `type` string — The type of the form element (here: captcha)
            - `name` string — The name of the form element
            - `data` string — The base64 encoded image
            - `value` string — The set value of the form element
            - `validation` string — List of validation rules, concatenated with a pipe character
            - `invalid` boolean — Indicates whether the validation of the element failed
            - `failed_validation_rules` string — A list of failed validation rules (concatenated with a pipe character)
            - `validation_error` string — The validation error (human readable)
          - FormCheckbox
            - `type` string — The type of the form element (here: checkbox)
            - `name` string — The name of the form element
            - `checked` boolean — Indicates whether the checkbox is checked
            - `label` string — The label of the form element
            - `validation` string — List of validation rules, concatenated with a pipe character
            - `invalid` boolean — Indicates whether the validation of the element failed
            - `failed_validation_rules` string — A list of failed validation rules (concatenated with a pipe character)
            - `validation_error` string — The validation error (human readable)
          - FormFlicker
            - `type` string — The type of the form element (here: flicker)
            - `name` string — The name of the form element
            - `value` string — The set value of the form element
            - `code` array[] — The actual flicker image as an array representation (0 = black bar, 1 = white bar)
              - …
            - `label` string — The label of the form element
            - `validation` string — List of validation rules, concatenated with a pipe character
            - `invalid` boolean — Indicates whether the validation of the element failed
            - `failed_validation_rules` string — A list of failed validation rules (concatenated with a pipe character)
            - `validation_error` string — The validation error (human readable)
          - FormHelpText
            - `type` string — The type of the form element (here: help_text)
            - `title` string — The title of the form element
            - `text` string — The text of the form element
          - FormImage
            - `type` string — The type of the form element (here: image)
            - `data` string — The base64 encoded image
            - `label` string — The label of the form element
          - FormMulti
            - `type` string — The type of the form element (here: image)
            - `name` string — The name of the form element
            - `selected` string — Name of the selected element (value of one of the nested elements)
            - `elements` FormMultiElements[] — Array containing the nested elements
              - …
          - FormMultiElements
            - `label` string — The label of the element
            - `value` string — The value of the form element
            - `elements` union[] — Array containing the nested elements
              - …
          - FormPassword
            - `type` string — The type of the form element (here: password)
            - `name` string — The name of the form element
            - `value` string — The set value of the form element
            - `label` string — The label of the form element
            - `validation` string — List of validation rules, concatenated with a pipe character
            - `invalid` boolean — Indicates whether the validation of the element failed
            - `failed_validation_rules` string — A list of failed validation rules (concatenated with a pipe character)
            - `validation_error` string — The validation error (human readable)
          - FormRadio
            - `type` string — The type of the form element (here: radio)
            - `name` string — The name of the form element
            - `checked` string — Index of the checked element
            - `options` FormRadioOption[] — An array of possible options
              - …
            - `label` string — The label of the form element
            - `validation` string — List of validation rules, concatenated with a pipe character
            - `invalid` boolean — Indicates whether the validation of the element failed
            - `failed_validation_rules` string — A list of failed validation rules (concatenated with a pipe character)
            - `validation_error` string — The validation error (human readable)
          - FormSelect
            - `type` string — The type of the form element (here: select)
            - `name` string — The name of the form element
            - `selected` string — The key of the selected option from the options object. Empty string of none is selected.
            - `options` object — Key-value object with the options. The value is the label of the option.
            - `label` string — The label of the form element
            - `validation` string — List of validation rules, concatenated with a pipe character
            - `invalid` boolean — Indicates whether the validation of the element failed
            - `failed_validation_rules` string — A list of failed validation rules (concatenated with a pipe character)
            - `validation_error` string — The validation error (human readable)
          - FormTabs
            - `type` string — The type of the form element (here: tabs)
            - `name` string — The name of the form element
            - `tabs` string[] — An array of possible transports
            - `label` string — The label of the form element
            - `selected` string — The selected transport
          - FormText
            - `type` string — The type of the form element (here: text)
            - `name` string — The name of the form element
            - `value` string — The set value of the form element
            - `label` string — The label of the form element
            - `validation` string — List of validation rules, concatenated with a pipe character
            - `invalid` boolean — Indicates whether the validation of the element failed
            - `failed_validation_rules` string — A list of failed validation rules (concatenated with a pipe character)
            - `validation_error` string — The validation error (human readable)
  - WizardFinalResponse
    - `code` integer — The http status code
    - `error` string[] — Will be set if an error occurs during the processing of the current step (e.g. the session has expired). If the recoverable flag equals false a new session has to be started.
    - `form` object
      - `elements` string[]
      - `name` string
      - `parameters` string[]
    - `message` string — The error message
    - `polling` object

## Other responses

- `401` — Authentication failed API key missing or not valid
- `403` — Forbidden Access blocked
- `404` — Product not enabled or Not found The requested object does not exist on the server
- `410` — The requested session was buried and is not accessible anymore.
- `422` — Validation failed Something is wrong with the user input
- `500` — An internal server problem occurred

---

[API](https://skmtc.dev/xs2a/apis/xs2a-api.md) · [All operations](https://skmtc.dev/xs2a/apis/xs2a-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/xs2a/xs2a-api/revisions/ae5fbc5feee3/schema)
