# updateSyneriseAuthSettings

- Operation ID: `updateSyneriseAuthSettings`
- HTTP method: `POST`
- Path: `/sauth/settings/synerise-auth`
- [Human-readable API reference](https://hub.synerise.com/api-reference/identity-and-access-management#tag/Settings/operation/updateSyneriseAuthSettings)

## Self-contained OpenAPI method

The fenced document below contains this method's documentation and all of its local references. It is self-contained; no category or master specification fetch is required.

```yaml
openapi: 3.0.0
info:
  title: Synerise Public API
  version: 1.9.1
paths:
  /sauth/settings/synerise-auth:
    post:
      tags:
        - Settings
      operationId: updateSyneriseAuthSettings
      requestBody:
        content:
          application/json:
            schema:
              required:
                - enabled
                - registrationType
              type: object
              properties:
                enabled:
                  type: boolean
                registrationType:
                  type: string
                  description: |
                    Defines the Profile account activation type.

                    - REQUIRE_ACTIVATION: the account is inactive until the link in the confirmation email is accessed.
                    - REQUIRE_EMAIL_CONFIRMATION: the account is active and can be used immediately, but must be confirmed using the link from the confirmation email.
                    - AUTOMATIC: no activation is required
                    - REQUIRE_PIN_CONFIRMATION: PIN code confirmation is required. To send the PIN by email, the email template must include the `{{pin_code}}` jinjava tag.
                  enum:
                    - REQUIRE_ACTIVATION
                    - REQUIRE_EMAIL_CONFIRMATION
                    - REQUIRE_PIN_CONFIRMATION
                    - AUTOMATIC
                pinConfirmationType:
                  type: string
                  default: ON_CONFLICT_WITH_EXTERNAL_ACCOUNT
                  enum:
                    - EVERYONE
                    - ON_CONFLICT_WITH_EXTERNAL_ACCOUNT
                  description: Defines if PIN confirmation (if enabled) is required for all new accounts or only if there is a conflict with an existing account registered by using third-party Identity Providers.
                pinConfirmationLength:
                  type: integer
                  description: The number of characters in the PIN
                  default: 6
                pinConfirmationValidInSeconds:
                  type: integer
                  default: 300
                  description: TTL of the PIN code before it expires and cannot be used
                allowPinResendFromDifferentDeviceId:
                  type: boolean
                  default: false
                  description: |
                    When TRUE, a PIN email re-send can be requested from a different device than the last device that requested a PIN email.

                    **NOTE:** Regardless of this setting, the activation request can only be sent from the last device that requested a PIN email.
                confirmationRedirectLink:
                  type: string
                  default: null
                  description: Redirect URL of the confirmation link
                confirmationMailSubject:
                  type: string
                  description: Subject of the account activation email
                confirmationMailBody:
                  nullable: true
                  type: string
                  description: HTML body of the account activation email. All `"` characters must be escaped and all the code must be a single line.
                confirmationMailTemplateId:
                  nullable: true
                  type: string
                  description: ID of the account activation email body template. If you use a template, it overrides the content sent in `confirmationMailBody`.
                passwordResetMailTemplateId:
                  nullable: true
                  type: string
                  description: ID of the password reset confirmation email body template
                passwordResetMailSubject:
                  type: string
                  description: Subject of the password reset confirmation email
                passwordResetMailBody:
                  nullable: true
                  type: string
                  description: HTML body of the password reset confirmation email. All `"` characters must be escaped and all the code must be a single line.
                pinConfirmationMailSubject:
                  type: string
                  description: Subject of the email with the PIN needed to confirm an account.
                pinConfirmationMailBody:
                  nullable: true
                  type: string
                  description: HTML body of the email with the PIN needed to confirm an account. All `"` characters must be escaped and all the code must be a single line. The PIN code is inserted using the `{{ pin_code }}` Jinjava insert.
                pinConfirmationMailTemplateId:
                  nullable: true
                  type: string
                  description: ID of the template for the email with the PIN needed to confirm an account. If you use a template, it overrides the content sent in `pinConfirmationMailBody`.
                maxLength:
                  type: integer
                  format: int32
                  description: Maximum length of the password
                minLength:
                  type: integer
                  format: int32
                  description: Minimum length of the password
                requireAtLeastOneLowercaseLetter:
                  type: boolean
                  description: When TRUE, the password must include at least one lowercase letter.
                  default: false
                requireAtLeastOneNonAlphaNumericCharacter:
                  type: boolean
                  description: When TRUE, the password must include at least one non-alphanumeric character.
                  default: false
                requireAtLeastOneNumber:
                  type: boolean
                  description: When TRUE, the password must include at least one number.
                  default: false
                requireAtLeastOneUppercaseLetter:
                  type: boolean
                  description: When TRUE, the password must include at least one uppercase letter.
                  default: false
        required: true
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                required:
                  - enabled
                  - registrationType
                type: object
                properties:
                  enabled:
                    type: boolean
                  registrationType:
                    type: string
                    description: |
                      Defines the Profile account activation type.

                      - REQUIRE_ACTIVATION: the account is inactive until the link in the confirmation email is accessed.
                      - REQUIRE_EMAIL_CONFIRMATION: the account is active and can be used immediately, but must be confirmed using the link from the confirmation email.
                      - AUTOMATIC: no activation is required
                      - REQUIRE_PIN_CONFIRMATION: PIN code confirmation is required. To send the PIN by email, the email template must include the `{{pin_code}}` jinjava tag.
                    enum:
                      - REQUIRE_ACTIVATION
                      - REQUIRE_EMAIL_CONFIRMATION
                      - REQUIRE_PIN_CONFIRMATION
                      - AUTOMATIC
                  pinConfirmationType:
                    type: string
                    default: ON_CONFLICT_WITH_EXTERNAL_ACCOUNT
                    enum:
                      - EVERYONE
                      - ON_CONFLICT_WITH_EXTERNAL_ACCOUNT
                    description: Defines if PIN confirmation (if enabled) is required for all new accounts or only if there is a conflict with an existing account registered by using third-party Identity Providers.
                  pinConfirmationLength:
                    type: integer
                    description: The number of characters in the PIN
                    default: 6
                  pinConfirmationValidInSeconds:
                    type: integer
                    default: 300
                    description: TTL of the PIN code before it expires and cannot be used
                  allowPinResendFromDifferentDeviceId:
                    type: boolean
                    default: false
                    description: |
                      When TRUE, a PIN email re-send can be requested from a different device than the last device that requested a PIN email.

                      **NOTE:** Regardless of this setting, the activation request can only be sent from the last device that requested a PIN email.
                  confirmationRedirectLink:
                    type: string
                    default: null
                    description: Redirect URL of the confirmation link
                  confirmationMailSubject:
                    type: string
                    description: Subject of the account activation email
                  confirmationMailBody:
                    nullable: true
                    type: string
                    description: HTML body of the account activation email. All `"` characters must be escaped and all the code must be a single line.
                  confirmationMailTemplateId:
                    nullable: true
                    type: string
                    description: ID of the account activation email body template. If you use a template, it overrides the content sent in `confirmationMailBody`.
                  passwordResetMailTemplateId:
                    nullable: true
                    type: string
                    description: ID of the password reset confirmation email body template
                  passwordResetMailSubject:
                    type: string
                    description: Subject of the password reset confirmation email
                  passwordResetMailBody:
                    nullable: true
                    type: string
                    description: HTML body of the password reset confirmation email. All `"` characters must be escaped and all the code must be a single line.
                  pinConfirmationMailSubject:
                    type: string
                    description: Subject of the email with the PIN needed to confirm an account.
                  pinConfirmationMailBody:
                    nullable: true
                    type: string
                    description: HTML body of the email with the PIN needed to confirm an account. All `"` characters must be escaped and all the code must be a single line. The PIN code is inserted using the `{{ pin_code }}` Jinjava insert.
                  pinConfirmationMailTemplateId:
                    nullable: true
                    type: string
                    description: ID of the template for the email with the PIN needed to confirm an account. If you use a template, it overrides the content sent in `pinConfirmationMailBody`.
                  maxLength:
                    type: integer
                    format: int32
                    description: Maximum length of the password
                  minLength:
                    type: integer
                    format: int32
                    description: Minimum length of the password
                  requireAtLeastOneLowercaseLetter:
                    type: boolean
                    description: When TRUE, the password must include at least one lowercase letter.
                    default: false
                  requireAtLeastOneNonAlphaNumericCharacter:
                    type: boolean
                    description: When TRUE, the password must include at least one non-alphanumeric character.
                    default: false
                  requireAtLeastOneNumber:
                    type: boolean
                    description: When TRUE, the password must include at least one number.
                    default: false
                  requireAtLeastOneUppercaseLetter:
                    type: boolean
                    description: When TRUE, the password must include at least one uppercase letter.
                    default: false
      x-snr-doc-urls:
        - /api-reference/identity-and-access-management#tag/Settings/operation/updateSyneriseAuthSettings
      description: |
        

        ---

        **API consumer:** <a href="/api-reference/authorization?tag=Authorization&amp;operationId=userLogin" target="_blank" rel="noopener">Synerise User</a>

        **User role permission required:** `settings_customers_iam: update`
      x-codeSamples:
        - lang: cURL
          label: cURL
          source: |-
            curl --request POST \
              --url https://api.synerise.com/sauth/settings/synerise-auth \
              --header 'content-type: application/json' \
              --data '{"enabled":true,"registrationType":"REQUIRE_ACTIVATION","pinConfirmationType":"EVERYONE","pinConfirmationLength":6,"pinConfirmationValidInSeconds":300,"allowPinResendFromDifferentDeviceId":false,"confirmationRedirectLink":null,"confirmationMailSubject":"string","confirmationMailBody":"string","confirmationMailTemplateId":"string","passwordResetMailTemplateId":"string","passwordResetMailSubject":"string","passwordResetMailBody":"string","pinConfirmationMailSubject":"string","pinConfirmationMailBody":"string","pinConfirmationMailTemplateId":"string","maxLength":0,"minLength":0,"requireAtLeastOneLowercaseLetter":false,"requireAtLeastOneNonAlphaNumericCharacter":false,"requireAtLeastOneNumber":false,"requireAtLeastOneUppercaseLetter":false}'
        - lang: Python
          label: Python
          source: |-
            import http.client

            conn = http.client.HTTPSConnection("api.synerise.com")

            payload = "{\"enabled\":true,\"registrationType\":\"REQUIRE_ACTIVATION\",\"pinConfirmationType\":\"EVERYONE\",\"pinConfirmationLength\":6,\"pinConfirmationValidInSeconds\":300,\"allowPinResendFromDifferentDeviceId\":false,\"confirmationRedirectLink\":null,\"confirmationMailSubject\":\"string\",\"confirmationMailBody\":\"string\",\"confirmationMailTemplateId\":\"string\",\"passwordResetMailTemplateId\":\"string\",\"passwordResetMailSubject\":\"string\",\"passwordResetMailBody\":\"string\",\"pinConfirmationMailSubject\":\"string\",\"pinConfirmationMailBody\":\"string\",\"pinConfirmationMailTemplateId\":\"string\",\"maxLength\":0,\"minLength\":0,\"requireAtLeastOneLowercaseLetter\":false,\"requireAtLeastOneNonAlphaNumericCharacter\":false,\"requireAtLeastOneNumber\":false,\"requireAtLeastOneUppercaseLetter\":false}"

            headers = { 'content-type': "application/json" }

            conn.request("POST", "/sauth/settings/synerise-auth", payload, headers)

            res = conn.getresponse()
            data = res.read()

            print(data.decode("utf-8"))
        - lang: JavaScript
          label: JavaScript
          source: |-
            const data = JSON.stringify({
              "enabled": true,
              "registrationType": "REQUIRE_ACTIVATION",
              "pinConfirmationType": "EVERYONE",
              "pinConfirmationLength": 6,
              "pinConfirmationValidInSeconds": 300,
              "allowPinResendFromDifferentDeviceId": false,
              "confirmationRedirectLink": null,
              "confirmationMailSubject": "string",
              "confirmationMailBody": "string",
              "confirmationMailTemplateId": "string",
              "passwordResetMailTemplateId": "string",
              "passwordResetMailSubject": "string",
              "passwordResetMailBody": "string",
              "pinConfirmationMailSubject": "string",
              "pinConfirmationMailBody": "string",
              "pinConfirmationMailTemplateId": "string",
              "maxLength": 0,
              "minLength": 0,
              "requireAtLeastOneLowercaseLetter": false,
              "requireAtLeastOneNonAlphaNumericCharacter": false,
              "requireAtLeastOneNumber": false,
              "requireAtLeastOneUppercaseLetter": false
            });

            const xhr = new XMLHttpRequest();
            xhr.withCredentials = true;

            xhr.addEventListener("readystatechange", function () {
              if (this.readyState === this.DONE) {
                console.log(this.responseText);
              }
            });

            xhr.open("POST", "https://api.synerise.com/sauth/settings/synerise-auth");
            xhr.setRequestHeader("content-type", "application/json");

            xhr.send(data);
        - lang: Node.js
          label: Node.js
          source: |-
            const http = require("https");

            const options = {
              "method": "POST",
              "hostname": "api.synerise.com",
              "port": null,
              "path": "/sauth/settings/synerise-auth",
              "headers": {
                "content-type": "application/json"
              }
            };

            const req = http.request(options, function (res) {
              const chunks = [];

              res.on("data", function (chunk) {
                chunks.push(chunk);
              });

              res.on("end", function () {
                const body = Buffer.concat(chunks);
                console.log(body.toString());
              });
            });

            req.write(JSON.stringify({
              enabled: true,
              registrationType: 'REQUIRE_ACTIVATION',
              pinConfirmationType: 'EVERYONE',
              pinConfirmationLength: 6,
              pinConfirmationValidInSeconds: 300,
              allowPinResendFromDifferentDeviceId: false,
              confirmationRedirectLink: null,
              confirmationMailSubject: 'string',
              confirmationMailBody: 'string',
              confirmationMailTemplateId: 'string',
              passwordResetMailTemplateId: 'string',
              passwordResetMailSubject: 'string',
              passwordResetMailBody: 'string',
              pinConfirmationMailSubject: 'string',
              pinConfirmationMailBody: 'string',
              pinConfirmationMailTemplateId: 'string',
              maxLength: 0,
              minLength: 0,
              requireAtLeastOneLowercaseLetter: false,
              requireAtLeastOneNonAlphaNumericCharacter: false,
              requireAtLeastOneNumber: false,
              requireAtLeastOneUppercaseLetter: false
            }));
            req.end();
        - lang: PHP
          label: PHP
          source: |-
            <?php

            $request = new HttpRequest();
            $request->setUrl('https://api.synerise.com/sauth/settings/synerise-auth');
            $request->setMethod(HTTP_METH_POST);

            $request->setHeaders([
              'content-type' => 'application/json'
            ]);

            $request->setBody('{"enabled":true,"registrationType":"REQUIRE_ACTIVATION","pinConfirmationType":"EVERYONE","pinConfirmationLength":6,"pinConfirmationValidInSeconds":300,"allowPinResendFromDifferentDeviceId":false,"confirmationRedirectLink":null,"confirmationMailSubject":"string","confirmationMailBody":"string","confirmationMailTemplateId":"string","passwordResetMailTemplateId":"string","passwordResetMailSubject":"string","passwordResetMailBody":"string","pinConfirmationMailSubject":"string","pinConfirmationMailBody":"string","pinConfirmationMailTemplateId":"string","maxLength":0,"minLength":0,"requireAtLeastOneLowercaseLetter":false,"requireAtLeastOneNonAlphaNumericCharacter":false,"requireAtLeastOneNumber":false,"requireAtLeastOneUppercaseLetter":false}');

            try {
              $response = $request->send();

              echo $response->getBody();
            } catch (HttpException $ex) {
              echo $ex;
            }
        - lang: Java
          label: Java
          source: |-
            HttpResponse<String> response = Unirest.post("https://api.synerise.com/sauth/settings/synerise-auth")
              .header("content-type", "application/json")
              .body("{\"enabled\":true,\"registrationType\":\"REQUIRE_ACTIVATION\",\"pinConfirmationType\":\"EVERYONE\",\"pinConfirmationLength\":6,\"pinConfirmationValidInSeconds\":300,\"allowPinResendFromDifferentDeviceId\":false,\"confirmationRedirectLink\":null,\"confirmationMailSubject\":\"string\",\"confirmationMailBody\":\"string\",\"confirmationMailTemplateId\":\"string\",\"passwordResetMailTemplateId\":\"string\",\"passwordResetMailSubject\":\"string\",\"passwordResetMailBody\":\"string\",\"pinConfirmationMailSubject\":\"string\",\"pinConfirmationMailBody\":\"string\",\"pinConfirmationMailTemplateId\":\"string\",\"maxLength\":0,\"minLength\":0,\"requireAtLeastOneLowercaseLetter\":false,\"requireAtLeastOneNonAlphaNumericCharacter\":false,\"requireAtLeastOneNumber\":false,\"requireAtLeastOneUppercaseLetter\":false}")
              .asString();
servers:
  - description: Microsoft Azure EU
    url: https://api.synerise.com
  - description: Microsoft Azure USA
    url: https://api.azu.synerise.com
  - description: Google Cloud Platform
    url: https://api.geb.synerise.com
tags:
  - name: Settings
```
