// POST /v1/impersonation/authenticate
const stytch = require('stytch');
const client = new stytch.Client({
project_id: '${projectId}',
secret: '${secret}',
});
const params = {
impersonation_token: "${token}",
};
client.Impersonation.Authenticate(params)
.then(resp => { console.log(resp) })
.catch(err => { console.log(err) });{
"request_id": "<string>",
"user_id": "<string>",
"user": {
"user_id": "<string>",
"emails": [
{
"email_id": "<string>",
"email": "<string>",
"verified": true
}
],
"status": "<string>",
"phone_numbers": [
{
"phone_id": "<string>",
"phone_number": "<string>",
"verified": true
}
],
"webauthn_registrations": [
{
"webauthn_registration_id": "<string>",
"domain": "<string>",
"user_agent": "<string>",
"verified": true,
"authenticator_type": "<string>",
"name": "<string>"
}
],
"providers": [
{
"provider_type": "<string>",
"provider_subject": "<string>",
"profile_picture_url": "<string>",
"locale": "<string>",
"oauth_user_registration_id": "<string>"
}
],
"totps": [
{
"totp_id": "<string>",
"verified": true
}
],
"crypto_wallets": [
{
"crypto_wallet_id": "<string>",
"crypto_wallet_address": "<string>",
"crypto_wallet_type": "<string>",
"verified": true
}
],
"biometric_registrations": [
{
"biometric_registration_id": "<string>",
"verified": true
}
],
"is_locked": true,
"roles": [
"<string>"
],
"name": {
"first_name": "<string>",
"middle_name": "<string>",
"last_name": "<string>"
},
"created_at": "<string>",
"password": {
"password_id": "<string>",
"requires_reset": true
},
"trusted_metadata": {},
"untrusted_metadata": {},
"external_id": "<string>",
"lock_created_at": "<string>",
"lock_expires_at": "<string>"
},
"session_token": "<string>",
"session_jwt": "<string>",
"status_code": 123,
"session": {
"session_id": "<string>",
"user_id": "<string>",
"authentication_factors": [
{
"type": "magic_link",
"delivery_method": "email",
"last_authenticated_at": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"email_factor": {
"email_id": "<string>",
"email_address": "<string>"
},
"phone_number_factor": {
"phone_id": "<string>",
"phone_number": "<string>"
},
"google_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"microsoft_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"apple_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"webauthn_factor": {
"webauthn_registration_id": "<string>",
"domain": "<string>",
"user_agent": "<string>"
},
"authenticator_app_factor": {
"totp_id": "<string>"
},
"github_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"recovery_code_factor": {
"totp_recovery_code_id": "<string>"
},
"facebook_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"crypto_wallet_factor": {
"crypto_wallet_id": "<string>",
"crypto_wallet_address": "<string>",
"crypto_wallet_type": "<string>"
},
"amazon_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"bitbucket_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"coinbase_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"discord_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"figma_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"git_lab_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"instagram_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"linked_in_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"shopify_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"slack_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"snapchat_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"spotify_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"steam_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"tik_tok_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"twitch_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"twitter_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"embeddable_magic_link_factor": {
"embedded_id": "<string>"
},
"biometric_factor": {
"biometric_registration_id": "<string>"
},
"saml_sso_factor": {
"id": "<string>",
"provider_id": "<string>",
"external_id": "<string>"
},
"oidc_sso_factor": {
"id": "<string>",
"provider_id": "<string>",
"external_id": "<string>"
},
"salesforce_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"yahoo_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"hubspot_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"slack_oauth_exchange_factor": {
"email_id": "<string>"
},
"hubspot_oauth_exchange_factor": {
"email_id": "<string>"
},
"github_oauth_exchange_factor": {
"email_id": "<string>"
},
"google_oauth_exchange_factor": {
"email_id": "<string>"
},
"impersonated_factor": {
"impersonator_id": "<string>",
"impersonator_email_address": "<string>"
},
"oauth_access_token_exchange_factor": {
"client_id": "<string>"
},
"trusted_auth_token_factor": {
"token_id": "<string>"
}
}
],
"roles": [
"<string>"
],
"started_at": "<string>",
"last_accessed_at": "<string>",
"expires_at": "<string>",
"attributes": {
"ip_address": "<string>",
"user_agent": "<string>"
},
"custom_claims": {}
}
}Authenticate an impersonation token to impersonate a User using the Stytch API
// POST /v1/impersonation/authenticate
const stytch = require('stytch');
const client = new stytch.Client({
project_id: '${projectId}',
secret: '${secret}',
});
const params = {
impersonation_token: "${token}",
};
client.Impersonation.Authenticate(params)
.then(resp => { console.log(resp) })
.catch(err => { console.log(err) });{
"request_id": "<string>",
"user_id": "<string>",
"user": {
"user_id": "<string>",
"emails": [
{
"email_id": "<string>",
"email": "<string>",
"verified": true
}
],
"status": "<string>",
"phone_numbers": [
{
"phone_id": "<string>",
"phone_number": "<string>",
"verified": true
}
],
"webauthn_registrations": [
{
"webauthn_registration_id": "<string>",
"domain": "<string>",
"user_agent": "<string>",
"verified": true,
"authenticator_type": "<string>",
"name": "<string>"
}
],
"providers": [
{
"provider_type": "<string>",
"provider_subject": "<string>",
"profile_picture_url": "<string>",
"locale": "<string>",
"oauth_user_registration_id": "<string>"
}
],
"totps": [
{
"totp_id": "<string>",
"verified": true
}
],
"crypto_wallets": [
{
"crypto_wallet_id": "<string>",
"crypto_wallet_address": "<string>",
"crypto_wallet_type": "<string>",
"verified": true
}
],
"biometric_registrations": [
{
"biometric_registration_id": "<string>",
"verified": true
}
],
"is_locked": true,
"roles": [
"<string>"
],
"name": {
"first_name": "<string>",
"middle_name": "<string>",
"last_name": "<string>"
},
"created_at": "<string>",
"password": {
"password_id": "<string>",
"requires_reset": true
},
"trusted_metadata": {},
"untrusted_metadata": {},
"external_id": "<string>",
"lock_created_at": "<string>",
"lock_expires_at": "<string>"
},
"session_token": "<string>",
"session_jwt": "<string>",
"status_code": 123,
"session": {
"session_id": "<string>",
"user_id": "<string>",
"authentication_factors": [
{
"type": "magic_link",
"delivery_method": "email",
"last_authenticated_at": "<string>",
"created_at": "<string>",
"updated_at": "<string>",
"email_factor": {
"email_id": "<string>",
"email_address": "<string>"
},
"phone_number_factor": {
"phone_id": "<string>",
"phone_number": "<string>"
},
"google_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"microsoft_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"apple_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"webauthn_factor": {
"webauthn_registration_id": "<string>",
"domain": "<string>",
"user_agent": "<string>"
},
"authenticator_app_factor": {
"totp_id": "<string>"
},
"github_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"recovery_code_factor": {
"totp_recovery_code_id": "<string>"
},
"facebook_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"crypto_wallet_factor": {
"crypto_wallet_id": "<string>",
"crypto_wallet_address": "<string>",
"crypto_wallet_type": "<string>"
},
"amazon_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"bitbucket_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"coinbase_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"discord_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"figma_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"git_lab_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"instagram_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"linked_in_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"shopify_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"slack_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"snapchat_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"spotify_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"steam_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"tik_tok_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"twitch_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"twitter_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"embeddable_magic_link_factor": {
"embedded_id": "<string>"
},
"biometric_factor": {
"biometric_registration_id": "<string>"
},
"saml_sso_factor": {
"id": "<string>",
"provider_id": "<string>",
"external_id": "<string>"
},
"oidc_sso_factor": {
"id": "<string>",
"provider_id": "<string>",
"external_id": "<string>"
},
"salesforce_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"yahoo_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"hubspot_oauth_factor": {
"id": "<string>",
"provider_subject": "<string>",
"email_id": "<string>"
},
"slack_oauth_exchange_factor": {
"email_id": "<string>"
},
"hubspot_oauth_exchange_factor": {
"email_id": "<string>"
},
"github_oauth_exchange_factor": {
"email_id": "<string>"
},
"google_oauth_exchange_factor": {
"email_id": "<string>"
},
"impersonated_factor": {
"impersonator_id": "<string>",
"impersonator_email_address": "<string>"
},
"oauth_access_token_exchange_factor": {
"client_id": "<string>"
},
"trusted_auth_token_factor": {
"token_id": "<string>"
}
}
],
"roles": [
"<string>"
],
"started_at": "<string>",
"last_accessed_at": "<string>",
"expires_at": "<string>",
"attributes": {
"ip_address": "<string>",
"user_agent": "<string>"
},
"custom_claims": {}
}
}Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Request type
The User Impersonation token to authenticate. Expires in 5 minutes by default.
Successful response
Globally unique UUID that is returned with every API call. This value is important to log for debugging purposes; we may ask for this value to help identify a specific API call when helping you debug an issue.
The unique ID of the affected User.
The user object affected by this API call. See the Get user endpoint for complete response field details.
Show child attributes
A secret token for a given Stytch Session.
The JSON Web Token (JWT) for a given Stytch Session.
The HTTP status code of the response. Stytch follows standard HTTP response status code patterns, e.g. 2XX values equate to success, 3XX values are redirects, 4XX are client errors, and 5XX are server errors.
If you initiate a Session, by including session_duration_minutes in your authenticate call, you'll receive a full Session object in the response.
See Session object for complete response fields.
Show child attributes