Get externally signed account from authenticator response
curl --request POST \
--url https://developer-api.squads.so/api/v1/passkeys/externally-signed-account \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-squads-network: <x-squads-network>' \
--data '
{
"authenticatorResponse": {},
"metaInfo": {
"redirectUrl": "<string>"
}
}
'import requests
url = "https://developer-api.squads.so/api/v1/passkeys/externally-signed-account"
payload = {
"authenticatorResponse": {},
"metaInfo": { "redirectUrl": "<string>" }
}
headers = {
"x-squads-network": "<x-squads-network>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-squads-network': '<x-squads-network>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({authenticatorResponse: {}, metaInfo: {redirectUrl: '<string>'}})
};
fetch('https://developer-api.squads.so/api/v1/passkeys/externally-signed-account', 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://developer-api.squads.so/api/v1/passkeys/externally-signed-account",
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([
'authenticatorResponse' => [
],
'metaInfo' => [
'redirectUrl' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-squads-network: <x-squads-network>"
],
]);
$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://developer-api.squads.so/api/v1/passkeys/externally-signed-account"
payload := strings.NewReader("{\n \"authenticatorResponse\": {},\n \"metaInfo\": {\n \"redirectUrl\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-squads-network", "<x-squads-network>")
req.Header.Add("Authorization", "Bearer <token>")
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://developer-api.squads.so/api/v1/passkeys/externally-signed-account")
.header("x-squads-network", "<x-squads-network>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"authenticatorResponse\": {},\n \"metaInfo\": {\n \"redirectUrl\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer-api.squads.so/api/v1/passkeys/externally-signed-account")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-squads-network"] = '<x-squads-network>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"authenticatorResponse\": {},\n \"metaInfo\": {\n \"redirectUrl\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"externallySignedAccount": "<string>",
"sessionKey": {
"key": "<string>",
"expiration": 123
},
"redirectUrl": "<string>"
}{
"status": 123,
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"expected": "<string>",
"actual": "<string>"
}
],
"metadata": {
"status": 123,
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"resource_id": "<string>",
"useful_links": [
"<string>"
]
},
"custom": {},
"simulation_logs": [
"<string>"
]
}{
"status": 123,
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"expected": "<string>",
"actual": "<string>"
}
],
"metadata": {
"status": 123,
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"resource_id": "<string>",
"useful_links": [
"<string>"
]
},
"custom": {},
"simulation_logs": [
"<string>"
]
}{
"status": 123,
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"expected": "<string>",
"actual": "<string>"
}
],
"metadata": {
"status": 123,
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"resource_id": "<string>",
"useful_links": [
"<string>"
]
},
"custom": {},
"simulation_logs": [
"<string>"
]
}{
"status": 123,
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"expected": "<string>",
"actual": "<string>"
}
],
"metadata": {
"status": 123,
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"resource_id": "<string>",
"useful_links": [
"<string>"
]
},
"custom": {},
"simulation_logs": [
"<string>"
]
}Advanced - Custom UI
Get Externally Signed Account
Retrieve an externally signed account from a WebAuthn authenticator response
POST
/
api
/
v1
/
passkeys
/
externally-signed-account
Get externally signed account from authenticator response
curl --request POST \
--url https://developer-api.squads.so/api/v1/passkeys/externally-signed-account \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-squads-network: <x-squads-network>' \
--data '
{
"authenticatorResponse": {},
"metaInfo": {
"redirectUrl": "<string>"
}
}
'import requests
url = "https://developer-api.squads.so/api/v1/passkeys/externally-signed-account"
payload = {
"authenticatorResponse": {},
"metaInfo": { "redirectUrl": "<string>" }
}
headers = {
"x-squads-network": "<x-squads-network>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-squads-network': '<x-squads-network>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({authenticatorResponse: {}, metaInfo: {redirectUrl: '<string>'}})
};
fetch('https://developer-api.squads.so/api/v1/passkeys/externally-signed-account', 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://developer-api.squads.so/api/v1/passkeys/externally-signed-account",
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([
'authenticatorResponse' => [
],
'metaInfo' => [
'redirectUrl' => '<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-squads-network: <x-squads-network>"
],
]);
$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://developer-api.squads.so/api/v1/passkeys/externally-signed-account"
payload := strings.NewReader("{\n \"authenticatorResponse\": {},\n \"metaInfo\": {\n \"redirectUrl\": \"<string>\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-squads-network", "<x-squads-network>")
req.Header.Add("Authorization", "Bearer <token>")
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://developer-api.squads.so/api/v1/passkeys/externally-signed-account")
.header("x-squads-network", "<x-squads-network>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"authenticatorResponse\": {},\n \"metaInfo\": {\n \"redirectUrl\": \"<string>\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer-api.squads.so/api/v1/passkeys/externally-signed-account")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-squads-network"] = '<x-squads-network>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"authenticatorResponse\": {},\n \"metaInfo\": {\n \"redirectUrl\": \"<string>\"\n }\n}"
response = http.request(request)
puts response.read_body{
"externallySignedAccount": "<string>",
"sessionKey": {
"key": "<string>",
"expiration": 123
},
"redirectUrl": "<string>"
}{
"status": 123,
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"expected": "<string>",
"actual": "<string>"
}
],
"metadata": {
"status": 123,
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"resource_id": "<string>",
"useful_links": [
"<string>"
]
},
"custom": {},
"simulation_logs": [
"<string>"
]
}{
"status": 123,
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"expected": "<string>",
"actual": "<string>"
}
],
"metadata": {
"status": 123,
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"resource_id": "<string>",
"useful_links": [
"<string>"
]
},
"custom": {},
"simulation_logs": [
"<string>"
]
}{
"status": 123,
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"expected": "<string>",
"actual": "<string>"
}
],
"metadata": {
"status": 123,
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"resource_id": "<string>",
"useful_links": [
"<string>"
]
},
"custom": {},
"simulation_logs": [
"<string>"
]
}{
"status": 123,
"code": "<string>",
"message": "<string>",
"details": [
{
"field": "<string>",
"code": "<string>",
"message": "<string>",
"expected": "<string>",
"actual": "<string>"
}
],
"metadata": {
"status": 123,
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"resource_id": "<string>",
"useful_links": [
"<string>"
]
},
"custom": {},
"simulation_logs": [
"<string>"
]
}Retrieves an externally signed account from a WebAuthn authenticator response. This is an advanced endpoint for companies that need to host passkey flows on their own domain.
For most applications, use the hosted UI approach instead.
Key Notes
- Custom Domain: Use this endpoint when hosting passkey flows on your own domain
- Complete Response Required: Submit the full WebAuthn authenticator response object
- Existing Passkeys: Works with previously registered passkeys
Authorizations
UUID-based API key provided by Squads
Headers
Specifies the network for the API request
Available options:
mainnet, devnet Body
application/json
Was this page helpful?
⌘I