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
  }
}

Passkeys are currently only live on devnet. Mainnet support is coming soon.

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

Response

200
application/json

Passkey session submitted successfully

The response is of type object.