Stytch · Schema
api_webauthn_v1_RegisterRequest
Request type
AuthenticationIdentityPasswordlessSecurityB2BConnected AppsMCPAI AgentsDeveloper Tools
Properties
| Name | Type | Description |
|---|---|---|
| user_id | string | The `user_id` of an active user the Passkey or WebAuthn registration should be tied to. You may use an `external_id` here if one is set for the user. |
| public_key_credential | string | The response of the [navigator.credentials.create()](https://www.w3.org/TR/webauthn-2/#sctn-createCredential). |
| session_token | string | The `session_token` associated with a User's existing Session. |
| session_duration_minutes | integer | Set the session lifetime to be this many minutes from now. This will start a new session if one doesn't already exist, returning both an opaque `session_token` and `session_jwt` for this session. Reme |
| session_jwt | string | The `session_jwt` associated with a User's existing Session. |
| session_custom_claims | object | Add a custom claims map to the Session being authenticated. Claims are only created if a Session is initialized by providing a value in `session_duration_minutes`. Claims will be included on the Sessi |
| telemetry_id | string | If the `telemetry_id` is passed, as part of this request, Stytch will call the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) and store the associated fingerprints and |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "#/components/schemas/api_webauthn_v1_RegisterRequest",
"title": "api_webauthn_v1_RegisterRequest",
"type": "object",
"properties": {
"user_id": {
"type": "string",
"description": "The `user_id` of an active user the Passkey or WebAuthn registration should be tied to. You may use an `external_id` here if one is set for the user."
},
"public_key_credential": {
"type": "string",
"description": "The response of the [navigator.credentials.create()](https://www.w3.org/TR/webauthn-2/#sctn-createCredential)."
},
"session_token": {
"type": "string",
"description": "The `session_token` associated with a User's existing Session."
},
"session_duration_minutes": {
"type": "integer",
"format": "int32",
"description": "Set the session lifetime to be this many minutes from now. This will start a new session if one doesn't already exist,\n returning both an opaque `session_token` and `session_jwt` for this session. Remember that the `session_jwt` will have a fixed lifetime of\n five minutes regardless of the underlying session duration, and will need to be refreshed over time.\n\n This value must be a minimum of 5 and a maximum of 527040 minutes (366 days).\n\n If a `session_token` or `session_jwt` is provided then a successful authentication will continue to extend the session this many minutes.\n\n If the `session_duration_minutes` parameter is not specified, a Stytch session will not be created."
},
"session_jwt": {
"type": "string",
"description": "The `session_jwt` associated with a User's existing Session."
},
"session_custom_claims": {
"type": "object",
"additionalProperties": true,
"description": "Add a custom claims map to the Session being authenticated. Claims are only created if a Session is initialized by providing a value in `session_duration_minutes`. Claims will be included on the Session object and in the JWT. To update a key in an existing Session, supply a new value. To delete a key, supply a null value.\n\n Custom claims made with reserved claims (\"iss\", \"sub\", \"aud\", \"exp\", \"nbf\", \"iat\", \"jti\") will be ignored. Total custom claims size cannot exceed four kilobytes."
},
"telemetry_id": {
"type": "string",
"description": "If the `telemetry_id` is passed, as part of this request, Stytch will call the [Fingerprint Lookup API](https://stytch.com/docs/fraud/api/fingerprint-lookup) and store the associated fingerprints and IPGEO information for the User. Your workspace must be enabled for Device Fingerprinting to use this feature."
}
},
"description": "Request type",
"required": [
"user_id",
"public_key_credential"
]
}