Skip to main content
POST
/
api
/
v1
/
passkeys
/
submit-passkey-session
Submit passkey session
curl --request POST \
  --url https://developer-api.squads.so/api/v1/passkeys/submit-passkey-session \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-squads-network: <x-squads-network>' \
  --data '{
  "ceremonyType": "create",
  "sessionKey": {
    "key": "[0; 32]",
    "expiration": 123
  },
  "slotNumber": 123,
  "authenticatorResponse": {}
}'
{
  "externallySignedAccount": "<string>",
  "sessionKey": {
    "key": "[0; 32]",
    "expiration": 123
  }
}
Processes WebAuthn authenticator responses for custom UI implementations. 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
  • Slot Number: Extract from URL parameters when creating the passkey session
For detailed implementation, see the Custom Domain guide.

Authorizations

Authorization
string
header
required

UUID-based API key provided by Squads

Headers

x-squads-network
enum<string>
required

Specifies the network for the API request

Available options:
mainnet,
devnet

Body

application/json
ceremonyType
enum<string>
required

Type of ceremony being completed

Available options:
create,
auth
sessionKey
object
required
slotNumber
integer
required

Solana slot number for the ceremony

authenticatorResponse
object
required

Complete WebAuthn authenticator response as JSON value

Response

Passkey session submitted successfully

externallySignedAccount
string

Solana public key of the externally signed account

sessionKey
object
I