{"id":18611109,"url":"https://github.com/loginradius/dot-net-sdk","last_synced_at":"2025-04-10T22:33:06.126Z","repository":{"id":3125866,"uuid":"4153543","full_name":"LoginRadius/dot-net-sdk","owner":"LoginRadius","description":"The LoginRadius ASP.NET library will let you integrate LoginRadius' customer identity platform with your ASP.Net application(s).","archived":false,"fork":false,"pushed_at":"2024-07-16T10:30:42.000Z","size":5723,"stargazers_count":8,"open_issues_count":1,"forks_count":22,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-10-03T00:39:25.373Z","etag":null,"topics":["asp","hacktoberfest","identity-management","loginradius","loginradius-asp","loginradius-sdk","nuget-package","single-sign-on","social-login"],"latest_commit_sha":null,"homepage":"https://www.loginradius.com","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LoginRadius.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-04-27T00:11:40.000Z","updated_at":"2024-07-03T19:51:50.000Z","dependencies_parsed_at":"2024-06-23T11:31:58.167Z","dependency_job_id":null,"html_url":"https://github.com/LoginRadius/dot-net-sdk","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoginRadius%2Fdot-net-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoginRadius%2Fdot-net-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoginRadius%2Fdot-net-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LoginRadius%2Fdot-net-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LoginRadius","download_url":"https://codeload.github.com/LoginRadius/dot-net-sdk/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223449813,"owners_count":17146984,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asp","hacktoberfest","identity-management","loginradius","loginradius-asp","loginradius-sdk","nuget-package","single-sign-on","social-login"],"created_at":"2024-11-07T03:12:41.754Z","updated_at":"2024-11-07T03:12:42.505Z","avatar_url":"https://github.com/LoginRadius.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LoginRadius .NET SDK\n\n\n![Home Image](http://docs.lrcontent.com/resources/github/banner-1544x500.png)\n\n## Introduction ##\n\nLoginRadius ASP.NET Customer Registration wrapper provides access to LoginRadius Identity Management Platform API.\n\nLoginRadius is an Identity Management Platform that simplifies user registration while securing data. LoginRadius Platform simplifies and secures your user registration process, increases conversion with Social Login that combines 30 major social platforms, and offers a full solution with Traditional User Registration. You can gather a wealth of user profile data from Social Login or Traditional User Registration. \n\nLoginRadius centralizes it all in one place, making it easy to manage and access. Easily integrate LoginRadius with all of your third-party applications, like MailChimp, Google Analytics, Livefyre and many more, making it easy to utilize the data you are capturing.\n\nLoginRadius helps businesses boost user engagement on their web/mobile platform, manage online identities, utilize social media for marketing, capture accurate consumer data, and get unique social insight into their customer base.\n\nPlease visit [here](http://www.loginradius.com/) for more information.\n\n\n## Prerequisites\n\n* .NET 4.0 or later / .NetStandard 1.3 or later\n\n## Installation\nThis documentation presumes you have worked through the client-side implementation to setup your LoginRadius User Registration interfaces that will serve the initial registration and login process. Details on this can be found in the [getting started guide](https://www.loginradius.com/docs/api/v2/getting-started/introduction).\n\n**Note: **LoginRadius uses the industry standard TLS 1.2 protocol, designed to help protect the privacy of information communicated over the Internet. In order to use the LoginRadius .Net SDK, add the following code before instantiating your web service in your project's `Global.asax` file.\n\n```c#\nServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;\n```\n\n## Importing Required Libraries\n- Download the User Registration .Net SDK from [Github](https://github.com/LoginRadius/dot-net-sdk)\n\n- Copy LoginRadiusSDK.V2.dll and LoginRadiusSDK.V2.pdb files into the References directory of your ASP.NET project.\n\nOR\n\n- Run the following command in the NuGet Package Manager Console:\n\n```\nPM\u003e Install-Package LoginRadiusSDK.NET\n```\n\nOR\n\n- Open the solution using Visual Studio 2019.\n\n- Build the project and note where the .nupkg file is located.\n\n- Access the NuGet Package Manager Settings and import the directory where the .nupkg file is located.\n\n- Access the \"Manage NuGet Packages for Solutions...\" tool change the source to the newly created source and select and install the LoginRadius SDK\n\nNext, include the following namespaces in your project:\n\n\n```c#\nusing LoginRadiusSDK.V2.Api;\nusing LoginRadiusSDK.V2.Models;\n```\n## Quickstart Guide\n\nBefore using the SDK, you must initialize the SDK with the help of following code:\nAPI Key and secret of your LoginRadius site. This information can be found in your LoginRadius account as described [here](https://www.loginradius.com/docs/api/v2/admin-console/platform-security/api-key-and-secret/#api-key-and-secret)\n\n```c#\nLoginRadiusSdkGlobalConfig.ApiKey = \"__API_KEY__\";\nLoginRadiusSdkGlobalConfig.ApiSecret = \"__API_SECRET__\";\nLoginRadiusSdkGlobalConfig.AppName = \"__LoginRadius_APP_NAME__\";\nLoginRadiusSdkGlobalConfig.ApiRequestSigning =\"false\";\nLoginRadiusSdkGlobalConfig.ConnectionTimeout = 30000; // Connection Timeout (milliseconds)\nLoginRadiusSdkGlobalConfig.ProxyAddress = \"__HTTP_PROXY_ADDRESS__\"; // Absolute Proxy URI\nLoginRadiusSdkGlobalConfig.ProxyCredentials = \"__HTTP_PROXY_CREDENTIALS__\"; // Proxy Credentials in the format 'USERNAME:PASSWORD'\nLoginRadiusSdkGlobalConfig.RequestRetries = 3;\nLoginRadiusSdkGlobalConfig.ApiRegion = \"_region_\";\nLoginRadiusSdkGlobalConfig.DomainName = \"https://api.loginradius.com/\";\n```\n\nOR\n\nFor ASP.NET. in  `web.config`:\n```xml\n  \u003cconfigSections\u003e\n    \u003csection name=\"loginradius\" type=\"LoginRadiusSDK.V2.SDKConfigHandler, LoginRadiusSDK.V2\" /\u003e\n  \u003c/configSections\u003e\n\n  \u003c!-- LoginRadius SDK settings --\u003e\n  \u003cloginradius\u003e\n    \u003csettings\u003e\n      \u003cadd name=\"apiKey\" value=\"__API_KEY__\" /\u003e\n      \u003cadd name=\"apiSecret\" value=\"__API_SECRET__\" /\u003e\n      \u003cadd name=\"appName\" value=\"__LoginRadius_APP_NAME__\"/\u003e\n\t  \u003cadd name=\"ApiRequestSigning\" value=\"false\"/\u003e\n      \u003cadd name=\"proxyAddress\" value=\"__HTTP_PROXY_ADDRESS__\" /\u003e \u003c!-- Absolute Proxy URI --\u003e\n      \u003cadd name=\"proxyCredentials\" value=\"__HTTP_PROXY_CREDENTIALS__\" /\u003e \u003c!-- Proxy Credentials in the format 'USERNAME:PASSWORD' --\u003e\n      \u003cadd name=\"connectionTimeout\" value=\"__HTTP_CONNECTION_TIMEOUT__\" /\u003e \u003c!-- Connection Timeout (milliseconds) --\u003e\n      \u003cadd name=\"requestRetries\" value=\"__HTTP_CONNECTION_RETRY__\" /\u003e\n      \u003cadd name=\"apiRegion\" value=\"_region_\" /\u003e\n      \u003cadd name=\"domainName\" value=\"https://api.loginradius.com/\" /\u003e\n    \u003c/settings\u003e\n  \u003c/loginradius\u003e\n```\nOR\n\nFor .NET Core, in `appsettings.json`:\n\n**JSON**\n```json\n\"loginradius\": {\n    \"apiKey\": \"__API_KEY__\",\n    \"apiSecret\": \"__API_SECRET__\",\n    \"appName\" : \"__LoginRadius_APP_NAME__\",\n\t\"ApiRequestSigning\" : \"false\",\n    \"proxyAddress\" : \"__HTTP_PROXY_ADDRESS__\",\n    \"proxyCredentials\" : \"__HTTP_PROXY_CREDENTIAL__\",\n    \"connectionTimeout\" : \"__HTTP_CONNECTION_TIMEOUT__\",\n    \"requestRetries\" : \"__HTTP_CONNECTION_RETRY__\",\n    \"apiRegion\": \"_region_\",\n    \"domainName\" : \"https://api.loginradius.com/\"\n  }\n\n ```\n\n ### Custom Domain\nWhen initializing the SDK, optionally specify a custom domain.\nExample : In appsettings.json, add following statement - \n\n```json\n\"domainName\" : \"https://api.loginradius.com/\"\n```\n\n\n\n### API Request Signing\nWhen initializing the SDK, you can optionally specify enabling this feature. Enabling this feature means the customer does not need to pass an API secret in an API request. Instead, they can pass a dynamically generated hash value. This feature will also make sure that the message is not tampered during transit when someone calls our APIs.\nExample : In appsettings.json, add following statement -\n\n```json\n\"ApiRequestSigning\" : \"false\"\n```\n\nX-Origin-IP\nLoginRadius allows you add X-Origin-IP in your headers and it determines the IP address of the client's request,this can also be useful to overcome analytics discrepancies where the analytics depend on header data.\n\n\n```json\n\"originIp\" : \"\u003cClient-Ip-Address\u003e\"\n```\n\n## APIs\n\n\n\n### Authentication API\n\n\nList of APIs in this Section:\u003cbr\u003e\n[PUT : Auth Update Profile by Token](#UpdateProfileByAccessToken-put-)\u003cbr\u003e\n[PUT : Auth Unlock Account by Access Token](#UnlockAccountByToken-put-)\u003cbr\u003e\n[PUT : Auth Verify Email By OTP](#VerifyEmailByOTP-put-)\u003cbr\u003e\n[PUT : Auth Reset Password by Security Answer and Email](#ResetPasswordBySecurityAnswerAndEmail-put-)\u003cbr\u003e\n[PUT : Auth Reset Password by Security Answer and Phone](#ResetPasswordBySecurityAnswerAndPhone-put-)\u003cbr\u003e\n[PUT : Auth Reset Password by Security Answer and UserName](#ResetPasswordBySecurityAnswerAndUserName-put-)\u003cbr\u003e\n[PUT : Auth Reset Password by Reset Token](#ResetPasswordByResetToken-put-)\u003cbr\u003e\n[PUT : Auth Reset Password by OTP](#ResetPasswordByEmailOTP-put-)\u003cbr\u003e\n[PUT : Auth Reset Password by OTP and UserName](#ResetPasswordByOTPAndUserName-put-)\u003cbr\u003e\n[PUT : Auth Change Password](#ChangePassword-put-)\u003cbr\u003e\n[POST : Auth Link Social Identities](#LinkSocialIdentities-post-)\u003cbr\u003e\n[POST : Auth Link Social Identities By Ping](#LinkSocialIdentitiesByPing-post-)\u003cbr\u003e\n[PUT : Auth Set or Change UserName](#SetOrChangeUserName-put-)\u003cbr\u003e\n[PUT : Auth Resend Email Verification](#AuthResendEmailVerification-put-)\u003cbr\u003e\n[POST : Auth Add Email](#AddEmail-post-)\u003cbr\u003e\n[POST : Auth Login by Email](#LoginByEmail-post-)\u003cbr\u003e\n[POST : Auth Login by Username](#LoginByUserName-post-)\u003cbr\u003e\n[POST : Auth Forgot Password](#ForgotPassword-post-)\u003cbr\u003e\n[POST : Auth User Registration by Email](#UserRegistrationByEmail-post-)\u003cbr\u003e\n[POST : Auth User Registration By Captcha](#UserRegistrationByCaptcha-post-)\u003cbr\u003e\n[GET : Get Security Questions By Email](#GetSecurityQuestionsByEmail-get-)\u003cbr\u003e\n[GET : Get Security Questions By UserName](#GetSecurityQuestionsByUserName-get-)\u003cbr\u003e\n[GET : Get Security Questions By Phone](#GetSecurityQuestionsByPhone-get-)\u003cbr\u003e\n[GET : Get Security Questions By Access Token](#GetSecurityQuestionsByAccessToken-get-)\u003cbr\u003e\n[GET : Auth Validate Access token](#AuthValidateAccessToken-get-)\u003cbr\u003e\n[GET : Access Token Invalidate](#AuthInValidateAccessToken-get-)\u003cbr\u003e\n[GET : Access Token Info](#GetAccessTokenInfo-get-)\u003cbr\u003e\n[GET : Auth Read all Profiles by Token](#GetProfileByAccessToken-get-)\u003cbr\u003e\n[GET : Auth Send Welcome Email](#SendWelcomeEmail-get-)\u003cbr\u003e\n[GET : Auth Delete Account](#DeleteAccountByDeleteToken-get-)\u003cbr\u003e\n[GET : Get Profile By Ping](#GetProfileByPing-get-)\u003cbr\u003e\n[GET : Auth Check Email Availability](#CheckEmailAvailability-get-)\u003cbr\u003e\n[GET : Auth Verify Email](#VerifyEmail-get-)\u003cbr\u003e\n[GET : Auth Social Identity](#GetSocialIdentity-get-)\u003cbr\u003e\n[GET : Auth Check UserName Availability](#CheckUserNameAvailability-get-)\u003cbr\u003e\n[GET : Auth Privacy Policy Accept](#AcceptPrivacyPolicy-get-)\u003cbr\u003e\n[GET : Auth Privacy Policy History By Access Token](#GetPrivacyPolicyHistoryByAccessToken-get-)\u003cbr\u003e\n[GET : Auth send verification Email for linking social profiles](#AuthSendVerificationEmailForLinkingSocialProfiles-get-)\u003cbr\u003e\n[DELETE : Auth Delete Account with Email Confirmation](#DeleteAccountWithEmailConfirmation-delete-)\u003cbr\u003e\n[DELETE : Auth Remove Email](#RemoveEmail-delete-)\u003cbr\u003e\n[DELETE : Auth Unlink Social Identities](#UnlinkSocialIdentities-delete-)\u003cbr\u003e\n\n\n\n\u003ch6 id=\"UpdateProfileByAccessToken-put-\"\u003eAuth Update Profile by Token (PUT)\u003c/h6\u003e\n\n\nThis API is used to update the user's profile by passing the access_token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-update-profile-by-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nUserProfileUpdateModel userProfileUpdateModel = new UserProfileUpdateModel{\nFirstName =\"\u003cFirstName\u003e\",\nLastName =\"\u003cLastName\u003e\"\n}; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nstring fields = null; //Optional\n; //Optional\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar options = \"options\"; //Optional\nvar apiResponse = new AuthenticationApi().UpdateProfileByAccessToken(accessToken, userProfileUpdateModel, emailTemplate, fields, smsTemplate, verificationUrl, isVoiceOtp, options).Result;\n```\n\n\n\u003ch6 id=\"UnlockAccountByToken-put-\"\u003eAuth Unlock Account by Access Token (PUT)\u003c/h6\u003e\n\nThis API is used to allow a customer with a valid access_token to unlock their account provided that they successfully pass the prompted Bot Protection challenges. The Block or Suspend block types are not applicable for this API. For additional details see our Auth Security Configuration documentation.You are only required to pass the Post Parameters that correspond to the prompted challenges. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-unlock-account-by-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nUnlockProfileModel unlockProfileModel = new UnlockProfileModel{\nG_recaptcha_response =\"\u003cG-recaptcha-response\u003e\"\n}; //Required\nvar apiResponse = new AuthenticationApi().UnlockAccountByToken(accessToken, unlockProfileModel).Result;\n```\n\n\n\u003ch6 id=\"VerifyEmailByOTP-put-\"\u003eAuth Verify Email By OTP (PUT)\u003c/h6\u003e\n\nThis API is used to verify the email of user when the OTP Email verification flow is enabled, please note that you must contact LoginRadius to have this feature enabled. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-verify-email-by-otp/)\n\n\n\n```c#\n\nEmailVerificationByOtpModel emailVerificationByOtpModel = new EmailVerificationByOtpModel{\nEmail =\"\u003cEmail\u003e\",\nOtp =\"\u003cOtp\u003e\"\n}; //Required\nstring fields = null; //Optional\nvar url = \"url\"; //Optional\nvar welcomeEmailTemplate = \"welcomeEmailTemplate\"; //Optional\nvar apiResponse = new AuthenticationApi().VerifyEmailByOTP(emailVerificationByOtpModel, fields, url, welcomeEmailTemplate).Result;\n```\n\n\n\u003ch6 id=\"ResetPasswordBySecurityAnswerAndEmail-put-\"\u003eAuth Reset Password by Security Answer and Email (PUT)\u003c/h6\u003e\n\nThis API is used to reset password for the specified account by security question [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-reset-password-by-email)\n\n\n\n```c#\n\nResetPasswordBySecurityAnswerAndEmailModel resetPasswordBySecurityAnswerAndEmailModel = new ResetPasswordBySecurityAnswerAndEmailModel{\nEmail =\"\u003cEmail\u003e\",\nPassword =\"\u003cPassword\u003e\",\nSecurityAnswer = new Dictionary\u003cString,String\u003e{\n[\"QuestionID\"] = \"Answer\"\n}\n}; //Required\nvar apiResponse = new AuthenticationApi().ResetPasswordBySecurityAnswerAndEmail(resetPasswordBySecurityAnswerAndEmailModel).Result;\n```\n\n\n\u003ch6 id=\"ResetPasswordBySecurityAnswerAndPhone-put-\"\u003eAuth Reset Password by Security Answer and Phone (PUT)\u003c/h6\u003e\n\nThis API is used to reset password for the specified account by security question [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-reset-password-by-phone)\n\n\n\n```c#\n\nResetPasswordBySecurityAnswerAndPhoneModel resetPasswordBySecurityAnswerAndPhoneModel = new ResetPasswordBySecurityAnswerAndPhoneModel{\nPassword =\"\u003cPassword\u003e\",\nPhone =\"\u003cPhone\u003e\",\nSecurityAnswer = new Dictionary\u003cString,String\u003e{\n[\"QuestionID\"] = \"Answer\"\n}\n}; //Required\nvar apiResponse = new AuthenticationApi().ResetPasswordBySecurityAnswerAndPhone(resetPasswordBySecurityAnswerAndPhoneModel).Result;\n```\n\n\n\u003ch6 id=\"ResetPasswordBySecurityAnswerAndUserName-put-\"\u003eAuth Reset Password by Security Answer and UserName (PUT)\u003c/h6\u003e\n\nThis API is used to reset password for the specified account by security question [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-reset-password-by-username)\n\n\n\n```c#\n\nResetPasswordBySecurityAnswerAndUserNameModel resetPasswordBySecurityAnswerAndUserNameModel = new ResetPasswordBySecurityAnswerAndUserNameModel{\nPassword =\"\u003cPassword\u003e\",\nSecurityAnswer = new Dictionary\u003cString,String\u003e{\n[\"QuestionID\"] = \"Answer\"\n},\nUserName =\"\u003cUserName\u003e\"\n}; //Required\nvar apiResponse = new AuthenticationApi().ResetPasswordBySecurityAnswerAndUserName(resetPasswordBySecurityAnswerAndUserNameModel).Result;\n```\n\n\n\u003ch6 id=\"ResetPasswordByResetToken-put-\"\u003eAuth Reset Password by Reset Token (PUT)\u003c/h6\u003e\n\nThis API is used to set a new password for the specified account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-reset-password-by-reset-token)\n\n\n\n```c#\n\nResetPasswordByResetTokenModel resetPasswordByResetTokenModel = new ResetPasswordByResetTokenModel{\nPassword =\"\u003cPassword\u003e\",\nResetToken =\"\u003cResetToken\u003e\"\n}; //Required\nvar apiResponse = new AuthenticationApi().ResetPasswordByResetToken(resetPasswordByResetTokenModel).Result;\n```\n\n\n\u003ch6 id=\"ResetPasswordByEmailOTP-put-\"\u003eAuth Reset Password by OTP (PUT)\u003c/h6\u003e\n\nThis API is used to set a new password for the specified account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-reset-password-by-otp)\n\n\n\n```c#\n\nResetPasswordByEmailAndOtpModel resetPasswordByEmailAndOtpModel = new ResetPasswordByEmailAndOtpModel{\nEmail =\"\u003cEmail\u003e\",\nOtp =\"\u003cOtp\u003e\",\nPassword =\"\u003cPassword\u003e\"\n}; //Required\nvar apiResponse = new AuthenticationApi().ResetPasswordByEmailOTP(resetPasswordByEmailAndOtpModel).Result;\n```\n\n\n\u003ch6 id=\"ResetPasswordByOTPAndUserName-put-\"\u003eAuth Reset Password by OTP and UserName (PUT)\u003c/h6\u003e\n\nThis API is used to set a new password for the specified account if you are using the username as the unique identifier in your workflow [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-reset-password-by-otp-and-username/)\n\n\n\n```c#\n\nResetPasswordByUserNameModel resetPasswordByUserNameModel = new ResetPasswordByUserNameModel{\nOtp =\"\u003cOtp\u003e\",\nPassword =\"\u003cPassword\u003e\",\nUserName =\"\u003cUserName\u003e\"\n}; //Required\nvar apiResponse = new AuthenticationApi().ResetPasswordByOTPAndUserName(resetPasswordByUserNameModel).Result;\n```\n\n\n\u003ch6 id=\"ChangePassword-put-\"\u003eAuth Change Password (PUT)\u003c/h6\u003e\n\nThis API is used to change the accounts password based on the previous password [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-change-password)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar newPassword = \"newPassword\"; //Required\nvar oldPassword = \"oldPassword\"; //Required\nvar apiResponse = new AuthenticationApi().ChangePassword(accessToken, newPassword, oldPassword).Result;\n```\n\n\n\u003ch6 id=\"LinkSocialIdentities-post-\"\u003eAuth Link Social Identities (POST)\u003c/h6\u003e\n\nThis API is used to link up a social provider account with the specified account based on the access token and the social providers user access token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-link-social-identities)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar candidateToken = \"candidateToken\"; //Required\nvar apiResponse = new AuthenticationApi().LinkSocialIdentities(accessToken, candidateToken).Result;\n```\n\n\u003ch6 id=\"LinkSocialIdentitiesByPing-post-\"\u003eAuth Link Social Identities By Ping (POST)\u003c/h6\u003e\n\nThis API is used to link up a social provider account with an existing LoginRadius account on the basis of ping and the social providers user access token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-link-social-identities-by-ping)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar clientGuid = \"clientGuid\"; //Required\nvar apiResponse = new AuthenticationApi().LinkSocialIdentitiesByPing(accessToken, clientGuid).Result;\n```\n\n\u003ch6 id=\"SetOrChangeUserName-put-\"\u003eAuth Set or Change UserName (PUT)\u003c/h6\u003e\n\nThis API is used to set or change UserName by access token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-set-or-change-user-name/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar username = \"username\"; //Required\nvar apiResponse = new AuthenticationApi().SetOrChangeUserName(accessToken, username).Result;\n```\n\n\n\u003ch6 id=\"AuthResendEmailVerification-put-\"\u003eAuth Resend Email Verification (PUT)\u003c/h6\u003e\n\nThis API resends the verification email to the user. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-resend-email-verification/)\n\n\n\n```c#\n\nvar email = \"email\"; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar apiResponse = new AuthenticationApi().AuthResendEmailVerification(email, emailTemplate, verificationUrl).Result;\n```\n\n\n\u003ch6 id=\"AddEmail-post-\"\u003eAuth Add Email (POST)\u003c/h6\u003e\n\nThis API is used to add additional emails to a user's account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-add-email)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar email = \"email\"; //Required\nvar type = \"type\"; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar apiResponse = new AuthenticationApi().AddEmail(accessToken, email, type, emailTemplate, verificationUrl).Result;\n```\n\n\n\u003ch6 id=\"LoginByEmail-post-\"\u003eAuth Login by Email (POST)\u003c/h6\u003e\n\nThis API retrieves a copy of the user data based on the Email [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-login-by-email)\n\n\n\n```c#\n\nEmailAuthenticationModel emailAuthenticationModel = new EmailAuthenticationModel{\nEmail =\"\u003cEmail\u003e\",\nPassword =\"\u003cPassword\u003e\"\n}; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nstring fields = null; //Optional\nvar loginUrl = \"loginUrl\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar apiResponse = new AuthenticationApi().LoginByEmail(emailAuthenticationModel, emailTemplate, fields, loginUrl, verificationUrl).Result;\n```\n\n\n\u003ch6 id=\"LoginByUserName-post-\"\u003eAuth Login by Username (POST)\u003c/h6\u003e\n\nThis API retrieves a copy of the user data based on the Username [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-login-by-username)\n\n\n\n```c#\n\nUserNameAuthenticationModel userNameAuthenticationModel = new UserNameAuthenticationModel{\nPassword =\"\u003cPassword\u003e\",\nUsername =\"\u003cUsername\u003e\"\n}; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nstring fields = null; //Optional\nvar loginUrl = \"loginUrl\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar apiResponse = new AuthenticationApi().LoginByUserName(userNameAuthenticationModel, emailTemplate, fields, loginUrl, verificationUrl).Result;\n```\n\n\n\u003ch6 id=\"ForgotPassword-post-\"\u003eAuth Forgot Password (POST)\u003c/h6\u003e\n\nThis API is used to send the reset password url to a specified account. Note: If you have the UserName workflow enabled, you may replace the 'email' parameter with 'username' [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-forgot-password)\n\n\n\n```c#\n\nvar email = \"email\"; //Required\nvar resetPasswordUrl = \"resetPasswordUrl\"; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nvar apiResponse = new AuthenticationApi().ForgotPassword(email, resetPasswordUrl, emailTemplate).Result;\n```\n\n\n\u003ch6 id=\"UserRegistrationByEmail-post-\"\u003eAuth User Registration by Email (POST)\u003c/h6\u003e\n\nThis API creates a user in the database as well as sends a verification email to the user. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-user-registration-by-email)\n\n\n\n```c#\n\nAuthUserRegistrationModel authUserRegistrationModel = new AuthUserRegistrationModel{\nEmail = new List\u003cEmailModel\u003e{\nnew EmailModel{\nType =\"\u003cType\u003e\",\nValue =\"\u003cValue\u003e\"\n}},\nFirstName =\"\u003cFirstName\u003e\",\nLastName =\"\u003cLastName\u003e\",\nPassword =\"\u003cPassword\u003e\"\n}; //Required\nvar sott = \"sott\"; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nstring fields = null; //Optional\nvar options = \"options\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar welcomeEmailTemplate = \"welcomeEmailTemplate\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new AuthenticationApi().UserRegistrationByEmail(authUserRegistrationModel, sott, emailTemplate, fields, options, verificationUrl, welcomeEmailTemplate, isVoiceOtp).Result;\n```\n\n\n\u003ch6 id=\"UserRegistrationByCaptcha-post-\"\u003eAuth User Registration By Captcha (POST)\u003c/h6\u003e\n\nThis API creates a user in the database as well as sends a verification email to the user. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-user-registration-by-recaptcha)\n\n\n\n```c#\n\nAuthUserRegistrationModelWithCaptcha authUserRegistrationModelWithCaptcha = new AuthUserRegistrationModelWithCaptcha{\nEmail = new List\u003cEmailModel\u003e{\nnew EmailModel{\nType =\"\u003cType\u003e\",\nValue =\"\u003cValue\u003e\"\n}},\nFirstName =\"\u003cFirstName\u003e\",\nG_recaptcha_response =\"\u003cG-recaptcha-response\u003e\",\nLastName =\"\u003cLastName\u003e\",\nPassword =\"\u003cPassword\u003e\"\n}; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nstring fields = null; //Optional\nvar options = \"options\"; //Optional\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar welcomeEmailTemplate = \"welcomeEmailTemplate\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new AuthenticationApi().UserRegistrationByCaptcha(authUserRegistrationModelWithCaptcha, emailTemplate, fields, options, smsTemplate, verificationUrl, welcomeEmailTemplate, isVoiceOtp).Result;\n```\n\n\n\u003ch6 id=\"GetSecurityQuestionsByEmail-get-\"\u003eGet Security Questions By Email (GET)\u003c/h6\u003e\n\nThis API is used to retrieve the list of questions that are configured on the respective LoginRadius site. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/security-questions-by-email/)\n\n\n\n```c#\n\nvar email = \"email\"; //Required\nvar apiResponse = new AuthenticationApi().GetSecurityQuestionsByEmail(email).Result;\n```\n\n\n\u003ch6 id=\"GetSecurityQuestionsByUserName-get-\"\u003eGet Security Questions By UserName (GET)\u003c/h6\u003e\n\nThis API is used to retrieve the list of questions that are configured on the respective LoginRadius site. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/security-questions-by-user-name/)\n\n\n\n```c#\n\nvar userName = \"userName\"; //Required\nvar apiResponse = new AuthenticationApi().GetSecurityQuestionsByUserName(userName).Result;\n```\n\n\n\u003ch6 id=\"GetSecurityQuestionsByPhone-get-\"\u003eGet Security Questions By Phone (GET)\u003c/h6\u003e\n\nThis API is used to retrieve the list of questions that are configured on the respective LoginRadius site. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/security-questions-by-phone/)\n\n\n\n```c#\n\nvar phone = \"phone\"; //Required\nvar apiResponse = new AuthenticationApi().GetSecurityQuestionsByPhone(phone).Result;\n```\n\n\n\u003ch6 id=\"GetSecurityQuestionsByAccessToken-get-\"\u003eGet Security Questions By Access Token (GET)\u003c/h6\u003e\n\nThis API is used to retrieve the list of questions that are configured on the respective LoginRadius site. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/security-questions-by-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar apiResponse = new AuthenticationApi().GetSecurityQuestionsByAccessToken(accessToken).Result;\n```\n\n\n\u003ch6 id=\"AuthValidateAccessToken-get-\"\u003eAuth Validate Access token (GET)\u003c/h6\u003e\n\nThis api validates access token, if valid then returns a response with its expiry otherwise error. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-validate-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar apiResponse = new AuthenticationApi().AuthValidateAccessToken(accessToken).Result;\n```\n\n\n\u003ch6 id=\"AuthInValidateAccessToken-get-\"\u003eAccess Token Invalidate (GET)\u003c/h6\u003e\n\nThis api call invalidates the active access token or expires an access token's validity. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-invalidate-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar preventRefresh = true; //Optional\nvar apiResponse = new AuthenticationApi().AuthInValidateAccessToken(accessToken, preventRefresh).Result;\n```\n\n\n\u003ch6 id=\"GetAccessTokenInfo-get-\"\u003eAccess Token Info (GET)\u003c/h6\u003e\n\nThis api call provide the active access token Information [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-access-token-info/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar apiResponse = new AuthenticationApi().GetAccessTokenInfo(accessToken).Result;\n```\n\n\n\u003ch6 id=\"GetProfileByAccessToken-get-\"\u003eAuth Read all Profiles by Token (GET)\u003c/h6\u003e\n\nThis API retrieves a copy of the user data based on the access_token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-read-profiles-by-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nstring fields = null; //Optional\nvar emailTemplate = \"emailTemplate\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar welcomeEmailTemplate = \"welcomeEmailTemplate\"; //Optional\nvar apiResponse = new AuthenticationApi().GetProfileByAccessToken(accessToken,fields, emailTemplate, verificationUrl, welcomeEmailTemplate).Result;\n```\n\n\n\n\u003ch6 id=\"SendWelcomeEmail-get-\"\u003eAuth Send Welcome Email (GET)\u003c/h6\u003e\n\nThis API sends a welcome email [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-send-welcome-email/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar welcomeEmailTemplate = \"welcomeEmailTemplate\"; //Optional\nvar apiResponse = new AuthenticationApi().SendWelcomeEmail(accessToken, welcomeEmailTemplate).Result;\n```\n\n\n\u003ch6 id=\"DeleteAccountByDeleteToken-get-\"\u003eAuth Delete Account (GET)\u003c/h6\u003e\n\nThis API is used to delete an account by passing it a delete token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-delete-account/)\n\n\n\n```c#\n\nvar deleteToken = \"deleteToken\"; //Required\nvar apiResponse = new AuthenticationApi().DeleteAccountByDeleteToken(deleteToken).Result;\n```\n\n\u003ch6 id=\"GetProfileByPing-get-\"\u003eGet Profile By Ping (GET)\u003c/h6\u003e\n\nThis API is used to get a user's profile using the clientGuid parameter if no callback feature enabled [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-get-profile-by-ping/)\n\n\n\n```c#\n\nvar clientGuid = \"clientGuid\"; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nstring fields = null; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar welcomeEmailTemplate = \"welcomeEmailTemplate\"; //Optional\nvar apiResponse = new AuthenticationApi().GetProfileByPing(clientGuid, emailTemplate, fields, verificationUrl, welcomeEmailTemplate).Result;\n```\n\n\n\u003ch6 id=\"CheckEmailAvailability-get-\"\u003eAuth Check Email Availability (GET)\u003c/h6\u003e\n\nThis API is used to check the email exists or not on your site. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-email-availability/)\n\n\n\n```c#\n\nvar email = \"email\"; //Required\nvar apiResponse = new AuthenticationApi().CheckEmailAvailability(email).Result;\n```\n\n\n\u003ch6 id=\"VerifyEmail-get-\"\u003eAuth Verify Email (GET)\u003c/h6\u003e\n\nThis API is used to verify the email of user. Note: This API will only return the full profile if you have 'Enable auto login after email verification' set in your LoginRadius Admin Console's Email Workflow settings under 'Verification Email'. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-verify-email/)\n\n\n\n```c#\n\nvar verificationToken = \"verificationToken\"; //Required\nstring fields = null; //Optional\nvar url = \"url\"; //Optional\nvar welcomeEmailTemplate = \"welcomeEmailTemplate\"; //Optional\nvar uuid = \"uuid\"; //Optional\nvar apiResponse = new AuthenticationApi().VerifyEmail(verificationToken, fields, url, welcomeEmailTemplate,uuid).Result;\n```\n\n\n\u003ch6 id=\"GetSocialIdentity-get-\"\u003eAuth Social Identity (GET)\u003c/h6\u003e\n\nThis API is called just after account linking API and it prevents the raas profile of the second account from getting created. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-social-identity)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nstring fields = null; //Optional\nvar apiResponse = new AuthenticationApi().GetSocialIdentity(accessToken, fields).Result;\n```\n\n\n\u003ch6 id=\"CheckUserNameAvailability-get-\"\u003eAuth Check UserName Availability (GET)\u003c/h6\u003e\n\nThis API is used to check the UserName exists or not on your site. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-username-availability/)\n\n\n\n```c#\n\nvar username = \"username\"; //Required\nvar apiResponse = new AuthenticationApi().CheckUserNameAvailability(username).Result;\n```\n\n\n\u003ch6 id=\"AcceptPrivacyPolicy-get-\"\u003eAuth Privacy Policy Accept (GET)\u003c/h6\u003e\n\nThis API is used to update the privacy policy stored in the user's profile by providing the access_token of the user accepting the privacy policy [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-privacy-policy-accept)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nstring fields = null; //Optional\nvar apiResponse = new AuthenticationApi().AcceptPrivacyPolicy(accessToken, fields).Result;\n```\n\n\n\u003ch6 id=\"GetPrivacyPolicyHistoryByAccessToken-get-\"\u003eAuth Privacy Policy History By Access Token (GET)\u003c/h6\u003e\n\nThis API will return all the accepted privacy policies for the user by providing the access_token of that user. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/privacy-policy-history-by-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar apiResponse = new AuthenticationApi().GetPrivacyPolicyHistoryByAccessToken(accessToken).Result;\n```\n\n\u003ch6 id=\"AuthSendVerificationEmailForLinkingSocialProfiles-get-\"\u003eAuth send verification Email for linking social profiles (GET)\u003c/h6\u003e\n\nThis API is used to Send verification email to the unverified email of the social profile. This API can be used only incase of optional verification workflow. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-send-verification-for-social-email/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar clientguid = \"clientguid\"; //Required\nvar apiResponse = new AuthenticationApi().AuthSendVerificationEmailForLinkingSocialProfiles(accessToken, clientguid).Result;\n```\n\n\n\u003ch6 id=\"DeleteAccountWithEmailConfirmation-delete-\"\u003eAuth Delete Account with Email Confirmation (DELETE)\u003c/h6\u003e\n\nThis API will send a confirmation email for account deletion to the customer's email when passed the customer's access token [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-delete-account-with-email-confirmation/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar deleteUrl = \"deleteUrl\"; //Optional\nvar emailTemplate = \"emailTemplate\"; //Optional\nvar apiResponse = new AuthenticationApi().DeleteAccountWithEmailConfirmation(accessToken, deleteUrl, emailTemplate).Result;\n```\n\n\n\u003ch6 id=\"RemoveEmail-delete-\"\u003eAuth Remove Email (DELETE)\u003c/h6\u003e\n\nThis API is used to remove additional emails from a user's account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-remove-email)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar email = \"email\"; //Required\nvar apiResponse = new AuthenticationApi().RemoveEmail(accessToken, email).Result;\n```\n\n\n\u003ch6 id=\"UnlinkSocialIdentities-delete-\"\u003eAuth Unlink Social Identities (DELETE)\u003c/h6\u003e\n\nThis API is used to unlink up a social provider account with the specified account based on the access token and the social providers user access token. The unlinked account will automatically get removed from your database. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-unlink-social-identities)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar provider = \"provider\"; //Required\nvar providerId = \"providerId\"; //Required\nvar apiResponse = new AuthenticationApi().UnlinkSocialIdentities(accessToken, provider, providerId).Result;\n```\n\n\n\n\n\n\n\n### Account API\n\n\nList of APIs in this Section:\u003cbr\u003e\n[PUT : Account Update](#UpdateAccountByUid-put-)\u003cbr\u003e\n[PUT : Update Phone ID by UID](#UpdatePhoneIDByUid-put-)\u003cbr\u003e\n[PUT : Account Set Password](#SetAccountPasswordByUid-put-)\u003cbr\u003e\n[PUT : Account Invalidate Verification Email](#InvalidateAccountEmailVerification-put-)\u003cbr\u003e\n[PUT : Reset phone ID verification](#ResetPhoneIDVerificationByUid-put-)\u003cbr\u003e\n[PUT : Upsert Email](#UpsertEmail-put-)\u003cbr\u003e\n[PUT : Update UID](#AccountUpdateUid-put-)\u003cbr\u003e\n[POST : Account Create](#CreateAccount-post-)\u003cbr\u003e\n[POST : Forgot Password token](#GetForgotPasswordToken-post-)\u003cbr\u003e\n[POST : Email Verification token](#GetEmailVerificationToken-post-)\u003cbr\u003e\n[POST : Multipurpose Email Token Generation API](#MultipurposeEmailTokenGeneration-post-)\u003cbr\u003e\n[POST : Multipurpose SMS OTP Generation API](#MultipurposeSMSOTPGeneration-post-)\u003cbr\u003e\n[GET : Get Privacy Policy History By Uid](#GetPrivacyPolicyHistoryByUid-get-)\u003cbr\u003e\n[GET : Account Profiles by Email](#GetAccountProfileByEmail-get-)\u003cbr\u003e\n[GET : Account Profiles by Username](#GetAccountProfileByUserName-get-)\u003cbr\u003e\n[GET : Account Profile by Phone ID](#GetAccountProfileByPhone-get-)\u003cbr\u003e\n[GET : Account Profiles by UID](#GetAccountProfileByUid-get-)\u003cbr\u003e\n[GET : Account Password](#GetAccountPasswordHashByUid-get-)\u003cbr\u003e\n[GET : Access Token based on UID or User impersonation API](#GetAccessTokenByUid-get-)\u003cbr\u003e\n[GET : Refresh Access Token by Refresh Token](#RefreshAccessTokenByRefreshToken-get-)\u003cbr\u003e\n[GET : Revoke Refresh Token](#RevokeRefreshToken-get-)\u003cbr\u003e\n[GET : Account Identities by Email](#GetAccountIdentitiesByEmail-get-)\u003cbr\u003e\n[DELETE : Account Delete](#DeleteAccountByUid-delete-)\u003cbr\u003e\n[DELETE : Account Remove Email](#RemoveEmail-delete-)\u003cbr\u003e\n[DELETE : Revoke All Refresh Token](#RevokeAllRefreshToken-delete-)\u003cbr\u003e\n[DELETE : Delete User Profiles By Email](#AccountDeleteByEmail-delete-)\u003cbr\u003e\n\n\n\n\u003ch6 id=\"UpdateAccountByUid-put-\"\u003eAccount Update (PUT)\u003c/h6\u003e\n\nThis API is used to update the information of existing accounts in your Cloud Storage. See our Advanced API Usage section \u003ca href='https://www.loginradius.com/docs/api/v2/customer-identity-api/advanced-api-usage/'\u003eHere\u003c/a\u003e for more capabilities. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-update)\n\n\n\n```c#\n\nAccountUserProfileUpdateModel accountUserProfileUpdateModel = new AccountUserProfileUpdateModel{\nFirstName =\"\u003cFirstName\u003e\",\nLastName =\"\u003cLastName\u003e\"\n}; //Required\nvar uid = \"uid\"; //Required\nstring fields = null; //Optional\n; //Optional\nvar apiResponse = new AccountApi().UpdateAccountByUid(accountUserProfileUpdateModel, uid, fields).Result;\n```\n\n\n\u003ch6 id=\"UpdatePhoneIDByUid-put-\"\u003eUpdate Phone ID by UID (PUT)\u003c/h6\u003e\n\nThis API is used to update the PhoneId by using the Uid's. Admin can update the PhoneId's for both the verified and unverified profiles. It will directly replace the PhoneId and bypass the OTP verification process. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/update-phoneid-by-uid)\n\n\n\n```c#\n\nvar phone = \"phone\"; //Required\nvar uid = \"uid\"; //Required\nstring fields = null; //Optional\nvar apiResponse = new AccountApi().UpdatePhoneIDByUid(phone, uid, fields).Result;\n```\n\n\n\u003ch6 id=\"SetAccountPasswordByUid-put-\"\u003eAccount Set Password (PUT)\u003c/h6\u003e\n\nThis API is used to set the password of an account in Cloud Storage. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-set-password)\n\n\n\n```c#\n\nvar password = \"password\"; //Required\nvar uid = \"uid\"; //Required\nvar apiResponse = new AccountApi().SetAccountPasswordByUid(password, uid).Result;\n```\n\n\n\u003ch6 id=\"InvalidateAccountEmailVerification-put-\"\u003eAccount Invalidate Verification Email (PUT)\u003c/h6\u003e\n\nThis API is used to invalidate the Email Verification status on an account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-invalidate-verification-email)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar apiResponse = new AccountApi().InvalidateAccountEmailVerification(uid, emailTemplate, verificationUrl).Result;\n```\n\n\n\u003ch6 id=\"ResetPhoneIDVerificationByUid-put-\"\u003eReset phone ID verification (PUT)\u003c/h6\u003e\n\nThis API Allows you to reset the phone no verification of an end user’s account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/reset-phone-id-verification)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new AccountApi().ResetPhoneIDVerificationByUid(uid, smsTemplate, isVoiceOtp).Result;\n```\n\n\n\u003ch6 id=\"UpsertEmail-put-\"\u003eUpsert Email (PUT)\u003c/h6\u003e\n\nThis API is used to add/upsert another emails in account profile by different-different email types. If the email type is same then it will simply update the existing email, otherwise it will add a new email in Email array. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/upsert-email)\n\n\n\n```c#\n\nUpsertEmailModel upsertEmailModel = new UpsertEmailModel{\nEmail = new List\u003cEmailModel\u003e{\nnew EmailModel{\nType =\"\u003cType\u003e\",\nValue =\"\u003cValue\u003e\"\n}}\n}; //Required\nvar uid = \"uid\"; //Required\nstring fields = null; //Optional\nvar apiResponse = new AccountApi().UpsertEmail(upsertEmailModel, uid, fields).Result;\n```\n\n\n\u003ch6 id=\"AccountUpdateUid-put-\"\u003eUpdate UID (PUT)\u003c/h6\u003e\n\nThis API is used to update a user's Uid. It will update all profiles, custom objects and consent management logs associated with the Uid. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-update/)\n\n\n\n```c#\n\nUpdateUidModel updateUidModel = new UpdateUidModel{\nNewUid =\"\u003cNewUid\u003e\"\n}; //Required\nvar uid = \"uid\"; //Required\nvar apiResponse = new AccountApi().AccountUpdateUid(updateUidModel, uid).Result;\n```\n\n\n\n\u003ch6 id=\"CreateAccount-post-\"\u003eAccount Create (POST)\u003c/h6\u003e\n\nThis API is used to create an account in Cloud Storage. This API bypass the normal email verification process and manually creates the user. \u003cbr\u003e\u003cbr\u003eIn order to use this API, you need to format a JSON request body with all of the mandatory fields [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-create)\n\n\n\n```c#\n\nAccountCreateModel accountCreateModel = new AccountCreateModel{\nEmail = new List\u003cEmailModel\u003e{\nnew EmailModel{\nType =\"\u003cType\u003e\",\nValue =\"\u003cValue\u003e\"\n}},\nFirstName =\"\u003cFirstName\u003e\",\nLastName =\"\u003cLastName\u003e\",\nPassword =\"\u003cPassword\u003e\"\n}; //Required\nstring fields = null; //Optional\nvar apiResponse = new AccountApi().CreateAccount(accountCreateModel, fields).Result;\n```\n\n\n\u003ch6 id=\"GetForgotPasswordToken-post-\"\u003eForgot Password token (POST)\u003c/h6\u003e\n\nThis API Returns a Forgot Password Token it can also be used to send a Forgot Password email to the customer. Note: If you have the UserName workflow enabled, you may replace the 'email' parameter with 'username' in the body. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/get-forgot-password-token)\n\n\n\n```c#\n\nvar email = \"email\"; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nvar resetPasswordUrl = \"resetPasswordUrl\"; //Optional\nvar sendEmail = true; //Optional\nvar apiResponse = new AccountApi().GetForgotPasswordToken(email, emailTemplate, resetPasswordUrl, sendEmail).Result;\n```\n\n\n\u003ch6 id=\"GetEmailVerificationToken-post-\"\u003eEmail Verification token (POST)\u003c/h6\u003e\n\nThis API Returns an Email Verification token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/get-email-verification-token)\n\n\n\n```c#\n\nvar email = \"email\"; //Required\nvar apiResponse = new AccountApi().GetEmailVerificationToken(email).Result;\n```\n\n\n\u003ch6 id=\"MultipurposeEmailTokenGeneration-post-\"\u003eMultipurpose Email Token Generation API (POST)\u003c/h6\u003e\n\nThis API generate Email tokens and Email OTPs for Email verification, Add email, Forgot password, Delete user, Passwordless login, Forgot pin, One-touch login and Auto login. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/multipurpose-token-and-sms-otp-generation-api/multipurpose-email-token-generation/)\n\n\n\n```c#\n\nMultiEmailToken multiEmailToken = new MultiEmailToken{\nClientguid =\"\u003cClientguid\u003e\",\nEmail =\"\u003cEmail\u003e\",\nName =\"\u003cName\u003e\",\nType =\"\u003cType\u003e\",\nUid =\"\u003cUid\u003e\",\nUserName =\"\u003cUserName\u003e\"\n}; //Required\nvar tokentype = \"tokentype\"; //Required\nvar apiResponse = new AccountApi().MultipurposeEmailTokenGeneration(multiEmailToken, tokentype).Result;\n```\n\n\n\u003ch6 id=\"MultipurposeSMSOTPGeneration-post-\"\u003eMultipurpose SMS OTP Generation API (POST)\u003c/h6\u003e\n\nThis API generates SMS OTP for Add phone, Phone Id verification, Forgot password, Forgot pin, One-touch login, smart login and Passwordless login. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/multipurpose-token-and-sms-otp-generation-api/multipurpose-sms-otp-generation/)\n\n\n\n```c#\n\nMultiSmsOtp multiSmsOtp = new MultiSmsOtp{\nName =\"\u003cName\u003e\",\nPhone =\"\u003cPhone\u003e\",\nUid =\"\u003cUid\u003e\"\n}; //Required\nvar smsotptype = \"smsotptype\"; //Required\nvar apiResponse = new AccountApi().MultipurposeSMSOTPGeneration(multiSmsOtp, smsotptype).Result;\n```\n\n\n\u003ch6 id=\"GetPrivacyPolicyHistoryByUid-get-\"\u003eGet Privacy Policy History By Uid (GET)\u003c/h6\u003e\n\nThis API is used to retrieve all of the accepted Policies by the user, associated with their UID. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/privacy-policy-history-by-uid/)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nvar apiResponse = new AccountApi().GetPrivacyPolicyHistoryByUid(uid).Result;\n```\n\n\n\u003ch6 id=\"GetAccountProfileByEmail-get-\"\u003eAccount Profiles by Email (GET)\u003c/h6\u003e\n\nThis API is used to retrieve all of the profile data, associated with the specified account by email in Cloud Storage. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-profiles-by-email)\n\n\n\n```c#\n\nvar email = \"email\"; //Required\nstring fields = null; //Optional\nvar apiResponse = new AccountApi().GetAccountProfileByEmail(email, fields).Result;\n```\n\n\n\u003ch6 id=\"GetAccountProfileByUserName-get-\"\u003eAccount Profiles by Username (GET)\u003c/h6\u003e\n\nThis API is used to retrieve all of the profile data associated with the specified account by user name in Cloud Storage. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-profiles-by-user-name)\n\n\n\n```c#\n\nvar userName = \"userName\"; //Required\nstring fields = null; //Optional\nvar apiResponse = new AccountApi().GetAccountProfileByUserName(userName, fields).Result;\n```\n\n\n\u003ch6 id=\"GetAccountProfileByPhone-get-\"\u003eAccount Profile by Phone ID (GET)\u003c/h6\u003e\n\nThis API is used to retrieve all of the profile data, associated with the account by phone number in Cloud Storage. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-profiles-by-phone-id/)\n\n\n\n```c#\n\nvar phone = \"phone\"; //Required\nstring fields = null; //Optional\nvar apiResponse = new AccountApi().GetAccountProfileByPhone(phone, fields).Result;\n```\n\n\n\u003ch6 id=\"GetAccountProfileByUid-get-\"\u003eAccount Profiles by UID (GET)\u003c/h6\u003e\n\nThis API is used to retrieve all of the profile data, associated with the account by uid in Cloud Storage. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-profiles-by-uid)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nstring fields = null; //Optional\nvar apiResponse = new AccountApi().GetAccountProfileByUid(uid, fields).Result;\n```\n\n\n\u003ch6 id=\"GetAccountPasswordHashByUid-get-\"\u003eAccount Password (GET)\u003c/h6\u003e\n\nThis API use to retrive the hashed password of a specified account in Cloud Storage. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-password)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nvar apiResponse = new AccountApi().GetAccountPasswordHashByUid(uid).Result;\n```\n\n\n\u003ch6 id=\"GetAccessTokenByUid-get-\"\u003eAccess Token based on UID or User impersonation API (GET)\u003c/h6\u003e\n\nThe API is used to get LoginRadius access token based on UID. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-impersonation-api)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nvar apiResponse = new AccountApi().GetAccessTokenByUid(uid).Result;\n```\n\n\n\u003ch6 id=\"RefreshAccessTokenByRefreshToken-get-\"\u003eRefresh Access Token by Refresh Token (GET)\u003c/h6\u003e\n\nThis API is used to refresh an access_token via it's associated refresh_token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/refresh-token/refresh-access-token-by-refresh-token)\n\n\n\n```c#\n\nvar refreshToken = \"refreshToken\"; //Required\nvar apiResponse = new AccountApi().RefreshAccessTokenByRefreshToken(refreshToken).Result;\n```\n\n\n\u003ch6 id=\"RevokeRefreshToken-get-\"\u003eRevoke Refresh Token (GET)\u003c/h6\u003e\n\nThe Revoke Refresh Access Token API is used to revoke a refresh token or the Provider Access Token, revoking an existing refresh token will invalidate the refresh token but the associated access token will work until the expiry. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/refresh-token/revoke-refresh-token)\n\n\n\n```c#\n\nvar refreshToken = \"refreshToken\"; //Required\nvar apiResponse = new AccountApi().RevokeRefreshToken(refreshToken).Result;\n```\n\n\n\u003ch6 id=\"GetAccountIdentitiesByEmail-get-\"\u003eAccount Identities by Email (GET)\u003c/h6\u003e\n\nNote: This is intended for specific workflows where an email may be associated to multiple UIDs. This API is used to retrieve all of the identities (UID and Profiles), associated with a specified email in Cloud Storage. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-identities-by-email)\n\n\n\n```c#\n\nvar email = \"email\"; //Required\nstring fields = null; //Optional\nvar apiResponse = new AccountApi().GetAccountIdentitiesByEmail(email, fields).Result;\n```\n\n\n\u003ch6 id=\"DeleteAccountByUid-delete-\"\u003eAccount Delete (DELETE)\u003c/h6\u003e\n\nThis API deletes the Users account and allows them to re-register for a new account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-delete)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nvar apiResponse = new AccountApi().DeleteAccountByUid(uid).Result;\n```\n\n\n\u003ch6 id=\"RemoveEmail-delete-\"\u003eAccount Remove Email (DELETE)\u003c/h6\u003e\n\nUse this API to Remove emails from a user Account [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-email-delete)\n\n\n\n```c#\n\nvar email = \"email\"; //Required\nvar uid = \"uid\"; //Required\nstring fields = null; //Optional\nvar apiResponse = new AccountApi().RemoveEmail(email, uid, fields).Result;\n```\n\n\u003ch6 id=\"RevokeAllRefreshToken-delete-\"\u003eRevoke All Refresh Token (DELETE)\u003c/h6\u003e\n\nThe Revoke All Refresh Access Token API is used to revoke all refresh tokens for a specific user. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/refresh-token/revoke-all-refresh-token/)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nvar apiResponse = new AccountApi().RevokeAllRefreshToken(uid).Result;\n```\n\n\u003ch6 id=\"AccountDeleteByEmail-delete-\"\u003eDelete User Profiles By Email (DELETE)\u003c/h6\u003e\n\nThis API is used to delete all user profiles associated with an Email. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-email-delete/)\n\n\n\n```c#\n\nvar email = \"email\"; //Required\nvar apiResponse = new AccountApi().AccountDeleteByEmail(email).Result;\n```\n\n\n\n\n\n\n\n### Social API\n\n\nList of APIs in this Section:\u003cbr\u003e\n[GET : Access Token](#ExchangeAccessToken-get-)\u003cbr\u003e\n[GET : Refresh Token](#RefreshAccessToken-get-)\u003cbr\u003e\n[GET : Token Validate](#ValidateAccessToken-get-)\u003cbr\u003e\n[GET : Access Token Invalidate](#InValidateAccessToken-get-)\u003cbr\u003e\n[GET : Get Active Session Details](#GetActiveSession-get-)\u003cbr\u003e\n[GET : Get Active Session By Account Id](#GetActiveSessionByAccountID-get-)\u003cbr\u003e\n[GET : Get Active Session By Profile Id](#GetActiveSessionByProfileID-get-)\u003cbr\u003e\n\n\n\u003ch6 id=\"ExchangeAccessToken-get-\"\u003eAccess Token (GET)\u003c/h6\u003e\n\nThis API Is used to translate the Request Token returned during authentication into an Access Token that can be used with other API calls. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/access-token)\n\n\n\n```c#\n\nvar token = \"token\"; //Required\nvar apiResponse = new SocialApi().ExchangeAccessToken(token).Result;\n```\n\n\n\u003ch6 id=\"RefreshAccessToken-get-\"\u003eRefresh Token (GET)\u003c/h6\u003e\n\nThe Refresh Access Token API is used to refresh the provider access token after authentication. It will be valid for up to 60 days on LoginRadius depending on the provider. In order to use the access token in other APIs, always refresh the token using this API.\u003cbr\u003e\u003cbr\u003e\u003cb\u003eSupported Providers :\u003c/b\u003e Facebook,Yahoo,Google,Twitter, Linkedin.\u003cbr\u003e\u003cbr\u003e Contact LoginRadius support team to enable this API. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/refresh-token/refresh-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar expiresIn = 0; //Optional\nvar isWeb = true; //Optional\nvar apiResponse = new SocialApi().RefreshAccessToken(accessToken, expiresIn, isWeb).Result;\n```\n\n\n\u003ch6 id=\"ValidateAccessToken-get-\"\u003eToken Validate (GET)\u003c/h6\u003e\n\nThis API validates access token, if valid then returns a response with its expiry otherwise error. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/validate-access-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar apiResponse = new SocialApi().ValidateAccessToken(accessToken).Result;\n```\n\n\n\u003ch6 id=\"InValidateAccessToken-get-\"\u003eAccess Token Invalidate (GET)\u003c/h6\u003e\n\nThis api invalidates the active access token or expires an access token validity. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/invalidate-access-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar apiResponse = new SocialApi().InValidateAccessToken(accessToken).Result;\n```\n\n\n\u003ch6 id=\"GetActiveSession-get-\"\u003eGet Active Session Details (GET)\u003c/h6\u003e\n\nThis api is use to get all active session by Access Token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/advanced-social-api/get-active-session-details)\n\n\n\n```c#\n\nvar token = \"token\"; //Required\nvar apiResponse = new SocialApi().GetActiveSession(token).Result;\n```\n\n\n\u003ch6 id=\"GetActiveSessionByAccountID-get-\"\u003eGet Active Session By Account Id (GET)\u003c/h6\u003e\n\nThis api is used to get all active sessions by AccountID(UID). [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/active-session-by-account-id/)\n\n\n\n```c#\n\nvar accountId = \"accountId\"; //Required\nvar apiResponse = new SocialApi().GetActiveSessionByAccountID(accountId).Result;\n```\n\n\n\u003ch6 id=\"GetActiveSessionByProfileID-get-\"\u003eGet Active Session By Profile Id (GET)\u003c/h6\u003e\n\nThis api is used to get all active sessions by ProfileId. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/active-session-by-profile-id/)\n\n\n\n```c#\n\nvar profileId = \"profileId\"; //Required\nvar apiResponse = new SocialApi().GetActiveSessionByProfileID(profileId).Result;\n```\n\n\n\n### CustomObject API\n\n\nList of APIs in this Section:\u003cbr\u003e\n[PUT : Custom Object Update by Access Token](#UpdateCustomObjectByToken-put-)\u003cbr\u003e\n[PUT : Custom Object Update by UID](#UpdateCustomObjectByUid-put-)\u003cbr\u003e\n[POST : Create Custom Object by Token](#CreateCustomObjectByToken-post-)\u003cbr\u003e\n[POST : Create Custom Object by UID](#CreateCustomObjectByUid-post-)\u003cbr\u003e\n[GET : Custom Object by Token](#GetCustomObjectByToken-get-)\u003cbr\u003e\n[GET : Custom Object by ObjectRecordId and Token](#GetCustomObjectByRecordIDAndToken-get-)\u003cbr\u003e\n[GET : Custom Object By UID](#GetCustomObjectByUid-get-)\u003cbr\u003e\n[GET : Custom Object by ObjectRecordId and UID](#GetCustomObjectByRecordID-get-)\u003cbr\u003e\n[DELETE : Custom Object Delete by Record Id And Token](#DeleteCustomObjectByToken-delete-)\u003cbr\u003e\n[DELETE : Account Delete Custom Object by ObjectRecordId](#DeleteCustomObjectByRecordID-delete-)\u003cbr\u003e\n\n\u003e**Note:** `CustomObject` must be valid JSON. For example:\n\n```c#\npublic class cobj\n  {\n        public string field1 { get; set; }\n        public string field2 { get; set; }\n  }\n```\n```c#\ncobj customObject = new cobj();\ncustomObject.field1 = \"XXXX\";\ncustomObject.field2 = \"YYYY\";\n```\n\n\n\n\u003ch6 id=\"UpdateCustomObjectByToken-put-\"\u003eCustom Object Update by Access Token (PUT)\u003c/h6\u003e\n\nThis API is used to update the specified custom object data of the specified account. If the value of updatetype is 'replace' then it will fully replace custom object with the new custom object and if the value of updatetype is 'partialreplace' then it will perform an upsert type operation [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/custom-object/custom-object-update-by-objectrecordid-and-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar objectName = \"objectName\"; //Required\nvar objectRecordId = \"objectRecordId\"; //Required\n\nCustomObjectUpdateOperationType updateType = CustomObjectUpdateOperationType.Default; //Optional\nvar apiResponse = new CustomObjectApi().UpdateCustomObjectByToken(accessToken, objectName, objectRecordId, customObject, updateType).Result;\n```\n\n\n\u003ch6 id=\"UpdateCustomObjectByUid-put-\"\u003eCustom Object Update by UID (PUT)\u003c/h6\u003e\n\nThis API is used to update the specified custom object data of a specified account. If the value of updatetype is 'replace' then it will fully replace custom object with new custom object and if the value of updatetype is partialreplace then it will perform an upsert type operation. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/custom-object/custom-object-update-by-objectrecordid-and-uid)\n\n\n\n```c#\n\nvar objectName = \"objectName\"; //Required\nvar objectRecordId = \"objectRecordId\"; //Required\n\nvar uid = \"uid\"; //Required\nCustomObjectUpdateOperationType updateType = CustomObjectUpdateOperationType.Default; //Optional\nvar apiResponse = new CustomObjectApi().UpdateCustomObjectByUid(objectName, objectRecordId, customObject, uid, updateType).Result;\n```\n\n\n\u003ch6 id=\"CreateCustomObjectByToken-post-\"\u003eCreate Custom Object by Token (POST)\u003c/h6\u003e\n\nThis API is used to write information in JSON format to the custom object for the specified account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/custom-object/create-custom-object-by-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar objectName = \"objectName\"; //Required\n\nvar apiResponse = new CustomObjectApi().CreateCustomObjectByToken(accessToken, objectName, customObject).Result;\n```\n\n\n\u003ch6 id=\"CreateCustomObjectByUid-post-\"\u003eCreate Custom Object by UID (POST)\u003c/h6\u003e\n\nThis API is used to write information in JSON format to the custom object for the specified account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/custom-object/create-custom-object-by-uid)\n\n\n\n```c#\n\nvar objectName = \"objectName\"; //Required\n\nvar uid = \"uid\"; //Required\nvar apiResponse = new CustomObjectApi().CreateCustomObjectByUid(objectName, customObject, uid).Result;\n```\n\n\n\u003ch6 id=\"GetCustomObjectByToken-get-\"\u003eCustom Object by Token (GET)\u003c/h6\u003e\n\nThis API is used to retrieve the specified Custom Object data for the specified account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/custom-object/custom-object-by-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar objectName = \"objectName\"; //Required\nvar apiResponse = new CustomObjectApi().GetCustomObjectByToken(accessToken, objectName).Result;\n```\n\n\n\u003ch6 id=\"GetCustomObjectByRecordIDAndToken-get-\"\u003eCustom Object by ObjectRecordId and Token (GET)\u003c/h6\u003e\n\nThis API is used to retrieve the Custom Object data for the specified account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/custom-object/custom-object-by-objectrecordid-and-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar objectName = \"objectName\"; //Required\nvar objectRecordId = \"objectRecordId\"; //Required\nvar apiResponse = new CustomObjectApi().GetCustomObjectByRecordIDAndToken(accessToken, objectName, objectRecordId).Result;\n```\n\n\n\u003ch6 id=\"GetCustomObjectByUid-get-\"\u003eCustom Object By UID (GET)\u003c/h6\u003e\n\nThis API is used to retrieve all the custom objects by UID from cloud storage. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/custom-object/custom-object-by-uid)\n\n\n\n```c#\n\nvar objectName = \"objectName\"; //Required\nvar uid = \"uid\"; //Required\nvar apiResponse = new CustomObjectApi().GetCustomObjectByUid(objectName, uid).Result;\n```\n\n\n\u003ch6 id=\"GetCustomObjectByRecordID-get-\"\u003eCustom Object by ObjectRecordId and UID (GET)\u003c/h6\u003e\n\nThis API is used to retrieve the Custom Object data for the specified account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/custom-object/custom-object-by-objectrecordid-and-uid)\n\n\n\n```c#\n\nvar objectName = \"objectName\"; //Required\nvar objectRecordId = \"objectRecordId\"; //Required\nvar uid = \"uid\"; //Required\nvar apiResponse = new CustomObjectApi().GetCustomObjectByRecordID(objectName, objectRecordId, uid).Result;\n```\n\n\n\u003ch6 id=\"DeleteCustomObjectByToken-delete-\"\u003eCustom Object Delete by Record Id And Token (DELETE)\u003c/h6\u003e\n\nThis API is used to remove the specified Custom Object data using ObjectRecordId of a specified account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/custom-object/custom-object-delete-by-objectrecordid-and-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar objectName = \"objectName\"; //Required\nvar objectRecordId = \"objectRecordId\"; //Required\nvar apiResponse = new CustomObjectApi().DeleteCustomObjectByToken(accessToken, objectName, objectRecordId).Result;\n```\n\n\n\u003ch6 id=\"DeleteCustomObjectByRecordID-delete-\"\u003eAccount Delete Custom Object by ObjectRecordId (DELETE)\u003c/h6\u003e\n\nThis API is used to remove the specified Custom Object data using ObjectRecordId of specified account. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/custom-object/custom-object-delete-by-objectrecordid-and-uid)\n\n\n\n```c#\n\nvar objectName = \"objectName\"; //Required\nvar objectRecordId = \"objectRecordId\"; //Required\nvar uid = \"uid\"; //Required\nvar apiResponse = new CustomObjectApi().DeleteCustomObjectByRecordID(objectName, objectRecordId, uid).Result;\n```\n\n\n\n\n\n\n\n### PhoneAuthentication API\n\n\nList of APIs in this Section:\u003cbr\u003e\n[PUT : Phone Reset Password by OTP](#ResetPasswordByPhoneOTP-put-)\u003cbr\u003e\n[PUT : Phone Verification OTP](#PhoneVerificationByOTP-put-)\u003cbr\u003e\n[PUT : Phone Verification OTP by Token](#PhoneVerificationOTPByAccessToken-put-)\u003cbr\u003e\n[PUT : Phone Number Update](#UpdatePhoneNumber-put-)\u003cbr\u003e\n[POST : Phone Login](#LoginByPhone-post-)\u003cbr\u003e\n[POST : Phone Forgot Password by OTP](#ForgotPasswordByPhoneOTP-post-)\u003cbr\u003e\n[POST : Phone Resend Verification OTP](#PhoneResendVerificationOTP-post-)\u003cbr\u003e\n[POST : Phone Resend Verification OTP By Token](#PhoneResendVerificationOTPByToken-post-)\u003cbr\u003e\n[POST : Phone User Registration by SMS](#UserRegistrationByPhone-post-)\u003cbr\u003e\n[GET : Phone Number Availability](#CheckPhoneNumberAvailability-get-)\u003cbr\u003e\n[DELETE : Remove Phone ID by Access Token](#RemovePhoneIDByAccessToken-delete-)\u003cbr\u003e\n\n\n\n\u003ch6 id=\"ResetPasswordByPhoneOTP-put-\"\u003ePhone Reset Password by OTP (PUT)\u003c/h6\u003e\n\nThis API is used to reset the password [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/phone-reset-password-by-otp)\n\n\n\n```c#\n\nResetPasswordByOTPModel resetPasswordByOTPModel = new ResetPasswordByOTPModel{\nOtp =\"\u003cOtp\u003e\",\nPassword =\"\u003cPassword\u003e\",\nPhone =\"\u003cPhone\u003e\"\n}; //Required\nvar apiResponse = new PhoneAuthenticationApi().ResetPasswordByPhoneOTP(resetPasswordByOTPModel).Result;\n```\n\n\n\u003ch6 id=\"PhoneVerificationByOTP-put-\"\u003ePhone Verification OTP (PUT)\u003c/h6\u003e\n\nThis API is used to validate the verification code sent to verify a user's phone number [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/phone-verify-otp)\n\n\n\n```c#\n\nvar otp = \"otp\"; //Required\nvar phone = \"phone\"; //Required\nstring fields = null; //Optional\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new PhoneAuthenticationApi().PhoneVerificationByOTP(otp, phone, fields, smsTemplate, isVoiceOtp).Result;\n```\n\n\n\u003ch6 id=\"PhoneVerificationOTPByAccessToken-put-\"\u003ePhone Verification OTP by Token (PUT)\u003c/h6\u003e\n\nThis API is used to consume the verification code sent to verify a user's phone number. Use this call for front-end purposes in cases where the user is already logged in by passing the user's access token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/phone-verify-otp-by-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar otp = \"otp\"; //Required\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new PhoneAuthenticationApi().PhoneVerificationOTPByAccessToken(accessToken, otp, smsTemplate, isVoiceOtp).Result;\n```\n\n\n\u003ch6 id=\"UpdatePhoneNumber-put-\"\u003ePhone Number Update (PUT)\u003c/h6\u003e\n\nThis API is used to update the login Phone Number of users [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/phone-number-update)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar phone = \"phone\"; //Required\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new PhoneAuthenticationApi().UpdatePhoneNumber(accessToken, phone, smsTemplate, isVoiceOtp).Result;\n```\n\n\n\u003ch6 id=\"LoginByPhone-post-\"\u003ePhone Login (POST)\u003c/h6\u003e\n\nThis API retrieves a copy of the user data based on the Phone [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/phone-login)\n\n\n\n```c#\n\nPhoneAuthenticationModel phoneAuthenticationModel = new PhoneAuthenticationModel{\nPassword =\"\u003cPassword\u003e\",\nPhone =\"\u003cPhone\u003e\"\n}; //Required\nstring fields = null; //Optional\nvar loginUrl = \"loginUrl\"; //Optional\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar apiResponse = new PhoneAuthenticationApi().LoginByPhone(phoneAuthenticationModel, fields, loginUrl, smsTemplate).Result;\n```\n\n\n\u003ch6 id=\"ForgotPasswordByPhoneOTP-post-\"\u003ePhone Forgot Password by OTP (POST)\u003c/h6\u003e\n\nThis API is used to send the OTP to reset the account password. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/phone-forgot-password-by-otp)\n\n\n\n```c#\n\nvar phone = \"phone\"; //Required\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new PhoneAuthenticationApi().ForgotPasswordByPhoneOTP(phone, smsTemplate, isVoiceOtp).Result;\n```\n\n\n\u003ch6 id=\"PhoneResendVerificationOTP-post-\"\u003ePhone Resend Verification OTP (POST)\u003c/h6\u003e\n\nThis API is used to resend a verification OTP to verify a user's Phone Number. The user will receive a verification code that they will need to input [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/phone-resend-otp)\n\n\n\n```c#\n\nvar phone = \"phone\"; //Required\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new PhoneAuthenticationApi().PhoneResendVerificationOTP(phone, smsTemplate, isVoiceOtp).Result;\n```\n\n\n\u003ch6 id=\"PhoneResendVerificationOTPByToken-post-\"\u003ePhone Resend Verification OTP By Token (POST)\u003c/h6\u003e\n\nThis API is used to resend a verification OTP to verify a user's Phone Number in cases in which an active token already exists [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/phone-resend-otp-by-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar phone = \"phone\"; //Required\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar apiResponse = new PhoneAuthenticationApi().PhoneResendVerificationOTPByToken(accessToken, phone, smsTemplate).Result;\n```\n\n\n\u003ch6 id=\"UserRegistrationByPhone-post-\"\u003ePhone User Registration by SMS (POST)\u003c/h6\u003e\n\nThis API registers the new users into your Cloud Storage and triggers the phone verification process. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/phone-user-registration-by-sms)\n\n\n\n```c#\n\nAuthUserRegistrationModel authUserRegistrationModel = new AuthUserRegistrationModel{\nEmail = new List\u003cEmailModel\u003e{\nnew EmailModel{\nType =\"\u003cType\u003e\",\nValue =\"\u003cValue\u003e\"\n}},\nFirstName =\"\u003cFirstName\u003e\",\nLastName =\"\u003cLastName\u003e\",\nPassword =\"\u003cPassword\u003e\",\nPhoneId =\"\u003cPhoneId\u003e\"\n}; //Required\nvar sott = \"sott\"; //Required\nstring fields = null; //Optional\nvar options = \"options\"; //Optional\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar welcomeEmailTemplate = \"welcomeEmailTemplate\"; //Optional\nvar emailTemplate = \"emailTemplate\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new PhoneAuthenticationApi().UserRegistrationByPhone(authUserRegistrationModel, sott, fields, options,smsTemplate, verificationUrl, welcomeEmailTemplate, emailTemplate, isVoiceOtp).Result;\n```\n\n\u003ch6 id=\"CheckPhoneNumberAvailability-get-\"\u003ePhone Number Availability (GET)\u003c/h6\u003e\n\nThis API is used to check the Phone Number exists or not on your site. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/phone-number-availability)\n\n\n\n```c#\n\nvar phone = \"phone\"; //Required\nvar apiResponse = new PhoneAuthenticationApi().CheckPhoneNumberAvailability(phone).Result;\n```\n\n\n\u003ch6 id=\"RemovePhoneIDByAccessToken-delete-\"\u003eRemove Phone ID by Access Token (DELETE)\u003c/h6\u003e\n\nThis API is used to delete the Phone ID on a user's account via the access_token [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/phone-authentication/remove-phone-id-by-access-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar apiResponse = new PhoneAuthenticationApi().RemovePhoneIDByAccessToken(accessToken).Result;\n```\n\n\n\n\n\n\n\n### MultiFactorAuthentication API\n\n\nList of APIs in this Section:\u003cbr\u003e\n[PUT : Update MFA Setting](#MFAUpdateSetting-put-)\u003cbr\u003e\n[PUT : MFA Update Phone Number by Token](#MFAUpdatePhoneNumberByToken-put-)\u003cbr\u003e\n[PUT : Verify MFA Email OTP by Access Token](#MFAValidateEmailOtpByAccessToken-put-)\u003cbr\u003e\n[PUT : Update MFA Security Question by Access Token](#MFASecurityQuestionAnswerByAccessToken-put-)\u003cbr\u003e\n[PUT : MFA Validate OTP](#MFAValidateOTPByPhone-put-)\u003cbr\u003e\n[PUT : MFA Validate Backup code](#MFAValidateBackupCode-put-)\u003cbr\u003e\n[PUT : MFA Update Phone Number](#MFAUpdatePhoneNumber-put-)\u003cbr\u003e\n[PUT : Verify MFA Email OTP by MFA Token](#MFAValidateEmailOtp-put-)\u003cbr\u003e\n[PUT : Update MFA Security Question by MFA Token](#MFASecurityQuestionAnswer-put-)\u003cbr\u003e\n[PUT : MFA Validate Authenticator Code](#MFAValidateAuthenticatorCode-put-)\u003cbr\u003e\n[PUT : MFA Verify Authenticator Code](#MFAVerifyAuthenticatorCode-put-)\u003cbr\u003e\n[POST : MFA Email Login](#MFALoginByEmail-post-)\u003cbr\u003e\n[POST : MFA UserName Login](#MFALoginByUserName-post-)\u003cbr\u003e\n[POST : MFA Phone Login](#MFALoginByPhone-post-)\u003cbr\u003e\n[POST : Send MFA Email OTP by MFA Token](#MFAEmailOTP-post-)\u003cbr\u003e\n[POST : Verify MFA Security Question by MFA Token](#MFASecurityQuestionAnswerVerification-post-)\u003cbr\u003e\n[GET : MFA Validate Access Token](#MFAConfigureByAccessToken-get-)\u003cbr\u003e\n[GET : MFA Backup Code by Access Token](#MFABackupCodeByAccessToken-get-)\u003cbr\u003e\n[GET : Reset Backup Code by Access Token](#MFAResetBackupCodeByAccessToken-get-)\u003cbr\u003e\n[GET : Send MFA Email OTP by Access Token](#MFAEmailOtpByAccessToken-get-)\u003cbr\u003e\n[GET : MFA Resend Otp](#MFAResendOTP-get-)\u003cbr\u003e\n[GET : MFA Backup Code by UID](#MFABackupCodeByUid-get-)\u003cbr\u003e\n[GET : MFA Reset Backup Code by UID](#MFAResetBackupCodeByUid-get-)\u003cbr\u003e\n[DELETE : MFA Reset Google Authenticator by Token](#MFAResetGoogleAuthByToken-delete-)\u003cbr\u003e\n[DELETE : MFA Reset SMS Authenticator by Token](#MFAResetSMSAuthByToken-delete-)\u003cbr\u003e\n[DELETE : Reset MFA Email OTP Authenticator By Access Token](#MFAResetEmailOtpAuthenticatorByAccessToken-delete-)\u003cbr\u003e\n[DELETE : MFA Reset Security Question Authenticator By Access Token](#MFAResetSecurityQuestionAuthenticatorByAccessToken-delete-)\u003cbr\u003e\n[DELETE : MFA Reset SMS Authenticator By UID](#MFAResetSMSAuthenticatorByUid-delete-)\u003cbr\u003e\n[DELETE : MFA Reset Google Authenticator By UID](#MFAResetGoogleAuthenticatorByUid-delete-)\u003cbr\u003e\n[DELETE : Reset MFA Email OTP Authenticator Settings by Uid](#MFAResetEmailOtpAuthenticatorByUid-delete-)\u003cbr\u003e\n[DELETE : Reset MFA Security Question Authenticator Settings by Uid](#MFAResetSecurityQuestionAuthenticatorByUid-delete-)\u003cbr\u003e\n\n\n\n\u003ch6 id=\"MFAUpdateSetting-put-\"\u003eUpdate MFA Setting (PUT)\u003c/h6\u003e\n\nThis API is used to trigger the Multi-factor authentication settings after login for secure actions [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/sms-authenticator/update-mfa-setting/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nMultiFactorAuthModelWithLockout multiFactorAuthModelWithLockout = new MultiFactorAuthModelWithLockout{\nOtp =\"\u003cOtp\u003e\"\n}; //Required\nstring fields = null; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAUpdateSetting(accessToken, multiFactorAuthModelWithLockout, fields).Result;\n```\n\n\n\u003ch6 id=\"MFAUpdatePhoneNumberByToken-put-\"\u003eMFA Update Phone Number by Token (PUT)\u003c/h6\u003e\n\nThis API is used to update the Multi-factor authentication phone number by sending the verification OTP to the provided phone number [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/sms-authenticator/mfa-update-phone-number-by-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar phoneNo2FA = \"phoneNo2FA\"; //Required\nvar smsTemplate2FA = \"smsTemplate2FA\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar options = \"options\"; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAUpdatePhoneNumberByToken(accessToken, phoneNo2FA, smsTemplate2FA, isVoiceOtp, options).Result;\n```\n\n\n\u003ch6 id=\"MFAValidateEmailOtpByAccessToken-put-\"\u003eVerify MFA Email OTP by Access Token (PUT)\u003c/h6\u003e\n\nThis API is used to set up MFA Email OTP authenticator on profile after login. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/verify-mfa-otp-by-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nMultiFactorAuthModelByEmailOtpWithLockout multiFactorAuthModelByEmailOtpWithLockout = new MultiFactorAuthModelByEmailOtpWithLockout{\n  EmailId=\"emailid\",\n  Otp=\"otp\"\n}; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFAValidateEmailOtpByAccessToken(accessToken, multiFactorAuthModelByEmailOtpWithLockout).Result;\n```\n\n\n\u003ch6 id=\"MFASecurityQuestionAnswerByAccessToken-put-\"\u003eUpdate MFA Security Question by Access Token (PUT)\u003c/h6\u003e\n\nThis API is used to set up MFA Security Question authenticator on profile after login. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/update-mfa-security-question-by-access-token)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nSecurityQuestionAnswerModelByAccessToken securityQuestionAnswerModelByAccessToken = new SecurityQuestionAnswerModelByAccessToken{\nReplaceSecurityQuestionAnswer = false,\nSecurityQuestionAnswer = new List\u003cSecurityQuestionOptionalModel\u003e { \nnew SecurityQuestionOptionalModel\n{\nQuestionId=\"\",\nAnswer=\"\"       \n}}\n};  //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFASecurityQuestionAnswerByAccessToken(accessToken, securityQuestionAnswerModelByAccessToken).Result;\n```\n\n\n\u003ch6 id=\"MFAValidateOTPByPhone-put-\"\u003eMFA Validate OTP (PUT)\u003c/h6\u003e\n\nThis API is used to login via Multi-factor authentication by passing the One Time Password received via SMS [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/sms-authenticator/mfa-validate-otp/)\n\n\n\n```c#\n\nMultiFactorAuthModelWithLockout multiFactorAuthModelWithLockout = new MultiFactorAuthModelWithLockout{\nOtp =\"\u003cOtp\u003e\"\n}; //Required\nvar secondFactorAuthenticationToken = \"secondFactorAuthenticationToken\"; //Required\nstring fields = null; //Optional\nvar smsTemplate2FA = \"smsTemplate2FA\"; //Optional\nvar rbaBrowserEmailTemplate = \"rbaBrowserEmailTemplate\"; //Optional\nvar rbaCityEmailTemplate = \"rbaCityEmailTemplate\"; //Optional\nvar rbaCountryEmailTemplate = \"rbaCountryEmailTemplate\"; //Optional\nvar rbaIpEmailTemplate = \"rbaIpEmailTemplate\"; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAValidateOTPByPhone(multiFactorAuthModelWithLockout, secondFactorAuthenticationToken, fields, smsTemplate2FA, rbaBrowserEmailTemplate, rbaCityEmailTemplate, rbaCountryEmailTemplate, rbaIpEmailTemplate).Result;\n```\n\n\n\u003ch6 id=\"MFAValidateBackupCode-put-\"\u003eMFA Validate Backup code (PUT)\u003c/h6\u003e\n\nThis API is used to validate the backup code provided by the user and if valid, we return an access token allowing the user to login incases where Multi-factor authentication (MFA) is enabled and the secondary factor is unavailable. When a user initially downloads the Backup codes, We generate 10 codes, each code can only be consumed once. if any user attempts to go over the number of invalid login attempts configured in the Dashboard then the account gets blocked automatically [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/backup-codes/mfa-validate-backup-code/)\n\n\n\n```c#\n\nMultiFactorAuthModelByBackupCode multiFactorAuthModelByBackupCode = new MultiFactorAuthModelByBackupCode{\nBackupCode =\"\u003cBackupCode\u003e\"\n}; //Required\nvar secondFactorAuthenticationToken = \"secondFactorAuthenticationToken\"; //Required\nstring fields = null; //Optional\nvar rbaBrowserEmailTemplate = \"rbaBrowserEmailTemplate\"; //Optional\nvar rbaCityEmailTemplate = \"rbaCityEmailTemplate\"; //Optional\nvar rbaCountryEmailTemplate = \"rbaCountryEmailTemplate\"; //Optional\nvar rbaIpEmailTemplate = \"rbaIpEmailTemplate\"; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAValidateBackupCode(multiFactorAuthModelByBackupCode, secondFactorAuthenticationToken, fields, rbaBrowserEmailTemplate, rbaCityEmailTemplate, rbaCountryEmailTemplate, rbaIpEmailTemplate).Result;\n```\n\n\n\u003ch6 id=\"MFAUpdatePhoneNumber-put-\"\u003eMFA Update Phone Number (PUT)\u003c/h6\u003e\n\nThis API is used to update (if configured) the phone number used for Multi-factor authentication by sending the verification OTP to the provided phone number [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/sms-authenticator/mfa-update-phone-number/)\n\n\n\n```c#\n\nvar phoneNo2FA = \"phoneNo2FA\"; //Required\nvar secondFactorAuthenticationToken = \"secondFactorAuthenticationToken\"; //Required\nvar smsTemplate2FA = \"smsTemplate2FA\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar options = \"options\"; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAUpdatePhoneNumber(phoneNo2FA, secondFactorAuthenticationToken, smsTemplate2FA, isVoiceOtp,options).Result;\n```\n\n\n\u003ch6 id=\"MFAValidateEmailOtp-put-\"\u003eVerify MFA Email OTP by MFA Token (PUT)\u003c/h6\u003e\n\nThis API is used to Verify MFA Email OTP by MFA Token [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/verify-mfa-email-otp-by-mfa-token/)\n\n\n\n```c#\n\nMultiFactorAuthModelByEmailOtp multiFactorAuthModelByEmailOtp = new MultiFactorAuthModelByEmailOtp{\n  EmailId=\"emailId\",\n  Otp=\"otp\"\n}; //Required\nvar secondFactorAuthenticationToken = \"secondFactorAuthenticationToken\"; //Required\nvar rbaBrowserEmailTemplate = \"rbaBrowserEmailTemplate\"; //Optional\nvar rbaCityEmailTemplate = \"rbaCityEmailTemplate\"; //Optional\nvar rbaCountryEmailTemplate = \"rbaCountryEmailTemplate\"; //Optional\nvar rbaIpEmailTemplate = \"rbaIpEmailTemplate\"; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAValidateEmailOtp(multiFactorAuthModelByEmailOtp, secondFactorAuthenticationToken, rbaBrowserEmailTemplate, rbaCityEmailTemplate, rbaCountryEmailTemplate, rbaIpEmailTemplate).Result;\n```\n\n\n\u003ch6 id=\"MFASecurityQuestionAnswer-put-\"\u003eUpdate MFA Security Question by MFA Token (PUT)\u003c/h6\u003e\n\nThis API is used to set the security questions on the profile with the MFA token when MFA flow is required. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/update-mfa-security-question-by-mfa-token/)\n\n\n\n```c#\n\nSecurityQuestionAnswerUpdateModel securityQuestionAnswerUpdateModel = new SecurityQuestionAnswerUpdateModel {\nSecurityQuestionAnswer = new List\u003cSecurityQuestionModel\u003e {\nnew SecurityQuestionModel\n{\nQuestionId=\"db7****8a73e4******bd9****8c20\",\nAnswer=\"\u003canswer\"\n}\n}\n}; //Required\nvar secondFactorAuthenticationToken = \"secondFactorAuthenticationToken\"; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFASecurityQuestionAnswer(securityQuestionAnswerUpdateModel, secondFactorAuthenticationToken).Result;\n```\n\n\u003ch6 id=\"MFAValidateAuthenticatorCode-put-\"\u003eMFA Validate Authenticator Code (PUT)\u003c/h6\u003e\n\nThis API is used to login to a user's account during the second MFA step with an Authenticator Code. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/authenticator/mfa-validate-authenticator-code/)\n\n\n\n```c#\n\nMultiFactorAuthModelByAuthenticatorCode multiFactorAuthModelByAuthenticatorCode = new MultiFactorAuthModelByAuthenticatorCode{\nAuthenticatorCode =\"\u003cAuthenticatorCode\u003e\"\n}; //Required\nvar secondfactorauthenticationtoken = \"secondfactorauthenticationtoken\"; //Required\nstring fields = null; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAValidateAuthenticatorCode(multiFactorAuthModelByAuthenticatorCode, secondfactorauthenticationtoken, fields).Result;\n```\n\n\u003ch6 id=\"MFAVerifyAuthenticatorCode-put-\"\u003eMFA Verify Authenticator Code (PUT)\u003c/h6\u003e\n\nThis API is used to validate an Authenticator Code as part of the MFA process. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/authenticator/mfa-verify-authenticator-code/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nMultiFactorAuthModelByAuthenticatorCodeSecurityAnswer multiFactorAuthModelByAuthenticatorCodeSecurityAnswer = new MultiFactorAuthModelByAuthenticatorCodeSecurityAnswer{\nAuthenticatorCode =\"\u003cAuthenticatorCode\u003e\"\n}; //Required\nstring fields = null; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAVerifyAuthenticatorCode(accessToken, multiFactorAuthModelByAuthenticatorCodeSecurityAnswer, fields).Result;\n```\n\n\u003ch6 id=\"MFALoginByEmail-post-\"\u003eMFA Email Login (POST)\u003c/h6\u003e\n\nThis API can be used to login by emailid on a Multi-factor authentication enabled LoginRadius site. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/mfa-email-login)\n\n\n\n```c#\n\nvar email = \"email\"; //Required\nvar password = \"password\"; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nstring fields = null; //Optional\nvar loginUrl = \"loginUrl\"; //Optional\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar smsTemplate2FA = \"smsTemplate2FA\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar emailTemplate2FA = \"emailTemplate2FA\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar options = \"options\"; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFALoginByEmail(email, password, emailTemplate, fields, loginUrl, smsTemplate, smsTemplate2FA, verificationUrl, emailTemplate2FA, isVoiceOtp, options).Result;\n```\n\n\n\u003ch6 id=\"MFALoginByUserName-post-\"\u003eMFA UserName Login (POST)\u003c/h6\u003e\n\nThis API can be used to login by username on a Multi-factor authentication enabled LoginRadius site. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/mfa-user-name-login)\n\n\n\n```c#\n\nvar password = \"password\"; //Required\nvar username = \"username\"; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nstring fields = null; //Optional\nvar loginUrl = \"loginUrl\"; //Optional\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar smsTemplate2FA = \"smsTemplate2FA\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar emailTemplate2FA = \"emailTemplate2FA\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFALoginByUserName(password, username, emailTemplate, fields, loginUrl, smsTemplate, smsTemplate2FA, verificationUrl, emailTemplate2FA, isVoiceOtp).Result;\n```\n\n\n\u003ch6 id=\"MFALoginByPhone-post-\"\u003eMFA Phone Login (POST)\u003c/h6\u003e\n\nThis API can be used to login by Phone on a Multi-factor authentication enabled LoginRadius site. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/mfa-phone-login)\n\n\n\n```c#\n\nvar password = \"password\"; //Required\nvar phone = \"phone\"; //Required\nvar emailTemplate = \"emailTemplate\"; //Optional\nstring fields = null; //Optional\nvar loginUrl = \"loginUrl\"; //Optional\nvar smsTemplate = \"smsTemplate\"; //Optional\nvar smsTemplate2FA = \"smsTemplate2FA\"; //Optional\nvar verificationUrl = \"verificationUrl\"; //Optional\nvar emailTemplate2FA = \"emailTemplate2FA\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar options = \"options\"; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFALoginByPhone(password, phone, emailTemplate, emailTemplate2FA, fields, loginUrl, smsTemplate, smsTemplate2FA, verificationUrl, isVoiceOtp, options).Result;\n```\n\n\n\u003ch6 id=\"MFAEmailOTP-post-\"\u003eSend MFA Email OTP by MFA Token (POST)\u003c/h6\u003e\n\nAn API designed to send the MFA Email OTP to the email. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/send-mfa-email-otp-by-mfa-token/)\n\n\n\n```c#\n\nEmailIdModel emailIdModel = new EmailIdModel{\nEmailId= \"emailId\"\n}; //Required\nvar secondFactorAuthenticationToken = \"secondFactorAuthenticationToken\"; //Required\nvar emailTemplate2FA = \"emailTemplate2FA\"; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAEmailOTP(emailIdModel, secondFactorAuthenticationToken, emailTemplate2FA).Result;\n```\n\n\n\u003ch6 id=\"MFASecurityQuestionAnswerVerification-post-\"\u003eVerify MFA Security Question by MFA Token (POST)\u003c/h6\u003e\n\nThis API is used to login to a user's account during the second MFA step via answering the security questions.[More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/verify-mfa-security-question-by-mfa-token/)\n\n\n\n```c#\n\nSecurityQuestionAnswerUpdateModel securityQuestionAnswerUpdateModel = new SecurityQuestionAnswerUpdateModel\n{\nSecurityQuestionAnswer =new List\u003cSecurityQuestionModel\u003e{\nnew SecurityQuestionModel\n{\nQuestionId = \"db7****8a73e4******bd9****8c20\",\nAnswer = \"\u003canswer\u003e\"\n}\n}\n}; //Required\nvar secondFactorAuthenticationToken = \"secondFactorAuthenticationToken\"; //Required\nvar rbaBrowserEmailTemplate = \"rbaBrowserEmailTemplate\"; //Optional\nvar rbaCityEmailTemplate = \"rbaCityEmailTemplate\"; //Optional\nvar rbaCountryEmailTemplate = \"rbaCountryEmailTemplate\"; //Optional\nvar rbaIpEmailTemplate = \"rbaIpEmailTemplate\"; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFASecurityQuestionAnswerVerification(securityQuestionAnswerUpdateModel, secondFactorAuthenticationToken, rbaBrowserEmailTemplate, rbaCityEmailTemplate, rbaCountryEmailTemplate, rbaIpEmailTemplate).Result;\n```\n\n\n\u003ch6 id=\"MFAConfigureByAccessToken-get-\"\u003eMFA Validate Access Token (GET)\u003c/h6\u003e\n\nThis API is used to configure the Multi-factor authentication after login by using the access token when MFA is set as optional on the LoginRadius site. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/mfa-validate-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAConfigureByAccessToken(accessToken, isVoiceOtp).Result;\n```\n\n\n\u003ch6 id=\"MFABackupCodeByAccessToken-get-\"\u003eMFA Backup Code by Access Token (GET)\u003c/h6\u003e\n\nThis API is used to get a set of backup codes via access token to allow the user login on a site that has Multi-factor Authentication enabled in the event that the user does not have a secondary factor available. We generate 10 codes, each code can only be consumed once. If any user attempts to go over the number of invalid login attempts configured in the Dashboard then the account gets blocked automatically [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/backup-codes/mfa-backup-code-by-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFABackupCodeByAccessToken(accessToken).Result;\n```\n\n\n\u003ch6 id=\"MFAResetBackupCodeByAccessToken-get-\"\u003eReset Backup Code by Access Token (GET)\u003c/h6\u003e\n\nAPI is used to reset the backup codes on a given account via the access token. This API call will generate 10 new codes, each code can only be consumed once [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/backup-codes/mfa-reset-backup-code-by-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFAResetBackupCodeByAccessToken(accessToken).Result;\n```\n\n\n\u003ch6 id=\"MFAEmailOtpByAccessToken-get-\"\u003eSend MFA Email OTP by Access Token (GET)\u003c/h6\u003e\n\nThis API is created to send the OTP to the email if email OTP authenticator is enabled in app's MFA configuration. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/send-mfa-email-otp-by-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar emailId = \"emailId\"; //Required\nvar emailTemplate2FA = \"emailTemplate2FA\"; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAEmailOtpByAccessToken(accessToken, emailId, emailTemplate2FA).Result;\n```\n\n\n\u003ch6 id=\"MFAResendOTP-get-\"\u003eMFA Resend Otp (GET)\u003c/h6\u003e\n\nThis API is used to resending the verification OTP to the provided phone number [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/resend-twofactorauthentication-otp/)\n\n\n\n```c#\n\nvar secondFactorAuthenticationToken = \"secondFactorAuthenticationToken\"; //Required\nvar smsTemplate2FA = \"smsTemplate2FA\"; //Optional\nvar isVoiceOtp = false; //Optional\nvar apiResponse = new MultiFactorAuthenticationApi().MFAResendOTP(secondFactorAuthenticationToken, smsTemplate2FA, isVoiceOtp).Result;\n```\n\n\n\u003ch6 id=\"MFABackupCodeByUid-get-\"\u003eMFA Backup Code by UID (GET)\u003c/h6\u003e\n\nThis API is used to reset the backup codes on a given account via the UID. This API call will generate 10 new codes, each code can only be consumed once. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/backup-codes/mfa-backup-code-by-uid/)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFABackupCodeByUid(uid).Result;\n```\n\n\n\u003ch6 id=\"MFAResetBackupCodeByUid-get-\"\u003eMFA Reset Backup Code by UID (GET)\u003c/h6\u003e\n\nThis API is used to reset the backup codes on a given account via the UID. This API call will generate 10 new codes, each code can only be consumed once. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/backup-codes/mfa-reset-backup-code-by-uid/)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFAResetBackupCodeByUid(uid).Result;\n```\n\n\n\u003ch6 id=\"MFAResetAuthenticatorByToken-delete-\"\u003eMFA Reset Authenticator by Token (DELETE)\u003c/h6\u003e\n\nThis API Resets the Google Authenticator configurations on a given account via the access token [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/authenticator/mfa-reset-authenticator-by-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar googleAuthenticator = true; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFAResetAuthenticatorByToken(accessToken, googleAuthenticator).Result;\n```\n\n\n\u003ch6 id=\"MFAResetSMSAuthByToken-delete-\"\u003eMFA Reset SMS Authenticator by Token (DELETE)\u003c/h6\u003e\n\nThis API resets the SMS Authenticator configurations on a given account via the access token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/sms-authenticator/mfa-reset-sms-authenticator-by-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar otpAuthenticator = true; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFAResetSMSAuthByToken(accessToken, otpAuthenticator).Result;\n```\n\n\n\u003ch6 id=\"MFAResetEmailOtpAuthenticatorByAccessToken-delete-\"\u003eReset MFA Email OTP Authenticator By Access Token (DELETE)\u003c/h6\u003e\n\nThis API is used to reset the Email OTP Authenticator settings for an MFA-enabled user [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/reset-mfa-email-otp-authenticator-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFAResetEmailOtpAuthenticatorByAccessToken(accessToken).Result;\n```\n\n\n\u003ch6 id=\"MFAResetSecurityQuestionAuthenticatorByAccessToken-delete-\"\u003eMFA Reset Security Question Authenticator By Access Token (DELETE)\u003c/h6\u003e\n\nThis API is used to Reset MFA Security Question Authenticator By Access Token [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/reset-mfa-security-question-by-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFAResetSecurityQuestionAuthenticatorByAccessToken(accessToken).Result;\n```\n\n\n\u003ch6 id=\"MFAResetSMSAuthenticatorByUid-delete-\"\u003eMFA Reset SMS Authenticator By UID (DELETE)\u003c/h6\u003e\n\nThis API resets the SMS Authenticator configurations on a given account via the UID. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/sms-authenticator/mfa-reset-sms-authenticator-by-uid/)\n\n\n\n```c#\n\nvar otpAuthenticator = true; //Required\nvar uid = \"uid\"; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFAResetSMSAuthenticatorByUid(otpAuthenticator, uid).Result;\n```\n\n\n\u003ch6 id=\"MFAResetAuthenticatorByUid-delete-\"\u003eMFA Reset Authenticator By UID (DELETE)\u003c/h6\u003e\n\nThis API resets the Google Authenticator configurations on a given account via the UID. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/authenticator/mfa-reset-authenticator-by-uid/)\n\n\n\n```c#\n\nvar authenticator = true; //Required\nvar uid = \"uid\"; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFAResetAuthenticatorByUid(authenticator, uid).Result;\n```\n\n\n\u003ch6 id=\"MFAResetEmailOtpAuthenticatorByUid-delete-\"\u003eReset MFA Email OTP Authenticator Settings by Uid (DELETE)\u003c/h6\u003e\n\nThis API is used to reset the Email OTP Authenticator settings for an MFA-enabled user. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/backup-codes/reset-mfa-email-otp-authenticator-settings-by-uid/)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFAResetEmailOtpAuthenticatorByUid(uid).Result;\n```\n\n\n\u003ch6 id=\"MFAResetSecurityQuestionAuthenticatorByUid-delete-\"\u003eReset MFA Security Question Authenticator Settings by Uid (DELETE)\u003c/h6\u003e\n\nThis API is used to reset the Security Question Authenticator settings for an MFA-enabled user. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/backup-codes/reset-mfa-security-question-authenticator-settings-by-uid/)\n\n\n\n```c#\n\nvar uid = \"uid\"; //Required\nvar apiResponse = new MultiFactorAuthenticationApi().MFAResetSecurityQuestionAuthenticatorByUid(uid).Result;\n```\n\n\n\n\n\n\n\n### PINAuthentication API\n\n\nList of APIs in this Section:\u003cbr\u003e\n[PUT : Reset PIN By ResetToken](#ResetPINByResetToken-put-)\u003cbr\u003e\n[PUT : Reset PIN By SecurityAnswer And Email](#ResetPINByEmailAndSecurityAnswer-put-)\u003cbr\u003e\n[PUT : Reset PIN By SecurityAnswer And Username](#ResetPINByUsernameAndSecurityAnswer-put-)\u003cbr\u003e\n[PUT : Reset PIN By SecurityAnswer And Phone](#ResetPINByPhoneAndSecurityAnswer-put-)\u003cbr\u003e\n[PUT : Change PIN By Token](#ChangePINByAccessToken-put-)\u003cbr\u003e\n[PUT : Reset PIN by Phone and OTP](#ResetPINByPhoneAndOtp-put-)\u003cbr\u003e\n[PUT : Reset PIN by Email and OTP](#ResetPINByEmailAndOtp-put-)\u003cbr\u003e\n[PUT : Reset PIN by Username and OTP](#ResetPINByUsernameAndOtp-put-)\u003cbr\u003e\n[POST : PIN Login](#PINLogin-post-)\u003cbr\u003e\n[POST : Forgot PIN By Email](#SendForgotPINEmailByEmail-post-)\u003cbr\u003e\n[POST : Forgot PIN By UserName](#SendForgotPINEmailByUsername-post-)\u003cbr\u003e\n[POST : Forgot PIN By Phone](#SendForgotPINSMSByPhone-post-)\u003cbr\u003e\n[POST : Set PIN By PinAuthToken](#SetPINByPinAuthToken-post-)\u003cbr\u003e\n[GET : Invalidate PIN Session Token](#InValidatePinSessionToken-get-)\u003cbr\u003e\n\n\n\n\u003ch6 id=\"ResetPINByResetToken-put-\"\u003eReset PIN By ResetToken (PUT)\u003c/h6\u003e\n\nThis API is used to reset pin using reset token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/reset-pin-by-resettoken/)\n\n\n\n```c#\n\nResetPINByResetToken resetPINByResetToken = new ResetPINByResetToken{\nPIN =\"\u003cPIN\u003e\",\nResetToken =\"\u003cResetToken\u003e\"\n}; //Required\nvar apiResponse = new PINAuthenticationApi().ResetPINByResetToken(resetPINByResetToken).Result;\n```\n\n\n\u003ch6 id=\"ResetPINByEmailAndSecurityAnswer-put-\"\u003eReset PIN By SecurityAnswer And Email (PUT)\u003c/h6\u003e\n\nThis API is used to reset pin using security question answer and email. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/reset-pin-by-securityanswer-and-email/)\n\n\n\n```c#\n\nResetPINBySecurityQuestionAnswerAndEmailModel resetPINBySecurityQuestionAnswerAndEmailModel = new ResetPINBySecurityQuestionAnswerAndEmailModel{\nEmail =\"\u003cEmail\u003e\",\nPIN =\"\u003cPIN\u003e\",\nSecurityAnswer = new Dictionary\u003cString,String\u003e{\n[\"QuestionID\"] = \"Answer\"\n}\n}; //Required\nvar apiResponse = new PINAuthenticationApi().ResetPINByEmailAndSecurityAnswer(resetPINBySecurityQuestionAnswerAndEmailModel).Result;\n```\n\n\n\u003ch6 id=\"ResetPINByUsernameAndSecurityAnswer-put-\"\u003eReset PIN By SecurityAnswer And Username (PUT)\u003c/h6\u003e\n\nThis API is used to reset pin using security question answer and username. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/reset-pin-by-securityanswer-and-username/)\n\n\n\n```c#\n\nResetPINBySecurityQuestionAnswerAndUsernameModel resetPINBySecurityQuestionAnswerAndUsernameModel = new ResetPINBySecurityQuestionAnswerAndUsernameModel{\nPIN =\"\u003cPIN\u003e\",\nSecurityAnswer = new Dictionary\u003cString,String\u003e{\n[\"QuestionID\"] = \"Answer\"\n},\nUsername =\"\u003cUsername\u003e\"\n}; //Required\nvar apiResponse = new PINAuthenticationApi().ResetPINByUsernameAndSecurityAnswer(resetPINBySecurityQuestionAnswerAndUsernameModel).Result;\n```\n\n\n\u003ch6 id=\"ResetPINByPhoneAndSecurityAnswer-put-\"\u003eReset PIN By SecurityAnswer And Phone (PUT)\u003c/h6\u003e\n\nThis API is used to reset pin using security question answer and phone. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/reset-pin-by-securityanswer-and-phone/)\n\n\n\n```c#\n\nResetPINBySecurityQuestionAnswerAndPhoneModel resetPINBySecurityQuestionAnswerAndPhoneModel = new ResetPINBySecurityQuestionAnswerAndPhoneModel{\nPhone =\"\u003cPhone\u003e\",\nPIN =\"\u003cPIN\u003e\",\nSecurityAnswer = new Dictionary\u003cString,String\u003e{\n[\"QuestionID\"] = \"Answer\"\n}\n}; //Required\nvar apiResponse = new PINAuthenticationApi().ResetPINByPhoneAndSecurityAnswer(resetPINBySecurityQuestionAnswerAndPhoneModel).Result;\n```\n\n\n\u003ch6 id=\"ChangePINByAccessToken-put-\"\u003eChange PIN By Token (PUT)\u003c/h6\u003e\n\nThis API is used to change a user's PIN using access token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/change-pin-by-access-token/)\n\n\n\n```c#\n\nvar accessToken = \"accessToken\"; //Required\nChangePINModel changePINModel = new ChangePINModel{\nNewPIN =\"\u003cNewPIN\u003e\",\nOldPIN =\"\u003cOldPIN\u003e\"\n}; //Required\nvar apiResponse = new PINAuthenticationApi().ChangePINByAccessToken(accessToken, changePINModel).Result;\n```\n\n\n\u003ch6 id=\"ResetPINByPhoneAndOtp-put-\"\u003eReset PIN by Phone and OTP (PUT)\u003c/h6\u003e\n\nThis API is used to reset pin using phoneId and OTP. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/reset-pin-by-phone-and-otp/)\n\n\n\n```c#\n\nResetPINByPhoneAndOTPModel resetPINByPhoneAndOTPModel = new ResetPINByPhoneAndOTPModel{\nOtp =\"\u003cOtp\u003e\",\nPhone =\"\u003cPhone\u003e\",\nPIN =\"\u003cPIN\u003e\"\n}; //Required\nvar apiResponse = new PINAuthenticationApi().ResetPINByPhoneAndOtp(resetPINByPhoneAndOTPModel).Result;\n```\n\n\n\u003ch6 id=\"ResetPINByEmailAndOtp-put-\"\u003eReset PIN by Email and OTP (PUT)\u003c/h6\u003e\n\nThis API is used to reset pin using email and OTP. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/reset-pin-by-email-and-otp/)\n\n\n\n```c#\n\nResetPINByEmailAndOtpModel resetPINByEmailAndOtpModel = new ResetPINByEmailAndOtpModel{\nEmail =\"\u003cEmail\u003e\",\nOtp =\"\u003cOtp\u003e\",\nPIN =\"\u003cPIN\u003e\"\n}; //Required\nvar apiResponse = new PINAuthenticationApi().ResetPINByEmailAndOtp(resetPINByEmailAndOtpModel).Result;\n```\n\n\n\u003ch6 id=\"ResetPINByUsernameAndOtp-put-\"\u003eReset PIN by Username and OTP (PUT)\u003c/h6\u003e\n\nThis API is used to reset pin using username and OTP. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/reset-pin-by-username-and-otp/)\n\n\n\n```c#\n\nResetPINByUsernameAndOtpModel resetPINByUsernameAndOtpModel = new ResetPINByUsernameAndOtpModel{\nOtp =\"\u003cOtp\u003e\",\nPIN =\"\u003cPIN\u003e\",\nUsername =\"\u003cUsername\u003e\"\n}; //Required\nvar apiResponse = new PINAuthenticationApi().ResetPINByUsernameAndOtp(resetPINByUsernameAndOtpModel).Result;\n```\n\n\n\u003ch6 id=\"PINLogin-post-\"\u003ePIN Login (POST)\u003c/h6\u003e\n\nThis API is used to logi","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floginradius%2Fdot-net-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floginradius%2Fdot-net-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floginradius%2Fdot-net-sdk/lists"}