curl --request POST \
--url https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"identifierValue": "<string>"
}
'import requests
url = "https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers"
payload = { "identifierValue": "<string>" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({identifierValue: '<string>'})
};
fetch('https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'identifierValue' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers"
payload := strings.NewReader("{\n \"identifierValue\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"identifierValue\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identifierValue\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"identifierID": "ide-4693224802260150919",
"type": "email",
"value": "jane@doe.com",
"status": "pending",
"userID": "usr-4693224802260150919"
}{
"httpStatusCode": 123,
"message": "OK",
"requestData": {
"requestID": "req-557...663",
"link": "https://my.corbado.com/requests/req-xxxxxxxxxxxxxxxxxxx"
},
"runtime": 0.06167686,
"error": {
"type": "<string>",
"details": "<string>",
"validation": [
{
"field": "<string>",
"message": "<string>"
}
],
"links": [
"<string>"
]
},
"data": {}
}Create a login identifier for a user
Adds an email, phone or username login identifier to a user. A user can have multiple identifiers.
Connect uses username identifiers to map your external identity to the Corbado user and passkeys. This operation does not create an identity-provider session.
Required API key permission: identifiers:write.
curl --request POST \
--url https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"identifierValue": "<string>"
}
'import requests
url = "https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers"
payload = { "identifierValue": "<string>" }
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({identifierValue: '<string>'})
};
fetch('https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'identifierValue' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers"
payload := strings.NewReader("{\n \"identifierValue\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"identifierValue\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://backendapi.cloud.corbado.io/v2/users/{userID}/identifiers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identifierValue\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"identifierID": "ide-4693224802260150919",
"type": "email",
"value": "jane@doe.com",
"status": "pending",
"userID": "usr-4693224802260150919"
}{
"httpStatusCode": 123,
"message": "OK",
"requestData": {
"requestID": "req-557...663",
"link": "https://my.corbado.com/requests/req-xxxxxxxxxxxxxxxxxxx"
},
"runtime": 0.06167686,
"error": {
"type": "<string>",
"details": "<string>",
"validation": [
{
"field": "<string>",
"message": "<string>"
}
],
"links": [
"<string>"
]
},
"data": {}
}Authorizations
Basic authentication is used to authenticate requests to the Backend API. The username is the project ID and the password is the API secret.
The project ID and API secret can be found in the Management Console.
Path Parameters
Unique identifier of the user. Format: usr-<number>.
"usr-4693224802260150919"
Body
Response
Identifier has been created.
Unique identifier of the login identifier.
"ide-4693224802260150919"
email, phone, username Value of the identifier (here email address).
"jane@doe.com"
pending, primary, verified Unique identifier of the user.
"usr-4693224802260150919"
Was this page helpful?