Skip to main content
POST
/
api
/
v1
/
passkeys
Create a passkey session URL for WebAuthn ceremonies
curl --request POST \
  --url https://developer-api.squads.so/api/v1/passkeys \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-squads-network: <x-squads-network>' \
  --data '{
  "action": "create",
  "sessionKey": {
    "key": "<string>",
    "expiration": 123
  },
  "metaInfo": {
    "appName": "<string>",
    "redirectUrl": "<string>"
  },
  "baseUrl": "<string>"
}'
{
  "url": "<string>"
}
Creates a passkey session URL for WebAuthn ceremonies using the hosted UI. This is the recommended approach for most applications. For detailed implementation examples and integration steps, see the Passkey Integration Guide.

Key Notes

  • Challenge Expiration: URL challenges expire after 60 seconds
  • Hosted UI: Default baseUrl uses production-ready hosted interface
  • Custom Domain: Use custom baseUrl for your own domain (see Custom Domain)

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
action
enum<string>
required

'create' for new passkey registration, 'auth' for authentication with an existing passkey, 'get' for retrieving existing passkey account

Available options:
create,
auth,
get
metaInfo
object
required
sessionKey
object

Required for 'auth' action.

baseUrl
string

Optional custom base URL for the passkey UI (defaults to https://passkey.grid.squads.xyz)

Response

Passkey session URL created successfully

url
string

Hosted UI URL for the passkey ceremony