{
  "info": {
    "contact": {
      "email": "support@scrive.com",
      "name": "Scrive AB",
      "url": "https://helpcenter.scrive.com/kb/en/eid-hub-190242"
    },
    "description": "",
    "title": "Scrive eID Hub API",
    "version": "1.78.0"
  },
  "servers": [
    { "url": "https://testbed-eid.scrive.com/api/v1", "description": "Testbed" },
    { "url": "https://eid.scrive.com/api/v1", "description": "Production" }
  ],
  "paths": {
    "/health": {
      "get": {
        "tags": ["General endpoints"],
        "summary": "Health Status",
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespHealth" }
              }
            },
            "description": ""
          }
        }
      }
    },
    "/transaction/new": {
      "post": {
        "tags": ["General endpoints"],
        "summary": "Add new transaction",
        "description": "Creates a new `auth` or `sign` transaction with a specified eID provider without starting it yet. \n\n_Only relevant if you have used our API prior to v1.15.0:_ Previously the accepted values of `providerParameters` field depended on the value of the `method` field. Thus, there were no `auth` and `sign` fields, but simply an object of type `ProviderParametersAuth` or `ProviderParametersSign` correspondingly. We will continue to accept the previous structure throughout the lifetime of API v1.",
        "parameters": [
          {
            "in": "header",
            "name": "eID-Origin-Context",
            "required": false,
            "schema": {
              "description": "A JSON object whose meaning depends on the origin of the transaction.",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": { "$ref": "#/components/schemas/ReqNewTransaction" }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespNewTransaction" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted OR Invalid `body` or `eID-Origin-Context`"
          },
          "403": {
            "description": "This operation can only be performed when using an Authorization header OR This provider is not supported anymore: DKNemID OR The authentication data provided does not permit the use of this provider and method combination OR Scrive ISC is not enabled for this client."
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}": {
      "get": {
        "tags": ["General endpoints"],
        "summary": "Get a transaction",
        "description": "Retrieves an existing transaction created by the same company",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespTransaction" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "Incompatible transaction: expected a regular transaction but got a MAS transaction OR The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/start": {
      "post": {
        "tags": ["General endpoints"],
        "summary": "Start a transaction",
        "description": "Starts a transaction created by the same company",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          },
          {
            "in": "header",
            "name": "User-Agent",
            "required": false,
            "schema": { "type": "string" }
          }
        ],
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": { "$ref": "#/components/schemas/ReqStartTransaction" }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespStartTransaction" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted OR Invalid `body` or `User-Agent`"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "Incompatible transaction: expected a regular transaction but got a MAS transaction OR The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/cancel": {
      "post": {
        "tags": ["General endpoints"],
        "summary": "Cancel a transaction",
        "description": "Cancels a transaction created by the same company.\n\nAny transaction with status `new` can be cancelled (i.e. before it has been started).\n\nCurrently only seBankID (Swedish BankID) and Freja transactions can be cancelled after they are started.\n\nTransactions that have failed or are complete cannot be cancelled.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespTransaction" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "Incompatible transaction: expected a regular transaction but got a MAS transaction OR The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/dob_validation": {
      "get": {
        "tags": ["General endpoints"],
        "summary": "Date of birth validation",
        "description": "The endpoint matches the date_of_birth parameter (YYYY-MM-DD) against the date of birth found in the authenticated data, if present. This endpoint also supports MAS transactions.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          },
          {
            "in": "query",
            "name": "date_of_birth",
            "required": true,
            "schema": { "format": "date", "type": "string" }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespDOBValidationTransaction" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted OR Invalid `date_of_birth`"
          },
          "403": {
            "description": "The authentication provided is not valid for this transaction OR This operation can only be performed when using an Authorization header"
          },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/age_verification": {
      "get": {
        "tags": ["General endpoints"],
        "summary": "Age verification",
        "description": "The endpoint compares the authenticated user's computed age against the age_limit parameter. The request is valid only if the user's age is greater than or equal to the parameter. This endpoint also supports MAS transactions.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          },
          {
            "in": "query",
            "name": "age_limit",
            "required": true,
            "schema": {
              "description": "The age limit to be compared to the computed age of the authenticated user.",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespAgeVerificationTransaction" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted OR Invalid `age_limit`"
          },
          "403": {
            "description": "The authentication provided is not valid for this transaction OR This operation can only be performed when using an Authorization header"
          },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/smsOtp/submit": {
      "post": {
        "tags": ["SMS OTP endpoints"],
        "summary": "Submit SMS OTP",
        "description": "Checks whether SMS OTP is correct",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": { "$ref": "#/components/schemas/ReqSMSOTP" }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespSMSOTP" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted OR Invalid `body`"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/onfido/continue": {
      "post": {
        "tags": ["Onfido endpoints"],
        "summary": "Continue with Onfido process",
        "description": "Once the appropriate documents have been submitted using the frontend, the Onfido process can be continued.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": { "$ref": "#/components/schemas/ReqOnfidoContinue" }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespOnfidoContinue" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted OR Invalid `body`"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/onfido/images": {
      "get": {
        "tags": ["Onfido endpoints"],
        "summary": "Fetch images from Onfido",
        "description": "Once the transaction is complete, this endpoint can be used to fetch all the images uploaded by the applicant to Onfido and frames extracted from motion captures created by the applicant.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespOnfidoImages" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/onfido/check": {
      "get": {
        "tags": ["Onfido endpoints"],
        "summary": "Fetch check from Onfido",
        "description": "Once the transaction is complete, this endpoint can be used to fetch the results of the check that has been performed.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespOnfidoCheck" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/dk/cpr-match": {
      "post": {
        "tags": ["MitID endpoints"],
        "summary": "Validate CPR for MitID transaction",
        "description": "For a successful transaction one can check whether the transaction was performed using a given CPR (Danish personal number). For MitID the operation can only be performed within a few minutes after the authentication and a limited number of times (currently 3).",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": { "$ref": "#/components/schemas/ReqDkCprMatch" }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespDkCprMatch" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted OR Invalid `body`"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/dk/mitid/jwks": {
      "get": {
        "tags": ["MitID endpoints"],
        "summary": "Fetch JWK set for MitID signature validation",
        "description": "To finalize a MitID transaction one has to validate the user-data signature using this key set.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/JwkSet" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/swisscom/lookup": {
      "get": {
        "tags": ["Swisscom endpoints"],
        "summary": "Check if the MSISDN is registered with Swisscom",
        "description": "Looks up the transaction's MSISDN with Swisscom to see if it is registered. Returns information about the eIDAS level which the registration details satisfy, and thus whether it can be used for QES.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          },
          { "in": "query", "name": "option_id", "required": false, "schema": { "type": "string" } }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespSwisscomLookup" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted OR Invalid `option_id`"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/swisscom/identify": {
      "post": {
        "tags": ["Swisscom endpoints"],
        "summary": "Start an identification with the Swisscom SRS",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          },
          { "in": "query", "name": "option_id", "required": false, "schema": { "type": "string" } }
        ],
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": { "$ref": "#/components/schemas/ReqSwisscomStartSRS" }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespSwisscomStartSRS" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted OR Invalid `body` or `option_id`"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/transaction/{transaction_id}/digidentity/metadata": {
      "get": {
        "tags": ["Digidentity endpoints"],
        "summary": "Fetch metadata from Digidentity",
        "description": "Once the transaction is complete, this endpoint can be used to fetch metadata reports from Digidentity.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespDigidentityMetadata" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/mas/new": {
      "post": {
        "tags": ["MAS endpoints"],
        "summary": "Add new MAS transaction",
        "description": "**Experimental:** Creates a new MAS transaction without starting it. The end-user can select any of the options listed in `masOptions` for completing the transaction. \n\n",
        "parameters": [
          {
            "in": "header",
            "name": "eID-Origin-Context",
            "required": false,
            "schema": {
              "description": "A JSON object whose meaning depends on the origin of the transaction.",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": { "$ref": "#/components/schemas/ReqNewMasTransaction" }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespNewMasTransaction" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted OR Invalid `body` or `eID-Origin-Context`"
          },
          "403": {
            "description": "This operation can only be performed when using an Authorization header OR This provider is not supported anymore: DKNemID OR The authentication data provided does not permit the use of this provider and method combination OR Scrive ISC is not enabled for this client."
          },
          "409": {
            "description": "The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/mas/{transaction_id}/start": {
      "post": {
        "tags": ["MAS endpoints"],
        "summary": "Start a MAS transaction",
        "description": "**Experimental:** Starts a MAS transaction created by the same company.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          },
          {
            "in": "header",
            "name": "User-Agent",
            "required": false,
            "schema": { "type": "string" }
          }
        ],
        "requestBody": {
          "content": {
            "application/json;charset=utf-8": {
              "schema": { "$ref": "#/components/schemas/ReqStartMasTransaction" }
            }
          }
        },
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespStartMasTransaction" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted OR Invalid `body` or `User-Agent`"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "Incompatible transaction: expected a MAS transaction but got a regular transaction OR The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/mas/{transaction_id}": {
      "get": {
        "tags": ["MAS endpoints"],
        "summary": "Get a MAS transaction",
        "description": "**Experimental:** Retrieves an existing MAS transaction created by the same company.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespMasTransaction" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "Incompatible transaction: expected a MAS transaction but got a regular transaction OR The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/mas/{transaction_id}/full": {
      "get": {
        "tags": ["MAS endpoints"],
        "summary": "Get a MAS transaction with all metadata",
        "description": "**Experimental:** Retrieves an existing MAS transaction and all its associated data, if created by the same company.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespFullMasTransaction" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "Incompatible transaction: expected a MAS transaction but got a regular transaction OR The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/mas/{transaction_id}/{option_id}": {
      "get": {
        "tags": ["MAS endpoints"],
        "summary": "Get a transaction candidate for the specified MAS option",
        "description": "**Experimental:** Retrieves a what the transaction data would be if for the specified MAS option was selected.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          },
          { "in": "path", "name": "option_id", "required": true, "schema": { "type": "string" } }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespMasTransactionOption" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` or `option_id` or Transaction does not have an option with this ID"
          },
          "409": {
            "description": "Incompatible transaction: expected a MAS transaction but got a regular transaction OR The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    },
    "/mas/{transaction_id}/cancel": {
      "post": {
        "tags": ["MAS endpoints"],
        "summary": "Cancel a transaction",
        "description": "**Experimental:** Cancels a MAS transaction created by the same company.\n\nAny transaction with status `new` can be cancelled (i.e. before it has been started).\n\nCurrently only seBankID (Swedish BankID) and Freja transactions can be cancelled after they are started.\n\nTransactions that have failed or are complete cannot be cancelled.",
        "parameters": [
          {
            "in": "path",
            "name": "transaction_id",
            "required": true,
            "schema": { "format": "uuid", "type": "string" }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json;charset=utf-8": {
                "schema": { "$ref": "#/components/schemas/RespMasTransaction" }
              }
            },
            "description": ""
          },
          "400": {
            "description": "Scrive ISC isn't available for provider OR Hash callback URL is not whitelisted OR Callback URL is not whitelisted OR Invalid callback URL OR Operation not allowed for this provider OR Bad parameters OR Transaction has already expired due to retention period OR Method isn't available for provider OR Redirect URL cannot be accepted"
          },
          "403": { "description": "The authentication provided is not valid for this transaction" },
          "404": {
            "description": "Transaction with this ID does not exist OR `transaction_id` not found"
          },
          "409": {
            "description": "Incompatible transaction: expected a MAS transaction but got a regular transaction OR The transaction is not in one of the allowed statuses for this operation OR User already has a transaction in progress with provider"
          },
          "410": { "description": "The requested resource is no longer available" },
          "500": { "description": "Internal Server Error" },
          "502": {
            "description": "There was a problem in the communication with provider. If the problem persists, please contact Scrive support"
          }
        },
        "security": [{ "BearerAuth": [] }]
      }
    }
  },
  "components": {
    "schemas": {
      "RespHealth": {
        "properties": { "api": { "$ref": "#/components/schemas/HealthStatus" } },
        "required": ["api"],
        "type": "object"
      },
      "HealthStatus": { "enum": ["ok", "degraded", "unavailable"], "type": "string" },
      "RespNewTransaction": {
        "properties": {
          "accessUrl": { "$ref": "#/components/schemas/TransactionAccessUrl" },
          "id": { "$ref": "#/components/schemas/TransactionID" }
        },
        "required": ["id", "accessUrl"],
        "type": "object"
      },
      "TransactionID": {
        "example": "00000000-0000-0000-0000-000000000000",
        "format": "uuid",
        "type": "string"
      },
      "TransactionAccessUrl": {
        "description": "A single-use URL that leads to eID Hub frontend. This URL is to share with end user, if eID Hub frontend is used. The usage of the eID Hub frontend is optional, because the frontend flow could be implemented independently. At the end of the eID Hub frontend flow, the frontend page redirects to `redirectUrl` specified upon transaction creation.",
        "format": "url",
        "type": "string"
      },
      "ReqNewTransaction": {
        "properties": {
          "callbackUrl": { "$ref": "#/components/schemas/CallbackUrl" },
          "method": { "$ref": "#/components/schemas/Method" },
          "provider": { "$ref": "#/components/schemas/Provider" },
          "providerParameters": { "$ref": "#/components/schemas/ProviderParameters" },
          "redirectUrl": { "$ref": "#/components/schemas/RedirectUrl" },
          "returnEndUserInfo": {
            "description": "Set this field to `true` to request eID Hub to record the end user's IP address and `User-Agent` HTTP header  in the `endUserInfo` field of the transaction.\n\n**Warning**: This information is collected when the end user visits `accessUrl`, so it will only contain valid data when using [our frontend](#section/Usage/With-eID-Hub-frontend).\n\n**Note**: By setting `returnEndUserInfo` to `true` you are instructing Scrive to process the personal data returned. See further under Data Processing in the [API terms](https://www.scrive.com/terms/api-terms).",
            "type": "boolean"
          },
          "uiLanguage": { "$ref": "#/components/schemas/UiLanguage" }
        },
        "required": ["redirectUrl", "provider", "method", "providerParameters"],
        "type": "object"
      },
      "RedirectUrl": {
        "description": "An `https://` URL. Additionally accepts `http://` on testing environment to enable local development with `http://localhost` URLs.\n\nOn completion (with Swedish BankID only when using our frontend, for all other providers always) the end-user will be redirected to this URL with the following query parameters:\n* `transaction_id`\n* `success`: either `true` or `false`\n\nIf the URL contains a fragment, the parameters will be appended to the URL fragment instead of to the query.",
        "type": "string"
      },
      "Provider": {
        "description": "Warning: \"dkNemID\" is not supported anymore. Selecting it will result in an error.",
        "enum": [
          "seBankID",
          "fiTupas",
          "noBankID",
          "dkNemID",
          "verimi",
          "nlIDIN",
          "itsme",
          "smsOtp",
          "onfido",
          "freja",
          "swisscom",
          "dkMitID",
          "dkNemIDOrMitID",
          "smartID",
          "digidentity",
          "scriveQES",
          "oneID",
          "mobileID"
        ],
        "type": "string"
      },
      "Method": { "enum": ["auth", "sign"], "type": "string" },
      "ProviderParameters": {
        "description": "Parameters provided upon transaction creation. The respective field will be absent after the retention period has passed.",
        "maxProperties": 1,
        "minProperties": 0,
        "properties": {
          "auth": { "$ref": "#/components/schemas/ProviderParametersAuth" },
          "sign": { "$ref": "#/components/schemas/ProviderParametersSign" }
        },
        "type": "object"
      },
      "ProviderParametersAuth": {
        "description": "Optional provider parameters set upon an `auth` transaction creation",
        "example": { "digidentity": { "requestedInfo": ["Profile"] } },
        "properties": {
          "digidentity": { "$ref": "#/components/schemas/ParamAuthDigidentity" },
          "dkMitID": { "$ref": "#/components/schemas/ParamAuthDKMitID" },
          "fiTupas": { "$ref": "#/components/schemas/ParamAuthTupas" },
          "freja": { "$ref": "#/components/schemas/ParamAuthFreja" },
          "itsme": { "$ref": "#/components/schemas/ParamAuthItsme" },
          "mobileID": { "$ref": "#/components/schemas/ParamAuthMobileID" },
          "nlIDIN": { "$ref": "#/components/schemas/ParamAuthNLiDIN" },
          "noBankID": { "$ref": "#/components/schemas/ParamAuthNOBankID" },
          "oneID": { "$ref": "#/components/schemas/ParamAuthOneID" },
          "onfido": { "$ref": "#/components/schemas/ParamAuthOnfido" },
          "seBankID": { "$ref": "#/components/schemas/ParamAuthBankID" },
          "smartID": { "$ref": "#/components/schemas/ParamAuthSmartID" },
          "smsOtp": { "$ref": "#/components/schemas/ParamAuthSMSOTP" }
        },
        "type": "object"
      },
      "ParamAuthBankID": {
        "properties": {
          "callInitiator": { "$ref": "#/components/schemas/BankIDCallInitiator" },
          "personalNumber": { "$ref": "#/components/schemas/SEPersonalNumber" },
          "requireAutoStartToken": {
            "default": true,
            "description": "**Unsupported**. This field is now ignored and always considered as `true`.\n\nRead more about <a href=\"https://www.bankid.com/en/foretag/secure-start\" target=\"_blank\">Secure start</a>.\n\nWhen `true` the BankID transaction can only be started on the end user's device when supplied with the `autoStartToken`.Thus, if the end user opens their BankID application on the _same_ device, then the `autoStartToken` will be supplied when our UI redirects them using the `bankid://` URI scheme. Otherwise, if opening BankID on _another_ device, the end user will need to scan a QR code (which includes the `qrData`).The goal of setting this value to `true` is to combat attacks where a malicious actor convinces the victim to authenticate or sign via BankID on their mobile. The victim is misled as to the purpose of the transaction, and the malicious actor exploits the fact that the `autoStartToken` is not required.If set to `false`, the `personalNumber` must be supplied either when creating (`/new`) or starting (`/start`) the transaction.",
            "type": "boolean"
          },
          "requireMRTD": {
            "description": "If this is set to `true`, the user needs to confirm their identity with a valid Swedish passport or national ID card to complete the order.\n\nThe default is `false`.",
            "type": "boolean"
          },
          "requirePinCode": {
            "description": "If this is set to `true`, the user is required to confirm the order with their security code, even if they have biometrics enabled. \n\nThe default is `false`.",
            "type": "boolean"
          },
          "returnRisk": {
            "description": "If this is set to `true`, a risk indication will be included in the `completionData` field when the transaction is completed.\n\nThe default is `false`.",
            "type": "boolean"
          },
          "userNonVisibleData": {
            "description": "Data that is not displayed to the user. The text is Base64 encoded (transparently by the service) before being passed to BankID. It _must not_ exceed 1500 characters after Base64 encoding.",
            "type": "string"
          },
          "userVisibleData": {
            "description": "The text to be displayed during authentication. The text is Base64 encoded (transparently by the service) before being passed to BankID. It _must not_ exceed 1500 characters after Base64 encoding. Valid characters are U+0020 to U+007E, U+00A0 to U+FFEF as well as U+000A (Newline), U+0009 (Tab) and U+000D (Carriage return).",
            "type": "string"
          },
          "userVisibleDataFormat": { "$ref": "#/components/schemas/BankIDUserVisibleDataFormat" }
        },
        "type": "object"
      },
      "SEPersonalNumber": {
        "description": "Swedish personal number",
        "pattern": "^\\d{12}$",
        "type": "string"
      },
      "BankIDUserVisibleDataFormat": {
        "description": "If present, and set to \u201cSimpleMarkdownV1\u201d, this parameter indicates that `userVisibleData` holds formatting characters which, if used correctly, will make the text displayed with the user nicer to look at. For further information of formatting options, please study the <a href=\"https://www.bankid.com/en/utvecklare/guider/formatera-text\" target=\"_blank\">guidelines for formatting text</a>.",
        "enum": ["SimpleMarkdownV1"],
        "type": "string"
      },
      "BankIDCallInitiator": {
        "description": "Initiator of the phone call. Setting this field to a non-null value implies phone authentication.",
        "enum": ["User", "RP"],
        "type": "string"
      },
      "ParamAuthTupas": {
        "description": "FTN auth parameters. The name Tupas is due to historical reasons, FTN includes Finnish BankID (formerly TUPAS) as well as Finnish Mobile ID (Mobiilivarmenne). If `forceBank` is set, no Mobiilivarmenne option is shown",
        "properties": {
          "forceBank": { "$ref": "#/components/schemas/TupasBank" },
          "uiLocale": { "$ref": "#/components/schemas/UiLocale" }
        },
        "type": "object"
      },
      "UiLocale": {
        "description": "If not provided, the end user's browser language preferences will be used to pick the most compatible language from the options available. If no supported languages are found, then Norwegian Bokm\u00e5l (`nb-NO`) is used as a default.",
        "enum": ["nb-NO", "en-GB", "da-DK", "sv-SE", "fi-FI", "sv-FI"],
        "type": "string"
      },
      "TupasBank": {
        "description": "A finnish Bank or MobileID (Mobiilivarmenne)",
        "enum": [
          "nordea",
          "opbank",
          "danske",
          "handelsbanken",
          "aland",
          "sbank",
          "aktia",
          "popbank",
          "savingsbank",
          "omasp",
          "mobileid"
        ],
        "type": "string"
      },
      "ParamAuthNOBankID": {
        "properties": {
          "allowSubstantialLevel": {
            "default": false,
            "description": "Allow the use of BankID Biometric which provides the `Substantial` security level (instead of `High`). Please note that `certificateData` is `null` when this option is used.",
            "type": "boolean"
          },
          "personalNumber": { "$ref": "#/components/schemas/NOPersonalNumber" },
          "phoneNumber": { "$ref": "#/components/schemas/NOPhoneNumber" },
          "requestNNIN": {
            "default": true,
            "description": "NNIN (Norwegian National Identity Number aka Norwegian SSN) is returned in the completion data if the company requesting it is eligible to receive it (an extended certificate needs to be requested when purchasing this eID from Scrive) and if this parameter is set to true. \n\nNNIN is always available on testing environments.",
            "type": "boolean"
          },
          "uiLocale": { "$ref": "#/components/schemas/NOUiLocale" },
          "useCibaFlow": { "$ref": "#/components/schemas/BackchannelScenario" }
        },
        "type": "object"
      },
      "NOUiLocale": {
        "description": "If not provided, the end user's browser language preferences will be used to pick the most compatible language from the options available. If no supported languages are found, then Norwegian Bokm\u00e5l (`nb`) is used as a default.",
        "enum": ["nb", "en"],
        "type": "string"
      },
      "NOPersonalNumber": {
        "description": "Norwegian personal number",
        "pattern": "^\\d{11}$",
        "type": "string"
      },
      "NOPhoneNumber": {
        "description": "Norwegian phone number",
        "pattern": "^(\\+47)?\\d{8}$",
        "type": "string"
      },
      "BackchannelScenario": {
        "description": "Set this parameter to the appropriate scenario to create aclient initiated backchannel authentication (CIBA) transaction. Note that the CIBA flow uses BankID Biometric which provides the `Substantial` security level (instead of `High`). Please note that 'certificateData' and 'authUrl' are null when this option is used.",
        "enum": ["callCenter", "chatCustomerService"],
        "type": "string"
      },
      "ParamAuthNLiDIN": {
        "properties": {
          "description": { "$ref": "#/components/schemas/IdinActionDescription" },
          "presetBank": { "$ref": "#/components/schemas/IdinBank" },
          "requestAddress": {
            "default": false,
            "description": "Request end-user address information",
            "type": "boolean"
          },
          "requestAgeCheck": {
            "default": false,
            "description": "Check if end-user is at least 18 years old.  Note that this request can't be used in combination with other requests.",
            "type": "boolean"
          },
          "requestBirthdate": {
            "default": true,
            "description": "Request end-user birth date information",
            "type": "boolean"
          },
          "requestEmail": {
            "default": false,
            "description": "Request end-user email information",
            "type": "boolean"
          },
          "requestGender": {
            "default": false,
            "description": "Request end-user gender information",
            "type": "boolean"
          },
          "requestName": {
            "default": true,
            "description": "Request end-user name information",
            "type": "boolean"
          },
          "requestTelephone": {
            "default": false,
            "description": "Request end-user telephone information",
            "type": "boolean"
          },
          "uiLanguage": { "$ref": "#/components/schemas/IdinUiLanguage" }
        },
        "type": "object"
      },
      "IdinActionDescription": {
        "default": "Identificatie",
        "pattern": "^[-0-9a-zA-Z\u00e9\u00eb\u00ef\u00f3\u00f6\u00fc\u00c9\u00cb\u00cf\u00d3\u00d6\u00dc\u20ac ()+,.@&=%\"'/:;?$]{0,35}$",
        "type": "string"
      },
      "IdinUiLanguage": { "default": "nl", "enum": ["en", "nl"], "type": "string" },
      "IdinBank": {
        "enum": ["AbnAmro", "IngBank", "Rabobank", "AsnBank", "Regiobank", "SnsBank", "Bunq"],
        "type": "string"
      },
      "ParamAuthItsme": {
        "properties": {
          "forceAdvancedSecurity": {
            "default": false,
            "description": "Forces the end user to use PIN even if they have fingerprint enabled",
            "type": "boolean"
          },
          "uiLocale": { "$ref": "#/components/schemas/ItsmeUiLocale" },
          "userInfoClaims": {
            "default": ["Profile", "Phone"],
            "description": "End user information claims",
            "items": { "$ref": "#/components/schemas/ItsmeUserInfoClaim" },
            "minProperties": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "type": "object"
      },
      "ItsmeUserInfoClaim": {
        "enum": [
          "Profile",
          "Phone",
          "Email",
          "BelgianAddress",
          "Citizenship",
          "PlaceOfBirth",
          "BelgianID",
          "Device",
          "PhysicalPersonPhoto",
          "DutchBSN",
          "DutchID"
        ],
        "type": "string"
      },
      "ItsmeUiLocale": {
        "description": "If not provided, the end user's browser language preferences will be used to pick the most compatible language from the options available. If no supported languages are found, then English is used as a default.",
        "enum": ["Fr", "Nl", "En", "De"],
        "type": "string"
      },
      "ParamAuthSMSOTP": {
        "properties": {
          "maxNumberOfAttempts": { "$ref": "#/components/schemas/MaxNumberOfAttempts" },
          "messageText": { "$ref": "#/components/schemas/MessageText" },
          "msisdn": { "$ref": "#/components/schemas/MSISDN" },
          "originator": { "$ref": "#/components/schemas/MSISDNOrAlphaNumeric" }
        },
        "type": "object"
      },
      "MSISDN": {
        "description": "Valid MSISDN in international format, e.g. +441234567890.",
        "type": "string"
      },
      "MaxNumberOfAttempts": {
        "default": 5,
        "description": "Maximum number of attempts allowed.",
        "maximum": 5,
        "minimum": 1,
        "type": "integer"
      },
      "MessageText": {
        "default": "Your one-time code is ",
        "description": "Text message to be sent to the user. Maximum length using GSM-only characters: 154, using unicode characters: 64. **Cannot** contain URLs.",
        "type": "string"
      },
      "MSISDNOrAlphaNumeric": {
        "description": "Valid MSISDN in international format, e.g. +441234567890, short code (5 or 6 digits) or alphanumeric (maximum 11 characters). Some formats might not be allowed in some countries.",
        "type": "string"
      },
      "ParamAuthOnfido": {
        "properties": {
          "additionalReportInfo": { "$ref": "#/components/schemas/OnfidoAdditionalReportInfo" },
          "address": { "$ref": "#/components/schemas/OnfidoApplicantAddress" },
          "allowedDocumentCountries": {
            "description": "List of document-issuing countries",
            "items": { "$ref": "#/components/schemas/OnfidoCountry" },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "allowedDocumentTypes": {
            "items": { "$ref": "#/components/schemas/OnfidoDocumentType" },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "countryOfResidence": {
            "description": "The 3-character ISO country code of the country where the applicant resides.\n\nIf this parameter is present and set to \"USA\" a consent screen is shown before authentication. If this parameter is absent then the user's IP address is used to determine whether to show the consent screen.",
            "type": "string"
          },
          "dateOfBirth": { "$ref": "#/components/schemas/Day" },
          "email": { "type": "string" },
          "firstName": { "$ref": "#/components/schemas/OnfidoApplicantNameField" },
          "forceCrossDevice": {
            "default": true,
            "description": "Force desktop users to use a mobile device to take photos.",
            "type": "boolean"
          },
          "forceMobileDocumentCapture": {
            "default": true,
            "description": "Force desktop users to use a mobile device to take photos. Previously this option set both `forceCrossDevice` and `useLiveDocumentCapture` options in Onfido SDK to `true`. However, since `useLiveDocumentCapture` was deprecated by Onfido, this option is equivalent to `forceCrossDevice`, but `forceCrossDevice` takes precedence.",
            "type": "boolean"
          },
          "lastName": { "$ref": "#/components/schemas/OnfidoApplicantNameField" },
          "referrerUrlPatternForSdk": {
            "description": "Referrer URL pattern to use Onfido Web SDK independently (without eID Hub's frontend). See more information about this parameter on the [Onfido documentation](https://documentation.onfido.com/#the-referrer-argument)",
            "type": "string"
          },
          "report": { "$ref": "#/components/schemas/OnfidoReportName" },
          "uiLocale": { "$ref": "#/components/schemas/OnfidoUiLocale" },
          "workflowId": {
            "description": "Workflow id of a pre-existing Onfido studio workflow.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "OnfidoReportName": {
        "default": "document",
        "enum": [
          "document",
          "documentFacialSimilarityPhoto",
          "documentFacialSimilarityVideo",
          "documentFacialSimilarityMotion",
          "proofOfAddress",
          "customWorkflowOutput"
        ],
        "type": "string"
      },
      "OnfidoApplicantNameField": {
        "description": "Has to be provided for Proof-of-Address report. It has to be at least two characters long and cannot contain the following characters: ^!#$%*=<>;{}\"",
        "type": "string"
      },
      "Day": { "example": "2016-07-22", "format": "date", "type": "string" },
      "OnfidoApplicantAddress": {
        "description": "Applicant address. Has to be provided for ProofOfAddress report.",
        "properties": {
          "country": { "$ref": "#/components/schemas/OnfidoCountry" },
          "postcode": {
            "description": "The postcode (ZIP code) of the applicant's address. For UK postcodes, specify the value in the following format: SW4 6EH. The postcode cannot be empty and cannot contain the following characters: `!$%^*=<>`.",
            "type": "string"
          },
          "state": {
            "description": "The address state. Mandatory for US addresses. US states must use the USPS abbreviation, for example `AK`, `CA`, or `TX`. Cannot contain the following characters: `!$%^*=<>`.",
            "type": "string"
          },
          "street": {
            "description": "Cannot be empty and cannot contain the following characters: `!$%^*=<>`.",
            "type": "string"
          },
          "town": {
            "description": "Cannot be empty and cannot contain the following characters: `!$%^*=<>`.",
            "type": "string"
          }
        },
        "required": ["street", "town", "postcode", "country"],
        "type": "object"
      },
      "OnfidoCountry": {
        "description": "Document-issuing country in ISO 3166-1 alpha-3 code, e.g. SWE or GBR. See [Wikipedia](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3).",
        "type": "string"
      },
      "OnfidoUiLocale": {
        "description": "Onfido SDK locale. If not provided, Onfido will use browser's preferred locale. See [supported locales](https://github.com/onfido/onfido-sdk-ui#supported-languages).",
        "enum": ["en-US", "es-ES", "de-DE", "fr-FR", "it-IT", "pt-PT", "nl-NL"],
        "type": "string"
      },
      "OnfidoDocumentType": {
        "description": "Document type. Currently only includes the types one could select in the frontend. The frontend will indicate what type of document should be used, however, this does not stop the end-user from using a different type of document. Onfido will analyse the document and we will only accept document types that match this parameter. If not specified, any document type will be accepted, including those supported by Onfido but not listed here (_e.g._ work permit, visa, _etc._, [consult Onfido for the full list of supported documents](https://onfido.com/supported-documents/))",
        "enum": ["NationalIdentityCard", "DrivingLicence", "Passport", "ResidencePermit"],
        "type": "string"
      },
      "OnfidoAdditionalReportInfo": {
        "enum": ["addressInfo", "drivingLicenceInfo"],
        "type": "string"
      },
      "ParamAuthFreja": {
        "properties": {
          "enforcePlusRegistrationLevel": { "type": "boolean" },
          "useOrgIdService": { "$ref": "#/components/schemas/FrejaUseOrgIdService" },
          "userInputInfo": { "$ref": "#/components/schemas/FrejaUserInfo" },
          "userOutputInfo": {
            "default": ["EmailAddress"],
            "items": { "$ref": "#/components/schemas/FrejaUserOutputType" },
            "type": "array",
            "uniqueItems": true
          }
        },
        "type": "object"
      },
      "FrejaUserInfo": {
        "description": "An end user information to start their Freja app with. Could be either an email address, a phone number or an SSN. Phone number must be in the international format, e.g. +44123456789. SSN should be a 12-, 11- or 10-digits string for the Swedish, Norwegian or Danish SSN respectively; or 11-character string for the Finish one. Could be left unspecified for authentication but not for signing, the end user will have to scan a QR code to start an authentication process in that case.",
        "type": "string"
      },
      "FrejaUserOutputType": {
        "description": "Information requested about end user (end user will see it listed in their app). Output types `NameAndSurname`, `DateOfBirth`, `Addresses` and `SSN` require at least Extended registration level. Until the end user upgrades their Freja account to Extended, they will not be able to finish the authentication.",
        "enum": [
          "NameAndSurname",
          "EmailAddress",
          "DateOfBirth",
          "Addresses",
          "SSN",
          "OrganisationID",
          "LoaLevel"
        ],
        "type": "string"
      },
      "FrejaUseOrgIdService": {
        "description": "Authenticate/sign via the Organisation ID service",
        "type": "boolean"
      },
      "ParamAuthDKMitID": {
        "properties": {
          "action": { "$ref": "#/components/schemas/MitIDAction" },
          "cpr": {
            "description": "Danish personal number (CPR-nummer). Setting this value when creating a transaction limits who can authenticate. It *cannot* be preset for MitID Business (employee login).",
            "pattern": "^\\d{10}$",
            "type": "string"
          },
          "employeeLogin": { "type": "boolean" },
          "language": { "$ref": "#/components/schemas/MitIDLanguage" },
          "level": { "$ref": "#/components/schemas/MitIDLevel" },
          "referenceText": { "$ref": "#/components/schemas/MitIDReferenceText" },
          "requestCPR": {
            "default": false,
            "description": "The end-user will be asked to enter their CPR as an additional step in the authentication process, so that it can be validated and returned in the completion data.",
            "type": "boolean"
          },
          "uuid": {
            "description": "Previously-seen MitID user UUID (the same value returned as `completionData.userId` in a prior transaction). When set, MitID skips its first login page on this transaction (\"reauth\" / skip-account-selection flow).",
            "format": "uuid",
            "type": "string"
          }
        },
        "type": "object"
      },
      "MitIDLevel": {
        "default": "Substantial",
        "description": "MitID Level of Assurance (LoA). It is calculated as the minimum of IAL (identity assurance level) and AAL (authentication assurance level). IAL is assigned as part of the registration process with MitID. AAL is calculated on the basis of the authenticators that are used, e.g. only using password would result in a Low AAL, and using 2FA with MitID mobile application would result in Substantial or High.",
        "enum": ["Low", "Substantial", "High"],
        "type": "string"
      },
      "MitIDLanguage": { "default": "Da", "enum": ["Da", "En", "Kl"], "type": "string" },
      "MitIDReferenceText": {
        "default": "-",
        "description": "The text shown to the end user",
        "pattern": "^.{1,130}$",
        "type": "string"
      },
      "MitIDAction": {
        "default": "LogOn",
        "description": "Action text shown to the end-user, e.g. 'Log on at [service provider name]' / 'Log p\u00e5 hos [service provider name]'",
        "enum": ["LogOn", "Approve", "Confirm", "Accept", "Sign"],
        "type": "string"
      },
      "ParamAuthSmartID": {
        "properties": {
          "certificateLevel": { "$ref": "#/components/schemas/SmartIDCertificateLevel" },
          "displayText": { "$ref": "#/components/schemas/SmartIDDisplayText" },
          "userSemanticsIdentifier": { "$ref": "#/components/schemas/SmartIDSemanticsIdentifier" }
        },
        "type": "object"
      },
      "SmartIDSemanticsIdentifier": {
        "properties": {
          "country": { "$ref": "#/components/schemas/SmartIDCountry" },
          "identifier": { "type": "string" },
          "identityDocumentType": { "$ref": "#/components/schemas/SmartIDIdentityDocumentType" }
        },
        "required": ["identityDocumentType", "country", "identifier"],
        "type": "object"
      },
      "SmartIDIdentityDocumentType": {
        "enum": ["Passport", "IdCard", "PersonalNumber"],
        "type": "string"
      },
      "SmartIDCountry": {
        "description": "Two-character ISO 3166-1 alpha-2 country code (for example EE, LT, LV, KZ). See [Wikipedia](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).",
        "type": "string"
      },
      "SmartIDDisplayText": {
        "description": "The text displayed to the end user below the verification code when asking to enter the PIN.",
        "pattern": "^.{0,60}$",
        "type": "string"
      },
      "SmartIDCertificateLevel": {
        "default": "Qualified",
        "enum": ["Advanced", "Qualified"],
        "type": "string"
      },
      "ParamAuthDigidentity": {
        "properties": {
          "requestedInfo": {
            "description": "Requested end user information",
            "items": { "$ref": "#/components/schemas/DigidentityRequestedInfo" },
            "minProperties": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "type": "object"
      },
      "DigidentityRequestedInfo": {
        "enum": ["Profile", "Phone", "Email", "Address"],
        "type": "string"
      },
      "ParamAuthOneID": {
        "properties": {
          "product": { "$ref": "#/components/schemas/Product" },
          "scopes": {
            "items": { "$ref": "#/components/schemas/Scope" },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          },
          "verificationMethods": {
            "items": { "$ref": "#/components/schemas/VerificationMethod" },
            "minItems": 1,
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": ["product", "verificationMethods", "scopes"],
        "type": "object"
      },
      "Product": {
        "description": "OneID product to be used for authentication",
        "enum": ["id_check", "id_proof", "id_assure"],
        "type": "string"
      },
      "VerificationMethod": {
        "description": "Verification methods that will be available to the end user",
        "enum": ["OpenBanking", "DocumentScan"],
        "type": "string"
      },
      "Scope": {
        "description": "Scopes supported by OneID",
        "enum": ["openid", "profile", "address", "date_of_birth", "fraud", "idscan"],
        "type": "string"
      },
      "ParamAuthMobileID": {
        "description": "Parameters for MobileID authentication.",
        "properties": {
          "displayText": { "$ref": "#/components/schemas/MobileIDDisplayText" },
          "language": { "$ref": "#/components/schemas/MobileIDLanguage" },
          "nationalIdentityNumber": {
            "$ref": "#/components/schemas/MobileIDNationalIdentityNumber"
          },
          "phoneNumber": { "$ref": "#/components/schemas/MobileIDPhoneNumber" }
        },
        "type": "object"
      },
      "MobileIDPhoneNumber": {
        "description": "Phone number with country code, e.g. +37269930366 for Estonian numbers.",
        "type": "string"
      },
      "MobileIDNationalIdentityNumber": {
        "description": "National identity number of the user.",
        "type": "string"
      },
      "MobileIDLanguage": {
        "description": "Language for MobileID user dialog.",
        "enum": ["EST", "RUS", "ENG", "LIT"],
        "type": "string"
      },
      "MobileIDDisplayText": {
        "description": "Text displayed on the mobile device in addition to the relying party name and verification code. Maximum length is 100 characters (GSM-7 encoding).",
        "pattern": "^.{0,100}$",
        "type": "string"
      },
      "ProviderParametersSign": {
        "description": "Mandatory provider parameters set upon a `sign` transaction creation. Each provider requires data that will be signed",
        "maxProperties": 1,
        "minProperties": 1,
        "properties": {
          "dkMitID": { "$ref": "#/components/schemas/ParamSignDKMitID" },
          "fiTupas": { "$ref": "#/components/schemas/ParamSignTupas" },
          "freja": { "$ref": "#/components/schemas/ParamSignFreja" },
          "itsme": { "$ref": "#/components/schemas/ParamSignItsme" },
          "noBankID": { "$ref": "#/components/schemas/ParamSignNOBankID" },
          "scriveISC": { "$ref": "#/components/schemas/ParamSignScriveISC" },
          "scriveQES": { "$ref": "#/components/schemas/ParamSignScriveQES" },
          "seBankID": { "$ref": "#/components/schemas/ParamSignBankID" },
          "smartID": { "$ref": "#/components/schemas/ParamSignSmartID" },
          "swisscom": { "$ref": "#/components/schemas/ParamSignSwisscom" },
          "verimi": { "$ref": "#/components/schemas/ParamSignVerimi" }
        },
        "type": "object"
      },
      "ParamSignBankID": {
        "properties": {
          "callInitiator": { "$ref": "#/components/schemas/BankIDCallInitiator" },
          "personalNumber": { "$ref": "#/components/schemas/SEPersonalNumber" },
          "requireAutoStartToken": {
            "default": true,
            "description": "**Unsupported**. This field is now ignored and always considered as `true`.\n\nRead more about <a href=\"https://www.bankid.com/en/foretag/secure-start\" target=\"_blank\">Secure start</a>.\n\nWhen `true` the BankID transaction can only be started on the end user's device when supplied with the `autoStartToken`.Thus, if the end user opens their BankID application on the _same_ device, then the `autoStartToken` will be supplied when our UI redirects them using the `bankid://` URI scheme. Otherwise, if opening BankID on _another_ device, the end user will need to scan a QR code (which includes the `qrData`).The goal of setting this value to `true` is to combat attacks where a malicious actor convinces the victim to authenticate or sign via BankID on their mobile. The victim is misled as to the purpose of the transaction, and the malicious actor exploits the fact that the `autoStartToken` is not required.If set to `false`, the `personalNumber` must be supplied either when creating (`/new`) or starting (`/start`) the transaction.",
            "type": "boolean"
          },
          "requireMRTD": {
            "description": "If this is set to `true`, the user needs to confirm their identity with a valid Swedish passport or national ID card to complete the order.\n\nThe default is `false`.",
            "type": "boolean"
          },
          "requirePinCode": {
            "description": "If this is set to `true`, the user is required to confirm the order with their security code, even if they have biometrics enabled. \n\nThe default is `false`.",
            "type": "boolean"
          },
          "returnRisk": {
            "description": "If this is set to `true`, a risk indication will be included in the `completionData` field when the transaction is completed.\n\nThe default is `false`.",
            "type": "boolean"
          },
          "userNonVisibleData": {
            "description": "Data that is not displayed to the user, but that is also digitally signed. Useful for supplementary data. For example, you _may_ set this to be a (secure) hash of data that is associated with the transaction. The text is Base64 encoded (transparently by the service) before being passed to BankID. It _must not_ be empty, and _must not_ exceed 200 000 characters after Base64 encoding. Values that do not satisfy this condition will be rejected.",
            "type": "string"
          },
          "userVisibleData": {
            "description": "The text to be displayed and digitally signed. The text is Base64 encoded (transparently by the service) before being passed to BankID. It _must not_ be empty, and _must not_ exceed 40 000 characters after Base64 encoding. Valid characters are U+0020 to U+007E, U+00A0 to U+FFEF as well as U+000A (Newline), U+0009 (Tab) and U+000D (Carriage return).",
            "type": "string"
          },
          "userVisibleDataFormat": { "$ref": "#/components/schemas/BankIDUserVisibleDataFormat" }
        },
        "required": ["userVisibleData"],
        "type": "object"
      },
      "ParamSignTupas": {
        "properties": {
          "personalNumber": { "$ref": "#/components/schemas/FIPersonalNumber" },
          "signDescription": { "$ref": "#/components/schemas/SignDescription" },
          "signText": { "type": "string" },
          "signTitle": { "$ref": "#/components/schemas/SignTitle" }
        },
        "required": ["signTitle", "signDescription", "signText"],
        "type": "object"
      },
      "SignTitle": { "pattern": "^[^<>]{4,60}$", "type": "string" },
      "SignDescription": { "pattern": "^[^<>]{4,240}$", "type": "string" },
      "FIPersonalNumber": {
        "description": "Finnish personal number",
        "pattern": "^\\[0-9A-Z-+]{11}$",
        "type": "string"
      },
      "ParamSignNOBankID": {
        "properties": {
          "clientData": { "$ref": "#/components/schemas/NOBankIDCscClientData" },
          "hashCallbackUrl": { "$ref": "#/components/schemas/NOBankIDDigestCallbackUrl" },
          "personalNumber": { "$ref": "#/components/schemas/NOPersonalNumber" },
          "phoneNumber": { "$ref": "#/components/schemas/NOPhoneNumber" },
          "requestNNIN": {
            "description": "**For CSC**\n\nIf this flag is enabled and the company requesting it is eligible to receive it (an extended certificate needs to be requested when purchasing this eID from Scrive) the certificate will include the end user's NNIN (Norwegian National Identity Number). This flag triggers an additional consent page for the end user. If the user declines the process will be aborted with an `access_denied` error. \n **For Non-CSC**  NNIN will be incorporated in the signing process  if the company requesting it is eligible to receive it (an extended certificate needs to be requested when purchasing this eID from Scrive) and if this parameter is not set to false. \n\nNNIN is always available on testing environments.",
            "type": "boolean"
          },
          "signDescription": { "$ref": "#/components/schemas/NOBankIDSignDescription" },
          "signText": { "$ref": "#/components/schemas/NOSignText" },
          "uiLocale": { "$ref": "#/components/schemas/NOUiLocale" },
          "useCSC": {
            "default": false,
            "description": "Sign via the CSC protocol.\n\n**The classic (signDoc) flow is deprecated** and CSC will be the only supported signing flow in the future. It is recommended to set this flag to `true`.",
            "type": "boolean"
          },
          "useMobileBankID": {
            "default": false,
            "description": "**Deprecated**. Do not set this field. It defaults to `false`.\n\nNorwegian BankID has currently 3 options: code tag, BankID mobile app and Mobile BankID option (works through push notifications from telco operator, not to be confused with the mobile app). In order to be able to use Mobile BankID option this flag should be set on transaction creation. Otherwise the default BankID option will be used (code tag or mobile app, depending on the user's last choice). The end user will not be able to change this choice later. If phone number and/or personal number are specified, they will be preset on the authentication page for convenience.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "NOBankIDSignDescription": {
        "description": "**Deprecated**. Only used in the classic (signDoc) flow, which is deprecated. Required if `useCSC` is `false`.",
        "type": "string"
      },
      "NOSignText": {
        "description": "**Deprecated**. Only used in the classic (signDoc) flow, which is deprecated. Required if `useCSC` is `false`.",
        "pattern": "^[0-9a-z\u00e6\u00f8\u00e5A-Z\u00c6\u00d8\u00c5\r\n #$%-&(-?@\u00a1\u00a3\u00a4\u00a5\u00a7\u00bf\u00c4\u00c7\u00c9\u00d1\u00d6\u00dc\u00df\u00e0\u00e4\u00e8\u00e9\u00ec\u00f1\u00f2\u00f6\u00f9]{1,118}$",
        "type": "string"
      },
      "NOBankIDDigestCallbackUrl": {
        "description": "**Required for CSC**\n\nThe URL of an endpoint you need to provide to compute the document digest.\nIt will be called after user identification, with the POST method and a JSON request body with the following fields:\n* `transactionId`, string\n* `fullCertificateChain`, string\n\nIt should respond with an object containing the following fields:\n* `id`: the identifier of the document, string\n* `digest`: the digest of the document, string, base64 encoded",
        "type": "string"
      },
      "NOBankIDCscClientData": {
        "description": "**Only for CSC**\n\n Arbitrary data from the signature application",
        "type": "string"
      },
      "ParamSignVerimi": {
        "properties": {
          "documentsToSign": {
            "items": { "$ref": "#/components/schemas/Document" },
            "type": "array"
          },
          "userEmail": { "type": "string" }
        },
        "required": ["documentsToSign"],
        "type": "object"
      },
      "Document": {
        "properties": {
          "clusterOrder": { "maximum": 255, "minimum": 0, "type": "integer" },
          "clusterTitle": { "type": "string" },
          "files": { "items": { "$ref": "#/components/schemas/DocumentFile" }, "type": "array" }
        },
        "required": ["clusterOrder", "files"],
        "type": "object"
      },
      "DocumentFile": {
        "properties": {
          "description": { "type": "string" },
          "documentData": { "$ref": "#/components/schemas/PdfAsBase64" },
          "documentId": { "type": "string" },
          "filename": { "type": "string" },
          "legalEntity": { "type": "string" },
          "order": { "maximum": 255, "minimum": 0, "type": "integer" },
          "showDocument": { "$ref": "#/components/schemas/ShowDocumentOption" },
          "signatures": {
            "items": { "$ref": "#/components/schemas/SignaturePlacement" },
            "type": "array"
          },
          "title": { "type": "string" }
        },
        "required": ["documentId", "order", "documentData", "filename", "showDocument"],
        "type": "object"
      },
      "PdfAsBase64": { "description": "PDF document as a Base64 encoded string", "type": "string" },
      "ShowDocumentOption": { "enum": ["OPTIONAL", "MANDATORY"], "type": "string" },
      "SignaturePlacement": {
        "properties": {
          "signatureFieldName": { "type": "string" },
          "signatureHeight": { "maximum": 65535, "minimum": 0, "type": "integer" },
          "signaturePage": { "maximum": 255, "minimum": 0, "type": "integer" },
          "signaturePosX": { "maximum": 65535, "minimum": 0, "type": "integer" },
          "signaturePosY": { "maximum": 65535, "minimum": 0, "type": "integer" },
          "signatureWidth": { "maximum": 65535, "minimum": 0, "type": "integer" }
        },
        "type": "object"
      },
      "ParamSignFreja": {
        "properties": {
          "enforcePlusRegistrationLevel": { "type": "boolean" },
          "pushNotification": { "$ref": "#/components/schemas/FrejaPushNotification" },
          "signBinaryData": { "$ref": "#/components/schemas/FrejaSignBinaryData" },
          "signText": { "$ref": "#/components/schemas/FrejaSignText" },
          "signTitle": { "$ref": "#/components/schemas/FrejaSignTitle" },
          "useOrgIdService": { "$ref": "#/components/schemas/FrejaUseOrgIdService" },
          "userInputInfo": { "$ref": "#/components/schemas/FrejaUserInfo" },
          "userOutputInfo": {
            "default": ["EmailAddress"],
            "items": { "$ref": "#/components/schemas/FrejaUserOutputType" },
            "type": "array",
            "uniqueItems": true
          }
        },
        "required": ["signText"],
        "type": "object"
      },
      "FrejaSignText": {
        "description": "The text that will be shown in the mobile application and signed by the end user",
        "pattern": "^.{0,4096}$",
        "type": "string"
      },
      "FrejaSignBinaryData": {
        "description": "Binary data encoded as Base64. Maximum size 5MB before encoding. It is not shown to the user in the mobile application but is, nonetheless included in the signature.",
        "type": "string"
      },
      "FrejaSignTitle": {
        "description": "The title to display in the transaction list if presented to the user on the mobile device. If not present, a system default text will be presented.",
        "pattern": "^.{0,128}$",
        "type": "string"
      },
      "FrejaPushNotification": {
        "description": "The title and the text of the notification sent to the mobile device to alert the user of a signature request. The character limit for the push notification title and text is 256 characters for each. If not present, a system default title and text will be presented.",
        "properties": {
          "text": { "$ref": "#/components/schemas/FrejaPushNotificationField" },
          "title": { "$ref": "#/components/schemas/FrejaPushNotificationField" }
        },
        "required": ["title", "text"],
        "type": "object"
      },
      "FrejaPushNotificationField": { "pattern": "^.{1,256}$", "type": "string" },
      "ParamSignSwisscom": {
        "oneOf": [
          { "$ref": "#/components/schemas/SwisscomLegacyParamSign" },
          { "$ref": "#/components/schemas/SwisscomMabParamSign" }
        ]
      },
      "SwisscomLegacyParamSign": {
        "properties": {
          "documentDigest": {
            "description": "Must be a Base64 encoded SHA-256 digest of the document you want the user to sign.",
            "type": "string"
          },
          "language": { "$ref": "#/components/schemas/SwisscomLangCode" },
          "message": {
            "description": "The message shown to the user during step-up authentication. We strip # symbols to ensure compliance with Swisscom's security policies.",
            "pattern": "^.{1,119}$",
            "type": "string"
          },
          "msisdn": { "$ref": "#/components/schemas/MSISDN" },
          "registrationMethods": {
            "items": { "$ref": "#/components/schemas/SwisscomRegistrationMethod" },
            "type": "array"
          }
        },
        "required": ["msisdn", "message", "language", "documentDigest"],
        "type": "object"
      },
      "SwisscomLangCode": {
        "description": "The language of the user interface for the step-up authentication and SRS onboarding if applicable.\n\nNB. Polish is only available for Robo-Ident.",
        "enum": ["EN", "DE", "FR", "IT", "PL"],
        "type": "string"
      },
      "SwisscomRegistrationMethod": {
        "description": "Optional set of allowed registration methods to use if the user (_i.e._ MSISDN) is not registered with Swisscom. `BankIdent` is deprecated by Swisscom as of October 2023.",
        "enum": ["InPerson", "VideoIdent", "BankIdent", "RoboIdent"],
        "type": "string"
      },
      "SwisscomMabParamSign": {
        "properties": {
          "documentDigestInput": { "$ref": "#/components/schemas/DocumentDigestInput" }
        },
        "required": ["documentDigestInput"],
        "type": "object"
      },
      "DocumentDigestInput": {
        "oneOf": [
          { "$ref": "#/components/schemas/SwisscomBase64DigestSHA256Input" },
          { "$ref": "#/components/schemas/SwisscomDigestCallbackUrl" }
        ]
      },
      "SwisscomBase64DigestSHA256Input": {
        "properties": {
          "documentDigest": {
            "description": "Must be a Base64 encoded SHA-256 digest of the document you want the user to sign.",
            "type": "string"
          }
        },
        "required": ["documentDigest"],
        "type": "object"
      },
      "SwisscomDigestCallbackUrl": {
        "properties": {
          "digestCallbackUrl": { "$ref": "#/components/schemas/DigestCallbackUrlNoCertificate" }
        },
        "required": ["digestCallbackUrl"],
        "type": "object"
      },
      "DigestCallbackUrlNoCertificate": {
        "description": "The URL of an endpoint you need to provide to compute the document digest.\nIt will be called after user identification, with the POST method and a JSON request body with the field `transactionId`, string.\n\nIt should respond with an object containing the field`digest`: the digest of the document, string, base64 encoded.",
        "type": "string"
      },
      "ParamSignDKMitID": {
        "description": "**Deprecated**. Use `auth` method with `action = Sign`.",
        "properties": {
          "cpr": {
            "description": "Danish personal number (CPR-nummer). Setting this value when creating a transaction limits who can authenticate. It *cannot* be preset for MitID Business (employee login).",
            "pattern": "^\\d{10}$",
            "type": "string"
          },
          "language": { "$ref": "#/components/schemas/MitIDLanguage" },
          "level": { "$ref": "#/components/schemas/MitIDLevel" },
          "referenceText": { "$ref": "#/components/schemas/MitIDReferenceText" },
          "requestCPR": {
            "default": false,
            "description": "The end-user will be asked to enter their CPR as an additional step in the authentication process, so that it can be validated and returned in the completion data.",
            "type": "boolean"
          }
        },
        "required": ["referenceText"],
        "type": "object"
      },
      "ParamSignSmartID": {
        "properties": {
          "certificateLevel": { "$ref": "#/components/schemas/SmartIDCertificateLevel" },
          "digestCallbackUrl": { "$ref": "#/components/schemas/DigestCallbackUrl" },
          "displayText": { "$ref": "#/components/schemas/SmartIDDisplayText" },
          "userSemanticsIdentifier": { "$ref": "#/components/schemas/SmartIDSemanticsIdentifier" }
        },
        "required": ["displayText", "certificateLevel", "digestCallbackUrl"],
        "type": "object"
      },
      "DigestCallbackUrl": {
        "description": "The URL of an endpoint you need to provide to compute the document digest.\nIt will be called after user identification, with the POST method and a JSON request body with the following fields:\n* `transactionId`, string\n* `fullCertificateChain`, string\n\nIt should respond with an object containing the following fields:\n* `id`: the identifier of the document, string\n* `digest`: the digest of the document, string, base64 encoded",
        "type": "string"
      },
      "ParamSignItsme": {
        "properties": {
          "hashCallbackUrl": { "$ref": "#/components/schemas/DigestCallbackUrl" },
          "lang": { "$ref": "#/components/schemas/ItsmeSignLang" },
          "userCode": {
            "description": "Unique user identifier created by itsme.\n\nIf the user who needs to sign the document is already authenticated, you should provide their `userCode` so the identification screen will be skipped.",
            "type": "string"
          }
        },
        "required": ["lang", "hashCallbackUrl"],
        "type": "object"
      },
      "ItsmeSignLang": { "enum": ["En", "Fr", "Nl", "De"], "type": "string" },
      "ParamSignScriveQES": {
        "properties": {
          "documentDigest": {
            "description": "Must be a Base64 encoded SHA-256 digest of the document you want the user to sign.",
            "type": "string"
          },
          "documentTitle": { "$ref": "#/components/schemas/ScriveQesDocumentTitle" },
          "identityProvider": { "$ref": "#/components/schemas/ScriveQesIdentityProvider" }
        },
        "required": ["documentDigest", "documentTitle", "identityProvider"],
        "type": "object"
      },
      "ScriveQesDocumentTitle": {
        "description": "Title of the document being signed. It is displayed to the end-user by the Identity Provider during the signing flow. It must be non-empty and must not contain characters not supported by SE BankID, see <a href=\"https://www.bankid.com/en/utvecklare/guider/formatera-text/syntax-specialtecken-atergivning\" target=\"_blank\">Syntax, special characters and rendering</a>.",
        "type": "string"
      },
      "ScriveQesIdentityProvider": {
        "description": "Warning: `NOBankID` is not supported anymore. Selecting it will result in an error.",
        "enum": ["SEBankID"],
        "type": "string"
      },
      "ParamSignScriveISC": {
        "description": "Create a signature via Scrive ISC. Currently only available for providers: `seBankID`, `fiTupas`, `dkMitID`",
        "properties": {
          "digestCallbackUrl": { "$ref": "#/components/schemas/ScriveISCDigestCallbackUrl" },
          "documentTitle": { "$ref": "#/components/schemas/ScriveISCDocumentTitle" }
        },
        "required": ["digestCallbackUrl", "documentTitle"],
        "type": "object"
      },
      "ScriveISCDigestCallbackUrl": {
        "description": "The URL of an endpoint providing the data needed to compute the signature.\nIt will be called after user identification with the POST method and a JSON request body with the following fields:\n* `transactionId`, string, the Scrive ISC transaction ID\n* `certificateChain`, string, certificate (chain) in PEM format\n\nThe endpoint should respond with an object containing the field `dtbsr`, string, holding the base64 encoded DTBS/R (data to be signed representation).",
        "type": "string"
      },
      "ScriveISCDocumentTitle": {
        "description": "Title of the document being signed. It is displayed to the end-user by the Identity Provider during the signing flow. It must be non-empty and must not contain characters not supported by SE BankID, see <a href=\"https://www.bankid.com/en/utvecklare/guider/formatera-text/syntax-specialtecken-atergivning\" target=\"_blank\">Syntax, special characters and rendering</a>.",
        "type": "string"
      },
      "CallbackUrl": {
        "description": "An `https://` URL. Additionally accepts `http://` on the testing environment.\n\nWhen the transaction is completed a POST request is sent to this URL with a JSON-encoded body including the following fields:\n* `transactionId`\n* `status`: either `\"failed\"` or `\"complete\"`\n* `eventTime`: the time of the event that triggered the callback",
        "type": "string"
      },
      "UiLanguage": {
        "description": "This parameter allows preselecting the language used in eID Hub's UI. If the end-user selects a language in the eID Hub front-end, their choice will be persisted and takes precedence over the value set in this parameter.",
        "enum": [
          "cs",
          "da",
          "de",
          "el",
          "en",
          "es",
          "et",
          "fi",
          "fr",
          "hu",
          "is",
          "it",
          "lt",
          "lv",
          "nl",
          "no",
          "pl",
          "pt",
          "sv"
        ],
        "type": "string"
      },
      "RespTransaction": {
        "properties": {
          "endUserInfo": { "$ref": "#/components/schemas/EndUserInfo" },
          "id": { "$ref": "#/components/schemas/TransactionID" },
          "method": { "$ref": "#/components/schemas/Method" },
          "provider": { "$ref": "#/components/schemas/Provider" },
          "providerInfo": { "$ref": "#/components/schemas/ProviderInfo" },
          "providerParameters": { "$ref": "#/components/schemas/ProviderParameters" },
          "redirectUrl": { "$ref": "#/components/schemas/RedirectUrl" },
          "status": { "$ref": "#/components/schemas/Status" },
          "uiLanguage": { "$ref": "#/components/schemas/UiLanguage" }
        },
        "required": ["id", "redirectUrl", "status", "provider", "method", "providerParameters"],
        "type": "object"
      },
      "Status": { "enum": ["new", "started", "failed", "complete"], "type": "string" },
      "ProviderInfo": {
        "description": "Information from eID provider about started, completed and failed transactions",
        "maxProperties": 2,
        "minProperties": 1,
        "properties": {
          "digidentityAuth": { "$ref": "#/components/schemas/InfoAuthDigidentity" },
          "dkMitID": { "$ref": "#/components/schemas/InfoDKMitID" },
          "fiTupasAuth": { "$ref": "#/components/schemas/InfoAuthTupas" },
          "fiTupasSign": { "$ref": "#/components/schemas/InfoSignTupas" },
          "frejaAuth": { "$ref": "#/components/schemas/InfoAuthFreja" },
          "frejaSign": { "$ref": "#/components/schemas/InfoSignFreja" },
          "itsmeAuth": { "$ref": "#/components/schemas/InfoAuthItsme" },
          "itsmeSign": { "$ref": "#/components/schemas/InfoSignItsme" },
          "mobileID": { "$ref": "#/components/schemas/InfoMobileID" },
          "nlIDINAuth": { "$ref": "#/components/schemas/InfoAuthNLiDIN" },
          "noBankIDAuth": { "$ref": "#/components/schemas/InfoAuthNOBankID" },
          "noBankIDSign": { "$ref": "#/components/schemas/InfoSignNOBankID" },
          "oneID": { "$ref": "#/components/schemas/InfoAuthOneID" },
          "onfidoAuth": { "$ref": "#/components/schemas/InfoAuthOnfido" },
          "scriveISC": { "$ref": "#/components/schemas/InfoSignScriveISC" },
          "scriveQES": { "$ref": "#/components/schemas/InfoSignScriveQES" },
          "seBankID": { "$ref": "#/components/schemas/InfoBankID" },
          "smartID": { "$ref": "#/components/schemas/InfoSmartID" },
          "smsOtpAuth": { "$ref": "#/components/schemas/InfoAuthSMSOTP" },
          "swisscomSign": { "$ref": "#/components/schemas/InfoSignSwisscom" },
          "verimiAuth": { "$ref": "#/components/schemas/InfoAuthVerimi" },
          "verimiSign": { "$ref": "#/components/schemas/InfoSignVerimi" }
        },
        "type": "object"
      },
      "InfoBankID": {
        "properties": {
          "autoStartToken": { "$ref": "#/components/schemas/AutoStartToken" },
          "completionData": { "$ref": "#/components/schemas/BankIDOrderCompletionData" },
          "processStatus": { "enum": ["pending", "failed", "complete"], "type": "string" },
          "processStatusInfo": {
            "description": "Status info that corresponds to BankID `order hint`s for pending and failed transactions, where known values mapped one-to-one and any unknown value (because BankID leaves this possibility to add not listed in documentation order hints) as `pendingOther` or `failedOther`",
            "enum": [
              "outstandingTransaction",
              "noClient",
              "started",
              "userSign",
              "pendingOther",
              "userMrtd",
              "userCallConfirm",
              "expiredTransaction",
              "certificateErr",
              "userCancel",
              "cancelled",
              "startFailed",
              "failedOther",
              "userDeclinedCall",
              "notSupportedByUserApp",
              "transactionRiskBlocked"
            ],
            "type": "string"
          },
          "qrData": { "$ref": "#/components/schemas/QrData" }
        },
        "type": "object"
      },
      "AutoStartToken": {
        "description": "Expires in 3 minutes (hard threshold set by BankID). If `AutoStartToken` is issued for a particular personal number, issing a new one before the current one has expired leads to an error. The use of `AutoStartToken` in static QR codes is deprecated; use the `QrData` to generate animated QR codes instead.",
        "type": "string"
      },
      "QrData": {
        "description": "Data used to generate the QR code. It is valid for one second and so has to be fetched repeatedly.",
        "type": "string"
      },
      "BankIDOrderCompletionData": {
        "properties": {
          "bankIdIssueDate": { "$ref": "#/components/schemas/Day" },
          "cert": { "$ref": "#/components/schemas/BankIDOrderCert" },
          "device": { "$ref": "#/components/schemas/BankIDOrderDeviceData" },
          "ocspResponse": { "type": "string" },
          "risk": { "$ref": "#/components/schemas/BankIDRiskLevel" },
          "signature": { "type": "string" },
          "stepUp": { "$ref": "#/components/schemas/BankIDStepUp" },
          "user": { "$ref": "#/components/schemas/BankIDOrderUserData" }
        },
        "required": ["user", "device", "signature", "ocspResponse"],
        "type": "object"
      },
      "BankIDOrderUserData": {
        "properties": {
          "givenName": { "type": "string" },
          "name": { "type": "string" },
          "personalNumber": { "type": "string" },
          "surname": { "type": "string" }
        },
        "required": ["personalNumber", "name", "givenName", "surname"],
        "type": "object"
      },
      "BankIDOrderDeviceData": {
        "properties": { "ipAddress": { "type": "string" } },
        "required": ["ipAddress"],
        "type": "object"
      },
      "BankIDOrderCert": {
        "description": "**Deprecated**. This field is left for backward compatibility.\n\nThe latest version of BankID API does not include this field in their response anymore, so we set `notBefore` to the value of `bankIDIssueDate` and `notAfter` to `bankIDIssueDate` plus 5 years, so that if it was previously used for validation, it would still be valid. Please take into account that the actual value of `notAfter` is not known anymore. One should assume that if a transaction succeeded, the certificate is valid, because it's validated on BankID side.",
        "properties": { "notAfter": { "type": "string" }, "notBefore": { "type": "string" } },
        "required": ["notBefore", "notAfter"],
        "type": "object"
      },
      "BankIDStepUp": {
        "description": "Information about additional verifications that were part of the order.",
        "properties": {
          "mrtd": {
            "description": "Whether an MRTD check was performed before the order was completed.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "BankIDRiskLevel": {
        "description": "The risk level of the transaction.\n\nThis field is only returned if `returnRisk` is set to `true` in the transaction parameters.\n\nNote: risk indication is not supported in phone authentication.",
        "enum": ["Low", "Moderate", "High"],
        "type": "string"
      },
      "InfoAuthTupas": {
        "properties": {
          "authUrl": { "type": "string" },
          "completionData": { "$ref": "#/components/schemas/TupasCompletionData" },
          "errorData": { "$ref": "#/components/schemas/AuthTupasErrorData" }
        },
        "required": ["authUrl"],
        "type": "object"
      },
      "TupasCompletionData": {
        "properties": {
          "bank": { "$ref": "#/components/schemas/TupasBank" },
          "certificateData": { "$ref": "#/components/schemas/AuthTupasCertificateData" },
          "pid": {
            "description": "A fixed personal identifier for users of Finnish Bank ID and Mobiilivarmenne",
            "type": "string"
          },
          "profileData": { "$ref": "#/components/schemas/AuthTupasProfileData" },
          "satu": {
            "description": "Finnish unique identification number, SATU (s\u00e4hk\u00f6inen asiointitunnus)",
            "type": "string"
          },
          "ssn": {
            "description": "End user's Finnish personal identity code, HETU (henkil\u00f6tunnus)",
            "type": "string"
          }
        },
        "required": ["pid", "bank", "ssn", "certificateData", "profileData"],
        "type": "object"
      },
      "AuthTupasCertificateData": {
        "properties": { "distinguishedName": { "type": "string" } },
        "required": ["distinguishedName"],
        "type": "object"
      },
      "AuthTupasProfileData": {
        "properties": {
          "birthdate": { "$ref": "#/components/schemas/Day" },
          "familyName": { "type": "string" },
          "givenName": { "type": "string" },
          "name": { "type": "string" }
        },
        "required": ["familyName", "name"],
        "type": "object"
      },
      "AuthTupasErrorData": {
        "properties": {
          "error": { "type": "string" },
          "errorCode": { "type": "string" },
          "errorDescription": { "type": "string" }
        },
        "required": ["error"],
        "type": "object"
      },
      "InfoSignTupas": {
        "properties": {
          "completionData": { "$ref": "#/components/schemas/SignCompletionData" },
          "errorData": { "$ref": "#/components/schemas/SignTupasErrorData" },
          "signUrl": { "type": "string" }
        },
        "required": ["signUrl"],
        "type": "object"
      },
      "SignCompletionData": {
        "properties": {
          "base64SDO": { "$ref": "#/components/schemas/SDO" },
          "signatoryName": { "type": "string" },
          "signatorySSN": { "type": "string" },
          "signedText": { "type": "string" }
        },
        "required": ["signedText", "base64SDO", "signatoryName"],
        "type": "object"
      },
      "SDO": {
        "description": "SDO (Signed Data Object). Base64 encoded. More information here: <a href=\"https://www.nkom.no/teknisk/tillitstjenester/kvalifiserte-tilbydere/seid-prosjektet\" target=\"_blank\">SDO Overview</a>",
        "type": "string"
      },
      "SignTupasErrorData": {
        "properties": {
          "error": { "$ref": "#/components/schemas/SignTupasErrorType" },
          "errorDescription": { "type": "string" }
        },
        "required": ["error"],
        "type": "object"
      },
      "SignTupasErrorType": { "enum": ["Aborted", "AbsentSDO", "UserFlowError"], "type": "string" },
      "InfoSignNOBankID": {
        "properties": {
          "completionData": { "$ref": "#/components/schemas/SignNOBankIDCompletionData" },
          "errorData": { "$ref": "#/components/schemas/NOBankIDErrorData" },
          "signUrl": { "type": "string" }
        },
        "required": ["signUrl"],
        "type": "object"
      },
      "SignNOBankIDCompletionData": {
        "oneOf": [
          { "$ref": "#/components/schemas/ClassicSignNOBankIDCompletionData" },
          { "$ref": "#/components/schemas/CscSignNOBankIDCompletionData" }
        ]
      },
      "ClassicSignNOBankIDCompletionData": {
        "properties": {
          "certificateData": { "$ref": "#/components/schemas/NOBankIDCertificateData" },
          "idToken": { "type": "string" },
          "issuerDN": { "type": "string" },
          "pid": { "type": "string" },
          "profileData": { "$ref": "#/components/schemas/NOBankIDProfileData" },
          "sdo": { "type": "string" },
          "ssn": { "type": "string" }
        },
        "required": ["pid", "idToken", "issuerDN", "sdo", "profileData"],
        "type": "object"
      },
      "NOBankIDCertificateData": {
        "description": "**Deprecated**\n\nNote that `certificateData` will be `null` when authenticating via CIBA or with `allowSubstantialLevel` enabled.",
        "properties": {
          "certQualified": { "type": "boolean" },
          "certValidFrom": { "$ref": "#/components/schemas/UTCTime" },
          "certValidTo": { "$ref": "#/components/schemas/UTCTime" },
          "certificatePolicy": { "type": "string" },
          "distinguishedName": { "type": "string" },
          "keyAlgorithm": { "type": "string" },
          "keySize": { "type": "string" },
          "monetaryLimitAmount": { "type": "string" },
          "monetaryLimitCurrency": { "type": "string" },
          "serialNumber": { "type": "string" },
          "versionNumber": { "type": "string" }
        },
        "type": "object"
      },
      "UTCTime": {
        "example": "2016-07-22T00:00:00Z",
        "format": "yyyy-mm-ddThh:MM:ssZ",
        "type": "string"
      },
      "NOBankIDProfileData": {
        "properties": {
          "birthdate": { "$ref": "#/components/schemas/Day" },
          "familyName": { "type": "string" },
          "givenName": { "type": "string" },
          "name": { "type": "string" }
        },
        "type": "object"
      },
      "CscSignNOBankIDCompletionData": {
        "properties": {
          "certificateChain": {
            "description": "One or more Base64-encoded X.509v3 certificates from the certificate chain",
            "type": "string"
          },
          "issuerDN": { "type": "string" },
          "serialNumber": { "type": "string" },
          "signature": { "description": "Base64-encoded signed hash", "type": "string" },
          "subjectDN": { "type": "string" },
          "validFrom": { "type": "string" },
          "validTo": { "type": "string" }
        },
        "required": ["signature", "certificateChain"],
        "type": "object"
      },
      "NOBankIDErrorData": {
        "properties": { "error": { "type": "string" }, "errorDescription": { "type": "string" } },
        "required": ["error"],
        "type": "object"
      },
      "InfoAuthNOBankID": {
        "properties": {
          "authUrl": {
            "description": "Note that `authUrl` will be `null` when authenticating via CIBA.",
            "type": "string"
          },
          "cibaBindingMessage": {
            "description": "A short and human-readable message that lets the user associate  the CIBA request on their authentication device with the  initiator of the request..",
            "type": "string"
          },
          "completionData": { "$ref": "#/components/schemas/AuthNOBankIDCompletionData" },
          "errorData": { "$ref": "#/components/schemas/NOBankIDErrorData" }
        },
        "type": "object"
      },
      "AuthNOBankIDCompletionData": {
        "properties": {
          "certificateData": { "$ref": "#/components/schemas/NOBankIDCertificateData" },
          "idToken": { "type": "string" },
          "issuerDN": { "type": "string" },
          "pid": { "type": "string" },
          "profileData": { "$ref": "#/components/schemas/NOBankIDProfileData" },
          "ssn": { "type": "string" },
          "usedMobileBankID": { "type": "boolean" }
        },
        "required": ["pid", "idToken", "issuerDN", "profileData", "usedMobileBankID"],
        "type": "object"
      },
      "InfoAuthVerimi": {
        "properties": {
          "authUrl": { "type": "string" },
          "completionData": { "$ref": "#/components/schemas/AuthVerimiCompletionData" }
        },
        "required": ["authUrl"],
        "type": "object"
      },
      "AuthVerimiCompletionData": {
        "properties": {
          "birthdate": { "type": "string" },
          "email": { "type": "string" },
          "emailVerified": { "type": "boolean" },
          "name": { "type": "string" },
          "phoneNumber": { "type": "string" },
          "phoneNumberVerified": { "type": "boolean" },
          "userId": { "type": "string" }
        },
        "required": ["userId"],
        "type": "object"
      },
      "InfoSignVerimi": {
        "properties": {
          "completionData": { "$ref": "#/components/schemas/SignVerimiCompletionData" },
          "signUrl": { "type": "string" },
          "status": { "$ref": "#/components/schemas/VerimiSigningStatus" }
        },
        "required": ["signUrl", "status"],
        "type": "object"
      },
      "VerimiSigningStatus": {
        "enum": [
          "PreSigningAuthentication",
          "AuthenticationFailed",
          "Signing",
          "PostSigningProcessing",
          "Signed",
          "SigningFailed"
        ],
        "type": "string"
      },
      "SignVerimiCompletionData": {
        "properties": {
          "authData": { "$ref": "#/components/schemas/AuthVerimiCompletionData" },
          "signedDocuments": { "$ref": "#/components/schemas/SignedDocuments" }
        },
        "required": ["authData"],
        "type": "object"
      },
      "SignedDocuments": {
        "properties": {
          "pdfs": { "items": { "$ref": "#/components/schemas/SignedPdf" }, "type": "array" }
        },
        "required": ["pdfs"],
        "type": "object"
      },
      "SignedPdf": {
        "properties": {
          "documentData": { "$ref": "#/components/schemas/PdfAsBase64" },
          "documentId": { "type": "string" }
        },
        "required": ["documentId"],
        "type": "object"
      },
      "InfoAuthNLiDIN": {
        "properties": {
          "authUrl": { "type": "string" },
          "completionData": { "$ref": "#/components/schemas/IdinCompletionData" }
        },
        "required": ["authUrl"],
        "type": "object"
      },
      "IdinCompletionData": {
        "properties": {
          "address": { "$ref": "#/components/schemas/IdinAddress" },
          "ageCheck": { "type": "boolean" },
          "authenticationAuthorityID": { "type": "string" },
          "authenticationAuthorityName": { "type": "string" },
          "birthDate": { "$ref": "#/components/schemas/Day" },
          "customerId": { "type": "string" },
          "email": { "type": "string" },
          "gender": { "$ref": "#/components/schemas/IdinGender" },
          "initials": { "type": "string" },
          "legalLastName": { "type": "string" },
          "legalLastNamePrefix": { "type": "string" },
          "phone": { "type": "string" },
          "status": { "$ref": "#/components/schemas/IdinStatus" }
        },
        "required": ["status"],
        "type": "object"
      },
      "IdinStatus": {
        "enum": [
          "New",
          "Open",
          "Cancelled",
          "Success",
          "Failure",
          "Expired",
          "SuccessManual",
          "BankSelected"
        ],
        "type": "string"
      },
      "IdinAddress": {
        "properties": {
          "addressExtra": { "type": "string" },
          "city": { "type": "string" },
          "countryCode": { "type": "string" },
          "houseNumber": { "type": "string" },
          "houseNumberSuffix": { "type": "string" },
          "internationalAddressLine1": { "type": "string" },
          "internationalAddressLine2": { "type": "string" },
          "internationalAddressLine3": { "type": "string" },
          "postalCode": { "type": "string" },
          "street": { "type": "string" }
        },
        "required": ["street", "houseNumber", "postalCode", "city", "countryCode"],
        "type": "object"
      },
      "IdinGender": { "enum": ["Male", "Female", "Unknown"], "type": "string" },
      "InfoAuthItsme": {
        "properties": {
          "authUrl": { "type": "string" },
          "completionData": { "$ref": "#/components/schemas/ItsmeCompletionData" },
          "errorData": { "$ref": "#/components/schemas/AuthItsmeErrorData" }
        },
        "required": ["authUrl"],
        "type": "object"
      },
      "ItsmeCompletionData": {
        "properties": {
          "be": { "$ref": "#/components/schemas/BEItsmeCompletionData" },
          "birthdate": { "$ref": "#/components/schemas/Day" },
          "citizenship": { "type": "string" },
          "country": { "type": "string" },
          "device": { "$ref": "#/components/schemas/ItsmeDevice" },
          "email": { "type": "string" },
          "emailVerified": { "type": "boolean" },
          "familyName": { "type": "string" },
          "gender": { "type": "string" },
          "givenName": { "type": "string" },
          "locale": { "type": "string" },
          "nl": { "$ref": "#/components/schemas/NLItsmeCompletionData" },
          "phoneNumber": { "type": "string" },
          "phoneNumberVerified": { "type": "boolean" },
          "photo": { "$ref": "#/components/schemas/ItsmePhoto" },
          "userId": { "type": "string" }
        },
        "required": ["userId"],
        "type": "object"
      },
      "ItsmePhoto": {
        "properties": { "format": { "type": "string" }, "value": { "type": "string" } },
        "type": "object"
      },
      "ItsmeDevice": {
        "properties": {
          "appName": { "type": "string" },
          "appRelease": { "type": "string" },
          "debugEnabled": { "type": "boolean" },
          "deviceId": { "type": "string" },
          "deviceLabel": { "type": "string" },
          "deviceLockLevel": { "type": "string" },
          "deviceModel": { "type": "string" },
          "manufacturer": { "type": "string" },
          "msisdn": { "type": "string" },
          "os": { "type": "string" },
          "osRelease": { "type": "string" },
          "rooted": { "type": "boolean" },
          "sdkRelease": { "type": "string" },
          "smsEnabled": { "type": "boolean" }
        },
        "type": "object"
      },
      "BEItsmeCompletionData": {
        "properties": {
          "documentNumber": { "type": "string" },
          "locality": { "type": "string" },
          "nationalNumber": { "type": "string" },
          "placeOfBirth": { "$ref": "#/components/schemas/ItsmePlaceOfBirth" },
          "postalCode": { "type": "string" },
          "streetAddress": { "type": "string" },
          "validFrom": { "$ref": "#/components/schemas/UTCTime" },
          "validTo": { "$ref": "#/components/schemas/UTCTime" }
        },
        "type": "object"
      },
      "ItsmePlaceOfBirth": {
        "properties": {
          "city": { "type": "string" },
          "country": { "type": "string" },
          "formatted": { "type": "string" }
        },
        "type": "object"
      },
      "NLItsmeCompletionData": {
        "properties": {
          "bsn": { "type": "string" },
          "documentNumber": { "type": "string" },
          "documentType": { "type": "string" }
        },
        "type": "object"
      },
      "AuthItsmeErrorData": {
        "properties": { "error": { "type": "string" }, "errorDescription": { "type": "string" } },
        "required": ["error"],
        "type": "object"
      },
      "InfoSignItsme": {
        "properties": {
          "completionData": { "$ref": "#/components/schemas/ItsmeSignCompletionData" },
          "errorData": { "$ref": "#/components/schemas/ItsmeSignErrorData" },
          "signUrl": { "type": "string" }
        },
        "required": ["signUrl"],
        "type": "object"
      },
      "ItsmeSignCompletionData": {
        "properties": {
          "b64Signature": { "type": "string" },
          "fullCertificateChain": {
            "description": "The PEM certificate that is created for the user after the identification step. The full certificate chain is included.",
            "type": "string"
          },
          "signatureStatus": {
            "description": "The status of the signature request: Pending, Success, RequesterError or ResponderError",
            "type": "string"
          }
        },
        "required": ["signatureStatus"],
        "type": "object"
      },
      "ItsmeSignErrorData": { "properties": { "cause": { "type": "string" } }, "type": "object" },
      "InfoAuthSMSOTP": {
        "properties": {
          "delivered": {
            "description": "Delivery flag. Could be absent depending on the end-user mobile provider and settings.",
            "type": "boolean"
          },
          "msisdn": { "$ref": "#/components/schemas/MSISDN" }
        },
        "required": ["msisdn"],
        "type": "object"
      },
      "InfoAuthOnfido": {
        "properties": {
          "applicantId": {
            "description": "The applicant ID is only usable if you are using your own  Onfido account. It can be used to fetch images and detailed check data  for custom workflows.",
            "type": "string"
          },
          "checksClear": {
            "description": "**Deprecated as of v1.13.0, will be removed soon.** The result for the Onfido checks without further processing. _Note:_ This might not reflect the overall transaction status, for example Onfido returns a negative result when either name is not provided. In those cases we check the detailed Onfido results, and if there are no  other problems with the Onfido checks, then the eID Hub transaction result will be `\"complete\"`.",
            "type": "boolean"
          },
          "completionData": { "$ref": "#/components/schemas/OnfidoCompletionData" },
          "errorData": { "$ref": "#/components/schemas/OnfidoErrorData" },
          "sdkToken": {
            "description": "The token to be used with Onfido Web SDK. To use outside of eID Hub's frontend, please set the `referrerUrlPatternForSdk` parameter.",
            "type": "string"
          },
          "workflowRunId": {
            "description": "The workflow run id is the unique id associated with an Onfido  Studio workflow run. It exists only if the report type is  `customWorkflowOutput` and the workflow is already started.",
            "type": "string"
          }
        },
        "required": ["applicantId", "sdkToken"],
        "type": "object"
      },
      "OnfidoCompletionData": {
        "properties": {
          "documentReportData": { "$ref": "#/components/schemas/DocumentReportData" },
          "facialSimilarityScore": {
            "description": "Only for `DocumentFacialSimilarityPhoto`, `DocumentFacialSimilarityVideo` and `DocumentFacialSimilarityMotion`. The score property is a number between 0 and 1 that expresses how similar the two faces are, where 1 is a perfect match. If the face matching algorithm fails to detect a face, the score property will not be present and the face matching task will be done manually by Onfido.",
            "format": "double",
            "type": "number"
          },
          "workflowRunObject": { "$ref": "#/components/schemas/OnfidoWorkflowRunOutputObject" }
        },
        "required": ["documentReportData"],
        "type": "object"
      },
      "DocumentReportData": {
        "properties": {
          "address": { "type": "string" },
          "addressLines": { "$ref": "#/components/schemas/OnfidoDocumentReportAddressLines" },
          "categorisation": { "type": "string" },
          "dateOfBirth": { "$ref": "#/components/schemas/Day" },
          "dateOfExpiry": { "$ref": "#/components/schemas/Day" },
          "dateOfIssue": { "$ref": "#/components/schemas/Day" },
          "documentIssuer": { "type": "string" },
          "documentNumber": { "type": "string" },
          "documentType": { "$ref": "#/components/schemas/OnfidoReportDocumentType" },
          "drivingLicenceInformation": {
            "items": {
              "$ref": "#/components/schemas/OnfidoDocumentReportDrivingLicenceInformation"
            },
            "type": "array"
          },
          "firstName": { "type": "string" },
          "gender": { "type": "string" },
          "issuingCountry": { "$ref": "#/components/schemas/OnfidoIssuingCountry" },
          "issuingState": { "type": "string" },
          "lastName": { "type": "string" },
          "mrzLines": { "items": { "type": "string" }, "type": "array" },
          "nationality": { "type": "string" },
          "personalNumber": { "type": "string" }
        },
        "type": "object"
      },
      "OnfidoReportDocumentType": {
        "description": "Document type. Possible values include those for both document and proof-of-address checks",
        "enum": [
          "NationalIdentityCard",
          "DrivingLicence",
          "Passport",
          "PassportCard",
          "ResidencePermit",
          "VoterId",
          "WorkPermit",
          "NationalHealthInsuranceCard",
          "TaxId",
          "Visa",
          "MunicipalityIdentityCard",
          "ImmigrationStatusDocument",
          "IndigenousCard",
          "ProofOfCitizenship",
          "PrivateOperatorsCard",
          "ServiceIdCard",
          "AsylumRegistrationCard",
          "BankBuildingSocietyStatement",
          "UtilityBill",
          "CouncilTax",
          "BenefitLetters",
          "AddressCertificate",
          "Unknown"
        ],
        "type": "string"
      },
      "OnfidoIssuingCountry": {
        "description": "Document-issuing country in ISO 3166-1 alpha-3 code, e.g. SWE or GBR. Please note that in rare cases it might be a code that hasn't been included into the ISO standard yet, e.g. RKS for Kosovo.",
        "type": "string"
      },
      "OnfidoDocumentReportAddressLines": {
        "properties": {
          "city": { "type": "string" },
          "country": { "type": "string" },
          "postalCode": { "type": "string" },
          "state": { "type": "string" },
          "streetAddress": { "type": "string" }
        },
        "type": "object"
      },
      "OnfidoDocumentReportDrivingLicenceInformation": {
        "properties": {
          "category": { "type": "string" },
          "codes": { "type": "string" },
          "expiryDate": { "$ref": "#/components/schemas/Day" },
          "obtainmentDate": { "$ref": "#/components/schemas/Day" }
        },
        "type": "object"
      },
      "OnfidoWorkflowRunOutputObject": {
        "description": "Contents of this object are determined by the workflow. Configured in Onfido Studio.",
        "type": "object"
      },
      "OnfidoErrorData": {
        "properties": {
          "documentErrors": {
            "items": { "$ref": "#/components/schemas/OnfidoDocumentReportError" },
            "type": "array"
          },
          "documentValidationErrors": {
            "items": { "$ref": "#/components/schemas/OnfidoDocumentValidationError" },
            "type": "array"
          },
          "facialSimilarityErrors": {
            "items": { "$ref": "#/components/schemas/OnfidoFacialSimilarityError" },
            "type": "array"
          },
          "sdkError": { "type": "string" }
        },
        "type": "object"
      },
      "OnfidoDocumentReportError": {
        "description": "The reason(s) why the document check wasn't successful, this is a one-to-one mapping from Onfido breakdown results, see https://developers.onfido.com/guide/document-report#breakdown-descriptions",
        "enum": [
          "PoliceRecord",
          "AgeValidation",
          "DataComparisonFirstName",
          "DataComparisonLastName",
          "DataComparisonGender",
          "DataComparisonDateOfBirth",
          "DataComparisonAddress",
          "CompromisedDocument",
          "DataValidationDocumentExpiration",
          "DataValidationGender",
          "DataValidationExpiryDate",
          "DataValidationMrz",
          "DataValidationBarcode",
          "DataValidationDateOfBirth",
          "DataValidationDocumentNumbers",
          "VisualAuthenticityOther",
          "VisualAuthenticityOriginalDocumentPresent",
          "VisualAuthenticityFonts",
          "VisualAuthenticityPictureFaceIntegrity",
          "VisualAuthenticityDigitalTampering",
          "VisualAuthenticityTemplate",
          "VisualAuthenticityFaceDetection",
          "VisualAuthenticitySecurityFeatures",
          "ImageIntegrityColourPicture",
          "ImageIntegritySupportedDocument",
          "ImageIntegrityImageQuality",
          "ImageIntegrityConclusiveDocumentQuality",
          "DataConsistencyMultipleDataSourcesPresent",
          "DataConsistencyDateOfExpiry",
          "DataConsistencyDocumentType",
          "DataConsistencyNationality",
          "DataConsistencyIssuingCountry",
          "DataConsistencyDocumentNumbers",
          "DataConsistencyGender",
          "DataConsistencyDateOfBirth",
          "DataConsistencyFirstName",
          "DataConsistencyLastName",
          "IssuingAuthorityNfcActiveAuthentication",
          "IssuingAuthorityNfcPassiveAuthentication",
          "DocumentClassificationSupportedDocument",
          "DocumentClassificationValidDocumentDate",
          "SourceIntegrityDigitalTampering"
        ],
        "type": "string"
      },
      "OnfidoDocumentValidationError": {
        "description": "The reason(s) why the document check wasn't successful. Currently it includes validations against the provider parameters set upon transaction creation.",
        "enum": ["DocumentTypeValidation", "DocumentCountryValidation"],
        "type": "string"
      },
      "OnfidoFacialSimilarityError": {
        "description": "The reason(s) why the face-similarity check wasn't successful, this is a one-to-one mapping from Onfido breakdown results, see https://documentation.onfido.com/#photo",
        "enum": [
          "ImageIntegrityFaceDetected",
          "ImageIntegritySourceIntegrity",
          "FaceComparison",
          "VisualAuthenticity",
          "LivenessDetected",
          "SpoofingDetection"
        ],
        "type": "string"
      },
      "InfoAuthFreja": {
        "properties": {
          "authRef": { "$ref": "#/components/schemas/FrejaAuthRef" },
          "authStatus": { "$ref": "#/components/schemas/FrejaStatus" },
          "completionData": { "$ref": "#/components/schemas/FrejaUserCompletionData" }
        },
        "required": ["authRef", "authStatus"],
        "type": "object"
      },
      "FrejaAuthRef": {
        "description": "Unique Freja reference, used to generate a QR for the end-user or to open Freja application. Only useful if you are using your own UI with API-only usage.",
        "type": "string"
      },
      "FrejaStatus": {
        "enum": [
          "Started",
          "DeliveredToMobile",
          "Canceled",
          "RpCanceled",
          "Expired",
          "Approved",
          "Rejected"
        ],
        "type": "string"
      },
      "FrejaUserCompletionData": {
        "properties": {
          "addresses": {
            "items": { "$ref": "#/components/schemas/FrejaAddress" },
            "type": "array"
          },
          "basicUserInfo": { "$ref": "#/components/schemas/FrejaBasicUserInfo" },
          "dateOfBirth": { "$ref": "#/components/schemas/Day" },
          "detailsJws": { "description": "Raw details JWS provided by Freja", "type": "string" },
          "emailAddress": { "type": "string" },
          "loaLevel": { "$ref": "#/components/schemas/LoaLevel" },
          "orgIdAdditionalAttributes": {
            "description": "Additional OrganisationID attributes.\n\nOnly present if `useOrgIdService` was enabled.",
            "items": { "$ref": "#/components/schemas/FrejaOrgIdAttribute" },
            "type": "array"
          },
          "orgIdIssuerCode": {
            "description": "Organisational code\n\nOnly present if `useOrgIdService` was enabled.",
            "type": "string"
          },
          "orgIdIssuerFriendlyName": {
            "additionalProperties": { "type": "string" },
            "description": "Localised Relying Party name\n\nExample: `{\"EN\": \"Scrive\", \"SV\": \"Scrive AB\"}`\n\nOnly present if `useOrgIdService` was enabled.",
            "type": "object"
          },
          "orgIdUserIdentifier": {
            "description": "The specific organisation identifier set for the end user\n\nOnly present if `useOrgIdService` was enabled.",
            "type": "string"
          },
          "relyingPartyUserId": { "type": "string" },
          "ssn": { "$ref": "#/components/schemas/FrejaSSNUserInfo" },
          "timestamp": { "$ref": "#/components/schemas/UTCTime" }
        },
        "required": ["timestamp"],
        "type": "object"
      },
      "FrejaBasicUserInfo": {
        "properties": { "name": { "type": "string" }, "surname": { "type": "string" } },
        "required": ["name", "surname"],
        "type": "object"
      },
      "FrejaAddress": {
        "properties": {
          "address1": { "type": "string" },
          "address2": { "type": "string" },
          "address3": { "type": "string" },
          "city": { "type": "string" },
          "country": { "$ref": "#/components/schemas/FrejaCountry" },
          "postCode": { "type": "string" },
          "sourceType": { "$ref": "#/components/schemas/FrejaAddressSourceType" },
          "type": { "$ref": "#/components/schemas/FrejaAddressType" },
          "validFrom": { "$ref": "#/components/schemas/Day" }
        },
        "required": ["address1"],
        "type": "object"
      },
      "FrejaCountry": { "enum": ["SE", "NO", "FI", "DK"], "type": "string" },
      "FrejaAddressType": { "enum": ["RESIDENTIAL", "POSTAL"], "type": "string" },
      "FrejaAddressSourceType": { "enum": ["GOVERNMENT_REGISTRY"], "type": "string" },
      "FrejaSSNUserInfo": {
        "properties": {
          "country": { "$ref": "#/components/schemas/FrejaCountry" },
          "ssn": { "type": "string" }
        },
        "required": ["country", "ssn"],
        "type": "object"
      },
      "LoaLevel": { "enum": ["LOA1", "LOA2", "LOA3", "LOA3_NR"], "type": "string" },
      "FrejaOrgIdAttribute": {
        "properties": {
          "displayText": { "type": "string" },
          "key": { "type": "string" },
          "value": { "type": "string" }
        },
        "required": ["key", "value", "displayText"],
        "type": "object"
      },
      "InfoSignFreja": {
        "properties": {
          "completionData": { "$ref": "#/components/schemas/FrejaSignCompletionData" },
          "signRef": { "$ref": "#/components/schemas/FrejaSignRef" },
          "signStatus": { "$ref": "#/components/schemas/FrejaStatus" }
        },
        "required": ["signRef", "signStatus"],
        "type": "object"
      },
      "FrejaSignRef": {
        "description": "Unique Freja reference, used to generate a QR for the end-user or to open Freja application. Only useful if you are using your own UI with API-only usage.",
        "type": "string"
      },
      "FrejaSignCompletionData": {
        "properties": {
          "signData": { "$ref": "#/components/schemas/FrejaSignatureData" },
          "userData": { "$ref": "#/components/schemas/FrejaUserCompletionData" }
        },
        "required": ["userData", "signData"],
        "type": "object"
      },
      "FrejaSignatureData": {
        "properties": {
          "certificateStatus": {
            "description": "Base64 string. Contains the OCSP response regarding the state of the end-user certificate at the time of validating the signature.",
            "type": "string"
          },
          "userSignature": {
            "description": "The produced signature as JWS. For Simple signature JWS payload represents sign text, for extended signature JWS payload represents a JSON with sign text and binary data.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "InfoSignSwisscom": {
        "oneOf": [
          { "$ref": "#/components/schemas/SwisscomLegacyInfoSign" },
          { "$ref": "#/components/schemas/SwisscomMabInfoSign" }
        ]
      },
      "SwisscomLegacyInfoSign": {
        "properties": {
          "completionData": { "$ref": "#/components/schemas/SwisscomLegacyCompletionData" },
          "errorData": { "$ref": "#/components/schemas/SwisscomLegacyErrorData" },
          "signUrl": { "type": "string" },
          "srsData": { "$ref": "#/components/schemas/SwisscomSRSData" }
        },
        "type": "object"
      },
      "SwisscomLegacyCompletionData": {
        "properties": {
          "crl": { "type": "string" },
          "ocsp": { "type": "string" },
          "signature": { "type": "string" }
        },
        "required": ["signature", "ocsp", "crl"],
        "type": "object"
      },
      "SwisscomLegacyErrorData": {
        "properties": {
          "errorMessage": { "type": "string" },
          "errorResultMajor": { "type": "string" },
          "errorResultMinor": { "type": "string" }
        },
        "required": ["errorResultMajor"],
        "type": "object"
      },
      "SwisscomSRSData": {
        "properties": {
          "issuerMethod": { "$ref": "#/components/schemas/SwisscomSRSIssuerMethod" },
          "status": { "$ref": "#/components/schemas/SwisscomSRSStatus" },
          "targetURL": { "type": "string" }
        },
        "required": ["issuerMethod", "targetURL", "status"],
        "type": "object"
      },
      "SwisscomSRSIssuerMethod": {
        "enum": ["IdentityTmVideo", "BankKlarna", "NectRoboIdent"],
        "type": "string"
      },
      "SwisscomSRSStatus": {
        "enum": [
          "created",
          "initialized",
          "waiting_for_doc",
          "identification_done",
          "data_ready",
          "document_verified",
          "identification_negatively_conducted",
          "processing_terminated",
          "fraud_attempt",
          "timeout",
          "terminated",
          "error",
          "canceled"
        ],
        "type": "string"
      },
      "SwisscomMabInfoSign": {
        "properties": {
          "authUrl": { "type": "string" },
          "completionData": { "$ref": "#/components/schemas/SwisscomMabCompletionData" },
          "errorData": { "$ref": "#/components/schemas/SwisscomMabErrorData" },
          "isRepeatSignature": {
            "description": "Whether identification was skipped during the authentication step.",
            "type": "boolean"
          }
        },
        "required": ["authUrl"],
        "type": "object"
      },
      "SwisscomMabCompletionData": {
        "properties": {
          "crl": { "items": { "type": "string" }, "type": "array" },
          "ocsp": { "items": { "type": "string" }, "type": "array" },
          "signature": { "type": "string" }
        },
        "required": ["signature", "ocsp", "crl"],
        "type": "object"
      },
      "SwisscomMabErrorData": {
        "properties": { "error": { "type": "string" }, "errorDescription": { "type": "string" } },
        "required": ["error"],
        "type": "object"
      },
      "InfoDKMitID": {
        "properties": {
          "authUrl": { "type": "string" },
          "completionData": { "$ref": "#/components/schemas/MitIDUserData" },
          "errorData": { "$ref": "#/components/schemas/MitIDErrorData" },
          "uiClientInitData": {
            "$ref": "#/components/schemas/MitIDInitializeAuthenticationResponse"
          }
        },
        "type": "object"
      },
      "MitIDInitializeAuthenticationResponse": {
        "properties": {
          "algorithm": { "type": "string" },
          "aux": { "type": "string" },
          "checksum": { "type": "string" },
          "coreClientUrl": { "type": "string" }
        },
        "required": ["coreClientUrl", "checksum", "algorithm", "aux"],
        "type": "object"
      },
      "MitIDUserData": {
        "properties": {
          "cpr": { "$ref": "#/components/schemas/MitIDCPR" },
          "dateOfBirth": { "$ref": "#/components/schemas/Day" },
          "employeeData": { "$ref": "#/components/schemas/MitIDEmployeeData" },
          "ial": { "$ref": "#/components/schemas/MitIDLevelIAL" },
          "identityName": { "$ref": "#/components/schemas/MitIDIdentityName" },
          "signedUserData": { "$ref": "#/components/schemas/MitIDSignedUserData" },
          "userId": {
            "description": "Unique user ID (UUID). For MitID Business it is the professional ID. This value can be passed back as the `uuid` parameter on a subsequent transaction's auth params to enable MitID's reauth flow, where the user skips the first login (account-selection) page.",
            "type": "string"
          }
        },
        "required": ["userId"],
        "type": "object"
      },
      "MitIDIdentityName": {
        "description": "The registered identity name. Exception: if the user has requested name and address protection and the service provider is not public then this value is \"NAVNE & ADRESSEBESKYTTET\". Can also be empty in case of a protected name for MitID Business.",
        "type": "string"
      },
      "MitIDLevelIAL": {
        "description": "MitID Identity Assurance Level. Each MitID account is associated with an IAL, initially assigned as part of the registration process and later only changeable through additional registration processes.",
        "enum": ["Low", "Substantial", "High"],
        "type": "string"
      },
      "MitIDCPR": {
        "description": "Danish personal number (CPR-nummer)",
        "pattern": "^\\d{10}$",
        "type": "string"
      },
      "MitIDSignedUserData": {
        "description": "User data signed by Scrive in the format of JSON Web Signature (https://en.wikipedia.org/wiki/JSON_Web_Signature). The JWS payload contains all other fields in MitIDUserData. The signature has to be validated using publicly available JWK set (see among other API endpoints of this service). Use RS256 algorithm. The user data is only valid until the time indicated by `exp` claim.\n\nNot present for MitID Business transactions.",
        "type": "string"
      },
      "MitIDEmployeeData": {
        "properties": {
          "cprUuid": { "$ref": "#/components/schemas/UUID" },
          "cvr": { "type": "string" },
          "email": { "type": "string" },
          "nemIdRid": { "type": "string" },
          "organisationName": { "type": "string" },
          "pNumber": { "type": "string" },
          "seNumber": { "type": "string" }
        },
        "required": ["cvr", "organisationName"],
        "type": "object"
      },
      "UUID": {
        "example": "00000000-0000-0000-0000-000000000000",
        "format": "uuid",
        "type": "string"
      },
      "MitIDErrorData": {
        "description": "`UserCancel` - the user cancels the process.\n\n`CprMismatch` - the provided CPR doesn't match the user's actual one.\n\n`FlowError` - the embedded MitID UI returned an error.\n\n`DataRetrievalError` - eID service was not able to retrieve the user data from MitID.\n\n`NoBusinessIdentity` - the user doesn't have an actual MitID Erhverv identity on `employeeLogin`.",
        "enum": [
          "UserCancel",
          "CprMismatch",
          "FlowError",
          "DataRetrievalError",
          "NoBusinessIdentity"
        ],
        "type": "string"
      },
      "InfoSmartID": {
        "properties": {
          "completionData": { "$ref": "#/components/schemas/SmartIDCompletionData" },
          "verificationCode": { "$ref": "#/components/schemas/SmartIDVerificationCode" }
        },
        "type": "object"
      },
      "SmartIDVerificationCode": {
        "description": "A four-digit verification code. SmartID app displays the code to the end user. It should also be shown to the end-user on the page of the authentication/signing origin so that the end-user can compare the both. eID Hub's frontend displays the code. If not using the frontend, one has to guarantee that the code is shown.",
        "type": "string"
      },
      "SmartIDCompletionData": {
        "properties": {
          "certificate": { "type": "string" },
          "certificateLevel": { "$ref": "#/components/schemas/SmartIDCertificateLevel" },
          "dateOfBirth": { "$ref": "#/components/schemas/Day" },
          "deviceIpAddress": { "type": "string" },
          "documentNumber": {
            "description": "Smart-ID document number is the user's personal code (also called semantics identifier) with an additional suffix that identifies a particular mobile device (meaning a particular certificate) used for this operation.",
            "type": "string"
          },
          "endResult": { "$ref": "#/components/schemas/SmartIDEndResult" },
          "givenName": { "type": "string" },
          "personalCode": { "type": "string" },
          "signature": { "type": "string" },
          "surname": { "type": "string" }
        },
        "required": ["endResult"],
        "type": "object"
      },
      "SmartIDEndResult": {
        "enum": [
          "Ok",
          "UserRefused",
          "Timeout",
          "DocumentUnusable",
          "WrongVc",
          "RequiredInteractionNotSupportedByApp",
          "UserRefusedCertChoice",
          "UserRefusedDisplayTextAndPin",
          "UserRefusedVcChoice",
          "UserRefusedConfirmationMessage",
          "UserRefusedConfirmationMessageWithVcChoice"
        ],
        "type": "string"
      },
      "InfoAuthDigidentity": {
        "properties": {
          "authUrl": { "type": "string" },
          "completionData": { "$ref": "#/components/schemas/DigidentityAuthCompletionData" },
          "errorData": { "$ref": "#/components/schemas/DigidentityAuthErrorData" }
        },
        "required": ["authUrl"],
        "type": "object"
      },
      "DigidentityAuthCompletionData": {
        "properties": {
          "birthdate": { "$ref": "#/components/schemas/Day" },
          "country": { "type": "string" },
          "email": { "type": "string" },
          "emailVerified": { "type": "boolean" },
          "familyName": { "type": "string" },
          "gender": { "type": "string" },
          "givenName": { "type": "string" },
          "locality": { "type": "string" },
          "middleName": { "type": "string" },
          "phoneNumber": { "type": "string" },
          "phoneNumberVerified": { "type": "boolean" },
          "postalCode": { "type": "string" },
          "region": { "type": "string" },
          "streetAddress": { "type": "string" },
          "userId": { "type": "string" }
        },
        "required": ["userId"],
        "type": "object"
      },
      "DigidentityAuthErrorData": {
        "properties": { "error": { "type": "string" }, "errorDescription": { "type": "string" } },
        "required": ["error"],
        "type": "object"
      },
      "InfoSignScriveQES": {
        "properties": {
          "completionData": { "$ref": "#/components/schemas/SignScriveQESCompletionData" },
          "qesTransactionId": { "$ref": "#/components/schemas/ScriveQesTransactionID" },
          "qesTransactionStatus": { "$ref": "#/components/schemas/ScriveQesStatus" },
          "signUrl": { "$ref": "#/components/schemas/ScriveQesHttpsUrl" }
        },
        "required": ["qesTransactionId", "signUrl"],
        "type": "object"
      },
      "ScriveQesTransactionID": {
        "description": "QES transaction ID",
        "example": "00000000-0000-0000-0000-000000000000",
        "format": "uuid",
        "type": "string"
      },
      "ScriveQesStatus": {
        "enum": ["InProgress", "Failed", "CancelledByUser", "Complete"],
        "type": "string"
      },
      "ScriveQesHttpsUrl": {
        "description": "An absolute URL. The scheme must be `https`",
        "type": "string"
      },
      "SignScriveQESCompletionData": {
        "properties": {
          "certificateChain": { "$ref": "#/components/schemas/ScriveQesPemCertificate" },
          "dtbsr": { "$ref": "#/components/schemas/ScriveQesDtbsr" },
          "signature": { "$ref": "#/components/schemas/ScriveQesSignature" }
        },
        "required": ["dtbsr", "certificateChain", "signature"],
        "type": "object"
      },
      "ScriveQesDtbsr": {
        "description": "Base64-encoded DTBS/R (data to be signed representation)",
        "type": "string"
      },
      "ScriveQesPemCertificate": {
        "description": "Certificate (or certificate chain) in PEM format",
        "type": "string"
      },
      "ScriveQesSignature": {
        "description": "Base64-encoded digital signature computed over the DTBS/R",
        "type": "string"
      },
      "InfoAuthOneID": {
        "properties": {
          "authUrl": { "type": "string" },
          "completionData": { "$ref": "#/components/schemas/AuthOneIDCompletionData" },
          "errorData": { "$ref": "#/components/schemas/OneIDErrorData" }
        },
        "required": ["authUrl"],
        "type": "object"
      },
      "AuthOneIDCompletionData": {
        "properties": {
          "address": { "$ref": "#/components/schemas/AddressData" },
          "birthdate": { "$ref": "#/components/schemas/Day" },
          "familyName": { "type": "string" },
          "fraud": { "$ref": "#/components/schemas/FraudData" },
          "gender": { "type": "string" },
          "givenName": { "type": "string" },
          "idscan": { "$ref": "#/components/schemas/IDScanData" },
          "middleName": { "type": "string" },
          "name": { "type": "string" },
          "sub": { "type": "string" },
          "verifiedClaims": {
            "description": "Either a single item or an array of items.",
            "oneOf": [
              { "$ref": "#/components/schemas/VerifiedClaims" },
              { "items": { "$ref": "#/components/schemas/VerifiedClaims" }, "type": "array" }
            ]
          }
        },
        "required": ["sub", "address"],
        "type": "object"
      },
      "AddressData": {
        "properties": {
          "country": { "type": "string" },
          "locality": { "type": "string" },
          "postalCode": { "type": "string" },
          "region": { "type": "string" },
          "streetAddress": { "type": "string" }
        },
        "type": "object"
      },
      "FraudData": {
        "properties": {
          "activityHistoryScore": {
            "maximum": 9223372036854776000,
            "minimum": -9223372036854776000,
            "type": "integer"
          },
          "amberhillMatch": { "type": "boolean" },
          "disclosureOfDeathRegistrationInformationMatch": { "type": "boolean" },
          "identityFraudScore": {
            "maximum": 9223372036854776000,
            "minimum": -9223372036854776000,
            "type": "integer"
          },
          "nationalSIRAFraud": { "type": "boolean" },
          "nationalSIRAVictim": { "type": "boolean" },
          "noMatch": { "type": "boolean" },
          "searchPerformed": { "type": "boolean" }
        },
        "type": "object"
      },
      "IDScanData": {
        "properties": {
          "documents": {
            "items": { "$ref": "#/components/schemas/ScannedDocument" },
            "type": "array"
          },
          "faceMatch": { "$ref": "#/components/schemas/FaceMatch" },
          "liveness": { "$ref": "#/components/schemas/Liveness" },
          "metadata": { "$ref": "#/components/schemas/Metadata" },
          "overall": { "$ref": "#/components/schemas/Assessment" },
          "statistics": { "$ref": "#/components/schemas/Statistics" },
          "verificationPDF": { "$ref": "#/components/schemas/VerificationPDFURI" }
        },
        "required": ["overall", "verificationPDF"],
        "type": "object"
      },
      "Assessment": {
        "description": "Overall assessment score attached to a fraud examination",
        "type": "string"
      },
      "VerificationPDFURI": {
        "description": "Download URL for the verification PDF",
        "type": "string"
      },
      "ScannedDocument": {
        "properties": {
          "calculatedData": { "$ref": "#/components/schemas/CalculatedData" },
          "captureCount": {
            "maximum": 9223372036854776000,
            "minimum": -9223372036854776000,
            "type": "integer"
          },
          "confirmedData": { "$ref": "#/components/schemas/ConfirmedData" },
          "document": { "$ref": "#/components/schemas/DocumentData" },
          "documentId": { "type": "string" },
          "extractedData": { "$ref": "#/components/schemas/ExtractedData" },
          "fieldsEdited": {
            "maximum": 9223372036854776000,
            "minimum": -9223372036854776000,
            "type": "integer"
          },
          "fraudAssessment": { "$ref": "#/components/schemas/FraudAssessmentASFBreakDown" }
        },
        "required": ["documentId"],
        "type": "object"
      },
      "DocumentData": {
        "properties": {
          "country": { "type": "string" },
          "type": { "type": "string" },
          "typeLabel": { "type": "string" }
        },
        "type": "object"
      },
      "FraudAssessmentASFBreakDown": {
        "properties": {
          "asfBreakDown": { "$ref": "#/components/schemas/ASFBreakDown" },
          "details": { "$ref": "#/components/schemas/AssessmentDetails" },
          "overall": { "$ref": "#/components/schemas/Assessment" }
        },
        "type": "object"
      },
      "ASFBreakDown": {
        "properties": {
          "documentIntegrity": { "type": "boolean" },
          "imageComposition": { "type": "boolean" },
          "photoCheck": { "type": "boolean" }
        },
        "type": "object"
      },
      "AssessmentDetails": {
        "description": "Detailed report on the assesment performed (when applicable)",
        "type": "object"
      },
      "ExtractedData": { "description": "Fields extracted from the document", "type": "object" },
      "ConfirmedData": {
        "description": "Data extracted from the document which are confirmed",
        "type": "object"
      },
      "CalculatedData": {
        "description": "Values indirectly calculated from the document",
        "type": "object"
      },
      "FaceMatch": {
        "properties": { "fraudAssessment": { "$ref": "#/components/schemas/FraudAssessment" } },
        "type": "object"
      },
      "FraudAssessment": {
        "properties": {
          "details": { "$ref": "#/components/schemas/AssessmentDetails" },
          "overall": { "$ref": "#/components/schemas/Assessment" }
        },
        "type": "object"
      },
      "Liveness": {
        "properties": { "fraudAssessment": { "$ref": "#/components/schemas/FraudAssessment" } },
        "type": "object"
      },
      "Metadata": { "description": "Metadata", "type": "object" },
      "Statistics": { "description": "Statistics", "type": "object" },
      "VerifiedClaims": {
        "description": "OpenID Identity Assurance Claims",
        "externalDocs": {
          "url": "https://openid.net/specs/openid-ida-verified-claims-1_0-final.html"
        },
        "properties": {
          "claims": { "$ref": "#/components/schemas/Claims" },
          "verification": { "$ref": "#/components/schemas/Verification" }
        },
        "type": "object"
      },
      "Verification": {
        "properties": {
          "assurance_level": { "$ref": "#/components/schemas/AssuranceLevel" },
          "assurance_process": { "$ref": "#/components/schemas/AssuranceProcess" },
          "evidence": { "items": { "$ref": "#/components/schemas/Evidence" }, "type": "array" },
          "trust_framework": { "$ref": "#/components/schemas/TrustFramework" }
        },
        "type": "object"
      },
      "TrustFramework": {
        "description": "Trust framewrok used in OpenID ",
        "externalDocs": { "url": "https://bitbucket.org/openid/ekyc-ida/wiki/identifiers" },
        "type": "string"
      },
      "AssuranceLevel": {
        "description": "Level of assurance",
        "externalDocs": { "url": "https://bitbucket.org/openid/ekyc-ida/wiki/identifiers" },
        "type": "string"
      },
      "AssuranceProcess": {
        "properties": {
          "assurance_details": {
            "items": { "$ref": "#/components/schemas/AssuranceDetail" },
            "type": "array"
          },
          "policy": { "$ref": "#/components/schemas/Policy" },
          "procedure": { "$ref": "#/components/schemas/Procedure" }
        },
        "type": "object"
      },
      "Policy": {
        "description": "The standard or policy that was followed",
        "externalDocs": {
          "url": "https://openid.net/specs/openid-ida-verified-claims-1_0-final.html#name-element-structure"
        },
        "type": "string"
      },
      "Procedure": {
        "description": "A specific procedure from the policy that was followed",
        "externalDocs": {
          "url": "https://openid.net/specs/openid-ida-verified-claims-1_0-final.html#name-element-structure"
        },
        "type": "string"
      },
      "AssuranceDetail": {
        "properties": {
          "evidence_ref": {
            "items": { "$ref": "#/components/schemas/EvidenceReference" },
            "type": "array"
          }
        },
        "type": "object"
      },
      "EvidenceReference": {
        "properties": {
          "check_id": { "type": "string" },
          "evidence_metadata": { "$ref": "#/components/schemas/EvidenceMetadata" }
        },
        "type": "object"
      },
      "EvidenceMetadata": { "description": "Metadata", "type": "object" },
      "Evidence": {
        "description": "Evidence element of OpenID Identity Assurance",
        "externalDocs": {
          "url": "https://openid.net/specs/openid-ida-verified-claims-1_0-final.html#name-evidence-element"
        },
        "properties": {
          "check_details": { "$ref": "#/components/schemas/CheckDetails" },
          "document_details": {
            "description": "Only available if the type is document",
            "type": "object"
          },
          "record": {
            "description": "Only available if the type is electronic_record",
            "type": "object"
          },
          "type": { "$ref": "#/components/schemas/EvidenceType" }
        },
        "type": "object"
      },
      "CheckDetails": {
        "properties": { "check_id": { "type": "string" }, "check_method": { "type": "string" } },
        "type": "object"
      },
      "EvidenceType": {
        "enum": ["document", "electronic_record"],
        "externalDocs": {
          "url": "https://openid.net/specs/openid-ida-verified-claims-1_0-final.html#name-evidence-element"
        },
        "type": "string"
      },
      "Claims": {
        "properties": {
          "address": { "$ref": "#/components/schemas/AddressData" },
          "birthdate": { "$ref": "#/components/schemas/Day" },
          "familyName": { "type": "string" },
          "gender": { "type": "string" },
          "givenName": { "type": "string" },
          "middleName": { "type": "string" },
          "name": { "type": "string" }
        },
        "required": ["address"],
        "type": "object"
      },
      "OneIDErrorData": {
        "properties": {
          "error": { "type": "string" },
          "errorDescription": { "type": "string" },
          "errorOneID": {
            "description": "Custom OneID error code. See `error_oneid` at <a href=\"https://docs.oneid.uk/guides/error-codes\">.",
            "type": "string"
          }
        },
        "required": ["error"],
        "type": "object"
      },
      "InfoMobileID": {
        "description": "Information about a MobileID authentication session.",
        "properties": {
          "completionData": { "$ref": "#/components/schemas/MobileIDCompletionData" },
          "verificationCode": { "$ref": "#/components/schemas/MobileIDVerificationCode" }
        },
        "type": "object"
      },
      "MobileIDVerificationCode": {
        "description": "A four-digit verification code. The MobileID app displays this code to the end user. It should also be shown to the user on the authentication origin page so they can compare both. eID Hub's frontend displays the code automatically.",
        "type": "string"
      },
      "MobileIDCompletionData": {
        "description": "Completion data returned when a MobileID session completes.",
        "properties": {
          "commonName": { "$ref": "#/components/schemas/MobileIDCommonName" },
          "country": { "$ref": "#/components/schemas/MobileIDCountry" },
          "endResult": { "$ref": "#/components/schemas/MobileIDEndResult" },
          "givenName": { "$ref": "#/components/schemas/MobileIDGivenName" },
          "nationalIdentityNumber": {
            "$ref": "#/components/schemas/MobileIDNationalIdentityNumber"
          },
          "surname": { "$ref": "#/components/schemas/MobileIDSurname" }
        },
        "required": ["endResult"],
        "type": "object"
      },
      "MobileIDEndResult": {
        "description": "Result of a MobileID session.",
        "enum": [
          "Ok",
          "Timeout",
          "NotMidClient",
          "UserCancelled",
          "SignatureHashMismatch",
          "PhoneAbsent",
          "DeliveryError",
          "SimError"
        ],
        "type": "string"
      },
      "MobileIDCommonName": { "description": "Common name of the user.", "type": "string" },
      "MobileIDGivenName": { "description": "Given name of the user.", "type": "string" },
      "MobileIDSurname": { "description": "Surname of the user.", "type": "string" },
      "MobileIDCountry": { "description": "Country of the user.", "type": "string" },
      "InfoSignScriveISC": {
        "properties": {
          "completionData": { "$ref": "#/components/schemas/SignScriveISCCompletionData" },
          "signURL": { "$ref": "#/components/schemas/ScriveISCHttpsUrl" },
          "transactionID": { "$ref": "#/components/schemas/ScriveISCTransactionID" },
          "transactionStatus": { "$ref": "#/components/schemas/ScriveISCStatus" }
        },
        "required": ["signURL", "transactionID"],
        "type": "object"
      },
      "ScriveISCHttpsUrl": {
        "description": "An absolute URL. The scheme must be `https`",
        "type": "string"
      },
      "ScriveISCTransactionID": {
        "description": "Scrive ISC transaction ID",
        "example": "00000000-0000-0000-0000-000000000000",
        "format": "uuid",
        "type": "string"
      },
      "ScriveISCStatus": {
        "enum": ["InProgress", "Failed", "CancelledByUser", "Complete"],
        "type": "string"
      },
      "SignScriveISCCompletionData": {
        "properties": {
          "certificateChain": { "$ref": "#/components/schemas/ScriveISCPemCertificate" },
          "dtbsr": { "$ref": "#/components/schemas/ScriveISCDtbsr" },
          "signature": { "$ref": "#/components/schemas/ScriveISCSignature" }
        },
        "required": ["dtbsr", "certificateChain", "signature"],
        "type": "object"
      },
      "ScriveISCDtbsr": {
        "description": "Base64-encoded DTBS/R (data to be signed representation)",
        "type": "string"
      },
      "ScriveISCPemCertificate": {
        "description": "Certificate (or certificate chain) in PEM format",
        "type": "string"
      },
      "ScriveISCSignature": {
        "description": "Base64-encoded digital signature computed over the DTBS/R",
        "type": "string"
      },
      "EndUserInfo": {
        "description": "Information about the end user. Present when `returnEndUserInfo` is set to `true`.\n\n**Warning**: This information is collected when the end user visits `accessUrl`, so it will only contain valid data when using [our frontend](#section/Usage/With-eID-Hub-frontend).\n\n**Note**: By setting `returnEndUserInfo` to `true` you are instructing Scrive to process the personal data returned. See further under Data Processing in the [API terms](https://www.scrive.com/terms/api-terms).",
        "properties": {
          "ip": { "description": "End user IP address", "type": "string" },
          "userAgent": { "description": "End user `User-Agent` HTTP header", "type": "string" }
        },
        "required": ["ip"],
        "type": "object"
      },
      "RespStartTransaction": {
        "properties": {
          "id": { "$ref": "#/components/schemas/TransactionID" },
          "method": { "$ref": "#/components/schemas/Method" },
          "provider": { "$ref": "#/components/schemas/Provider" },
          "providerInfo": { "$ref": "#/components/schemas/ProviderInfo" },
          "providerParameters": { "$ref": "#/components/schemas/ProviderParameters" },
          "redirectUrl": { "$ref": "#/components/schemas/RedirectUrl" },
          "status": { "$ref": "#/components/schemas/Status" },
          "uiLanguage": { "$ref": "#/components/schemas/UiLanguage" }
        },
        "required": [
          "id",
          "redirectUrl",
          "status",
          "provider",
          "method",
          "providerParameters",
          "providerInfo"
        ],
        "type": "object"
      },
      "ReqStartTransaction": {
        "properties": {
          "endUserIP": { "$ref": "#/components/schemas/EndUserIP" },
          "isSingleDeviceFlow": {
            "description": "This is only used for SE BankID transactions. \n\nThe value indicates whether the user wants to identify with the SE BankID app on the same device.",
            "type": "boolean"
          },
          "mobileIdStartData": { "$ref": "#/components/schemas/MobileIDStartData" },
          "msisdn": { "$ref": "#/components/schemas/MSISDN" },
          "personalNumber": { "$ref": "#/components/schemas/SEPersonalNumber" },
          "smartIdUserIdentifier": { "$ref": "#/components/schemas/SmartIDSemanticsIdentifier" },
          "swisscomStartData": { "$ref": "#/components/schemas/SwisscomStartData" }
        },
        "type": "object"
      },
      "EndUserIP": {
        "description": "IP address of the end user.\n\nThis is only required for SE BankID transactions in API-only usage of eID Hub.",
        "type": "string"
      },
      "MobileIDStartData": {
        "description": "User-supplied data for MobileID authentication.",
        "properties": {
          "nationalIdentityNumber": {
            "$ref": "#/components/schemas/MobileIDNationalIdentityNumber"
          },
          "phoneNumber": { "$ref": "#/components/schemas/MobileIDPhoneNumber" }
        },
        "required": ["phoneNumber", "nationalIdentityNumber"],
        "type": "object"
      },
      "SwisscomStartData": {
        "properties": {
          "repeatLoginMethod": { "$ref": "#/components/schemas/SwisscomRepeatLoginMethod" },
          "tacLanguage": { "$ref": "#/components/schemas/SwisscomTacLanguage" }
        },
        "required": ["tacLanguage"],
        "type": "object"
      },
      "SwisscomTacLanguage": {
        "default": "En",
        "description": "The language of the accepted Swisscom Terms and Conditions.",
        "enum": ["En", "De", "Fr", "It"],
        "type": "string"
      },
      "SwisscomRepeatLoginMethod": {
        "description": "The method of authentication for reusable signatures. If it is not present then a one-time signature is used.",
        "enum": ["Passkey", "MobileID"],
        "type": "string"
      },
      "RespDOBValidationTransaction": {
        "properties": {
          "dateOfBirthReturned": { "$ref": "#/components/schemas/Day" },
          "match": { "$ref": "#/components/schemas/AgeMatchResult" },
          "matchDateOfBirth": { "$ref": "#/components/schemas/Day" }
        },
        "required": ["matchDateOfBirth"],
        "type": "object"
      },
      "AgeMatchResult": {
        "description": "A partial match occurs only when the date of birth is extracted from a Swedish social security number and the day field differs at most 10 days.",
        "enum": ["Match", "NoMatch", "Partial"],
        "type": "string"
      },
      "RespAgeVerificationTransaction": {
        "properties": { "overMinimumAge": { "type": "boolean" } },
        "type": "object"
      },
      "RespSMSOTP": {
        "properties": {
          "attemptsLeft": { "$ref": "#/components/schemas/NumberOfAttemptsLeft" },
          "oneTimeCodeValid": { "type": "boolean" }
        },
        "required": ["oneTimeCodeValid", "attemptsLeft"],
        "type": "object"
      },
      "NumberOfAttemptsLeft": {
        "description": "Number of attempts left.",
        "maximum": 5,
        "minimum": 0,
        "type": "integer"
      },
      "ReqSMSOTP": {
        "properties": {
          "oneTimeCode": {
            "format": "int32",
            "maximum": 2147483647,
            "minimum": -2147483648,
            "type": "integer"
          }
        },
        "required": ["oneTimeCode"],
        "type": "object"
      },
      "RespOnfidoContinue": {
        "properties": {
          "checksCleared": {
            "description": "This field is present when the Onfido-checks result is available immediately. Virtually all checks are asynchronous, thus this field is `null`. The get-transaction endpoint has to be polled to know when the checks are completed and the transaction is finished.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ReqOnfidoContinue": {
        "properties": { "onfidoSdkError": { "type": "string" } },
        "type": "object"
      },
      "RespOnfidoImages": {
        "properties": {
          "documents": {
            "items": { "$ref": "#/components/schemas/OnfidoDocumentImage" },
            "type": "array"
          },
          "livePhotos": {
            "items": { "$ref": "#/components/schemas/OnfidoLivePhotoImage" },
            "type": "array"
          },
          "motionFrames": {
            "items": { "$ref": "#/components/schemas/OnfidoMotionFrameImage" },
            "type": "array"
          }
        },
        "required": ["documents", "livePhotos", "motionFrames"],
        "type": "object"
      },
      "OnfidoDocumentImage": {
        "properties": {
          "applicantId": {
            "description": "The applicant ID is only usable if you are using your own  Onfido account. It can be used to fetch images and detailed check data  for custom workflows.",
            "type": "string"
          },
          "createdAt": { "$ref": "#/components/schemas/UTCTime" },
          "documentType": { "$ref": "#/components/schemas/OnfidoDocumentType" },
          "fileName": { "type": "string" },
          "fileSize": {
            "maximum": 9223372036854776000,
            "minimum": -9223372036854776000,
            "type": "integer"
          },
          "fileType": { "$ref": "#/components/schemas/OnfidoDocumentFileType" },
          "id": { "type": "string" },
          "image": { "$ref": "#/components/schemas/OnfidoBase64EncodedImage" },
          "issuingCountry": { "type": "string" },
          "side": { "$ref": "#/components/schemas/OnfidoDocumentSide" }
        },
        "required": ["id", "createdAt", "fileName", "fileType", "fileSize", "applicantId", "image"],
        "type": "object"
      },
      "OnfidoDocumentFileType": { "enum": ["jpg", "png", "pdf"], "type": "string" },
      "OnfidoDocumentSide": { "enum": ["Front", "Back"], "type": "string" },
      "OnfidoBase64EncodedImage": {
        "description": "The image data encoded in base 64",
        "example": "iVBORw0KGgoAAAANSUhE...",
        "type": "string"
      },
      "OnfidoLivePhotoImage": {
        "properties": {
          "createdAt": { "$ref": "#/components/schemas/UTCTime" },
          "fileName": { "type": "string" },
          "fileSize": {
            "maximum": 9223372036854776000,
            "minimum": -9223372036854776000,
            "type": "integer"
          },
          "fileType": { "$ref": "#/components/schemas/OnfidoLivePhotoFileType" },
          "id": { "type": "string" },
          "image": { "$ref": "#/components/schemas/OnfidoBase64EncodedImage" }
        },
        "required": ["id", "createdAt", "fileName", "fileType", "fileSize", "image"],
        "type": "object"
      },
      "OnfidoLivePhotoFileType": { "enum": ["image/jpg", "image/png"], "type": "string" },
      "OnfidoMotionFrameImage": {
        "properties": {
          "fileName": { "type": "string" },
          "fileType": { "$ref": "#/components/schemas/OnfidoMotionFrameFileType" },
          "image": { "$ref": "#/components/schemas/OnfidoBase64EncodedImage" },
          "motionCaptureId": { "type": "string" }
        },
        "required": ["motionCaptureId", "fileType", "fileName", "image"],
        "type": "object"
      },
      "OnfidoMotionFrameFileType": { "enum": ["image/jpg", "image/png"], "type": "string" },
      "RespOnfidoCheck": {
        "properties": {
          "check": { "$ref": "#/components/schemas/OnfidoCheck" },
          "pdf": { "$ref": "#/components/schemas/OnfidoBase64EncodedPDF" }
        },
        "required": ["check", "pdf"],
        "type": "object"
      },
      "OnfidoCheck": {
        "properties": {
          "applicantId": {
            "description": "The applicant ID is only usable if you are using your own  Onfido account. It can be used to fetch images and detailed check data  for custom workflows.",
            "type": "string"
          },
          "applicantProvidesData": { "type": "boolean" },
          "createdAt": { "$ref": "#/components/schemas/UTCTime" },
          "formUri": { "type": "string" },
          "href": { "type": "string" },
          "id": { "type": "string" },
          "reportIds": { "items": { "type": "string" }, "type": "array" },
          "result": { "type": "string" },
          "sandbox": { "type": "boolean" },
          "tags": { "items": { "type": "string" }, "type": "array" }
        },
        "required": [
          "id",
          "createdAt",
          "href",
          "applicantProvidesData",
          "applicantId",
          "tags",
          "reportIds",
          "sandbox"
        ],
        "type": "object"
      },
      "OnfidoBase64EncodedPDF": {
        "description": "The PDF data encoded in base 64",
        "example": "iVBORw0KGgoAAAANSUhE...",
        "type": "string"
      },
      "RespDkCprMatch": {
        "properties": { "isMatch": { "type": "boolean" } },
        "required": ["isMatch"],
        "type": "object"
      },
      "ReqDkCprMatch": {
        "properties": { "cpr": { "$ref": "#/components/schemas/MitIDCPR" } },
        "required": ["cpr"],
        "type": "object"
      },
      "JwkSet": {
        "properties": {
          "keys": { "items": { "$ref": "#/components/schemas/Jwk" }, "type": "array" }
        },
        "required": ["keys"],
        "type": "object"
      },
      "Jwk": {
        "description": "JSON Web Key. See https://datatracker.ietf.org/doc/html/rfc7517#section-4",
        "properties": {
          "alg": { "type": "string" },
          "e": { "type": "string" },
          "kid": { "type": "string" },
          "kty": { "type": "string" },
          "n": { "type": "string" },
          "use": { "type": "string" }
        },
        "required": ["kty"],
        "type": "object"
      },
      "RespSwisscomLookup": {
        "properties": {
          "eidasLevelSufficient": { "type": "boolean" },
          "registered": { "type": "boolean" }
        },
        "required": ["registered", "eidasLevelSufficient"],
        "type": "object"
      },
      "RespSwisscomStartSRS": {
        "properties": { "targetURL": { "type": "string" } },
        "required": ["targetURL"],
        "type": "object"
      },
      "ReqSwisscomStartSRS": {
        "properties": {
          "country": { "type": "string" },
          "dob": { "type": "string" },
          "firstName": { "type": "string" },
          "issuerMethod": { "$ref": "#/components/schemas/SwisscomSRSIssuerMethod" },
          "lastName": { "type": "string" }
        },
        "required": ["issuerMethod"],
        "type": "object"
      },
      "RespDigidentityMetadata": {
        "properties": {
          "metadataReports": {
            "items": { "$ref": "#/components/schemas/DigidentityMetadataReport" },
            "type": "array"
          }
        },
        "required": ["metadataReports"],
        "type": "object"
      },
      "DigidentityMetadataReport": {
        "properties": {
          "addressUpdatedAt": { "$ref": "#/components/schemas/UTCTime" },
          "age": {
            "maximum": 9223372036854776000,
            "minimum": -9223372036854776000,
            "type": "integer"
          },
          "buildingName": { "type": "string" },
          "buildingNumber": { "type": "string" },
          "city": { "type": "string" },
          "companyCountryName": { "type": "string" },
          "companyId": { "type": "string" },
          "companyInvoiceAddress": { "type": "string" },
          "companyName": { "type": "string" },
          "companyPostalAddress": { "type": "string" },
          "companyVatNumber": { "type": "string" },
          "country": { "type": "string" },
          "createdAt": { "$ref": "#/components/schemas/UTCTime" },
          "dateOfBirth": { "$ref": "#/components/schemas/Day" },
          "drivingLicenceAttachment": { "items": { "type": "string" }, "type": "array" },
          "drivingLicenceExpirationDate": { "$ref": "#/components/schemas/Day" },
          "drivingLicenceHdAttachment": { "items": { "type": "string" }, "type": "array" },
          "drivingLicenceNumber": { "type": "string" },
          "drivingLicenceState": { "type": "string" },
          "drivingLicenceVerifiedAt": { "$ref": "#/components/schemas/UTCTime" },
          "emailAddress": { "type": "string" },
          "emailAddressUpdatedAt": { "$ref": "#/components/schemas/UTCTime" },
          "firstName": { "type": "string" },
          "fullName": { "type": "string" },
          "gender": { "type": "string" },
          "houseNumber": { "type": "string" },
          "houseNumberAddition": { "type": "string" },
          "idCardAttachment": { "items": { "type": "string" }, "type": "array" },
          "idCardExpirationDate": { "$ref": "#/components/schemas/Day" },
          "idCardHdAttachment": { "items": { "type": "string" }, "type": "array" },
          "idCardNumber": { "type": "string" },
          "idCardState": { "type": "string" },
          "idCardVerifiedAt": { "$ref": "#/components/schemas/UTCTime" },
          "middleName": { "type": "string" },
          "mobilePhoneNumberUpdatedAt": { "$ref": "#/components/schemas/UTCTime" },
          "noFixedAbode": { "type": "boolean" },
          "passportAttachment": { "items": { "type": "string" }, "type": "array" },
          "passportExpirationDate": { "$ref": "#/components/schemas/Day" },
          "passportHdAttachment": { "items": { "type": "string" }, "type": "array" },
          "passportNumber": { "type": "string" },
          "passportState": { "type": "string" },
          "passportVerifiedAt": { "$ref": "#/components/schemas/UTCTime" },
          "personDetailUpdatedAt": { "$ref": "#/components/schemas/UTCTime" },
          "phoneNumber": { "type": "string" },
          "phonePrefix": { "type": "string" },
          "politicallyExposedCheck": {
            "$ref": "#/components/schemas/DigidentityPoliticallyExposedCheck"
          },
          "postcode": { "type": "string" },
          "pseudonym": { "type": "string" },
          "sanctionsCheck": { "$ref": "#/components/schemas/DigidentitySanctionsCheck" },
          "status": { "type": "string" },
          "street": { "type": "string" },
          "subBuildingName": { "type": "string" },
          "surname": { "type": "string" },
          "updatedAt": { "$ref": "#/components/schemas/UTCTime" }
        },
        "required": ["pseudonym", "status", "createdAt"],
        "type": "object"
      },
      "DigidentityPoliticallyExposedCheck": {
        "properties": {
          "errorMessages": { "items": { "type": "string" }, "type": "array" },
          "politicallyExposed": { "type": "boolean" }
        },
        "type": "object"
      },
      "DigidentitySanctionsCheck": {
        "properties": {
          "authorities": { "type": "string" },
          "errorMessages": { "items": { "type": "string" }, "type": "array" },
          "sanctioned": { "type": "boolean" }
        },
        "type": "object"
      },
      "RespNewMasTransaction": {
        "properties": {
          "accessUrl": { "$ref": "#/components/schemas/TransactionAccessUrl" },
          "id": { "$ref": "#/components/schemas/TransactionID" }
        },
        "required": ["id", "accessUrl"],
        "type": "object"
      },
      "ReqNewMasTransaction": {
        "properties": {
          "callbackUrl": { "$ref": "#/components/schemas/CallbackUrl" },
          "globalMetadataReference": { "$ref": "#/components/schemas/GlobalMetadataReference" },
          "masOptions": { "$ref": "#/components/schemas/MultiOption_'RequestOption" },
          "redirectUrl": { "$ref": "#/components/schemas/RedirectUrl" },
          "returnEndUserInfo": {
            "description": "Set this field to `true` to request eID Hub to record the end user's IP address and `User-Agent` HTTP header  in the `endUserInfo` field of the transaction.\n\n**Warning**: This information is collected when the end user visits `accessUrl`, so it will only contain valid data when using [our frontend](#section/Usage/With-eID-Hub-frontend).\n\n**Note**: By setting `returnEndUserInfo` to `true` you are instructing Scrive to process the personal data returned. See further under Data Processing in the [API terms](https://www.scrive.com/terms/api-terms).",
            "type": "boolean"
          },
          "skipSingleOption": {
            "default": true,
            "description": "Set this field to `true` to skip the MAS selection screen when only one option is provided.",
            "type": "boolean"
          },
          "uiLanguage": { "$ref": "#/components/schemas/UiLanguage" }
        },
        "required": ["redirectUrl", "masOptions"],
        "type": "object"
      },
      "MultiOption_'RequestOption": {
        "description": "Options that the end-user can choose from for completing the transaction.",
        "items": { "$ref": "#/components/schemas/OptionWithId_'RequestOption" },
        "minItems": 1,
        "title": "MultiOption",
        "type": "array"
      },
      "OptionWithId_'RequestOption": {
        "properties": {
          "id": { "$ref": "#/components/schemas/OptionId" },
          "metadata": { "$ref": "#/components/schemas/OptionMetadataReference" },
          "method": { "$ref": "#/components/schemas/Method" },
          "provider": { "$ref": "#/components/schemas/Provider" },
          "providerParameters": { "$ref": "#/components/schemas/ProviderParameters" }
        },
        "required": ["id", "method", "provider"],
        "title": "OptionWithId",
        "type": "object"
      },
      "OptionId": { "description": "Unique identifier for a MAS option.", "type": "string" },
      "OptionMetadataReference": {
        "description": "<p>Unique identifier for MAS option metadata. There is a fixed  set of available metadata one can attach to a MAS option.</p><details><summary>Reference map restricted to English for brevity.</summary><table><thead><tr><th>References</th></tr></thead><tbody><tr><td><code>DkMitIDBusinessTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {},\n    \"icon\": [\n        \"DKFlag\"\n    ],\n    \"label\": {\n        \"en\": \"MitID Business\"\n    }\n}</pre></td></tr><tr><td><code>fiBankIDOnlyTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {\n        \"en\": \"Identify yourself with your Finnish bank credentials. Requires Finnish online banking.\"\n    },\n    \"icon\": [\n        \"FIFlag\"\n    ],\n    \"label\": {\n        \"en\": \"FI BankID\"\n    }\n}</pre></td></tr><tr><td><code>frejaBusinessTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {},\n    \"icon\": [\n        \"ID\"\n    ],\n    \"label\": {\n        \"en\": \"Freja eID Business\"\n    }\n}</pre></td></tr><tr><td><code>oneIDBankDocumentScanTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {\n        \"en\": \"Verify your identity with OneID using your UK online\u2011banking credentials. Works with most UK banks and requires no additional app or registration. If you don\u2019t have access to online banking, you can verify your identity using your government\u2011issued ID or passport.\"\n    },\n    \"icon\": [\n        \"UKFlag\"\n    ],\n    \"label\": {}\n}</pre></td></tr><tr><td><code>onfidoDocumentOnlyTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {\n        \"en\": \"Scan a government ID for instant verification. No prior account needed\u2014just have your ID document and a device with a camera ready.\"\n    },\n    \"icon\": [\n        \"ID\"\n    ],\n    \"label\": {}\n}</pre></td></tr><tr><td><code>seBankIDExtraControlTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {\n        \"en\": \"Use Swedish BankID in the mobile app together with your government\u2011issued ID or passport to complete the identification process.\"\n    },\n    \"icon\": [\n        \"SEFlag\"\n    ],\n    \"label\": {\n        \"en\": \"SE BankID Extra control\"\n    }\n}</pre></td></tr></tbody></table></details>",
        "type": "string"
      },
      "GlobalMetadataReference": {
        "description": "<p>Unique identifier for global MAS metadata. There is a fixed  set of available metadata one can attach to a MAS transaction.</p><details><summary>Reference map restricted to English for brevity.</summary><table><thead><tr><th>References</th></tr></thead><tbody><tr><td><code>MainToViewTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"caption\": {\n        \"en\": \"Select one of the available options to confirm your identity and view the document(s). After selecting an option, follow the on\u2011screen instructions to continue.\"\n    }\n}</pre></td></tr></tbody></table></details>",
        "type": "string"
      },
      "RespStartMasTransaction": {
        "properties": {
          "globalMetadata": { "$ref": "#/components/schemas/GlobalMetadata" },
          "id": { "$ref": "#/components/schemas/TransactionID" },
          "masOptions": { "$ref": "#/components/schemas/MultiOption_'ResponseOption" },
          "masSelectedOptionId": { "$ref": "#/components/schemas/OptionId" },
          "method": { "$ref": "#/components/schemas/Method" },
          "provider": { "$ref": "#/components/schemas/Provider" },
          "providerInfo": { "$ref": "#/components/schemas/ProviderInfo" },
          "providerParameters": { "$ref": "#/components/schemas/ProviderParameters" },
          "redirectUrl": { "$ref": "#/components/schemas/RedirectUrl" },
          "status": { "$ref": "#/components/schemas/Status" },
          "uiLanguage": { "$ref": "#/components/schemas/UiLanguage" }
        },
        "required": [
          "id",
          "redirectUrl",
          "status",
          "provider",
          "method",
          "providerParameters",
          "masOptions",
          "masSelectedOptionId",
          "providerInfo"
        ],
        "type": "object"
      },
      "MultiOption_'ResponseOption": {
        "description": "Options that the end-user can choose from for completing the transaction.",
        "items": { "$ref": "#/components/schemas/OptionWithId_'ResponseOption" },
        "minItems": 1,
        "title": "MultiOption",
        "type": "array"
      },
      "OptionWithId_'ResponseOption": {
        "properties": {
          "id": { "$ref": "#/components/schemas/OptionId" },
          "metadata": { "$ref": "#/components/schemas/OptionMetadata" },
          "method": { "$ref": "#/components/schemas/Method" },
          "provider": { "$ref": "#/components/schemas/Provider" },
          "providerParameters": { "$ref": "#/components/schemas/ProviderParameters" }
        },
        "required": ["id", "provider", "method", "providerParameters"],
        "type": "object"
      },
      "OptionMetadata": {
        "description": "<p>There is a fixed set of available metadata one can attach to a MAS option.</p><details><summary>Reference map restricted to English for brevity.</summary><table><thead><tr><th>References</th></tr></thead><tbody><tr><td><code>DkMitIDBusinessTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {},\n    \"icon\": [\n        \"DKFlag\"\n    ],\n    \"label\": {\n        \"en\": \"MitID Business\"\n    }\n}</pre></td></tr><tr><td><code>fiBankIDOnlyTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {\n        \"en\": \"Identify yourself with your Finnish bank credentials. Requires Finnish online banking.\"\n    },\n    \"icon\": [\n        \"FIFlag\"\n    ],\n    \"label\": {\n        \"en\": \"FI BankID\"\n    }\n}</pre></td></tr><tr><td><code>frejaBusinessTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {},\n    \"icon\": [\n        \"ID\"\n    ],\n    \"label\": {\n        \"en\": \"Freja eID Business\"\n    }\n}</pre></td></tr><tr><td><code>oneIDBankDocumentScanTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {\n        \"en\": \"Verify your identity with OneID using your UK online\u2011banking credentials. Works with most UK banks and requires no additional app or registration. If you don\u2019t have access to online banking, you can verify your identity using your government\u2011issued ID or passport.\"\n    },\n    \"icon\": [\n        \"UKFlag\"\n    ],\n    \"label\": {}\n}</pre></td></tr><tr><td><code>onfidoDocumentOnlyTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {\n        \"en\": \"Scan a government ID for instant verification. No prior account needed\u2014just have your ID document and a device with a camera ready.\"\n    },\n    \"icon\": [\n        \"ID\"\n    ],\n    \"label\": {}\n}</pre></td></tr><tr><td><code>seBankIDExtraControlTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"description\": {\n        \"en\": \"Use Swedish BankID in the mobile app together with your government\u2011issued ID or passport to complete the identification process.\"\n    },\n    \"icon\": [\n        \"SEFlag\"\n    ],\n    \"label\": {\n        \"en\": \"SE BankID Extra control\"\n    }\n}</pre></td></tr></tbody></table></details>",
        "properties": {
          "description": { "$ref": "#/components/schemas/TranslationMap" },
          "icon": { "items": { "$ref": "#/components/schemas/MasOptionIcon" }, "type": "array" },
          "label": { "$ref": "#/components/schemas/TranslationMap" }
        },
        "type": "object"
      },
      "TranslationMap": {
        "description": "Translation map where keys are the languages and values are the translations",
        "properties": {
          "cs": { "type": "string" },
          "da": { "type": "string" },
          "de": { "type": "string" },
          "el": { "type": "string" },
          "en": { "type": "string" },
          "es": { "type": "string" },
          "et": { "type": "string" },
          "fi": { "type": "string" },
          "fr": { "type": "string" },
          "hu": { "type": "string" },
          "is": { "type": "string" },
          "it": { "type": "string" },
          "lt": { "type": "string" },
          "lv": { "type": "string" },
          "nl": { "type": "string" },
          "no": { "type": "string" },
          "pl": { "type": "string" },
          "pt": { "type": "string" },
          "sv": { "type": "string" }
        },
        "type": "object"
      },
      "MasOptionIcon": {
        "description": "Icons used in MAS options.",
        "enum": [
          "SEFlag",
          "NOFlag",
          "DKFlag",
          "UKFlag",
          "NLFlag",
          "FIFlag",
          "EEFlag",
          "LVFlag",
          "LTFlag",
          "ID",
          "MobilePhone"
        ],
        "type": "string"
      },
      "GlobalMetadata": {
        "description": "<p>There is a fixed set of available metadata one can attach to a MAS transaction.</p><details><summary>Reference map restricted to English for brevity.</summary><table><thead><tr><th>References</th></tr></thead><tbody><tr><td><code>MainToViewTemplate</code></tr></td><tr><td><pre style=\"white-space: break-spaces;\">{\n    \"caption\": {\n        \"en\": \"Select one of the available options to confirm your identity and view the document(s). After selecting an option, follow the on\u2011screen instructions to continue.\"\n    }\n}</pre></td></tr></tbody></table></details>",
        "properties": { "caption": { "$ref": "#/components/schemas/TranslationMap" } },
        "required": ["caption"],
        "type": "object"
      },
      "ReqStartMasTransaction": {
        "properties": {
          "endUserIP": { "$ref": "#/components/schemas/EndUserIP" },
          "isSingleDeviceFlow": {
            "description": "This is only used for SE BankID transactions. \n\nThe value indicates whether the user wants to identify with the SE BankID app on the same device.",
            "type": "boolean"
          },
          "masSelectedOptionId": { "$ref": "#/components/schemas/OptionId" },
          "mobileIdStartData": { "$ref": "#/components/schemas/MobileIDStartData" },
          "msisdn": { "$ref": "#/components/schemas/MSISDN" },
          "personalNumber": { "$ref": "#/components/schemas/SEPersonalNumber" },
          "smartIdUserIdentifier": { "$ref": "#/components/schemas/SmartIDSemanticsIdentifier" },
          "swisscomStartData": { "$ref": "#/components/schemas/SwisscomStartData" }
        },
        "required": ["masSelectedOptionId"],
        "type": "object"
      },
      "RespMasTransaction": {
        "properties": {
          "endUserInfo": { "$ref": "#/components/schemas/EndUserInfo" },
          "globalMetadata": { "$ref": "#/components/schemas/GlobalMetadata" },
          "id": { "$ref": "#/components/schemas/TransactionID" },
          "masOptions": { "$ref": "#/components/schemas/MultiOption_'ResponseOption" },
          "masSelectedOptionId": { "$ref": "#/components/schemas/OptionId" },
          "method": { "$ref": "#/components/schemas/Method" },
          "provider": { "$ref": "#/components/schemas/Provider" },
          "providerInfo": { "$ref": "#/components/schemas/ProviderInfo" },
          "providerParameters": { "$ref": "#/components/schemas/ProviderParameters" },
          "redirectUrl": { "$ref": "#/components/schemas/RedirectUrl" },
          "skipSingleOption": {
            "default": true,
            "description": "Set this field to `true` to skip the MAS selection screen when only one option is provided.",
            "type": "boolean"
          },
          "status": { "$ref": "#/components/schemas/Status" },
          "uiLanguage": { "$ref": "#/components/schemas/UiLanguage" }
        },
        "required": ["id", "redirectUrl", "status", "masOptions", "skipSingleOption"],
        "type": "object"
      },
      "RespFullMasTransaction": {
        "properties": {
          "endUserInfo": { "$ref": "#/components/schemas/EndUserInfo" },
          "globalMetadata": { "$ref": "#/components/schemas/GlobalMetadata" },
          "id": { "$ref": "#/components/schemas/TransactionID" },
          "masOptions": {
            "items": { "$ref": "#/components/schemas/MasOptionFull" },
            "minItems": 1,
            "type": "array"
          },
          "masSelectedOptionId": { "$ref": "#/components/schemas/OptionId" },
          "providerInfo": { "$ref": "#/components/schemas/ProviderInfo" },
          "redirectUrl": { "$ref": "#/components/schemas/RedirectUrl" },
          "skipSingleOption": {
            "default": true,
            "description": "Set this field to `true` to skip the MAS selection screen when only one option is provided.",
            "type": "boolean"
          },
          "status": { "$ref": "#/components/schemas/Status" },
          "uiLanguage": { "$ref": "#/components/schemas/UiLanguage" }
        },
        "required": ["id", "redirectUrl", "status", "masOptions", "skipSingleOption"],
        "type": "object"
      },
      "MasOptionFull": {
        "properties": {
          "id": { "$ref": "#/components/schemas/OptionId" },
          "metadata": { "$ref": "#/components/schemas/OptionMetadata" },
          "method": { "$ref": "#/components/schemas/Method" },
          "provider": { "$ref": "#/components/schemas/Provider" },
          "providerParameters": { "$ref": "#/components/schemas/ProviderParameters" }
        },
        "required": ["id", "provider", "method", "providerParameters"],
        "type": "object"
      },
      "RespMasTransactionOption": {
        "properties": {
          "endUserInfo": { "$ref": "#/components/schemas/EndUserInfo" },
          "globalMetadata": { "$ref": "#/components/schemas/GlobalMetadata" },
          "id": { "$ref": "#/components/schemas/TransactionID" },
          "masOptions": { "$ref": "#/components/schemas/MultiOption_'ResponseOption" },
          "masSelectedOptionId": { "$ref": "#/components/schemas/OptionId" },
          "method": { "$ref": "#/components/schemas/Method" },
          "provider": { "$ref": "#/components/schemas/Provider" },
          "providerInfo": { "$ref": "#/components/schemas/ProviderInfo" },
          "providerParameters": { "$ref": "#/components/schemas/ProviderParameters" },
          "redirectUrl": { "$ref": "#/components/schemas/RedirectUrl" },
          "status": { "$ref": "#/components/schemas/Status" },
          "uiLanguage": { "$ref": "#/components/schemas/UiLanguage" }
        },
        "required": [
          "id",
          "redirectUrl",
          "status",
          "provider",
          "method",
          "providerParameters",
          "masOptions",
          "masSelectedOptionId"
        ],
        "type": "object"
      }
    },
    "securitySchemes": {
      "BearerAuth": {
        "description": "Authorization header should be set to \"Bearer <API Token>\". Which means setting API key prefix to \"Bearer\" and API key to the token.",
        "scheme": "bearer",
        "type": "http"
      }
    }
  },
  "tags": [
    { "name": "General endpoints" },
    { "name": "MitID endpoints" },
    { "name": "Onfido endpoints" },
    { "name": "SMS OTP endpoints" },
    { "name": "Swisscom endpoints" },
    { "name": "Digidentity endpoints" },
    { "name": "MAS endpoints" }
  ],
  "openapi": "3.0.0"
}
