Configure Flexible Language Selection

Flexible language selection is an optional feature that allows users to select their preferred language on Universal Login prompts associated with your application, such as the login screen. You can configure this feature individually for different Universal Login prompts.

After implementing this feature for a specific prompt, a language selection menu is added to the associated screen. Users can choose a preferred language from this menu to automatically render the prompt in that language.

Two Universal Login prompts showing the language selection menu.

Before you begin

Before you can implement language selection for Universal Login prompts, ensure the following requirements are met:

Implement flexible language selection

To implement this feature, use the Auth0 Management API to configure custom prompt partials. Partials refer to custom code inserted into an entry point within a prompt screen, such as the login screen. To learn more, review Customize Signup and Login Prompts.

Setting up flexible language selection includes two primary steps:

  1. Preparing your page template to facilitate language selection.

  2. Configuring individual prompts to display language selection to users.

Prepare your Universal Login page template

To get started, you first must prepare your Universal Login page template to facilitate language selection. You can do so by adding the following script to your page template:

<script>
  function updateSelectedLanguage() {
    const selectElement = document.getElementById('\''language'\'');
    const selectedValue = selectElement.value;
    const options = selectElement.options;
    for (let i = 0; i < options.length; i++) {
      if (options[i].value === selectedValue) {
        options[i].selected = true;
      } else {
        options[i].selected = false;
      }
    }
    document.getElementById('\''changeLanguage'\'').click();
  }
</script>

Was this helpful?

/

This script enables your Universal Login prompts to render a dynamic language selection menu for users. This menu allows users to choose and apply their preferred language to configured prompts.

To add this script to your page template, use the Set Template for Universal Login endpoint.


curl --request PUT \
  --url 'https://{yourDomain}/api/v2/branding/templates/universal-login' \
  --header 'authorization: Bearer MANAGEMENT_API_TOKEN' \
  --header 'content-type: text/html' \
  --data '<!DOCTYPE html>
<html>
<head>{%- auth0:head -%}</head>
<body class='\''_widget-auto-layout'\''>{%- auth0:widget -%}</body>
<script>
  function updateSelectedLanguage() {
    const selectElement = document.getElementById('\''language'\'');
    const selectedValue = selectElement.value;
    const options = selectElement.options;
    for (let i = 0; i < options.length; i++) {
      if (options[i].value === selectedValue) {
        options[i].selected = true;
      } else {
        options[i].selected = false;
      }
    }
    document.getElementById('\''changeLanguage'\'').click();
  }
</script>'

Was this helpful?

