Skip to main content
POST
/
api
/
grid
/
v1
/
passkeys
/
submit
Submit passkey session
curl --request POST \
  --url https://grid.squads.xyz/api/grid/v1/passkeys/submit \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-grid-environment: <x-grid-environment>' \
  --data '
{
  "authenticatorResponse": {
    "response": {
      "authenticatorData": "<string>",
      "clientDataJSON": "<string>",
      "publicKey": "<string>",
      "signature": "<string>"
    }
  },
  "ceremonyType": "create",
  "sessionKey": {
    "expiration": 1,
    "key": "11111111111111111111111111111111"
  },
  "slotNumber": 1
}
'
{
  "passkeyAccount": "<string>",
  "sessionKey": {
    "expiration": 1,
    "key": "11111111111111111111111111111111"
  },
  "smartAccount": "<unknown>"
}

Authorizations

Authorization
string
header
required

Your Grid API key from the Grid Dashboard

Headers

x-grid-environment
string
required

Solana network environment (sandbox, devnet, mainnet)

Body

application/json
authenticatorResponse
object
required
ceremonyType
enum<string>
required
Available options:
create,
auth
sessionKey
object
required

Grid v1 API SessionKey type that supports backward-compatible deserialization from both raw bytes array (old format) and base58 string (new format). Always serializes to base58 string format.

slotNumber
integer<int64>
required
Required range: x >= 0

Response

Passkey session submitted successfully. If the passkey is a signer on a smart account, smart_account data will be included in the response.

passkeyAccount
string
required
sessionKey
object
required

Grid v1 API SessionKey type that supports backward-compatible deserialization from both raw bytes array (old format) and base58 string (new format). Always serializes to base58 string format.

smartAccount
object