curl -X GET "http://localhost:8080/verify?type=signup&token=verification_token&redirect_to=https://yourapp.com/dashboard"
// This endpoint is typically called automatically when users click email links// But you can also call it programmatically:const params = new URLSearchParams({ type: 'signup', token: 'verification_token', redirect_to: 'https://yourapp.com/dashboard'});window.location.href = `http://localhost:8080/verify?${params}`;
import requestsparams = { 'type': 'signup', 'token': 'verification_token', 'redirect_to': 'https://yourapp.com/dashboard'}response = requests.get('http://localhost:8080/verify', params=params)# This will return a redirect response
HTTP/1.1 303 See OtherLocation: https://yourapp.com/dashboard#access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...&refresh_token=refresh_token_string&expires_in=3600&token_type=bearer
Authentication
Verify User (Redirect)
Verify email/phone confirmation via GET redirect (used in email links)
GET
/
verify
curl -X GET "http://localhost:8080/verify?type=signup&token=verification_token&redirect_to=https://yourapp.com/dashboard"
// This endpoint is typically called automatically when users click email links// But you can also call it programmatically:const params = new URLSearchParams({ type: 'signup', token: 'verification_token', redirect_to: 'https://yourapp.com/dashboard'});window.location.href = `http://localhost:8080/verify?${params}`;
import requestsparams = { 'type': 'signup', 'token': 'verification_token', 'redirect_to': 'https://yourapp.com/dashboard'}response = requests.get('http://localhost:8080/verify', params=params)# This will return a redirect response
HTTP/1.1 303 See OtherLocation: https://yourapp.com/dashboard#access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...&refresh_token=refresh_token_string&expires_in=3600&token_type=bearer
Verify email or phone confirmation via GET redirect. This endpoint is typically used in email verification links and redirects users to your application with authentication tokens.
This endpoint does not require authentication and is designed to be called from email links.
curl -X GET "http://localhost:8080/verify?type=signup&token=verification_token&redirect_to=https://yourapp.com/dashboard"
// This endpoint is typically called automatically when users click email links// But you can also call it programmatically:const params = new URLSearchParams({ type: 'signup', token: 'verification_token', redirect_to: 'https://yourapp.com/dashboard'});window.location.href = `http://localhost:8080/verify?${params}`;
import requestsparams = { 'type': 'signup', 'token': 'verification_token', 'redirect_to': 'https://yourapp.com/dashboard'}response = requests.get('http://localhost:8080/verify', params=params)# This will return a redirect response
HTTP/1.1 303 See OtherLocation: https://yourapp.com/dashboard#access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...&refresh_token=refresh_token_string&expires_in=3600&token_type=bearer
The redirect URL will include authentication tokens in the URL fragment:
Handle verification errors gracefully in your application:
// Check for error parameters in URLconst urlParams = new URLSearchParams(window.location.search);const error = urlParams.get('error');const errorDescription = urlParams.get('error_description');if (error) { switch (error) { case 'invalid_token': showError('The verification link is invalid or has expired. Please request a new one.'); break; case 'expired_token': showError('The verification link has expired. Please request a new one.'); break; default: showError('Verification failed. Please try again or contact support.'); }}
# Test signup verificationcurl -X GET "http://localhost:8080/verify?type=signup&token=test_token&redirect_to=http://localhost:3000/callback"# Test with invalid tokencurl -X GET "http://localhost:8080/verify?type=signup&token=invalid_token"