/
var client = new RestClient("https://{yourDomain}/api/v2/branding/templates/universal-login");
var request = new RestRequest(Method.PUT);
request.AddHeader("content-type", "text/html");
request.AddHeader("authorization", "Bearer MANAGEMENT_API_TOKEN");
request.AddParameter("text/html", "<!DOCTYPE html>\n<html>\n<head>{%- auth0:head -%}</head>\n<body class='_widget-auto-layout'>{%- auth0:widget -%}</body>\n<script>\n  function updateSelectedLanguage() {\n    const selectElement = document.getElementById('language');\n    const selectedValue = selectElement.value;\n    const options = selectElement.options;\n    for (let i = 0; i < options.length; i++) {\n      if (options[i].value === selectedValue) {\n        options[i].selected = true;\n      } else {\n        options[i].selected = false;\n      }\n    }\n    document.getElementById('changeLanguage').click();\n  }\n</script>", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

Was this helpful?

/
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://{yourDomain}/api/v2/branding/templates/universal-login"

	payload := strings.NewReader("<!DOCTYPE html>\n<html>\n<head>{%- auth0:head -%}</head>\n<body class='_widget-auto-layout'>{%- auth0:widget -%}</body>\n<script>\n  function updateSelectedLanguage() {\n    const selectElement = document.getElementById('language');\n    const selectedValue = selectElement.value;\n    const options = selectElement.options;\n    for (let i = 0; i < options.length; i++) {\n      if (options[i].value === selectedValue) {\n        options[i].selected = true;\n      } else {\n        options[i].selected = false;\n      }\n    }\n    document.getElementById('changeLanguage').click();\n  }\n</script>")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("content-type", "text/html")
	req.Header.Add("authorization", "Bearer MANAGEMENT_API_TOKEN")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Was this helpful?

/
HttpResponse<String> response = Unirest.put("https://{yourDomain}/api/v2/branding/templates/universal-login")
  .header("content-type", "text/html")
  .header("authorization", "Bearer MANAGEMENT_API_TOKEN")
  .body("<!DOCTYPE html>\n<html>\n<head>{%- auth0:head -%}</head>\n<body class='_widget-auto-layout'>{%- auth0:widget -%}</body>\n<script>\n  function updateSelectedLanguage() {\n    const selectElement = document.getElementById('language');\n    const selectedValue = selectElement.value;\n    const options = selectElement.options;\n    for (let i = 0; i < options.length; i++) {\n      if (options[i].value === selectedValue) {\n        options[i].selected = true;\n      } else {\n        options[i].selected = false;\n      }\n    }\n    document.getElementById('changeLanguage').click();\n  }\n</script>")
  .asString();

Was this helpful?

/
var axios = require("axios").default;

var options = {
  method: 'PUT',
  url: 'https://{yourDomain}/api/v2/branding/templates/universal-login',
  headers: {'content-type': 'text/html', authorization: 'Bearer MANAGEMENT_API_TOKEN'},
  data: '<!DOCTYPE html>\n<html>\n<head>{%- auth0:head -%}</head>\n<body class=\'_widget-auto-layout\'>{%- auth0:widget -%}</body>\n<script>\n  function updateSelectedLanguage() {\n    const selectElement = document.getElementById(\'language\');\n    const selectedValue = selectElement.value;\n    const options = selectElement.options;\n    for (let i = 0; i < options.length; i++) {\n      if (options[i].value === selectedValue) {\n        options[i].selected = true;\n      } else {\n        options[i].selected = false;\n      }\n    }\n    document.getElementById(\'changeLanguage\').click();\n  }\n</script>'
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Was this helpful?

/
#import <Foundation/Foundation.h>

NSDictionary *headers = @{ @"content-type": @"text/html",
                           @"authorization": @"Bearer MANAGEMENT_API_TOKEN" };

NSData *postData = [[NSData alloc] initWithData:[@"<!DOCTYPE html>
<html>
<head>{%- auth0:head -%}</head>
<body class='_widget-auto-layout'>{%- auth0:widget -%}</body>
<script>
  function updateSelectedLanguage() {
    const selectElement = document.getElementById('language');
    const selectedValue = selectElement.value;
    const options = selectElement.options;
    for (let i = 0; i < options.length; i++) {
      if (options[i].value === selectedValue) {
        options[i].selected = true;
      } else {
        options[i].selected = false;
      }
    }
    document.getElementById('changeLanguage').click();
  }
</script>" dataUsingEncoding:NSUTF8StringEncoding]];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{yourDomain}/api/v2/branding/templates/universal-login"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];

Was this helpful?

/
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://{yourDomain}/api/v2/branding/templates/universal-login",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "<!DOCTYPE html>\n<html>\n<head>{%- auth0:head -%}</head>\n<body class='_widget-auto-layout'>{%- auth0:widget -%}</body>\n<script>\n  function updateSelectedLanguage() {\n    const selectElement = document.getElementById('language');\n    const selectedValue = selectElement.value;\n    const options = selectElement.options;\n    for (let i = 0; i < options.length; i++) {\n      if (options[i].value === selectedValue) {\n        options[i].selected = true;\n      } else {\n        options[i].selected = false;\n      }\n    }\n    document.getElementById('changeLanguage').click();\n  }\n</script>",
  CURLOPT_HTTPHEADER => [
    "authorization: Bearer MANAGEMENT_API_TOKEN",
    "content-type: text/html"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Was this helpful?

/
import http.client

conn = http.client.HTTPSConnection("")

payload = "<!DOCTYPE html>\n<html>\n<head>{%- auth0:head -%}</head>\n<body class='_widget-auto-layout'>{%- auth0:widget -%}</body>\n<script>\n  function updateSelectedLanguage() {\n    const selectElement = document.getElementById('language');\n    const selectedValue = selectElement.value;\n    const options = selectElement.options;\n    for (let i = 0; i < options.length; i++) {\n      if (options[i].value === selectedValue) {\n        options[i].selected = true;\n      } else {\n        options[i].selected = false;\n      }\n    }\n    document.getElementById('changeLanguage').click();\n  }\n</script>"

headers = {
    'content-type': "text/html",
    'authorization': "Bearer MANAGEMENT_API_TOKEN"
    }

conn.request("PUT", "/{yourDomain}/api/v2/branding/templates/universal-login", payload, headers)

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

print(data.decode("utf-8"))

Was this helpful?

/
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://{yourDomain}/api/v2/branding/templates/universal-login")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Put.new(url)
request["content-type"] = 'text/html'
request["authorization"] = 'Bearer MANAGEMENT_API_TOKEN'
request.body = "<!DOCTYPE html>\n<html>\n<head>{%- auth0:head -%}</head>\n<body class='_widget-auto-layout'>{%- auth0:widget -%}</body>\n<script>\n  function updateSelectedLanguage() {\n    const selectElement = document.getElementById('language');\n    const selectedValue = selectElement.value;\n    const options = selectElement.options;\n    for (let i = 0; i < options.length; i++) {\n      if (options[i].value === selectedValue) {\n        options[i].selected = true;\n      } else {\n        options[i].selected = false;\n      }\n    }\n    document.getElementById('changeLanguage').click();\n  }\n</script>"

response = http.request(request)
puts response.read_body

Was this helpful?

/
import Foundation

let headers = [
  "content-type": "text/html",
  "authorization": "Bearer MANAGEMENT_API_TOKEN"
]

let postData = NSData(data: "<!DOCTYPE html>
<html>
<head>{%- auth0:head -%}</head>
<body class='_widget-auto-layout'>{%- auth0:widget -%}</body>
<script>
  function updateSelectedLanguage() {
    const selectElement = document.getElementById('language');
    const selectedValue = selectElement.value;
    const options = selectElement.options;
    for (let i = 0; i < options.length; i++) {
      if (options[i].value === selectedValue) {
        options[i].selected = true;
      } else {
        options[i].selected = false;
      }
    }
    document.getElementById('changeLanguage').click();
  }
</script>".data(using: String.Encoding.utf8)!)

let request = NSMutableURLRequest(url: NSURL(string: "https://{yourDomain}/api/v2/branding/templates/universal-login")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

Was this helpful?

/

Configure individual Universal Login prompts

After you set up your page template, you can add language selection to one or more Universal Login prompts, such as the login screen or signup screen.

To add language selection to a specific screen, you will configure custom prompt partials with the following parameters:

Parameter Description Example Value                             
language Required.

One or more languages to include in the language selection menu displayed to users.
es,fr,en
persist Required.

Determines whether the language should persist across the session.
session
action Optional.

Use this parameter in situations where you want users to be able to update their language without advancing the prompt.

If the value is provided, the form is not automatically submitted when a user changes their language. Otherwise, the prompt automatically advances when a different language is selected.
change-language

Access the sections below to review code samples for different types of Universal Login prompts.

/

To add language selection to the signup prompt, use the Set partials for a prompt endpoint:


curl --request PUT \
  --url 'https://{yourDomain}/api/v2/prompts/signup/partials' \
  --header 'authorization: Bearer {mgmtApiToken}' \
  --header 'content-type: application/json' \
  --data '{
    "signup": {
        "form-content-start": "<div class=\"ulp-field\"><label for=\"language\">Preferred Language</label><select name=\"language\"id=\"language\"  onchange=updateSelectedLanguage()><option></option><option value=\"en\" {% if locale == \"en\" %}selected{% endif %}>English</option><option value=\"fr\" {% if locale == \"fr\" %}selected{% endif %}>French</option><option value=\"es\" {% if locale == \"es\" %}selected{% endif %}>Spanish</option></select></div><input type=\"hidden\" name=\"persist\" value=\"session\"/><input name=\"action\" id=\"changeLanguage\" type=\"submit\" value=\"change-language\" style=\"display:none\" formnovalidate/>"
    }
}'

Was this helpful?

/
var client = new RestClient("https://{yourDomain}/api/v2/prompts/signup/partials");
var request = new RestRequest(Method.PUT);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer {mgmtApiToken}");
request.AddParameter("application/json", "{\n    \"signup\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

Was this helpful?

/
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://{yourDomain}/api/v2/prompts/signup/partials"

	payload := strings.NewReader("{\n    \"signup\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("content-type", "application/json")
	req.Header.Add("authorization", "Bearer {mgmtApiToken}")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Was this helpful?

/
HttpResponse<String> response = Unirest.put("https://{yourDomain}/api/v2/prompts/signup/partials")
  .header("content-type", "application/json")
  .header("authorization", "Bearer {mgmtApiToken}")
  .body("{\n    \"signup\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}")
  .asString();

Was this helpful?

/
var axios = require("axios").default;

var options = {
  method: 'PUT',
  url: 'https://{yourDomain}/api/v2/prompts/signup/partials',
  headers: {'content-type': 'application/json', authorization: 'Bearer {mgmtApiToken}'},
  data: {
    signup: {
      'form-content-start': '<div class="ulp-field"><label for="language">Preferred Language</label><select name="language"id="language"  onchange=updateSelectedLanguage()><option></option><option value="en" {% if locale == "en" %}selected{% endif %}>English</option><option value="fr" {% if locale == "fr" %}selected{% endif %}>French</option><option value="es" {% if locale == "es" %}selected{% endif %}>Spanish</option></select></div><input type="hidden" name="persist" value="session"/><input name="action" id="changeLanguage" type="submit" value="change-language" style="display:none" formnovalidate/>'
    }
  }
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Was this helpful?

/
#import <Foundation/Foundation.h>

NSDictionary *headers = @{ @"content-type": @"application/json",
                           @"authorization": @"Bearer {mgmtApiToken}" };
NSDictionary *parameters = @{ @"signup": @{ @"form-content-start": @"<div class=\"ulp-field\"><label for=\"language\">Preferred Language</label><select name=\"language\"id=\"language\"  onchange=updateSelectedLanguage()><option></option><option value=\"en\" {% if locale == \"en\" %}selected{% endif %}>English</option><option value=\"fr\" {% if locale == \"fr\" %}selected{% endif %}>French</option><option value=\"es\" {% if locale == \"es\" %}selected{% endif %}>Spanish</option></select></div><input type=\"hidden\" name=\"persist\" value=\"session\"/><input name=\"action\" id=\"changeLanguage\" type=\"submit\" value=\"change-language\" style=\"display:none\" formnovalidate/>" } };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{yourDomain}/api/v2/prompts/signup/partials"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];

Was this helpful?

/
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://{yourDomain}/api/v2/prompts/signup/partials",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\n    \"signup\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}",
  CURLOPT_HTTPHEADER => [
    "authorization: Bearer {mgmtApiToken}",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Was this helpful?

/
import http.client

conn = http.client.HTTPSConnection("")

payload = "{\n    \"signup\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}"

headers = {
    'content-type': "application/json",
    'authorization': "Bearer {mgmtApiToken}"
    }

conn.request("PUT", "/{yourDomain}/api/v2/prompts/signup/partials", payload, headers)

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

print(data.decode("utf-8"))

Was this helpful?

/
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://{yourDomain}/api/v2/prompts/signup/partials")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Put.new(url)
request["content-type"] = 'application/json'
request["authorization"] = 'Bearer {mgmtApiToken}'
request.body = "{\n    \"signup\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}"

response = http.request(request)
puts response.read_body

Was this helpful?

/
import Foundation

let headers = [
  "content-type": "application/json",
  "authorization": "Bearer {mgmtApiToken}"
]
let parameters = ["signup": ["form-content-start": "<div class=\"ulp-field\"><label for=\"language\">Preferred Language</label><select name=\"language\"id=\"language\"  onchange=updateSelectedLanguage()><option></option><option value=\"en\" {% if locale == \"en\" %}selected{% endif %}>English</option><option value=\"fr\" {% if locale == \"fr\" %}selected{% endif %}>French</option><option value=\"es\" {% if locale == \"es\" %}selected{% endif %}>Spanish</option></select></div><input type=\"hidden\" name=\"persist\" value=\"session\"/><input name=\"action\" id=\"changeLanguage\" type=\"submit\" value=\"change-language\" style=\"display:none\" formnovalidate/>"]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://{yourDomain}/api/v2/prompts/signup/partials")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

Was this helpful?

/

To add language selection to the login-id prompt, use the Set partials for a prompt endpoint:


curl --request PUT \
  --url 'https://{yourDomain}/api/v2/prompts/login-id/partials' \
  --header 'authorization: Bearer {mgmtApiToken}' \
  --header 'content-type: application/json' \
  --data '{
    "login-id": {
        "form-content-start": "<div class=\"ulp-field\"><label for=\"language\">Preferred Language</label><select name=\"language\"id=\"language\"  onchange=updateSelectedLanguage()><option></option><option value=\"en\" {% if locale == \"en\" %}selected{% endif %}>English</option><option value=\"fr\" {% if locale == \"fr\" %}selected{% endif %}>French</option><option value=\"es\" {% if locale == \"es\" %}selected{% endif %}>Spanish</option></select></div><input type=\"hidden\" name=\"persist\" value=\"session\"/><input name=\"action\" id=\"changeLanguage\" type=\"submit\" value=\"change-language\" style=\"display:none\" formnovalidate/>"
    }
}'

Was this helpful?

/
var client = new RestClient("https://{yourDomain}/api/v2/prompts/login-id/partials");
var request = new RestRequest(Method.PUT);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer {mgmtApiToken}");
request.AddParameter("application/json", "{\n    \"login-id\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

Was this helpful?

/
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://{yourDomain}/api/v2/prompts/login-id/partials"

	payload := strings.NewReader("{\n    \"login-id\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("content-type", "application/json")
	req.Header.Add("authorization", "Bearer {mgmtApiToken}")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Was this helpful?

/
HttpResponse<String> response = Unirest.put("https://{yourDomain}/api/v2/prompts/login-id/partials")
  .header("content-type", "application/json")
  .header("authorization", "Bearer {mgmtApiToken}")
  .body("{\n    \"login-id\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}")
  .asString();

Was this helpful?

/
var axios = require("axios").default;

var options = {
  method: 'PUT',
  url: 'https://{yourDomain}/api/v2/prompts/login-id/partials',
  headers: {'content-type': 'application/json', authorization: 'Bearer {mgmtApiToken}'},
  data: {
    'login-id': {
      'form-content-start': '<div class="ulp-field"><label for="language">Preferred Language</label><select name="language"id="language"  onchange=updateSelectedLanguage()><option></option><option value="en" {% if locale == "en" %}selected{% endif %}>English</option><option value="fr" {% if locale == "fr" %}selected{% endif %}>French</option><option value="es" {% if locale == "es" %}selected{% endif %}>Spanish</option></select></div><input type="hidden" name="persist" value="session"/><input name="action" id="changeLanguage" type="submit" value="change-language" style="display:none" formnovalidate/>'
    }
  }
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Was this helpful?

/
#import <Foundation/Foundation.h>

NSDictionary *headers = @{ @"content-type": @"application/json",
                           @"authorization": @"Bearer {mgmtApiToken}" };
NSDictionary *parameters = @{ @"login-id": @{ @"form-content-start": @"<div class=\"ulp-field\"><label for=\"language\">Preferred Language</label><select name=\"language\"id=\"language\"  onchange=updateSelectedLanguage()><option></option><option value=\"en\" {% if locale == \"en\" %}selected{% endif %}>English</option><option value=\"fr\" {% if locale == \"fr\" %}selected{% endif %}>French</option><option value=\"es\" {% if locale == \"es\" %}selected{% endif %}>Spanish</option></select></div><input type=\"hidden\" name=\"persist\" value=\"session\"/><input name=\"action\" id=\"changeLanguage\" type=\"submit\" value=\"change-language\" style=\"display:none\" formnovalidate/>" } };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{yourDomain}/api/v2/prompts/login-id/partials"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];

Was this helpful?

/
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://{yourDomain}/api/v2/prompts/login-id/partials",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\n    \"login-id\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}",
  CURLOPT_HTTPHEADER => [
    "authorization: Bearer {mgmtApiToken}",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Was this helpful?

/
import http.client

conn = http.client.HTTPSConnection("")

payload = "{\n    \"login-id\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}"

headers = {
    'content-type': "application/json",
    'authorization': "Bearer {mgmtApiToken}"
    }

conn.request("PUT", "/{yourDomain}/api/v2/prompts/login-id/partials", payload, headers)

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

print(data.decode("utf-8"))

Was this helpful?

/
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://{yourDomain}/api/v2/prompts/login-id/partials")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Put.new(url)
request["content-type"] = 'application/json'
request["authorization"] = 'Bearer {mgmtApiToken}'
request.body = "{\n    \"login-id\": {\n        \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n    }\n}"

response = http.request(request)
puts response.read_body

Was this helpful?

/
import Foundation

let headers = [
  "content-type": "application/json",
  "authorization": "Bearer {mgmtApiToken}"
]
let parameters = ["login-id": ["form-content-start": "<div class=\"ulp-field\"><label for=\"language\">Preferred Language</label><select name=\"language\"id=\"language\"  onchange=updateSelectedLanguage()><option></option><option value=\"en\" {% if locale == \"en\" %}selected{% endif %}>English</option><option value=\"fr\" {% if locale == \"fr\" %}selected{% endif %}>French</option><option value=\"es\" {% if locale == \"es\" %}selected{% endif %}>Spanish</option></select></div><input type=\"hidden\" name=\"persist\" value=\"session\"/><input name=\"action\" id=\"changeLanguage\" type=\"submit\" value=\"change-language\" style=\"display:none\" formnovalidate/>"]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://{yourDomain}/api/v2/prompts/login-id/partials")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

Was this helpful?

/

To add language selection to the login-passwordless-email-code prompt, use the Set partials for a prompt endpoint:


curl --request PUT \
  --url 'https://{yourDomain}/api/v2/prompts/login-passwordless/partials' \
  --header 'authorization: Bearer {mgmtApiToken}' \
  --header 'content-type: application/json' \
  --data '{
    "login-passwordless-email-code": {
      "form-content-start": "<div class=\"ulp-field\"><label for=\"language\">Preferred Language</label><select name=\"language\"id=\"language\"  onchange=updateSelectedLanguage()><option></option><option value=\"en\" {% if locale == \"en\" %}selected{% endif %}>English</option><option value=\"fr\" {% if locale == \"fr\" %}selected{% endif %}>French</option><option value=\"es\" {% if locale == \"es\" %}selected{% endif %}>Spanish</option></select></div><input type=\"hidden\" name=\"persist\" value=\"session\"/><input name=\"action\" id=\"changeLanguage\" type=\"submit\" value=\"change-language\" style=\"display:none\" formnovalidate/>"
  }
}'

Was this helpful?

/
var client = new RestClient("https://{yourDomain}/api/v2/prompts/login-passwordless/partials");
var request = new RestRequest(Method.PUT);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer {mgmtApiToken}");
request.AddParameter("application/json", "{\n    \"login-passwordless-email-code\": {\n      \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n  }\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);

Was this helpful?

/
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://{yourDomain}/api/v2/prompts/login-passwordless/partials"

	payload := strings.NewReader("{\n    \"login-passwordless-email-code\": {\n      \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n  }\n}")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("content-type", "application/json")
	req.Header.Add("authorization", "Bearer {mgmtApiToken}")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Was this helpful?

/
HttpResponse<String> response = Unirest.put("https://{yourDomain}/api/v2/prompts/login-passwordless/partials")
  .header("content-type", "application/json")
  .header("authorization", "Bearer {mgmtApiToken}")
  .body("{\n    \"login-passwordless-email-code\": {\n      \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n  }\n}")
  .asString();

Was this helpful?

/
var axios = require("axios").default;

var options = {
  method: 'PUT',
  url: 'https://{yourDomain}/api/v2/prompts/login-passwordless/partials',
  headers: {'content-type': 'application/json', authorization: 'Bearer {mgmtApiToken}'},
  data: {
    'login-passwordless-email-code': {
      'form-content-start': '<div class="ulp-field"><label for="language">Preferred Language</label><select name="language"id="language"  onchange=updateSelectedLanguage()><option></option><option value="en" {% if locale == "en" %}selected{% endif %}>English</option><option value="fr" {% if locale == "fr" %}selected{% endif %}>French</option><option value="es" {% if locale == "es" %}selected{% endif %}>Spanish</option></select></div><input type="hidden" name="persist" value="session"/><input name="action" id="changeLanguage" type="submit" value="change-language" style="display:none" formnovalidate/>'
    }
  }
};

axios.request(options).then(function (response) {
  console.log(response.data);
}).catch(function (error) {
  console.error(error);
});

Was this helpful?

/
#import <Foundation/Foundation.h>

NSDictionary *headers = @{ @"content-type": @"application/json",
                           @"authorization": @"Bearer {mgmtApiToken}" };
NSDictionary *parameters = @{ @"login-passwordless-email-code": @{ @"form-content-start": @"<div class=\"ulp-field\"><label for=\"language\">Preferred Language</label><select name=\"language\"id=\"language\"  onchange=updateSelectedLanguage()><option></option><option value=\"en\" {% if locale == \"en\" %}selected{% endif %}>English</option><option value=\"fr\" {% if locale == \"fr\" %}selected{% endif %}>French</option><option value=\"es\" {% if locale == \"es\" %}selected{% endif %}>Spanish</option></select></div><input type=\"hidden\" name=\"persist\" value=\"session\"/><input name=\"action\" id=\"changeLanguage\" type=\"submit\" value=\"change-language\" style=\"display:none\" formnovalidate/>" } };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://{yourDomain}/api/v2/prompts/login-passwordless/partials"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"PUT"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];

Was this helpful?

/
$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://{yourDomain}/api/v2/prompts/login-passwordless/partials",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "{\n    \"login-passwordless-email-code\": {\n      \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n  }\n}",
  CURLOPT_HTTPHEADER => [
    "authorization: Bearer {mgmtApiToken}",
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}

Was this helpful?

/
import http.client

conn = http.client.HTTPSConnection("")

payload = "{\n    \"login-passwordless-email-code\": {\n      \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n  }\n}"

headers = {
    'content-type': "application/json",
    'authorization': "Bearer {mgmtApiToken}"
    }

conn.request("PUT", "/{yourDomain}/api/v2/prompts/login-passwordless/partials", payload, headers)

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

print(data.decode("utf-8"))

Was this helpful?

/
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://{yourDomain}/api/v2/prompts/login-passwordless/partials")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Put.new(url)
request["content-type"] = 'application/json'
request["authorization"] = 'Bearer {mgmtApiToken}'
request.body = "{\n    \"login-passwordless-email-code\": {\n      \"form-content-start\": \"<div class=\\\"ulp-field\\\"><label for=\\\"language\\\">Preferred Language</label><select name=\\\"language\\\"id=\\\"language\\\"  onchange=updateSelectedLanguage()><option></option><option value=\\\"en\\\" {% if locale == \\\"en\\\" %}selected{% endif %}>English</option><option value=\\\"fr\\\" {% if locale == \\\"fr\\\" %}selected{% endif %}>French</option><option value=\\\"es\\\" {% if locale == \\\"es\\\" %}selected{% endif %}>Spanish</option></select></div><input type=\\\"hidden\\\" name=\\\"persist\\\" value=\\\"session\\\"/><input name=\\\"action\\\" id=\\\"changeLanguage\\\" type=\\\"submit\\\" value=\\\"change-language\\\" style=\\\"display:none\\\" formnovalidate/>\"\n  }\n}"

response = http.request(request)
puts response.read_body

Was this helpful?

/
import Foundation

let headers = [
  "content-type": "application/json",
  "authorization": "Bearer {mgmtApiToken}"
]
let parameters = ["login-passwordless-email-code": ["form-content-start": "<div class=\"ulp-field\"><label for=\"language\">Preferred Language</label><select name=\"language\"id=\"language\"  onchange=updateSelectedLanguage()><option></option><option value=\"en\" {% if locale == \"en\" %}selected{% endif %}>English</option><option value=\"fr\" {% if locale == \"fr\" %}selected{% endif %}>French</option><option value=\"es\" {% if locale == \"es\" %}selected{% endif %}>Spanish</option></select></div><input type=\"hidden\" name=\"persist\" value=\"session\"/><input name=\"action\" id=\"changeLanguage\" type=\"submit\" value=\"change-language\" style=\"display:none\" formnovalidate/>"]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "https://{yourDomain}/api/v2/prompts/login-passwordless/partials")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

Was this helpful?

/