Finalize Dynamic Auth Flow
curl --request POST \
--url https://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id} \
--header 'Content-Type: application/json' \
--header 'anchor-api-key: <api-key>' \
--data '
{
"identity_name": "<string>",
"profile_name": "<string>"
}
'import requests
url = "https://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}"
payload = {
"identity_name": "<string>",
"profile_name": "<string>"
}
headers = {
"anchor-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'anchor-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({identity_name: '<string>', profile_name: '<string>'})
};
fetch('https://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}', 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://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}",
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([
'identity_name' => '<string>',
'profile_name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"anchor-api-key: <api-key>"
],
]);
$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://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}"
payload := strings.NewReader("{\n \"identity_name\": \"<string>\",\n \"profile_name\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("anchor-api-key", "<api-key>")
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://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}")
.header("anchor-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"identity_name\": \"<string>\",\n \"profile_name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["anchor-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identity_name\": \"<string>\",\n \"profile_name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"identityId": "<string>",
"profileName": "<string>",
"automatable": true,
"nonAutomatableReasons": [
"<string>"
]
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}Identities
Finalize Dynamic Auth Flow
Persists the identity, browser profile, and captured credentials after the
flow reaches authenticated. The response reports whether the saved login
can be replayed unattended (automatable).
POST
/
v1
/
identities
/
dynamic
/
finalize
/
{session_id}
Finalize Dynamic Auth Flow
curl --request POST \
--url https://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id} \
--header 'Content-Type: application/json' \
--header 'anchor-api-key: <api-key>' \
--data '
{
"identity_name": "<string>",
"profile_name": "<string>"
}
'import requests
url = "https://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}"
payload = {
"identity_name": "<string>",
"profile_name": "<string>"
}
headers = {
"anchor-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'anchor-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({identity_name: '<string>', profile_name: '<string>'})
};
fetch('https://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}', 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://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}",
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([
'identity_name' => '<string>',
'profile_name' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"anchor-api-key: <api-key>"
],
]);
$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://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}"
payload := strings.NewReader("{\n \"identity_name\": \"<string>\",\n \"profile_name\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("anchor-api-key", "<api-key>")
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://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}")
.header("anchor-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"identity_name\": \"<string>\",\n \"profile_name\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.anchorbrowser.io/v1/identities/dynamic/finalize/{session_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["anchor-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identity_name\": \"<string>\",\n \"profile_name\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"identityId": "<string>",
"profileName": "<string>",
"automatable": true,
"nonAutomatableReasons": [
"<string>"
]
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}{
"error": {
"code": 123,
"message": "<string>"
}
}Authorizations
API key passed in the header
Path Parameters
Session whose authenticated flow to persist.
Body
application/json
Response
Identity created from the completed flow
Identity-level replay flag. False if any passed form option was not automatable.
Distinct from options[].automatable on decision/form views, which is per choice.
Why the login cannot be replayed unattended. Empty when automatable is true.
Was this page helpful?
⌘I

