From 2acd026a0fce49a687b56a980e0f2e5af72f09ea Mon Sep 17 00:00:00 2001 From: loginradius-sdk-factory Date: Thu, 17 Sep 2026 17:38:03 +0530 Subject: [PATCH 1/4] chore(sdk): sync PHP SDK v12.0.0-rc.1 from SDK-FACTORY MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Generated output — do not edit this repository by hand; change the factory and re-sync, or the next run will overwrite it. factory commit: 3a42f20 (clean) sdk version: 12.0.0-rc.1 generator: v7.10.0 spec: spec/LoginRadius-Public-APIs.yaml --- .env.example | 23 + .gitignore | 4 + .php-cs-fixer.dist.php | 29 + CHANGELOG.md | 500 +- CONTRIBUTING.md | 41 - LICENSE | 2 +- LoginRadius-Public-APIs.yaml | 58931 ++++++++++++++++ MIGRATION_GUIDE.md | 149 + README.md | 4156 +- composer.json | 33 +- demo/Demo.php | 214 + demo/DemoHandlers.php | 1009 + demo/DemoRoutes.php | 118 + demo/DemoSessions.php | 100 + demo/ExtendedRoutes.php | 51 + demo/README.md | 48 - demo/ajax_handler/.htaccess | 4 - demo/ajax_handler/config.php | 43 - demo/ajax_handler/index.php | 14 - demo/ajax_handler/login.php | 271 - demo/ajax_handler/profile.php | 331 - demo/css/style.css | 217 - demo/emailverification.html | 34 - demo/icons/icon-sprite-32.png | Bin 12820 -> 0 bytes demo/index.html | 104 - demo/index.php | 166 + demo/js/LoginRadiusLoginScreen.1.0.0.js | 1778 - demo/js/emailVerification.js | 62 - demo/js/indexControl.js | 248 - demo/js/indexView.js | 82 - demo/js/jquery-3.6.0.min.js | 2 - demo/js/loginScreen.js | 22 - demo/js/options.js | 11 - demo/js/profileControl.js | 549 - demo/js/profileView.js | 153 - demo/js/resetPassword.js | 49 - demo/loginscreen.html | 34 - demo/logo-white.png | Bin 2300 -> 0 bytes demo/lr-logo.png | Bin 15892 -> 0 bytes demo/profile.html | 190 - demo/resetpassword.html | 41 - demo/user-blank.png | Bin 4075 -> 0 bytes demo/wwwroot/demo.css | 261 + demo/wwwroot/index.html | 478 + docs/API.md | 866 + docs/apis/account-custom-object.md | 229 + docs/apis/account-security.md | 381 + docs/apis/account-session.md | 309 + docs/apis/accounts.md | 827 + docs/apis/bigcommerce-sso.md | 169 + docs/apis/captcha-configuration.md | 73 + docs/apis/consent.md | 243 + docs/apis/cross-device-sso.md | 117 + docs/apis/custom-fields.md | 227 + docs/apis/custom-object.md | 241 + docs/apis/custom-objects.md | 177 + docs/apis/domain-access-restrictions.md | 73 + docs/apis/email-templates.md | 155 + docs/apis/identity.md | 90 + docs/apis/insights.md | 52 + docs/apis/ip-access-restrictions.md | 101 + docs/apis/jwt-custom-providers.md | 186 + docs/apis/jwt-integrations.md | 242 + docs/apis/jwt.md | 92 + docs/apis/login.md | 1531 + docs/apis/multipurpose-tokens.md | 188 + docs/apis/oauth-clients.md | 250 + docs/apis/oauth-custom-providers.md | 169 + docs/apis/oauth-integrations.md | 222 + docs/apis/oauth-m2m.md | 137 + docs/apis/oauth.md | 249 + docs/apis/oidc.md | 555 + .../organization-connection-group-roles.md | 177 + docs/apis/organization-connections.md | 250 + docs/apis/organization-domains.md | 202 + docs/apis/organization-invitations.md | 203 + docs/apis/organization-user-roles.md | 238 + docs/apis/organization.md | 299 + docs/apis/passkey-configuration.md | 73 + docs/apis/password-policy.md | 73 + docs/apis/password.md | 378 + docs/apis/perfectmind-sso.md | 91 + docs/apis/permissions.md | 186 + docs/apis/push-notification-configuration.md | 107 + docs/apis/registration.md | 234 + docs/apis/roles-management.md | 398 + docs/apis/roles.md | 260 + docs/apis/saml-custom-providers.md | 250 + docs/apis/saml-integrations.md | 222 + docs/apis/saml.md | 43 + docs/apis/second-factor-configuration.md | 197 + docs/apis/security-questions.md | 212 + docs/apis/security.md | 2377 + docs/apis/session.md | 111 + docs/apis/shopify-sso.md | 51 + docs/apis/sms-templates.md | 155 + docs/apis/social-providers.md | 248 + docs/apis/sott.md | 73 + docs/apis/user-migration.md | 45 + docs/apis/user.md | 1486 + docs/apis/webhooks.md | 214 + docs/apis/workflows.md | 298 + phpunit.xml.dist | 16 + src/AuthenticatingClient.php | 222 + src/Client.php | 301 + src/Config.php | 302 + .../OpenApi/Api/AccountCustomObjectApi.php | 2711 + .../OpenApi/Api/AccountSecurityApi.php | 4788 ++ .../OpenApi/Api/AccountSessionApi.php | 3746 + src/Internal/OpenApi/Api/AccountsApi.php | 9885 +++ .../OpenApi/Api/BigCommerceSSOApi.php | 2152 + .../OpenApi/Api/CaptchaConfigurationApi.php | 891 + src/Internal/OpenApi/Api/ConsentApi.php | 3146 + .../OpenApi/Api/CrossDeviceSSOApi.php | 1469 + src/Internal/OpenApi/Api/CustomFieldsApi.php | 2895 + src/Internal/OpenApi/Api/CustomObjectApi.php | 2621 + src/Internal/OpenApi/Api/CustomObjectsApi.php | 2179 + .../Api/DomainAccessRestrictionsApi.php | 955 + .../OpenApi/Api/EmailTemplatesApi.php | 1938 + .../OpenApi/Api/IPAccessRestrictionsApi.php | 1256 + src/Internal/OpenApi/Api/IdentityApi.php | 1148 + src/Internal/OpenApi/Api/InsightsApi.php | 647 + src/Internal/OpenApi/Api/JWTApi.php | 1245 + .../OpenApi/Api/JWTCustomProvidersApi.php | 2345 + .../OpenApi/Api/JWTIntegrationsApi.php | 2900 + src/Internal/OpenApi/Api/LoginApi.php | 15912 +++++ .../OpenApi/Api/MultipurposeTokensApi.php | 2165 + src/Internal/OpenApi/Api/OAuthApi.php | 3132 + src/Internal/OpenApi/Api/OAuthClientsApi.php | 3060 + .../OpenApi/Api/OAuthCustomProvidersApi.php | 2339 + .../OpenApi/Api/OAuthIntegrationsApi.php | 2660 + src/Internal/OpenApi/Api/OAuthM2MApi.php | 2003 + src/Internal/OpenApi/Api/OIDCApi.php | 6772 ++ src/Internal/OpenApi/Api/OrganizationApi.php | 3959 ++ .../OrganizationConnectionGroupRolesApi.php | 2305 + .../Api/OrganizationConnectionsApi.php | 3234 + .../OpenApi/Api/OrganizationDomainsApi.php | 2596 + .../Api/OrganizationInvitationsApi.php | 2601 + .../OpenApi/Api/OrganizationUserRolesApi.php | 3071 + .../OpenApi/Api/PasskeyConfigurationApi.php | 926 + src/Internal/OpenApi/Api/PasswordApi.php | 3779 + .../OpenApi/Api/PasswordPolicyApi.php | 961 + .../OpenApi/Api/PerfectMindSSOApi.php | 1210 + src/Internal/OpenApi/Api/PermissionsApi.php | 2335 + .../Api/PushNotificationConfigurationApi.php | 1415 + src/Internal/OpenApi/Api/RegistrationApi.php | 2454 + src/Internal/OpenApi/Api/RolesApi.php | 3375 + .../OpenApi/Api/RolesManagementApi.php | 4507 ++ src/Internal/OpenApi/Api/SAMLApi.php | 630 + .../OpenApi/Api/SAMLCustomProvidersApi.php | 3060 + .../OpenApi/Api/SAMLIntegrationsApi.php | 2730 + src/Internal/OpenApi/Api/SMSTemplatesApi.php | 1909 + src/Internal/OpenApi/Api/SOTTApi.php | 955 + .../Api/SecondFactorConfigurationApi.php | 2459 + src/Internal/OpenApi/Api/SecurityApi.php | 24348 +++++++ .../OpenApi/Api/SecurityQuestionsApi.php | 2744 + src/Internal/OpenApi/Api/SessionApi.php | 1282 + src/Internal/OpenApi/Api/ShopifySSOApi.php | 676 + .../OpenApi/Api/SocialProvidersApi.php | 2866 + src/Internal/OpenApi/Api/UserApi.php | 15337 ++++ src/Internal/OpenApi/Api/UserMigrationApi.php | 622 + src/Internal/OpenApi/Api/WebhooksApi.php | 2698 + src/Internal/OpenApi/Api/WorkflowsApi.php | 3750 + src/Internal/OpenApi/ApiException.php | 121 + src/Internal/OpenApi/Configuration.php | 602 + src/Internal/OpenApi/HeaderSelector.php | 275 + src/Internal/OpenApi/Model/AWSPushConfig.php | 479 + src/Internal/OpenApi/Model/AccessToken.php | 520 + .../Model/AccessTokenByPingQRCodeResponse.php | 419 + .../OpenApi/Model/AccessTokenInBody.php | 411 + .../OpenApi/Model/AccessTokenInfo.php | 479 + .../OpenApi/Model/AccessTokenResponse.php | 479 + .../OpenApi/Model/AccessTokenSessionToken.php | 446 + ...AccountRegisterMFAPasskeyFinishRequest.php | 415 + src/Internal/OpenApi/Model/ActiveSession.php | 683 + .../OpenApi/Model/ActiveSessionResponse.php | 445 + src/Internal/OpenApi/Model/AddEmailModel.php | 448 + .../OpenApi/Model/AddEmailModelManage.php | 489 + .../Model/AddOrganizationDomainRequest.php | 414 + src/Internal/OpenApi/Model/AddPhoneModel.php | 452 + .../OpenApi/Model/AddWorkflowConfig.php | 589 + src/Internal/OpenApi/Model/Aggregation.php | 415 + src/Internal/OpenApi/Model/AggregationObj.php | 548 + .../OpenApi/Model/AggregationObjInterval.php | 384 + .../OpenApi/Model/AndroidPushConfig.php | 513 + src/Internal/OpenApi/Model/ApiError.php | 479 + src/Internal/OpenApi/Model/AppProvider.php | 581 + .../Model/AppleSecretConfiguration.php | 547 + src/Internal/OpenApi/Model/AuthResponse.php | 513 + .../Model/AuthResponseEmailVerification.php | 445 + .../AuthResponseEmailVerificationData.php | 411 + .../OpenApi/Model/AuthResponseForgotReset.php | 445 + .../OpenApi/Model/AuthResponseOptionalMfa.php | 554 + .../OpenApi/Model/AuthResponseRequiredMfa.php | 1126 + .../Model/AuthResponseRequiredMfaCore.php | 445 + .../Model/AuthResponseWithoutIdentites.php | 513 + .../Model/AuthenticatorCodeRequest.php | 446 + .../OpenApi/Model/BasicAuthWebhook.php | 452 + src/Internal/OpenApi/Model/BatchUpload.php | 482 + .../Model/BatchUploadErrorResponse.php | 522 + .../BatchUploadErrorResponseErrorsInner.php | 451 + .../OpenApi/Model/BatchUploadResponse.php | 448 + src/Internal/OpenApi/Model/Bearertoken.php | 418 + ...BeginMFAPasskeyRegistration200Response.php | 412 + ...tion200ResponseRegisterBeginCredential.php | 412 + .../Model/BeginPasskeyLogin200Response.php | 412 + ...eyLogin200ResponseLoginBeginCredential.php | 412 + ...BeginPasskeyMFAVerification200Response.php | 412 + ...ication200ResponseLoginBeginCredential.php | 412 + .../BeginPasskeyRegistration200Response.php | 412 + ...tion200ResponseRegisterBeginCredential.php | 412 + .../Model/BeginPasskeyReset200Response.php | 412 + .../Model/BigCommerceLoginUrlResponse.php | 411 + .../Model/BigCommerceTokenPostRequest.php | 482 + .../BigCommerceValidatePasswordRequest.php | 451 + .../BigCommerceValidatePasswordResponse.php | 411 + .../OpenApi/Model/BulkInsertErrorReport.php | 451 + .../OpenApi/Model/BulkInsertReport.php | 485 + .../OpenApi/Model/CandidateTokenModel.php | 414 + src/Internal/OpenApi/Model/CaptchaConfig.php | 595 + src/Internal/OpenApi/Model/CaptchaKeys.php | 459 + src/Internal/OpenApi/Model/CaptchaModel.php | 541 + .../OpenApi/Model/CertificateWithoutKey.php | 418 + src/Internal/OpenApi/Model/Certificates.php | 459 + src/Internal/OpenApi/Model/ChangePassword.php | 649 + .../OpenApi/Model/ChangePasswordCore.php | 485 + src/Internal/OpenApi/Model/ChangePin.php | 649 + src/Internal/OpenApi/Model/ChangePinCore.php | 485 + .../CheckEmailAvailability200Response.php | 615 + .../CheckUserNameAvailability200Response.php | 411 + .../OpenApi/Model/ClientGuidBodyModel.php | 446 + .../Model/ConnectionGroupRoleRequest.php | 479 + .../Model/ConnectionGroupRoleResponse.php | 513 + .../Model/ConnectionGroupRoleResponseCore.php | 411 + .../OpenApi/Model/ConnectionResponse.php | 1525 + .../OpenApi/Model/ConnectionResponseCore.php | 554 + .../Model/ConnectionResponseVariant.php | 1246 + .../OpenApi/Model/ConnectionStatusRequest.php | 411 + .../Model/ConnectionStatusResponse.php | 411 + src/Internal/OpenApi/Model/ConsentData.php | 451 + src/Internal/OpenApi/Model/ConsentEvent.php | 451 + src/Internal/OpenApi/Model/ConsentForm.php | 697 + .../OpenApi/Model/ConsentFormEvent.php | 445 + .../OpenApi/Model/ConsentFormModel.php | 588 + .../OpenApi/Model/ConsentFormOption.php | 479 + .../OpenApi/Model/ConsentFormOptions.php | 445 + src/Internal/OpenApi/Model/ConsentLog.php | 691 + .../OpenApi/Model/ConsentLogsResponse.php | 459 + src/Internal/OpenApi/Model/ConsentOption.php | 445 + .../OpenApi/Model/ConsentOptionModel.php | 461 + src/Internal/OpenApi/Model/ConsentOptions.php | 554 + src/Internal/OpenApi/Model/ConsentProfile.php | 445 + .../OpenApi/Model/ConsentProfileLog.php | 445 + .../OpenApi/Model/ConsentResponse.php | 513 + src/Internal/OpenApi/Model/ConsentSubmit.php | 451 + src/Internal/OpenApi/Model/ConsentUpdate.php | 414 + src/Internal/OpenApi/Model/ConsentVersion.php | 479 + .../CreateConnectionGroupRoleRequest.php | 488 + .../Model/CreateJwtIntegrationRequest.php | 878 + .../CreateJwtSPClientConfigurationRequest.php | 1150 + .../CreateOAuthClientConfigurationRequest.php | 1526 + .../Model/CreateOAuthIntegrationRequest.php | 988 + .../Model/CreateOrganizationRequest.php | 523 + .../Model/CreateSamlIntegrationRequest.php | 928 + src/Internal/OpenApi/Model/CredentialObj.php | 513 + .../Model/CustomFieldLimitResponse.php | 411 + .../OpenApi/Model/CustomOAuth2DeleteModel.php | 414 + .../OpenApi/Model/CustomOAuth2Model.php | 1166 + .../OpenApi/Model/CustomOAuth2UpdateModel.php | 965 + .../Model/CustomObjectResponseModel.php | 615 + .../Model/CustomObjectsResponseModel.php | 445 + .../OpenApi/Model/CustomProviderKeys.php | 445 + .../OpenApi/Model/DefaultResponse.php | 411 + .../OpenApi/Model/DeleteEmailRequest.php | 414 + .../OpenApi/Model/DeleteEmailTemplate.php | 414 + src/Internal/OpenApi/Model/DeleteResponse.php | 411 + .../OpenApi/Model/DeleteSmsTemplateModel.php | 414 + .../OpenApi/Model/DeleteUserModel.php | 414 + .../Model/DeleteemailbyaccesstokenRequest.php | 448 + .../OpenApi/Model/DeltaMigrationModel.php | 451 + .../Model/DomainAccessRestrictions.php | 445 + .../Model/DuoSecurityAuthenticator.php | 513 + .../OpenApi/Model/DuoVerifyRequest.php | 451 + .../DynamicClientRegistrationRequest.php | 616 + .../DynamicClientRegistrationResponse.php | 684 + src/Internal/OpenApi/Model/Email.php | 451 + .../EmailByLoginUserNamePhone200Response.php | 1235 + .../EmailByLoginUserNamePhoneRequest.php | 769 + src/Internal/OpenApi/Model/EmailModel.php | 414 + .../OpenApi/Model/EmailModelManage.php | 414 + src/Internal/OpenApi/Model/EmailOTPStatus.php | 411 + .../OpenApi/Model/EmailTemplateModel.php | 838 + .../OpenApi/Model/EmailTemplateResponse.php | 785 + .../Model/EmailToValidateServerSide.php | 414 + .../OpenApi/Model/EmailUserNameModel.php | 445 + .../EmailVerificationOrForgotPINModel.php | 415 + src/Internal/OpenApi/Model/ErrorResponse.php | 520 + .../OpenApi/Model/ErrorResponseNative.php | 479 + .../Model/EventBasedSecondFactorToken.php | 429 + .../ExtendUserProfileWithCustomObject.php | 5952 ++ .../ExtendUserProfileWithCustomObjectCore.php | 411 + .../FinishMFAPasskeyRegistrationRequest.php | 412 + .../FinishPasskeyMFAVerificationRequest.php | 412 + ...ordOrPasswordLessLoginOrAutoLoginModel.php | 445 + .../Model/ForgotPasswordPhoneModel.php | 578 + .../OpenApi/Model/ForgotPasswordRequest.php | 609 + .../ForgotPasswordTokenAndEmailRequest.php | 451 + .../Model/ForgotPasswordTokenModel.php | 451 + .../OpenApi/Model/ForgotPinByEmail.php | 415 + .../OpenApi/Model/ForgotPinByPhone.php | 415 + .../OpenApi/Model/ForgotPinByUsername.php | 415 + .../OpenApi/Model/GenerateSottResponse.php | 451 + .../OpenApi/Model/GenerateTokenResponse.php | 486 + .../GenericSecondFactorAuthentication.php | 649 + .../GetAllConnectionGroupRoles200Response.php | 411 + .../Model/GetAllCustomFields200Response.php | 411 + .../GetAllCustomOAuthProviders200Response.php | 411 + ...llJwtConfigSPConfigurations200Response.php | 411 + .../GetAllJwtIntegrations200Response.php | 411 + ...lOAuthClientsConfigurations200Response.php | 411 + .../GetAllOAuthIntegrations200Response.php | 411 + ...tAllOrganizationConnections200Response.php | 411 + .../GetAllOrganizationDomains200Response.php | 411 + .../Model/GetAllOrganizations200Response.php | 411 + ...etAllProviderConfigurations200Response.php | 411 + ...lSAMLSPClientConfigurations200Response.php | 411 + .../OpenApi/Model/GetAllSOTT200Response.php | 411 + .../GetAllSamlIntegrations200Response.php | 411 + .../Model/GetAllTenantRoles200Response.php | 411 + .../Model/GetAllWorkflows200Response.php | 411 + .../Model/GetConsentForms200Response.php | 411 + .../Model/GetConsentOptions200Response.php | 411 + .../GetCustomProviderKeys200Response.php | 411 + .../Model/GetEmailTemplates200Response.php | 411 + .../GetInvitationsByOrgId200Response.php | 445 + .../GetJWTTokenByLoginCredentialsRequest.php | 723 + ...ntegrationSupportedAlgoList200Response.php | 411 + ...thClientConnectionsMetadata200Response.php | 479 + .../OpenApi/Model/GetOAuthTokensRequest.php | 815 + .../Model/GetOrgContextByUid200Response.php | 411 + .../GetSamlSPClientMappingKeys200Response.php | 411 + .../Model/GetSecurityQuestions200Response.php | 411 + .../Model/GetSmsTemplates200Response.php | 411 + .../OpenApi/Model/GoogleAuthenticator.php | 532 + .../OpenApi/Model/GoogleRecaptchaV3.php | 500 + .../OpenApi/Model/GoogleRecaptchaV3Core.php | 418 + src/Internal/OpenApi/Model/HCaptcha.php | 568 + src/Internal/OpenApi/Model/HCaptchaCore.php | 486 + src/Internal/OpenApi/Model/IOSPushConfig.php | 615 + .../OpenApi/Model/IPAccessRestrictions.php | 445 + .../OpenApi/Model/IdentitiesResponse.php | 418 + src/Internal/OpenApi/Model/Identity.php | 5955 ++ .../OpenApi/Model/IdentityPasskeyLogin.php | 419 + .../OpenApi/Model/IdentityProvider.php | 500 + src/Internal/OpenApi/Model/IdentityQuery.php | 411 + ...dentityResponseWithSocialWithoutLogins.php | 5996 ++ ...ityResponseWithSocialWithoutLoginsCore.php | 418 + .../OpenApi/Model/InsightsResponse.php | 445 + src/Internal/OpenApi/Model/Invitation.php | 721 + .../OpenApi/Model/InvitationToken.php | 517 + .../OpenApi/Model/IsDeleteRequestAccepted.php | 412 + src/Internal/OpenApi/Model/IsDeleted.php | 411 + .../Model/IsDeletedResponseWithCount.php | 445 + src/Internal/OpenApi/Model/IsExist.php | 412 + .../OpenApi/Model/IsPostedResponse.php | 411 + .../OpenApi/Model/IsPostedVerified.php | 445 + src/Internal/OpenApi/Model/IsRegistered.php | 411 + src/Internal/OpenApi/Model/IsValid.php | 414 + src/Internal/OpenApi/Model/JWKSResponse.php | 412 + .../OpenApi/Model/JWKSResponseKeysInner.php | 581 + src/Internal/OpenApi/Model/JWTSignature.php | 412 + .../OpenApi/Model/JwtAudienceValidation.php | 479 + .../Model/JwtClaimAudienceProperty.php | 493 + .../OpenApi/Model/JwtClaimMandatory.php | 418 + .../OpenApi/Model/JwtClaimSubjectProperty.php | 500 + .../OpenApi/Model/JwtIntegrationBaseModel.php | 835 + .../Model/JwtIntegrationCreateCore.php | 414 + .../OpenApi/Model/JwtIntegrationRequest.php | 869 + .../Model/JwtIntegrationRequestCore.php | 411 + .../OpenApi/Model/JwtIntegrationResponse.php | 869 + .../Model/JwtIntegrationResponseCore.php | 411 + .../OpenApi/Model/JwtIssuerValidation.php | 479 + src/Internal/OpenApi/Model/JwtSpConfig.php | 1296 + .../OpenApi/Model/JwtSpConfigBaseModel.php | 1107 + .../OpenApi/Model/JwtSpConfigCreateCore.php | 414 + src/Internal/OpenApi/Model/JwtValidation.php | 411 + src/Internal/OpenApi/Model/LoginByEmail.php | 452 + .../OpenApi/Model/LoginByEmailRequest.php | 650 + .../OpenApi/Model/LoginByEmailRequestCore.php | 486 + src/Internal/OpenApi/Model/LoginByPhone.php | 649 + .../OpenApi/Model/LoginByPhoneCore.php | 485 + .../OpenApi/Model/LoginByUserName.php | 452 + .../OpenApi/Model/LoginByUsernameRequest.php | 649 + .../Model/LoginByUsernameRequestCore.php | 485 + .../OpenApi/Model/MFABackUpCodeResponse.php | 414 + .../OpenApi/Model/MFAPhoneUpdateModel.php | 414 + src/Internal/OpenApi/Model/MFASettings.php | 717 + .../OpenApi/Model/MFAVerifyPhoneOtpModel.php | 612 + .../Model/MFAVerifyPhoneOtpModelCore.php | 448 + .../OpenApi/Model/ManageRegisterModel.php | 4962 ++ .../ManageRegisterModelAddressesInner.php | 547 + .../Model/ManageRegisterModelAgeRange.php | 460 + .../Model/ManageRegisterModelBadgesInner.php | 547 + .../Model/ManageRegisterModelBooksInner.php | 513 + ...ManageRegisterModelCertificationsInner.php | 547 + .../Model/ManageRegisterModelConsents.php | 446 + .../ManageRegisterModelConsentsDataInner.php | 445 + ...ManageRegisterModelConsentsEventsInner.php | 445 + .../Model/ManageRegisterModelCountry.php | 446 + .../Model/ManageRegisterModelCoursesInner.php | 479 + .../ManageRegisterModelEducationsInner.php | 547 + .../Model/ManageRegisterModelEmailInner.php | 445 + .../Model/ManageRegisterModelFamilyInner.php | 479 + ...ManageRegisterModelFavoriteThingsInner.php | 479 + .../Model/ManageRegisterModelGamesInner.php | 513 + .../ManageRegisterModelJobBookmarksInner.php | 547 + ...anageRegisterModelJobBookmarksInnerJob.php | 480 + .../ManageRegisterModelLanguagesInner.php | 479 + ...geRegisterModelMemberUrlResourcesInner.php | 445 + .../Model/ManageRegisterModelMoviesInner.php | 513 + .../ManageRegisterModelMutualFriendsInner.php | 649 + .../Model/ManageRegisterModelPINInfo.php | 535 + .../Model/ManageRegisterModelPatentsInner.php | 479 + .../ManageRegisterModelPlacesLivedInner.php | 479 + .../ManageRegisterModelPositionsInner.php | 547 + .../ManageRegisterModelPrivacyPolicy.php | 419 + .../ManageRegisterModelProjectsInner.php | 581 + ...eRegisterModelProviderAccessCredential.php | 460 + .../ManageRegisterModelPublicationsInner.php | 615 + ...sterModelPublicationsInnerAuthorsInner.php | 445 + ...isterModelRecommendationsReceivedInner.php | 513 + ...eRegisterModelRelatedProfileViewsInner.php | 479 + .../Model/ManageRegisterModelSubscription.php | 542 + .../Model/ManageRegisterModelSuggestions.php | 514 + ...ModelSuggestionsCompaniesToFollowInner.php | 459 + ...odelSuggestionsIndustriesToFollowInner.php | 459 + ...odelSuggestionsNewssourceToFollowInner.php | 459 + ...terModelSuggestionsPeopleToFollowInner.php | 459 + ...ManageRegisterModelTelevisionShowInner.php | 513 + .../ManageRegisterModelVolunteerInner.php | 513 + src/Internal/OpenApi/Model/ModelInterface.php | 113 + .../MultipurposeEmailTokenAPIRequest.php | 522 + .../Model/MultipurposeSmsOtpAPIRequest.php | 485 + src/Internal/OpenApi/Model/OAuth2Provider.php | 1098 + .../Model/OAuthAuthorizationCodeFlow.php | 597 + .../Model/OAuthAuthorizationCodePKCEFlow.php | 597 + .../OAuthAuthorizationServerMetadata.php | 971 + .../OpenApi/Model/OAuthClientCreateCore.php | 414 + .../OpenApi/Model/OAuthClientRequest.php | 1486 + .../OAuthClientRequestBackChannelLogout.php | 479 + .../Model/OAuthClientRequestConnections.php | 581 + ...ClientRequestConnectionsCustomIdpInner.php | 445 + .../OAuthClientRequestDeviceCodeConfig.php | 619 + .../OAuthClientRequestJwtTokenConfig.php | 445 + .../OpenApi/Model/OAuthClientResponse.php | 1643 + .../OAuthClientResponseBackChannelLogout.php | 513 + ...sponseBackChannelLogoutLogoutInitiator.php | 445 + ...kChannelLogoutLogoutInitiatorIntiators.php | 513 + .../Model/OAuthClientResponseConnections.php | 581 + .../OAuthClientResponseDeviceCodeConfig.php | 619 + .../OAuthClientResponseJwtTokenConfig.php | 479 + ...AuthClientResponseRefreshTokenRotation.php | 427 + .../Model/OAuthClientSecretResetResponse.php | 445 + .../OpenApi/Model/OAuthDeviceCode.php | 449 + .../OpenApi/Model/OAuthDeviceCodeFlow.php | 557 + .../OpenApi/Model/OAuthDeviceCodeResponse.php | 582 + .../Model/OAuthDynamicClientRequest.php | 1203 + .../Model/OAuthDynamicClientResponse.php | 1407 + .../Model/OAuthDynamicClientResponseCore.php | 581 + .../OpenApi/Model/OAuthErrorResponse.php | 445 + .../Model/OAuthIntegrationBaseModel.php | 945 + .../OAuthIntegrationBaseModelConnections.php | 582 + ...tionBaseModelConnectionsCustomIdpInner.php | 445 + ...ionBaseModelConnectionsEnterpriseInner.php | 445 + ...nBaseModelConnectionsPasswordLessLogin.php | 479 + ...nBaseModelConnectionsSocialLoginsInner.php | 445 + .../Model/OAuthIntegrationCreateCore.php | 414 + .../OAuthIntegrationCredentialsResponse.php | 446 + .../Model/OAuthIntegrationResponse.php | 1081 + .../Model/OAuthIntegrationResponseCore.php | 513 + .../OAuthLoginRadiusTokenExchangeFlow.php | 594 + .../Model/OAuthM2MIntrospectResponse.php | 752 + .../OpenApi/Model/OAuthM2MTokenGenerate.php | 526 + .../OpenApi/Model/OAuthM2MTokenIntrospect.php | 526 + .../OpenApi/Model/OAuthM2MTokenResponse.php | 480 + .../OpenApi/Model/OAuthM2MTokenRevoke.php | 526 + .../Model/OAuthPasswordCredentialFlow.php | 631 + .../OpenApi/Model/OAuthRefreshTokenFlow.php | 560 + .../OpenApi/Model/OAuthRevokeRefreshToken.php | 489 + .../OpenApi/Model/OAuthTokenResponse.php | 514 + .../Model/OIDCConnectionCreateRequest.php | 901 + src/Internal/OpenApi/Model/OIDCDeviceCode.php | 449 + .../OpenApi/Model/OIDCDeviceCodeResponse.php | 582 + .../OpenApi/Model/OIDCDiscoveryResponse.php | 1126 + .../Model/OIDCTokenIntrospectResponse.php | 789 + .../OpenApi/Model/OIDCTokenResponse.php | 548 + src/Internal/OpenApi/Model/OIDCUserinfo.php | 415 + .../OpenApi/Model/OidcConnectionBase.php | 724 + .../OpenApi/Model/OidcConnectionRequest.php | 892 + .../Model/OidcConnectionRequestCore.php | 443 + .../OpenApi/Model/OidcConnectionResponse.php | 824 + .../Model/OidcConnectionResponseCore.php | 477 + .../OpenApi/Model/OneTouchLoginByEmail.php | 621 + .../OpenApi/Model/OneTouchLoginByPhone.php | 584 + .../OpenApi/Model/OneTouchLoginPhoneModel.php | 448 + .../OpenApi/Model/OrganizationBase.php | 520 + .../OpenApi/Model/OrganizationBaseDisplay.php | 445 + .../OrganizationConnectionCreateRequest.php | 1105 + .../Model/OrganizationConnectionRequest.php | 1096 + .../Model/OrganizationDomainRequest.php | 445 + .../Model/OrganizationUpdateRequest.php | 643 + .../Model/OrganizationsConnectionBase.php | 479 + .../OrganizationsConnectionBaseAttributes.php | 582 + .../Model/OrganizationsConnectionSamlBase.php | 588 + ...ationsConnectionSamlBaseIDPCertificate.php | 480 + .../Model/OrganizationsDomainsResponse.php | 547 + .../OrganizationsDomainsResponseCore.php | 479 + .../OpenApi/Model/OrganizationsPolicyBase.php | 582 + .../OrganizationsPolicyBaseJITPolicy.php | 419 + .../OrganizationsPolicyBaseMFAPolicy.php | 412 + .../OrganizationsPolicyBaseMemberPolicy.php | 412 + .../OrganizationsPolicyBasePasswordPolicy.php | 616 + .../OrganizationsPolicyBaseSessionPolicy.php | 446 + .../OpenApi/Model/OrganizationsResponse.php | 738 + .../Model/OrganizationsResponseCore.php | 629 + src/Internal/OpenApi/Model/PARRequest.php | 1245 + src/Internal/OpenApi/Model/PARResponse.php | 451 + src/Internal/OpenApi/Model/PINLoginModel.php | 578 + src/Internal/OpenApi/Model/PINModel.php | 414 + src/Internal/OpenApi/Model/PassKeyConfig.php | 773 + .../PasskeyCredentialAssertionResponse.php | 626 + ...keyCredentialAssertionResponseResponse.php | 523 + .../PasskeyCredentialCreationResponse.php | 660 + ...CreationResponseClientExtensionResults.php | 412 + ...esponseClientExtensionResultsCredProps.php | 412 + ...skeyCredentialCreationResponseResponse.php | 516 + .../OpenApi/Model/PasskeyCredentialObject.php | 514 + src/Internal/OpenApi/Model/PasskeyForgot.php | 576 + .../Model/PasskeyForgot200Response.php | 411 + .../OpenApi/Model/PasskeyForgotCore.php | 411 + .../OpenApi/Model/PasskeyListResponse.php | 412 + .../Model/PasskeyLoginAutofillRequest.php | 617 + .../Model/PasskeyLoginAutofillRequestCore.php | 452 + .../OpenApi/Model/PasskeyLoginFinish.php | 650 + .../OpenApi/Model/PasskeyLoginFinishCore.php | 487 + .../OpenApi/Model/PasskeyRegisterFinish.php | 3981 ++ .../Model/PasskeyRegisterFinishCore.php | 411 + .../OpenApi/Model/PasswordEncryptionModel.php | 1186 + .../Model/PasswordLessEmailOTPModel.php | 690 + .../Model/PasswordLessEmailOTPModelCore.php | 526 + .../Model/PasswordLessUserNameOTPModel.php | 690 + .../PasswordLessUserNameOTPModelCore.php | 526 + src/Internal/OpenApi/Model/PasswordModel.php | 414 + src/Internal/OpenApi/Model/PasswordPolicy.php | 741 + .../OpenApi/Model/PasswordReauthRequest.php | 616 + .../Model/PasswordReauthRequestCore.php | 452 + .../OpenApi/Model/PasswordResponse.php | 418 + ...sswordlessEmailVerification200Response.php | 1235 + .../Model/PerfectMindContactResponse.php | 445 + .../Model/PerfectMindSessionResponse.php | 479 + src/Internal/OpenApi/Model/Permission.php | 547 + .../OpenApi/Model/PermissionPutRequest.php | 485 + src/Internal/OpenApi/Model/Permissions.php | 581 + .../OpenApi/Model/Permissions200Response.php | 411 + .../OpenApi/Model/PermissionsPostRequest.php | 482 + src/Internal/OpenApi/Model/PhoneIdModel.php | 415 + .../OpenApi/Model/PhoneIdModelOptional.php | 412 + src/Internal/OpenApi/Model/PhoneModel.php | 414 + src/Internal/OpenApi/Model/PhoneOTPModel.php | 649 + .../OpenApi/Model/PhoneOTPModelCore.php | 485 + .../OpenApi/Model/PinReauthRequest.php | 414 + .../Model/PrivacyPolicyHistoryResponse.php | 500 + .../PrivacyPolicyHistoryResponseCurrent.php | 501 + ...ivacyPolicyHistoryResponseHistoryInner.php | 500 + src/Internal/OpenApi/Model/Profile.php | 6234 ++ .../OpenApi/Model/ProfileAddressesInner.php | 683 + .../OpenApi/Model/ProfileAgeRange.php | 445 + .../OpenApi/Model/ProfileAwardsInner.php | 479 + .../OpenApi/Model/ProfileBadgesInner.php | 547 + .../OpenApi/Model/ProfileBooksInner.php | 513 + .../Model/ProfileCertificationsInner.php | 581 + .../OpenApi/Model/ProfileConsentProfile.php | 460 + ...entProfileAcceptedConsentVersionsInner.php | 479 + .../ProfileConsentProfileConsentsInner.php | 452 + src/Internal/OpenApi/Model/ProfileCountry.php | 445 + .../OpenApi/Model/ProfileCoursesInner.php | 479 + .../Model/ProfileCurrentStatusInner.php | 513 + .../OpenApi/Model/ProfileEducationsInner.php | 683 + .../OpenApi/Model/ProfileEmailInner.php | 445 + .../OpenApi/Model/ProfileExternalIdsInner.php | 479 + .../OpenApi/Model/ProfileFamilyInner.php | 479 + .../Model/ProfileFavoriteThingsInner.php | 479 + .../OpenApi/Model/ProfileGamesInner.php | 513 + .../OpenApi/Model/ProfileIMAccountsInner.php | 445 + .../Model/ProfileInspirationalPeopleInner.php | 445 + .../OpenApi/Model/ProfileInterestsInner.php | 445 + .../Model/ProfileJobBookmarksInner.php | 547 + .../Model/ProfileJobBookmarksInnerJob.php | 513 + .../OpenApi/Model/ProfileKloutScore.php | 445 + .../OpenApi/Model/ProfileLanguagesInner.php | 479 + .../Model/ProfileMemberUrlResourcesInner.php | 445 + .../OpenApi/Model/ProfileMoviesInner.php | 479 + .../Model/ProfileMutualFriendsInner.php | 649 + .../Model/ProfileOrganizationsInner.php | 479 + src/Internal/OpenApi/Model/ProfilePIN.php | 568 + .../OpenApi/Model/ProfilePasskeyLogin.php | 487 + .../OpenApi/Model/ProfilePatentsInner.php | 479 + .../Model/ProfilePhoneNumbersInner.php | 479 + .../OpenApi/Model/ProfilePlacesLivedInner.php | 479 + .../OpenApi/Model/ProfilePositionsInner.php | 615 + .../Model/ProfilePositionsInnerCompany.php | 479 + .../OpenApi/Model/ProfilePrivacyPolicy.php | 479 + .../OpenApi/Model/ProfileProjectsInner.php | 581 + .../Model/ProfileProviderAccessCredential.php | 446 + .../Model/ProfilePublicationsInner.php | 622 + .../ProfilePublicationsInnerAuthorsInner.php | 445 + .../ProfileRecommendationsReceivedInner.php | 513 + .../OpenApi/Model/ProfileRegistrationData.php | 419 + .../ProfileRegistrationDataDataInner.php | 445 + .../ProfileRegistrationDataDataInnerValue.php | 411 + .../Model/ProfileRelatedProfileViewsInner.php | 479 + .../OpenApi/Model/ProfileRequestEmailOnly.php | 3947 ++ .../OpenApi/Model/ProfileRequestModel.php | 4226 ++ .../ProfileRequestModelAddressesInner.php | 717 + .../Model/ProfileRequestModelAwardsInner.php | 479 + .../Model/ProfileRequestModelBadgesInner.php | 615 + .../Model/ProfileRequestModelBooksInner.php | 513 + .../Model/ProfileRequestModelCaptchaModel.php | 445 + ...ProfileRequestModelCertificationsInner.php | 581 + .../Model/ProfileRequestModelConsents.php | 445 + .../ProfileRequestModelConsentsDataInner.php | 445 + ...ProfileRequestModelConsentsEventsInner.php | 445 + .../Model/ProfileRequestModelCountry.php | 445 + .../Model/ProfileRequestModelCoursesInner.php | 479 + .../ProfileRequestModelCurrentStatusInner.php | 513 + .../ProfileRequestModelEducationsInner.php | 683 + .../Model/ProfileRequestModelEmailInner.php | 445 + .../ProfileRequestModelExternalIdsInner.php | 479 + .../Model/ProfileRequestModelFamilyInner.php | 479 + ...ProfileRequestModelFavoriteThingsInner.php | 479 + .../Model/ProfileRequestModelGamesInner.php | 513 + .../ProfileRequestModelIMAccountsInner.php | 445 + ...leRequestModelInspirationalPeopleInner.php | 445 + .../ProfileRequestModelInterestsInner.php | 445 + .../ProfileRequestModelJobBookmarksInner.php | 547 + ...rofileRequestModelJobBookmarksInnerJob.php | 581 + ...equestModelJobBookmarksInnerJobCompony.php | 445 + ...questModelJobBookmarksInnerJobPosition.php | 411 + .../ProfileRequestModelLanguagesInner.php | 513 + ...ileRequestModelMemberUrlResourcesInner.php | 445 + .../Model/ProfileRequestModelMoviesInner.php | 513 + .../ProfileRequestModelMutualFriendsInner.php | 649 + .../Model/ProfileRequestModelPINInfo.php | 445 + .../Model/ProfileRequestModelPatentsInner.php | 479 + .../ProfileRequestModelPhoneNumbersInner.php | 479 + .../ProfileRequestModelPlacesLivedInner.php | 479 + .../ProfileRequestModelPositionsInner.php | 588 + ...ofileRequestModelPositionsInnerCompany.php | 479 + .../ProfileRequestModelPrivacyPolicy.php | 411 + .../ProfileRequestModelProjectsInner.php | 615 + ...fileRequestModelProjectsInnerWithInner.php | 445 + ...leRequestModelProviderAccessCredential.php | 479 + .../ProfileRequestModelPublicationsInner.php | 615 + ...uestModelPublicationsInnerAuthorsInner.php | 445 + ...questModelRecommendationsReceivedInner.php | 513 + ...leRequestModelRelatedProfileViewsInner.php | 479 + .../Model/ProfileRequestModelSkillsInner.php | 445 + .../Model/ProfileRequestModelSportsInner.php | 445 + .../Model/ProfileRequestModelSubscription.php | 547 + ...rofileRequestModelSubscriptionAgeRange.php | 445 + .../Model/ProfileRequestModelSuggestions.php | 513 + ...ModelSuggestionsCompaniesToFollowInner.php | 445 + ...odelSuggestionsIndustriesToFollowInner.php | 445 + ...odelSuggestionsNewssourceToFollowInner.php | 445 + ...estModelSuggestionsPeopleToFollowInner.php | 445 + ...ProfileRequestModelTeleVisionShowInner.php | 513 + .../ProfileRequestModelVolunteerInner.php | 513 + .../OpenApi/Model/ProfileSkillsInner.php | 445 + .../OpenApi/Model/ProfileSportsInner.php | 445 + .../OpenApi/Model/ProfileSubscription.php | 513 + .../OpenApi/Model/ProfileSuggestions.php | 513 + ...ofileSuggestionsCompaniesToFollowInner.php | 459 + ...fileSuggestionsIndustriesToFollowInner.php | 459 + ...fileSuggestionsNewssourceToFollowInner.php | 459 + .../ProfileSuggestionsPeopleToFollowInner.php | 459 + .../Model/ProfileTelevisionShowInner.php | 513 + .../Model/ProfileUnverifiedEmailInner.php | 445 + .../OpenApi/Model/ProfileVolunteerInner.php | 513 + .../Model/ProfileWithoutIdentities.php | 5430 ++ ...ProfileWithoutIdentitiesAddressesInner.php | 717 + .../ProfileWithoutIdentitiesAwardsInner.php | 479 + .../ProfileWithoutIdentitiesBadgesInner.php | 615 + .../ProfileWithoutIdentitiesBooksInner.php | 513 + ...leWithoutIdentitiesCertificationsInner.php | 581 + ...ProfileWithoutIdentitiesConsentProfile.php | 445 + ...entProfileAcceptedConsentVersionsInner.php | 479 + ...tIdentitiesConsentProfileConsentsInner.php | 445 + .../ProfileWithoutIdentitiesCoursesInner.php | 479 + ...ileWithoutIdentitiesCurrentStatusInner.php | 513 + ...rofileWithoutIdentitiesEducationsInner.php | 683 + ...ofileWithoutIdentitiesExternalIdsInner.php | 479 + ...leWithoutIdentitiesFavoriteThingsInner.php | 479 + .../ProfileWithoutIdentitiesGamesInner.php | 513 + ...rofileWithoutIdentitiesIMAccountsInner.php | 445 + ...houtIdentitiesInspirationalPeopleInner.php | 445 + ...ProfileWithoutIdentitiesInterestsInner.php | 445 + ...fileWithoutIdentitiesJobBookmarksInner.php | 547 + ...eWithoutIdentitiesJobBookmarksInnerJob.php | 581 + ...tIdentitiesJobBookmarksInnerJobCompony.php | 445 + ...IdentitiesJobBookmarksInnerJobPosition.php | 411 + .../ProfileWithoutIdentitiesKloutScore.php | 445 + ...ProfileWithoutIdentitiesLanguagesInner.php | 513 + ...thoutIdentitiesMemberUrlResourcesInner.php | 445 + .../ProfileWithoutIdentitiesMoviesInner.php | 445 + ...ileWithoutIdentitiesMutualFriendsInner.php | 649 + ...ileWithoutIdentitiesOrganizationsInner.php | 479 + .../Model/ProfileWithoutIdentitiesPIN.php | 615 + .../ProfileWithoutIdentitiesPasskeyLogin.php | 479 + .../ProfileWithoutIdentitiesPatentsInner.php | 479 + ...fileWithoutIdentitiesPhoneNumbersInner.php | 479 + ...ofileWithoutIdentitiesPlacesLivedInner.php | 479 + ...ProfileWithoutIdentitiesPositionsInner.php | 581 + ...WithoutIdentitiesPositionsInnerCompany.php | 479 + .../ProfileWithoutIdentitiesPrivacyPolicy.php | 479 + .../ProfileWithoutIdentitiesProjectsInner.php | 615 + ...ithoutIdentitiesProjectsInnerWithInner.php | 445 + ...houtIdentitiesProviderAccessCredential.php | 445 + ...fileWithoutIdentitiesPublicationsInner.php | 615 + ...dentitiesPublicationsInnerAuthorsInner.php | 445 + ...IdentitiesRecommendationsReceivedInner.php | 513 + ...ofileWithoutIdentitiesRegistrationData.php | 411 + ...outIdentitiesRegistrationDataDataInner.php | 445 + ...entitiesRegistrationDataDataInnerValue.php | 411 + ...houtIdentitiesRelatedProfileViewsInner.php | 479 + .../ProfileWithoutIdentitiesSkillsInner.php | 445 + .../ProfileWithoutIdentitiesSubscription.php | 513 + .../ProfileWithoutIdentitiesSuggestions.php | 513 + ...itiesSuggestionsCompaniesToFollowInner.php | 445 + ...tiesSuggestionsIndustriesToFollowInner.php | 445 + ...tiesSuggestionsNewssourceToFollowInner.php | 445 + ...entitiesSuggestionsPeopleToFollowInner.php | 445 + ...leWithoutIdentitiesTelevisionShowInner.php | 513 + ...eWithoutIdentitiesUnverifiedEmailInner.php | 445 + src/Internal/OpenApi/Model/Provider.php | 445 + .../OpenApi/Model/ProviderConfigOptions.php | 629 + .../OpenApi/Model/ProviderStatusList.php | 411 + .../OpenApi/Model/ProviderStatusModel.php | 451 + .../PublicKeyCredentialCreationOptions.php | 734 + ...lCreationOptionsAuthenticatorSelection.php | 620 + ...CreationOptionsExcludeCredentialsInner.php | 549 + ...KeyCredentialCreationOptionsExtensions.php | 446 + ...alCreationOptionsPubKeyCredParamsInner.php | 483 + .../PublicKeyCredentialCreationOptionsRp.php | 486 + ...PublicKeyCredentialCreationOptionsUser.php | 523 + .../PublicKeyCredentialRequestOptions.php | 630 + ...ialRequestOptionsAllowCredentialsInner.php | 485 + ...cKeyCredentialRequestOptionsExtensions.php | 446 + .../OpenApi/Model/PushAuthenticator.php | 683 + src/Internal/OpenApi/Model/PushDevice.php | 547 + .../OpenApi/Model/QRCodeMapToToken.php | 446 + .../Model/QRCodeMapToTokenResponse.php | 412 + src/Internal/OpenApi/Model/QRCodeResponse.php | 412 + src/Internal/OpenApi/Model/QueryGroup.php | 494 + src/Internal/OpenApi/Model/QueryRule.php | 520 + src/Internal/OpenApi/Model/RaasConfig.php | 663 + src/Internal/OpenApi/Model/RaasConfigData.php | 704 + .../OpenApi/Model/RaasCustomField.php | 459 + .../OpenApi/Model/RaasCustomFieldModel.php | 436 + src/Internal/OpenApi/Model/RaasOptions.php | 459 + src/Internal/OpenApi/Model/RangeObj.php | 480 + src/Internal/OpenApi/Model/RangeObjFrom.php | 384 + src/Internal/OpenApi/Model/RangeObjTo.php | 384 + .../OpenApi/Model/ReAuthModelByEmailOtp.php | 451 + src/Internal/OpenApi/Model/ReAuthResponse.php | 451 + .../OpenApi/Model/ReAuthTwoFAModel.php | 711 + .../OpenApi/Model/ReAuthTwoFAModelCore.php | 547 + .../OpenApi/Model/RegistrationResponse.php | 445 + ...eRoleContextAdditionalPermissionsModel.php | 414 + .../Model/RemoveRoleContextRoleModel.php | 414 + src/Internal/OpenApi/Model/RequestPayload.php | 480 + .../OpenApi/Model/ResendInvitation.php | 411 + src/Internal/OpenApi/Model/ResetPINByOTP.php | 717 + .../OpenApi/Model/ResetPINByToken.php | 451 + src/Internal/OpenApi/Model/ResetPassword.php | 835 + .../Model/ResetPasswordByEmailOtpCore.php | 597 + .../Model/ResetPasswordByResetTokenCore.php | 560 + .../Model/ResetPasswordBySecurityAnswer.php | 621 + .../Model/ResetPasswordByUsernameOtpCore.php | 597 + .../OpenApi/Model/ResetPasswordOneOf.php | 724 + .../OpenApi/Model/ResetPasswordOneOf1.php | 761 + .../OpenApi/Model/ResetPasswordOneOf2.php | 761 + .../OpenApi/Model/ResetPasswordResponse.php | 445 + .../OpenApi/Model/ResetPasswordWithOTP.php | 788 + .../Model/ResetPasswordWithOTPCore.php | 625 + .../RestoreWorkflowVersion200Response.php | 411 + src/Internal/OpenApi/Model/Role.php | 683 + .../OpenApi/Model/RoleByName200Response.php | 411 + src/Internal/OpenApi/Model/RoleContext.php | 520 + .../OpenApi/Model/RoleContextBody.php | 520 + .../OpenApi/Model/RoleContextBodyModel.php | 529 + .../OpenApi/Model/RoleContextProfileModel.php | 649 + .../Model/RoleContextProfileResponseModel.php | 414 + .../Model/RoleContextResponseModal.php | 414 + .../OpenApi/Model/RolePostRequest.php | 482 + .../OpenApi/Model/RolesPutRequest.php | 488 + .../Model/SAMLConnectionCreateRequest.php | 766 + src/Internal/OpenApi/Model/SMSResponse.php | 451 + .../OpenApi/Model/SMSResponseData.php | 456 + .../OpenApi/Model/SamlConnectionRequest.php | 757 + .../Model/SamlConnectionRequestCore.php | 485 + .../OpenApi/Model/SamlConnectionResponse.php | 873 + .../Model/SamlConnectionResponseCore.php | 662 + ...amlConnectionResponseCoreSPCertificate.php | 411 + .../OpenApi/Model/SamlIdpMetadataResponse.php | 514 + ...amlIdpMetadataResponseIDPSSODescriptor.php | 547 + ...seIDPSSODescriptorSigningKeyDescriptor.php | 445 + ...ODescriptorSigningKeyDescriptorKeyInfo.php | 411 + ...torSigningKeyDescriptorKeyInfoX509Data.php | 411 + ...scriptorKeyInfoX509DataX509Certificate.php | 411 + ...PSSODescriptorSingleLogoutServiceInner.php | 445 + ...PSSODescriptorSingleSignOnServiceInner.php | 445 + .../Model/SamlIntegrationCreateCore.php | 414 + .../OpenApi/Model/SamlIntegrationRequest.php | 891 + .../OpenApi/Model/SamlIntegrationResponse.php | 1091 + ...rationResponseAssertionConsumerService.php | 479 + ...SamlIntegrationResponseAttributesValue.php | 513 + .../SamlIntegrationResponseIdpCertificate.php | 445 + ...lIntegrationResponseIntegrationConfigs.php | 445 + .../SamlIntegrationResponseSpCertificate.php | 411 + src/Internal/OpenApi/Model/SamlSpConfig.php | 1099 + .../OpenApi/Model/SamlSpConfigModel.php | 806 + .../Model/SecondFactorAuthentication.php | 683 + .../Model/SecondFactorAuthenticationCore.php | 411 + ...dFactorAuthenticationPasskeyCredential.php | 479 + .../SecondFactorAuthenticationPushDevice.php | 479 + .../Model/SecondFactorAuthenticator.php | 486 + .../OpenApi/Model/SecurityQuestion.php | 445 + .../OpenApi/Model/SecurityQuestionInput.php | 414 + .../OpenApi/Model/SecurityQuestions.php | 445 + .../OpenApi/Model/SecurityQuestionsRender.php | 430 + .../Model/SendEmailVerificationResponse.php | 445 + src/Internal/OpenApi/Model/SendInvitation.php | 525 + .../Model/SetCustomField200Response.php | 411 + .../OpenApi/Model/SetCustomFieldRequest.php | 420 + .../Model/SetProvidersOrderRequest.php | 411 + .../Model/SetProvidersStatus200Response.php | 411 + .../OpenApi/Model/SetUserNameRequest.php | 415 + .../OpenApi/Model/ShopifyLoginUrlResponse.php | 411 + .../Model/SimpleUserProfileResponse.php | 615 + src/Internal/OpenApi/Model/SmsTemplate.php | 584 + src/Internal/OpenApi/Model/SocialIdentity.php | 4656 ++ .../Model/SocialIdentityAddressesInner.php | 717 + .../OpenApi/Model/SocialIdentityAgeRange.php | 445 + .../Model/SocialIdentityAwardsInner.php | 479 + .../Model/SocialIdentityBadgesInner.php | 615 + .../Model/SocialIdentityBooksInner.php | 513 + .../SocialIdentityCertificationsInner.php | 581 + .../OpenApi/Model/SocialIdentityCountry.php | 445 + .../Model/SocialIdentityCoursesInner.php | 479 + .../SocialIdentityCurrentStatusInner.php | 513 + .../Model/SocialIdentityEducationsInner.php | 683 + .../Model/SocialIdentityEmailInner.php | 445 + .../Model/SocialIdentityFamilyInner.php | 479 + .../SocialIdentityFavoriteThingsInner.php | 479 + .../Model/SocialIdentityGamesInner.php | 513 + .../Model/SocialIdentityIMAccountsInner.php | 445 + ...SocialIdentityInspirationalPeopleInner.php | 445 + .../Model/SocialIdentityInterestsInner.php | 445 + .../Model/SocialIdentityJobBookmarksInner.php | 554 + .../SocialIdentityJobBookmarksInnerJob.php | 595 + ...ialIdentityJobBookmarksInnerJobCompony.php | 445 + ...alIdentityJobBookmarksInnerJobPosition.php | 411 + .../Model/SocialIdentityKloutScore.php | 445 + .../Model/SocialIdentityLanguagesInner.php | 513 + .../SocialIdentityMemberUrlResourcesInner.php | 445 + .../Model/SocialIdentityMoviesInner.php | 445 + .../SocialIdentityMutualFriendsInner.php | 649 + .../Model/SocialIdentityPatentsInner.php | 479 + .../Model/SocialIdentityPhoneNumbersInner.php | 479 + .../Model/SocialIdentityPlacesLivedInner.php | 479 + .../Model/SocialIdentityPositionsInner.php | 629 + .../SocialIdentityPositionsInnerCompany.php | 479 + .../Model/SocialIdentityProjectsInner.php | 622 + .../SocialIdentityProjectsInnerWithInner.php | 445 + ...SocialIdentityProviderAccessCredential.php | 445 + .../Model/SocialIdentityPublicationsInner.php | 622 + ...lIdentityPublicationsInnerAuthorsInner.php | 445 + ...alIdentityRecommendationsReceivedInner.php | 513 + ...SocialIdentityRelatedProfileViewsInner.php | 479 + .../Model/SocialIdentitySkillsInner.php | 445 + .../Model/SocialIdentitySportsInner.php | 445 + .../Model/SocialIdentitySubscription.php | 513 + .../Model/SocialIdentitySuggestions.php | 418 + .../SocialIdentityTelevisionShowInner.php | 513 + .../Model/SocialIdentityVolunteerInner.php | 513 + src/Internal/OpenApi/Model/SottGenerate.php | 482 + .../OpenApi/Model/SottGenerateTechnology.php | 519 + .../Model/SottGenerateTechnologyCore.php | 414 + src/Internal/OpenApi/Model/SottList.php | 581 + src/Internal/OpenApi/Model/SottResponse.php | 615 + src/Internal/OpenApi/Model/Technology.php | 77 + src/Internal/OpenApi/Model/TenantRole.php | 649 + .../OpenApi/Model/TwoFAAuthByBackupCode.php | 414 + .../Model/TwoFAAuthBySecQuesAuthModel.php | 414 + ...esAuthModelSecurityquestionanswerInner.php | 451 + .../Model/TwoFactorAuthenticationSettings.php | 991 + .../TwoFactorAuthenticationTokenObject.php | 1059 + ...TwoFactorAuthenticationTokenObjectCore.php | 445 + .../Model/UnlinkSocialIdentityRequest.php | 486 + .../Model/UnlockAccountRequestCore.php | 414 + .../UnlockaccountbyaccesstokenRequest.php | 578 + .../UpdateAccountByAccessTokenRequest.php | 4260 ++ .../OpenApi/Model/UpdateByTokenResponse.php | 445 + .../OpenApi/Model/UpdateEmail200Response.php | 581 + .../OpenApi/Model/UpdateEmailRequest.php | 748 + .../OpenApi/Model/UpdateEmailTemplate.php | 723 + .../UpdateInvitationByInvitationIdRequest.php | 445 + .../Model/UpdateRoleContextBodyModel.php | 414 + .../OpenApi/Model/UpdateSmsTemplateModel.php | 513 + .../OpenApi/Model/UpdateWorkflowConfig.php | 583 + .../OpenApi/Model/UpsertEmailModel.php | 414 + .../Model/UpsertEmailModelEmailInner.php | 445 + src/Internal/OpenApi/Model/UserProfile.php | 5918 ++ .../OpenApi/Model/UserProfileAddresses.php | 384 + .../OpenApi/Model/UserProfileAgeRange.php | 384 + .../OpenApi/Model/UserProfileAwards.php | 384 + .../OpenApi/Model/UserProfileBadges.php | 384 + .../OpenApi/Model/UserProfileBooks.php | 384 + .../Model/UserProfileCertifications.php | 384 + .../OpenApi/Model/UserProfileCountry.php | 384 + .../OpenApi/Model/UserProfileCourses.php | 384 + .../OpenApi/Model/UserProfileCoverPhoto.php | 384 + .../Model/UserProfileCurrentStatus.php | 384 + .../OpenApi/Model/UserProfileCustomFields.php | 384 + .../OpenApi/Model/UserProfileEducations.php | 384 + .../OpenApi/Model/UserProfileEmail.php | 384 + .../OpenApi/Model/UserProfileExternalIds.php | 384 + .../OpenApi/Model/UserProfileFamily.php | 384 + .../OpenApi/Model/UserProfileFavicon.php | 384 + .../Model/UserProfileFavoriteThings.php | 384 + .../OpenApi/Model/UserProfileGames.php | 384 + .../OpenApi/Model/UserProfileGistsUrl.php | 384 + .../Model/UserProfileGravatarImageUrl.php | 384 + .../Model/UserProfileHttpsImageUrl.php | 384 + .../OpenApi/Model/UserProfileIMAccounts.php | 384 + .../OpenApi/Model/UserProfileImageUrl.php | 384 + .../Model/UserProfileInspirationalPeople.php | 384 + .../OpenApi/Model/UserProfileInterests.php | 384 + .../OpenApi/Model/UserProfileJobBookmarks.php | 384 + .../OpenApi/Model/UserProfileKloutScore.php | 384 + .../Model/UserProfileKnownLoginVariables.php | 384 + .../OpenApi/Model/UserProfileLanguages.php | 384 + .../Model/UserProfileMemberUrlResources.php | 384 + .../OpenApi/Model/UserProfileMovies.php | 384 + .../Model/UserProfileMutualFriends.php | 384 + .../OpenApi/Model/UserProfileNextResponse.php | 452 + ...serProfileNextResponseWithCustomObject.php | 452 + .../OpenApi/Model/UserProfilePatents.php | 384 + .../OpenApi/Model/UserProfilePhoneNumbers.php | 384 + .../OpenApi/Model/UserProfilePlacesLived.php | 384 + .../OpenApi/Model/UserProfilePositions.php | 384 + .../Model/UserProfilePrivacyPolicy.php | 384 + .../Model/UserProfileProfileImageUrls.php | 384 + .../OpenApi/Model/UserProfileProfileUrl.php | 384 + .../OpenApi/Model/UserProfileProjects.php | 384 + .../Model/UserProfilePublicRepository.php | 384 + .../OpenApi/Model/UserProfilePublications.php | 384 + .../UserProfileRecommendationsReceived.php | 384 + .../Model/UserProfileRelatedProfileViews.php | 384 + .../Model/UserProfileRepositoryUrl.php | 384 + .../OpenApi/Model/UserProfileRequestBody.php | 529 + .../OpenApi/Model/UserProfileResponse.php | 445 + .../OpenApi/Model/UserProfileRoleContext.php | 384 + .../Model/UserProfileScrollResponse.php | 479 + ...rProfileScrollResponseWithCustomObject.php | 479 + .../OpenApi/Model/UserProfileSignupLog.php | 384 + .../OpenApi/Model/UserProfileSkills.php | 384 + .../OpenApi/Model/UserProfileSports.php | 384 + .../OpenApi/Model/UserProfileStarredUrl.php | 384 + .../OpenApi/Model/UserProfileSubscription.php | 384 + .../OpenApi/Model/UserProfileSuggestions.php | 384 + .../Model/UserProfileTeleVisionShow.php | 384 + .../Model/UserProfileUnverifiedEmail.php | 384 + .../OpenApi/Model/UserProfileUserAgent.php | 384 + .../OpenApi/Model/UserProfileVolunteer.php | 384 + .../OpenApi/Model/UserProfileWebProfiles.php | 384 + ...onByReCaptchaEmailPhoneUserNameRequest.php | 4390 ++ src/Internal/OpenApi/Model/UserRole.php | 581 + .../OpenApi/Model/UserRolePutRequest.php | 414 + src/Internal/OpenApi/Model/UserRolesModel.php | 411 + src/Internal/OpenApi/Model/UsernameModel.php | 414 + .../Model/VerificationLinkResponse.php | 445 + src/Internal/OpenApi/Model/VerifyConsent.php | 445 + .../OpenApi/Model/VerifyDeleteAccountOtp.php | 628 + .../OpenApi/Model/VerifyEmailModel.php | 584 + .../OpenApi/Model/VerifyOtpPhoneModel.php | 584 + .../Model/VerifyPhoneOtp200Response.php | 547 + .../OpenApi/Model/VersionListResponse.php | 411 + .../Model/VersionListResponseDataInner.php | 445 + .../OpenApi/Model/WebhookAuthentication.php | 513 + src/Internal/OpenApi/Model/WebhookEvents.php | 184 + .../OpenApi/Model/WebhookSubscription.php | 751 + .../Model/WebhookSubscriptionCreateModel.php | 743 + .../Model/WebhookSubscriptionResponse.php | 411 + .../Model/WebhookSubscriptionUpdateModel.php | 625 + src/Internal/OpenApi/Model/WorkflowConfig.php | 581 + .../Model/WorkflowConfigWithoutData.php | 547 + src/Internal/OpenApi/Model/WorkflowData.php | 615 + .../Model/WorkflowDataInnerNodesValue.php | 588 + ...rkflowDataInnerNodesValueFormnodeprops.php | 513 + ...nerNodesValueFormnodepropsChoicesInner.php | 445 + .../OpenApi/Model/WorkflowDataNodesValue.php | 581 + .../WorkflowDataNodesValueNodesInner.php | 588 + ...wDataNodesValueNodesInnerFormnodeprops.php | 513 + ...lueNodesInnerFormnodepropsChoicesInner.php | 445 + .../OpenApi/Model/WorkflowDataTree.php | 445 + .../Model/WorkflowDataTreeNodesValue.php | 479 + src/Internal/OpenApi/ObjectSerializer.php | 627 + src/Internal/OpenApi/README.md | 6 + src/LoginRadiusException.php | 215 + .../Clients/DefaultHttpClient.php | 265 - .../Clients/IHttpClientInterface.php | 23 - .../Account/AccountAPI.php | 622 - .../CustomerRegistration/Account/RoleAPI.php | 286 - .../CustomerRegistration/Account/SottAPI.php | 44 - .../Advanced/ConfigurationAPI.php | 57 - .../Advanced/ConsentManagementAPI.php | 160 - .../Advanced/CustomObjectAPI.php | 294 - .../Advanced/MultiFactorAuthenticationAPI.php | 975 - .../Advanced/ReAuthenticationAPI.php | 305 - .../Advanced/WebHookAPI.php | 130 - .../Authentication/AuthenticationAPI.php | 1090 - .../Authentication/OneTouchLoginAPI.php | 162 - .../Authentication/PINAuthenticationAPI.php | 307 - .../Authentication/PasswordLessLoginAPI.php | 215 - .../Authentication/PhoneAuthenticationAPI.php | 363 - .../RiskBasedAuthenticationAPI.php | 296 - .../Authentication/SlidingTokenAPI.php | 44 - .../Authentication/SmartLoginAPI.php | 151 - .../Social/NativeSocialAPI.php | 277 - .../CustomerRegistration/Social/SocialAPI.php | 184 - src/LoginRadiusSDK/LoginRadiusException.php | 43 - src/LoginRadiusSDK/Utility/Functions.php | 292 - src/LoginRadiusSDK/Utility/SOTT.php | 135 - src/Signing.php | 123 + src/Sott.php | 124 + src/Version.php | 26 + tests/AuthenticatingClientTest.php | 179 + tests/ClientTest.php | 50 + tests/ConfigTest.php | 97 + tests/LoginRadiusExceptionTest.php | 101 + tests/SigningTest.php | 90 + tests/SottTest.php | 94 + 1053 files changed, 773891 insertions(+), 15631 deletions(-) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 .php-cs-fixer.dist.php delete mode 100644 CONTRIBUTING.md create mode 100644 LoginRadius-Public-APIs.yaml create mode 100644 MIGRATION_GUIDE.md create mode 100644 demo/Demo.php create mode 100644 demo/DemoHandlers.php create mode 100644 demo/DemoRoutes.php create mode 100644 demo/DemoSessions.php create mode 100644 demo/ExtendedRoutes.php delete mode 100644 demo/README.md delete mode 100644 demo/ajax_handler/.htaccess delete mode 100644 demo/ajax_handler/config.php delete mode 100644 demo/ajax_handler/index.php delete mode 100644 demo/ajax_handler/login.php delete mode 100644 demo/ajax_handler/profile.php delete mode 100644 demo/css/style.css delete mode 100644 demo/emailverification.html delete mode 100644 demo/icons/icon-sprite-32.png delete mode 100644 demo/index.html create mode 100644 demo/index.php delete mode 100644 demo/js/LoginRadiusLoginScreen.1.0.0.js delete mode 100644 demo/js/emailVerification.js delete mode 100644 demo/js/indexControl.js delete mode 100644 demo/js/indexView.js delete mode 100644 demo/js/jquery-3.6.0.min.js delete mode 100644 demo/js/loginScreen.js delete mode 100644 demo/js/options.js delete mode 100644 demo/js/profileControl.js delete mode 100644 demo/js/profileView.js delete mode 100644 demo/js/resetPassword.js delete mode 100644 demo/loginscreen.html delete mode 100644 demo/logo-white.png delete mode 100644 demo/lr-logo.png delete mode 100644 demo/profile.html delete mode 100644 demo/resetpassword.html delete mode 100644 demo/user-blank.png create mode 100644 demo/wwwroot/demo.css create mode 100644 demo/wwwroot/index.html create mode 100644 docs/API.md create mode 100644 docs/apis/account-custom-object.md create mode 100644 docs/apis/account-security.md create mode 100644 docs/apis/account-session.md create mode 100644 docs/apis/accounts.md create mode 100644 docs/apis/bigcommerce-sso.md create mode 100644 docs/apis/captcha-configuration.md create mode 100644 docs/apis/consent.md create mode 100644 docs/apis/cross-device-sso.md create mode 100644 docs/apis/custom-fields.md create mode 100644 docs/apis/custom-object.md create mode 100644 docs/apis/custom-objects.md create mode 100644 docs/apis/domain-access-restrictions.md create mode 100644 docs/apis/email-templates.md create mode 100644 docs/apis/identity.md create mode 100644 docs/apis/insights.md create mode 100644 docs/apis/ip-access-restrictions.md create mode 100644 docs/apis/jwt-custom-providers.md create mode 100644 docs/apis/jwt-integrations.md create mode 100644 docs/apis/jwt.md create mode 100644 docs/apis/login.md create mode 100644 docs/apis/multipurpose-tokens.md create mode 100644 docs/apis/oauth-clients.md create mode 100644 docs/apis/oauth-custom-providers.md create mode 100644 docs/apis/oauth-integrations.md create mode 100644 docs/apis/oauth-m2m.md create mode 100644 docs/apis/oauth.md create mode 100644 docs/apis/oidc.md create mode 100644 docs/apis/organization-connection-group-roles.md create mode 100644 docs/apis/organization-connections.md create mode 100644 docs/apis/organization-domains.md create mode 100644 docs/apis/organization-invitations.md create mode 100644 docs/apis/organization-user-roles.md create mode 100644 docs/apis/organization.md create mode 100644 docs/apis/passkey-configuration.md create mode 100644 docs/apis/password-policy.md create mode 100644 docs/apis/password.md create mode 100644 docs/apis/perfectmind-sso.md create mode 100644 docs/apis/permissions.md create mode 100644 docs/apis/push-notification-configuration.md create mode 100644 docs/apis/registration.md create mode 100644 docs/apis/roles-management.md create mode 100644 docs/apis/roles.md create mode 100644 docs/apis/saml-custom-providers.md create mode 100644 docs/apis/saml-integrations.md create mode 100644 docs/apis/saml.md create mode 100644 docs/apis/second-factor-configuration.md create mode 100644 docs/apis/security-questions.md create mode 100644 docs/apis/security.md create mode 100644 docs/apis/session.md create mode 100644 docs/apis/shopify-sso.md create mode 100644 docs/apis/sms-templates.md create mode 100644 docs/apis/social-providers.md create mode 100644 docs/apis/sott.md create mode 100644 docs/apis/user-migration.md create mode 100644 docs/apis/user.md create mode 100644 docs/apis/webhooks.md create mode 100644 docs/apis/workflows.md create mode 100644 phpunit.xml.dist create mode 100644 src/AuthenticatingClient.php create mode 100644 src/Client.php create mode 100644 src/Config.php create mode 100644 src/Internal/OpenApi/Api/AccountCustomObjectApi.php create mode 100644 src/Internal/OpenApi/Api/AccountSecurityApi.php create mode 100644 src/Internal/OpenApi/Api/AccountSessionApi.php create mode 100644 src/Internal/OpenApi/Api/AccountsApi.php create mode 100644 src/Internal/OpenApi/Api/BigCommerceSSOApi.php create mode 100644 src/Internal/OpenApi/Api/CaptchaConfigurationApi.php create mode 100644 src/Internal/OpenApi/Api/ConsentApi.php create mode 100644 src/Internal/OpenApi/Api/CrossDeviceSSOApi.php create mode 100644 src/Internal/OpenApi/Api/CustomFieldsApi.php create mode 100644 src/Internal/OpenApi/Api/CustomObjectApi.php create mode 100644 src/Internal/OpenApi/Api/CustomObjectsApi.php create mode 100644 src/Internal/OpenApi/Api/DomainAccessRestrictionsApi.php create mode 100644 src/Internal/OpenApi/Api/EmailTemplatesApi.php create mode 100644 src/Internal/OpenApi/Api/IPAccessRestrictionsApi.php create mode 100644 src/Internal/OpenApi/Api/IdentityApi.php create mode 100644 src/Internal/OpenApi/Api/InsightsApi.php create mode 100644 src/Internal/OpenApi/Api/JWTApi.php create mode 100644 src/Internal/OpenApi/Api/JWTCustomProvidersApi.php create mode 100644 src/Internal/OpenApi/Api/JWTIntegrationsApi.php create mode 100644 src/Internal/OpenApi/Api/LoginApi.php create mode 100644 src/Internal/OpenApi/Api/MultipurposeTokensApi.php create mode 100644 src/Internal/OpenApi/Api/OAuthApi.php create mode 100644 src/Internal/OpenApi/Api/OAuthClientsApi.php create mode 100644 src/Internal/OpenApi/Api/OAuthCustomProvidersApi.php create mode 100644 src/Internal/OpenApi/Api/OAuthIntegrationsApi.php create mode 100644 src/Internal/OpenApi/Api/OAuthM2MApi.php create mode 100644 src/Internal/OpenApi/Api/OIDCApi.php create mode 100644 src/Internal/OpenApi/Api/OrganizationApi.php create mode 100644 src/Internal/OpenApi/Api/OrganizationConnectionGroupRolesApi.php create mode 100644 src/Internal/OpenApi/Api/OrganizationConnectionsApi.php create mode 100644 src/Internal/OpenApi/Api/OrganizationDomainsApi.php create mode 100644 src/Internal/OpenApi/Api/OrganizationInvitationsApi.php create mode 100644 src/Internal/OpenApi/Api/OrganizationUserRolesApi.php create mode 100644 src/Internal/OpenApi/Api/PasskeyConfigurationApi.php create mode 100644 src/Internal/OpenApi/Api/PasswordApi.php create mode 100644 src/Internal/OpenApi/Api/PasswordPolicyApi.php create mode 100644 src/Internal/OpenApi/Api/PerfectMindSSOApi.php create mode 100644 src/Internal/OpenApi/Api/PermissionsApi.php create mode 100644 src/Internal/OpenApi/Api/PushNotificationConfigurationApi.php create mode 100644 src/Internal/OpenApi/Api/RegistrationApi.php create mode 100644 src/Internal/OpenApi/Api/RolesApi.php create mode 100644 src/Internal/OpenApi/Api/RolesManagementApi.php create mode 100644 src/Internal/OpenApi/Api/SAMLApi.php create mode 100644 src/Internal/OpenApi/Api/SAMLCustomProvidersApi.php create mode 100644 src/Internal/OpenApi/Api/SAMLIntegrationsApi.php create mode 100644 src/Internal/OpenApi/Api/SMSTemplatesApi.php create mode 100644 src/Internal/OpenApi/Api/SOTTApi.php create mode 100644 src/Internal/OpenApi/Api/SecondFactorConfigurationApi.php create mode 100644 src/Internal/OpenApi/Api/SecurityApi.php create mode 100644 src/Internal/OpenApi/Api/SecurityQuestionsApi.php create mode 100644 src/Internal/OpenApi/Api/SessionApi.php create mode 100644 src/Internal/OpenApi/Api/ShopifySSOApi.php create mode 100644 src/Internal/OpenApi/Api/SocialProvidersApi.php create mode 100644 src/Internal/OpenApi/Api/UserApi.php create mode 100644 src/Internal/OpenApi/Api/UserMigrationApi.php create mode 100644 src/Internal/OpenApi/Api/WebhooksApi.php create mode 100644 src/Internal/OpenApi/Api/WorkflowsApi.php create mode 100644 src/Internal/OpenApi/ApiException.php create mode 100644 src/Internal/OpenApi/Configuration.php create mode 100644 src/Internal/OpenApi/HeaderSelector.php create mode 100644 src/Internal/OpenApi/Model/AWSPushConfig.php create mode 100644 src/Internal/OpenApi/Model/AccessToken.php create mode 100644 src/Internal/OpenApi/Model/AccessTokenByPingQRCodeResponse.php create mode 100644 src/Internal/OpenApi/Model/AccessTokenInBody.php create mode 100644 src/Internal/OpenApi/Model/AccessTokenInfo.php create mode 100644 src/Internal/OpenApi/Model/AccessTokenResponse.php create mode 100644 src/Internal/OpenApi/Model/AccessTokenSessionToken.php create mode 100644 src/Internal/OpenApi/Model/AccountRegisterMFAPasskeyFinishRequest.php create mode 100644 src/Internal/OpenApi/Model/ActiveSession.php create mode 100644 src/Internal/OpenApi/Model/ActiveSessionResponse.php create mode 100644 src/Internal/OpenApi/Model/AddEmailModel.php create mode 100644 src/Internal/OpenApi/Model/AddEmailModelManage.php create mode 100644 src/Internal/OpenApi/Model/AddOrganizationDomainRequest.php create mode 100644 src/Internal/OpenApi/Model/AddPhoneModel.php create mode 100644 src/Internal/OpenApi/Model/AddWorkflowConfig.php create mode 100644 src/Internal/OpenApi/Model/Aggregation.php create mode 100644 src/Internal/OpenApi/Model/AggregationObj.php create mode 100644 src/Internal/OpenApi/Model/AggregationObjInterval.php create mode 100644 src/Internal/OpenApi/Model/AndroidPushConfig.php create mode 100644 src/Internal/OpenApi/Model/ApiError.php create mode 100644 src/Internal/OpenApi/Model/AppProvider.php create mode 100644 src/Internal/OpenApi/Model/AppleSecretConfiguration.php create mode 100644 src/Internal/OpenApi/Model/AuthResponse.php create mode 100644 src/Internal/OpenApi/Model/AuthResponseEmailVerification.php create mode 100644 src/Internal/OpenApi/Model/AuthResponseEmailVerificationData.php create mode 100644 src/Internal/OpenApi/Model/AuthResponseForgotReset.php create mode 100644 src/Internal/OpenApi/Model/AuthResponseOptionalMfa.php create mode 100644 src/Internal/OpenApi/Model/AuthResponseRequiredMfa.php create mode 100644 src/Internal/OpenApi/Model/AuthResponseRequiredMfaCore.php create mode 100644 src/Internal/OpenApi/Model/AuthResponseWithoutIdentites.php create mode 100644 src/Internal/OpenApi/Model/AuthenticatorCodeRequest.php create mode 100644 src/Internal/OpenApi/Model/BasicAuthWebhook.php create mode 100644 src/Internal/OpenApi/Model/BatchUpload.php create mode 100644 src/Internal/OpenApi/Model/BatchUploadErrorResponse.php create mode 100644 src/Internal/OpenApi/Model/BatchUploadErrorResponseErrorsInner.php create mode 100644 src/Internal/OpenApi/Model/BatchUploadResponse.php create mode 100644 src/Internal/OpenApi/Model/Bearertoken.php create mode 100644 src/Internal/OpenApi/Model/BeginMFAPasskeyRegistration200Response.php create mode 100644 src/Internal/OpenApi/Model/BeginMFAPasskeyRegistration200ResponseRegisterBeginCredential.php create mode 100644 src/Internal/OpenApi/Model/BeginPasskeyLogin200Response.php create mode 100644 src/Internal/OpenApi/Model/BeginPasskeyLogin200ResponseLoginBeginCredential.php create mode 100644 src/Internal/OpenApi/Model/BeginPasskeyMFAVerification200Response.php create mode 100644 src/Internal/OpenApi/Model/BeginPasskeyMFAVerification200ResponseLoginBeginCredential.php create mode 100644 src/Internal/OpenApi/Model/BeginPasskeyRegistration200Response.php create mode 100644 src/Internal/OpenApi/Model/BeginPasskeyRegistration200ResponseRegisterBeginCredential.php create mode 100644 src/Internal/OpenApi/Model/BeginPasskeyReset200Response.php create mode 100644 src/Internal/OpenApi/Model/BigCommerceLoginUrlResponse.php create mode 100644 src/Internal/OpenApi/Model/BigCommerceTokenPostRequest.php create mode 100644 src/Internal/OpenApi/Model/BigCommerceValidatePasswordRequest.php create mode 100644 src/Internal/OpenApi/Model/BigCommerceValidatePasswordResponse.php create mode 100644 src/Internal/OpenApi/Model/BulkInsertErrorReport.php create mode 100644 src/Internal/OpenApi/Model/BulkInsertReport.php create mode 100644 src/Internal/OpenApi/Model/CandidateTokenModel.php create mode 100644 src/Internal/OpenApi/Model/CaptchaConfig.php create mode 100644 src/Internal/OpenApi/Model/CaptchaKeys.php create mode 100644 src/Internal/OpenApi/Model/CaptchaModel.php create mode 100644 src/Internal/OpenApi/Model/CertificateWithoutKey.php create mode 100644 src/Internal/OpenApi/Model/Certificates.php create mode 100644 src/Internal/OpenApi/Model/ChangePassword.php create mode 100644 src/Internal/OpenApi/Model/ChangePasswordCore.php create mode 100644 src/Internal/OpenApi/Model/ChangePin.php create mode 100644 src/Internal/OpenApi/Model/ChangePinCore.php create mode 100644 src/Internal/OpenApi/Model/CheckEmailAvailability200Response.php create mode 100644 src/Internal/OpenApi/Model/CheckUserNameAvailability200Response.php create mode 100644 src/Internal/OpenApi/Model/ClientGuidBodyModel.php create mode 100644 src/Internal/OpenApi/Model/ConnectionGroupRoleRequest.php create mode 100644 src/Internal/OpenApi/Model/ConnectionGroupRoleResponse.php create mode 100644 src/Internal/OpenApi/Model/ConnectionGroupRoleResponseCore.php create mode 100644 src/Internal/OpenApi/Model/ConnectionResponse.php create mode 100644 src/Internal/OpenApi/Model/ConnectionResponseCore.php create mode 100644 src/Internal/OpenApi/Model/ConnectionResponseVariant.php create mode 100644 src/Internal/OpenApi/Model/ConnectionStatusRequest.php create mode 100644 src/Internal/OpenApi/Model/ConnectionStatusResponse.php create mode 100644 src/Internal/OpenApi/Model/ConsentData.php create mode 100644 src/Internal/OpenApi/Model/ConsentEvent.php create mode 100644 src/Internal/OpenApi/Model/ConsentForm.php create mode 100644 src/Internal/OpenApi/Model/ConsentFormEvent.php create mode 100644 src/Internal/OpenApi/Model/ConsentFormModel.php create mode 100644 src/Internal/OpenApi/Model/ConsentFormOption.php create mode 100644 src/Internal/OpenApi/Model/ConsentFormOptions.php create mode 100644 src/Internal/OpenApi/Model/ConsentLog.php create mode 100644 src/Internal/OpenApi/Model/ConsentLogsResponse.php create mode 100644 src/Internal/OpenApi/Model/ConsentOption.php create mode 100644 src/Internal/OpenApi/Model/ConsentOptionModel.php create mode 100644 src/Internal/OpenApi/Model/ConsentOptions.php create mode 100644 src/Internal/OpenApi/Model/ConsentProfile.php create mode 100644 src/Internal/OpenApi/Model/ConsentProfileLog.php create mode 100644 src/Internal/OpenApi/Model/ConsentResponse.php create mode 100644 src/Internal/OpenApi/Model/ConsentSubmit.php create mode 100644 src/Internal/OpenApi/Model/ConsentUpdate.php create mode 100644 src/Internal/OpenApi/Model/ConsentVersion.php create mode 100644 src/Internal/OpenApi/Model/CreateConnectionGroupRoleRequest.php create mode 100644 src/Internal/OpenApi/Model/CreateJwtIntegrationRequest.php create mode 100644 src/Internal/OpenApi/Model/CreateJwtSPClientConfigurationRequest.php create mode 100644 src/Internal/OpenApi/Model/CreateOAuthClientConfigurationRequest.php create mode 100644 src/Internal/OpenApi/Model/CreateOAuthIntegrationRequest.php create mode 100644 src/Internal/OpenApi/Model/CreateOrganizationRequest.php create mode 100644 src/Internal/OpenApi/Model/CreateSamlIntegrationRequest.php create mode 100644 src/Internal/OpenApi/Model/CredentialObj.php create mode 100644 src/Internal/OpenApi/Model/CustomFieldLimitResponse.php create mode 100644 src/Internal/OpenApi/Model/CustomOAuth2DeleteModel.php create mode 100644 src/Internal/OpenApi/Model/CustomOAuth2Model.php create mode 100644 src/Internal/OpenApi/Model/CustomOAuth2UpdateModel.php create mode 100644 src/Internal/OpenApi/Model/CustomObjectResponseModel.php create mode 100644 src/Internal/OpenApi/Model/CustomObjectsResponseModel.php create mode 100644 src/Internal/OpenApi/Model/CustomProviderKeys.php create mode 100644 src/Internal/OpenApi/Model/DefaultResponse.php create mode 100644 src/Internal/OpenApi/Model/DeleteEmailRequest.php create mode 100644 src/Internal/OpenApi/Model/DeleteEmailTemplate.php create mode 100644 src/Internal/OpenApi/Model/DeleteResponse.php create mode 100644 src/Internal/OpenApi/Model/DeleteSmsTemplateModel.php create mode 100644 src/Internal/OpenApi/Model/DeleteUserModel.php create mode 100644 src/Internal/OpenApi/Model/DeleteemailbyaccesstokenRequest.php create mode 100644 src/Internal/OpenApi/Model/DeltaMigrationModel.php create mode 100644 src/Internal/OpenApi/Model/DomainAccessRestrictions.php create mode 100644 src/Internal/OpenApi/Model/DuoSecurityAuthenticator.php create mode 100644 src/Internal/OpenApi/Model/DuoVerifyRequest.php create mode 100644 src/Internal/OpenApi/Model/DynamicClientRegistrationRequest.php create mode 100644 src/Internal/OpenApi/Model/DynamicClientRegistrationResponse.php create mode 100644 src/Internal/OpenApi/Model/Email.php create mode 100644 src/Internal/OpenApi/Model/EmailByLoginUserNamePhone200Response.php create mode 100644 src/Internal/OpenApi/Model/EmailByLoginUserNamePhoneRequest.php create mode 100644 src/Internal/OpenApi/Model/EmailModel.php create mode 100644 src/Internal/OpenApi/Model/EmailModelManage.php create mode 100644 src/Internal/OpenApi/Model/EmailOTPStatus.php create mode 100644 src/Internal/OpenApi/Model/EmailTemplateModel.php create mode 100644 src/Internal/OpenApi/Model/EmailTemplateResponse.php create mode 100644 src/Internal/OpenApi/Model/EmailToValidateServerSide.php create mode 100644 src/Internal/OpenApi/Model/EmailUserNameModel.php create mode 100644 src/Internal/OpenApi/Model/EmailVerificationOrForgotPINModel.php create mode 100644 src/Internal/OpenApi/Model/ErrorResponse.php create mode 100644 src/Internal/OpenApi/Model/ErrorResponseNative.php create mode 100644 src/Internal/OpenApi/Model/EventBasedSecondFactorToken.php create mode 100644 src/Internal/OpenApi/Model/ExtendUserProfileWithCustomObject.php create mode 100644 src/Internal/OpenApi/Model/ExtendUserProfileWithCustomObjectCore.php create mode 100644 src/Internal/OpenApi/Model/FinishMFAPasskeyRegistrationRequest.php create mode 100644 src/Internal/OpenApi/Model/FinishPasskeyMFAVerificationRequest.php create mode 100644 src/Internal/OpenApi/Model/ForgotPasswordOrPasswordLessLoginOrAutoLoginModel.php create mode 100644 src/Internal/OpenApi/Model/ForgotPasswordPhoneModel.php create mode 100644 src/Internal/OpenApi/Model/ForgotPasswordRequest.php create mode 100644 src/Internal/OpenApi/Model/ForgotPasswordTokenAndEmailRequest.php create mode 100644 src/Internal/OpenApi/Model/ForgotPasswordTokenModel.php create mode 100644 src/Internal/OpenApi/Model/ForgotPinByEmail.php create mode 100644 src/Internal/OpenApi/Model/ForgotPinByPhone.php create mode 100644 src/Internal/OpenApi/Model/ForgotPinByUsername.php create mode 100644 src/Internal/OpenApi/Model/GenerateSottResponse.php create mode 100644 src/Internal/OpenApi/Model/GenerateTokenResponse.php create mode 100644 src/Internal/OpenApi/Model/GenericSecondFactorAuthentication.php create mode 100644 src/Internal/OpenApi/Model/GetAllConnectionGroupRoles200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllCustomFields200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllCustomOAuthProviders200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllJwtConfigSPConfigurations200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllJwtIntegrations200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllOAuthClientsConfigurations200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllOAuthIntegrations200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllOrganizationConnections200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllOrganizationDomains200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllOrganizations200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllProviderConfigurations200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllSAMLSPClientConfigurations200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllSOTT200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllSamlIntegrations200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllTenantRoles200Response.php create mode 100644 src/Internal/OpenApi/Model/GetAllWorkflows200Response.php create mode 100644 src/Internal/OpenApi/Model/GetConsentForms200Response.php create mode 100644 src/Internal/OpenApi/Model/GetConsentOptions200Response.php create mode 100644 src/Internal/OpenApi/Model/GetCustomProviderKeys200Response.php create mode 100644 src/Internal/OpenApi/Model/GetEmailTemplates200Response.php create mode 100644 src/Internal/OpenApi/Model/GetInvitationsByOrgId200Response.php create mode 100644 src/Internal/OpenApi/Model/GetJWTTokenByLoginCredentialsRequest.php create mode 100644 src/Internal/OpenApi/Model/GetJwtIntegrationSupportedAlgoList200Response.php create mode 100644 src/Internal/OpenApi/Model/GetOAuthClientConnectionsMetadata200Response.php create mode 100644 src/Internal/OpenApi/Model/GetOAuthTokensRequest.php create mode 100644 src/Internal/OpenApi/Model/GetOrgContextByUid200Response.php create mode 100644 src/Internal/OpenApi/Model/GetSamlSPClientMappingKeys200Response.php create mode 100644 src/Internal/OpenApi/Model/GetSecurityQuestions200Response.php create mode 100644 src/Internal/OpenApi/Model/GetSmsTemplates200Response.php create mode 100644 src/Internal/OpenApi/Model/GoogleAuthenticator.php create mode 100644 src/Internal/OpenApi/Model/GoogleRecaptchaV3.php create mode 100644 src/Internal/OpenApi/Model/GoogleRecaptchaV3Core.php create mode 100644 src/Internal/OpenApi/Model/HCaptcha.php create mode 100644 src/Internal/OpenApi/Model/HCaptchaCore.php create mode 100644 src/Internal/OpenApi/Model/IOSPushConfig.php create mode 100644 src/Internal/OpenApi/Model/IPAccessRestrictions.php create mode 100644 src/Internal/OpenApi/Model/IdentitiesResponse.php create mode 100644 src/Internal/OpenApi/Model/Identity.php create mode 100644 src/Internal/OpenApi/Model/IdentityPasskeyLogin.php create mode 100644 src/Internal/OpenApi/Model/IdentityProvider.php create mode 100644 src/Internal/OpenApi/Model/IdentityQuery.php create mode 100644 src/Internal/OpenApi/Model/IdentityResponseWithSocialWithoutLogins.php create mode 100644 src/Internal/OpenApi/Model/IdentityResponseWithSocialWithoutLoginsCore.php create mode 100644 src/Internal/OpenApi/Model/InsightsResponse.php create mode 100644 src/Internal/OpenApi/Model/Invitation.php create mode 100644 src/Internal/OpenApi/Model/InvitationToken.php create mode 100644 src/Internal/OpenApi/Model/IsDeleteRequestAccepted.php create mode 100644 src/Internal/OpenApi/Model/IsDeleted.php create mode 100644 src/Internal/OpenApi/Model/IsDeletedResponseWithCount.php create mode 100644 src/Internal/OpenApi/Model/IsExist.php create mode 100644 src/Internal/OpenApi/Model/IsPostedResponse.php create mode 100644 src/Internal/OpenApi/Model/IsPostedVerified.php create mode 100644 src/Internal/OpenApi/Model/IsRegistered.php create mode 100644 src/Internal/OpenApi/Model/IsValid.php create mode 100644 src/Internal/OpenApi/Model/JWKSResponse.php create mode 100644 src/Internal/OpenApi/Model/JWKSResponseKeysInner.php create mode 100644 src/Internal/OpenApi/Model/JWTSignature.php create mode 100644 src/Internal/OpenApi/Model/JwtAudienceValidation.php create mode 100644 src/Internal/OpenApi/Model/JwtClaimAudienceProperty.php create mode 100644 src/Internal/OpenApi/Model/JwtClaimMandatory.php create mode 100644 src/Internal/OpenApi/Model/JwtClaimSubjectProperty.php create mode 100644 src/Internal/OpenApi/Model/JwtIntegrationBaseModel.php create mode 100644 src/Internal/OpenApi/Model/JwtIntegrationCreateCore.php create mode 100644 src/Internal/OpenApi/Model/JwtIntegrationRequest.php create mode 100644 src/Internal/OpenApi/Model/JwtIntegrationRequestCore.php create mode 100644 src/Internal/OpenApi/Model/JwtIntegrationResponse.php create mode 100644 src/Internal/OpenApi/Model/JwtIntegrationResponseCore.php create mode 100644 src/Internal/OpenApi/Model/JwtIssuerValidation.php create mode 100644 src/Internal/OpenApi/Model/JwtSpConfig.php create mode 100644 src/Internal/OpenApi/Model/JwtSpConfigBaseModel.php create mode 100644 src/Internal/OpenApi/Model/JwtSpConfigCreateCore.php create mode 100644 src/Internal/OpenApi/Model/JwtValidation.php create mode 100644 src/Internal/OpenApi/Model/LoginByEmail.php create mode 100644 src/Internal/OpenApi/Model/LoginByEmailRequest.php create mode 100644 src/Internal/OpenApi/Model/LoginByEmailRequestCore.php create mode 100644 src/Internal/OpenApi/Model/LoginByPhone.php create mode 100644 src/Internal/OpenApi/Model/LoginByPhoneCore.php create mode 100644 src/Internal/OpenApi/Model/LoginByUserName.php create mode 100644 src/Internal/OpenApi/Model/LoginByUsernameRequest.php create mode 100644 src/Internal/OpenApi/Model/LoginByUsernameRequestCore.php create mode 100644 src/Internal/OpenApi/Model/MFABackUpCodeResponse.php create mode 100644 src/Internal/OpenApi/Model/MFAPhoneUpdateModel.php create mode 100644 src/Internal/OpenApi/Model/MFASettings.php create mode 100644 src/Internal/OpenApi/Model/MFAVerifyPhoneOtpModel.php create mode 100644 src/Internal/OpenApi/Model/MFAVerifyPhoneOtpModelCore.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModel.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelAddressesInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelAgeRange.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelBadgesInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelBooksInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelCertificationsInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelConsents.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelConsentsDataInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelConsentsEventsInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelCountry.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelCoursesInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelEducationsInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelEmailInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelFamilyInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelFavoriteThingsInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelGamesInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelJobBookmarksInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelJobBookmarksInnerJob.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelLanguagesInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelMemberUrlResourcesInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelMoviesInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelMutualFriendsInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelPINInfo.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelPatentsInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelPlacesLivedInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelPositionsInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelPrivacyPolicy.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelProjectsInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelProviderAccessCredential.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelPublicationsInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelPublicationsInnerAuthorsInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelRecommendationsReceivedInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelRelatedProfileViewsInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelSubscription.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelSuggestions.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelSuggestionsCompaniesToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelSuggestionsIndustriesToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelSuggestionsNewssourceToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelSuggestionsPeopleToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelTelevisionShowInner.php create mode 100644 src/Internal/OpenApi/Model/ManageRegisterModelVolunteerInner.php create mode 100644 src/Internal/OpenApi/Model/ModelInterface.php create mode 100644 src/Internal/OpenApi/Model/MultipurposeEmailTokenAPIRequest.php create mode 100644 src/Internal/OpenApi/Model/MultipurposeSmsOtpAPIRequest.php create mode 100644 src/Internal/OpenApi/Model/OAuth2Provider.php create mode 100644 src/Internal/OpenApi/Model/OAuthAuthorizationCodeFlow.php create mode 100644 src/Internal/OpenApi/Model/OAuthAuthorizationCodePKCEFlow.php create mode 100644 src/Internal/OpenApi/Model/OAuthAuthorizationServerMetadata.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientCreateCore.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientRequest.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientRequestBackChannelLogout.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientRequestConnections.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientRequestConnectionsCustomIdpInner.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientRequestDeviceCodeConfig.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientRequestJwtTokenConfig.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientResponse.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientResponseBackChannelLogout.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientResponseBackChannelLogoutLogoutInitiator.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientResponseBackChannelLogoutLogoutInitiatorIntiators.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientResponseConnections.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientResponseDeviceCodeConfig.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientResponseJwtTokenConfig.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientResponseRefreshTokenRotation.php create mode 100644 src/Internal/OpenApi/Model/OAuthClientSecretResetResponse.php create mode 100644 src/Internal/OpenApi/Model/OAuthDeviceCode.php create mode 100644 src/Internal/OpenApi/Model/OAuthDeviceCodeFlow.php create mode 100644 src/Internal/OpenApi/Model/OAuthDeviceCodeResponse.php create mode 100644 src/Internal/OpenApi/Model/OAuthDynamicClientRequest.php create mode 100644 src/Internal/OpenApi/Model/OAuthDynamicClientResponse.php create mode 100644 src/Internal/OpenApi/Model/OAuthDynamicClientResponseCore.php create mode 100644 src/Internal/OpenApi/Model/OAuthErrorResponse.php create mode 100644 src/Internal/OpenApi/Model/OAuthIntegrationBaseModel.php create mode 100644 src/Internal/OpenApi/Model/OAuthIntegrationBaseModelConnections.php create mode 100644 src/Internal/OpenApi/Model/OAuthIntegrationBaseModelConnectionsCustomIdpInner.php create mode 100644 src/Internal/OpenApi/Model/OAuthIntegrationBaseModelConnectionsEnterpriseInner.php create mode 100644 src/Internal/OpenApi/Model/OAuthIntegrationBaseModelConnectionsPasswordLessLogin.php create mode 100644 src/Internal/OpenApi/Model/OAuthIntegrationBaseModelConnectionsSocialLoginsInner.php create mode 100644 src/Internal/OpenApi/Model/OAuthIntegrationCreateCore.php create mode 100644 src/Internal/OpenApi/Model/OAuthIntegrationCredentialsResponse.php create mode 100644 src/Internal/OpenApi/Model/OAuthIntegrationResponse.php create mode 100644 src/Internal/OpenApi/Model/OAuthIntegrationResponseCore.php create mode 100644 src/Internal/OpenApi/Model/OAuthLoginRadiusTokenExchangeFlow.php create mode 100644 src/Internal/OpenApi/Model/OAuthM2MIntrospectResponse.php create mode 100644 src/Internal/OpenApi/Model/OAuthM2MTokenGenerate.php create mode 100644 src/Internal/OpenApi/Model/OAuthM2MTokenIntrospect.php create mode 100644 src/Internal/OpenApi/Model/OAuthM2MTokenResponse.php create mode 100644 src/Internal/OpenApi/Model/OAuthM2MTokenRevoke.php create mode 100644 src/Internal/OpenApi/Model/OAuthPasswordCredentialFlow.php create mode 100644 src/Internal/OpenApi/Model/OAuthRefreshTokenFlow.php create mode 100644 src/Internal/OpenApi/Model/OAuthRevokeRefreshToken.php create mode 100644 src/Internal/OpenApi/Model/OAuthTokenResponse.php create mode 100644 src/Internal/OpenApi/Model/OIDCConnectionCreateRequest.php create mode 100644 src/Internal/OpenApi/Model/OIDCDeviceCode.php create mode 100644 src/Internal/OpenApi/Model/OIDCDeviceCodeResponse.php create mode 100644 src/Internal/OpenApi/Model/OIDCDiscoveryResponse.php create mode 100644 src/Internal/OpenApi/Model/OIDCTokenIntrospectResponse.php create mode 100644 src/Internal/OpenApi/Model/OIDCTokenResponse.php create mode 100644 src/Internal/OpenApi/Model/OIDCUserinfo.php create mode 100644 src/Internal/OpenApi/Model/OidcConnectionBase.php create mode 100644 src/Internal/OpenApi/Model/OidcConnectionRequest.php create mode 100644 src/Internal/OpenApi/Model/OidcConnectionRequestCore.php create mode 100644 src/Internal/OpenApi/Model/OidcConnectionResponse.php create mode 100644 src/Internal/OpenApi/Model/OidcConnectionResponseCore.php create mode 100644 src/Internal/OpenApi/Model/OneTouchLoginByEmail.php create mode 100644 src/Internal/OpenApi/Model/OneTouchLoginByPhone.php create mode 100644 src/Internal/OpenApi/Model/OneTouchLoginPhoneModel.php create mode 100644 src/Internal/OpenApi/Model/OrganizationBase.php create mode 100644 src/Internal/OpenApi/Model/OrganizationBaseDisplay.php create mode 100644 src/Internal/OpenApi/Model/OrganizationConnectionCreateRequest.php create mode 100644 src/Internal/OpenApi/Model/OrganizationConnectionRequest.php create mode 100644 src/Internal/OpenApi/Model/OrganizationDomainRequest.php create mode 100644 src/Internal/OpenApi/Model/OrganizationUpdateRequest.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsConnectionBase.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsConnectionBaseAttributes.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsConnectionSamlBase.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsConnectionSamlBaseIDPCertificate.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsDomainsResponse.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsDomainsResponseCore.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsPolicyBase.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsPolicyBaseJITPolicy.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsPolicyBaseMFAPolicy.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsPolicyBaseMemberPolicy.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsPolicyBasePasswordPolicy.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsPolicyBaseSessionPolicy.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsResponse.php create mode 100644 src/Internal/OpenApi/Model/OrganizationsResponseCore.php create mode 100644 src/Internal/OpenApi/Model/PARRequest.php create mode 100644 src/Internal/OpenApi/Model/PARResponse.php create mode 100644 src/Internal/OpenApi/Model/PINLoginModel.php create mode 100644 src/Internal/OpenApi/Model/PINModel.php create mode 100644 src/Internal/OpenApi/Model/PassKeyConfig.php create mode 100644 src/Internal/OpenApi/Model/PasskeyCredentialAssertionResponse.php create mode 100644 src/Internal/OpenApi/Model/PasskeyCredentialAssertionResponseResponse.php create mode 100644 src/Internal/OpenApi/Model/PasskeyCredentialCreationResponse.php create mode 100644 src/Internal/OpenApi/Model/PasskeyCredentialCreationResponseClientExtensionResults.php create mode 100644 src/Internal/OpenApi/Model/PasskeyCredentialCreationResponseClientExtensionResultsCredProps.php create mode 100644 src/Internal/OpenApi/Model/PasskeyCredentialCreationResponseResponse.php create mode 100644 src/Internal/OpenApi/Model/PasskeyCredentialObject.php create mode 100644 src/Internal/OpenApi/Model/PasskeyForgot.php create mode 100644 src/Internal/OpenApi/Model/PasskeyForgot200Response.php create mode 100644 src/Internal/OpenApi/Model/PasskeyForgotCore.php create mode 100644 src/Internal/OpenApi/Model/PasskeyListResponse.php create mode 100644 src/Internal/OpenApi/Model/PasskeyLoginAutofillRequest.php create mode 100644 src/Internal/OpenApi/Model/PasskeyLoginAutofillRequestCore.php create mode 100644 src/Internal/OpenApi/Model/PasskeyLoginFinish.php create mode 100644 src/Internal/OpenApi/Model/PasskeyLoginFinishCore.php create mode 100644 src/Internal/OpenApi/Model/PasskeyRegisterFinish.php create mode 100644 src/Internal/OpenApi/Model/PasskeyRegisterFinishCore.php create mode 100644 src/Internal/OpenApi/Model/PasswordEncryptionModel.php create mode 100644 src/Internal/OpenApi/Model/PasswordLessEmailOTPModel.php create mode 100644 src/Internal/OpenApi/Model/PasswordLessEmailOTPModelCore.php create mode 100644 src/Internal/OpenApi/Model/PasswordLessUserNameOTPModel.php create mode 100644 src/Internal/OpenApi/Model/PasswordLessUserNameOTPModelCore.php create mode 100644 src/Internal/OpenApi/Model/PasswordModel.php create mode 100644 src/Internal/OpenApi/Model/PasswordPolicy.php create mode 100644 src/Internal/OpenApi/Model/PasswordReauthRequest.php create mode 100644 src/Internal/OpenApi/Model/PasswordReauthRequestCore.php create mode 100644 src/Internal/OpenApi/Model/PasswordResponse.php create mode 100644 src/Internal/OpenApi/Model/PasswordlessEmailVerification200Response.php create mode 100644 src/Internal/OpenApi/Model/PerfectMindContactResponse.php create mode 100644 src/Internal/OpenApi/Model/PerfectMindSessionResponse.php create mode 100644 src/Internal/OpenApi/Model/Permission.php create mode 100644 src/Internal/OpenApi/Model/PermissionPutRequest.php create mode 100644 src/Internal/OpenApi/Model/Permissions.php create mode 100644 src/Internal/OpenApi/Model/Permissions200Response.php create mode 100644 src/Internal/OpenApi/Model/PermissionsPostRequest.php create mode 100644 src/Internal/OpenApi/Model/PhoneIdModel.php create mode 100644 src/Internal/OpenApi/Model/PhoneIdModelOptional.php create mode 100644 src/Internal/OpenApi/Model/PhoneModel.php create mode 100644 src/Internal/OpenApi/Model/PhoneOTPModel.php create mode 100644 src/Internal/OpenApi/Model/PhoneOTPModelCore.php create mode 100644 src/Internal/OpenApi/Model/PinReauthRequest.php create mode 100644 src/Internal/OpenApi/Model/PrivacyPolicyHistoryResponse.php create mode 100644 src/Internal/OpenApi/Model/PrivacyPolicyHistoryResponseCurrent.php create mode 100644 src/Internal/OpenApi/Model/PrivacyPolicyHistoryResponseHistoryInner.php create mode 100644 src/Internal/OpenApi/Model/Profile.php create mode 100644 src/Internal/OpenApi/Model/ProfileAddressesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileAgeRange.php create mode 100644 src/Internal/OpenApi/Model/ProfileAwardsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileBadgesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileBooksInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileCertificationsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileConsentProfile.php create mode 100644 src/Internal/OpenApi/Model/ProfileConsentProfileAcceptedConsentVersionsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileConsentProfileConsentsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileCountry.php create mode 100644 src/Internal/OpenApi/Model/ProfileCoursesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileCurrentStatusInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileEducationsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileEmailInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileExternalIdsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileFamilyInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileFavoriteThingsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileGamesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileIMAccountsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileInspirationalPeopleInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileInterestsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileJobBookmarksInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileJobBookmarksInnerJob.php create mode 100644 src/Internal/OpenApi/Model/ProfileKloutScore.php create mode 100644 src/Internal/OpenApi/Model/ProfileLanguagesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileMemberUrlResourcesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileMoviesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileMutualFriendsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileOrganizationsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfilePIN.php create mode 100644 src/Internal/OpenApi/Model/ProfilePasskeyLogin.php create mode 100644 src/Internal/OpenApi/Model/ProfilePatentsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfilePhoneNumbersInner.php create mode 100644 src/Internal/OpenApi/Model/ProfilePlacesLivedInner.php create mode 100644 src/Internal/OpenApi/Model/ProfilePositionsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfilePositionsInnerCompany.php create mode 100644 src/Internal/OpenApi/Model/ProfilePrivacyPolicy.php create mode 100644 src/Internal/OpenApi/Model/ProfileProjectsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileProviderAccessCredential.php create mode 100644 src/Internal/OpenApi/Model/ProfilePublicationsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfilePublicationsInnerAuthorsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRecommendationsReceivedInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRegistrationData.php create mode 100644 src/Internal/OpenApi/Model/ProfileRegistrationDataDataInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRegistrationDataDataInnerValue.php create mode 100644 src/Internal/OpenApi/Model/ProfileRelatedProfileViewsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestEmailOnly.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModel.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelAddressesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelAwardsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelBadgesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelBooksInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelCaptchaModel.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelCertificationsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelConsents.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelConsentsDataInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelConsentsEventsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelCountry.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelCoursesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelCurrentStatusInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelEducationsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelEmailInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelExternalIdsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelFamilyInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelFavoriteThingsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelGamesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelIMAccountsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelInspirationalPeopleInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelInterestsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelJobBookmarksInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelJobBookmarksInnerJob.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelJobBookmarksInnerJobCompony.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelJobBookmarksInnerJobPosition.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelLanguagesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelMemberUrlResourcesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelMoviesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelMutualFriendsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelPINInfo.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelPatentsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelPhoneNumbersInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelPlacesLivedInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelPositionsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelPositionsInnerCompany.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelPrivacyPolicy.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelProjectsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelProjectsInnerWithInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelProviderAccessCredential.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelPublicationsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelPublicationsInnerAuthorsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelRecommendationsReceivedInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelRelatedProfileViewsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelSkillsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelSportsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelSubscription.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelSubscriptionAgeRange.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelSuggestions.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelSuggestionsCompaniesToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelSuggestionsIndustriesToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelSuggestionsNewssourceToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelSuggestionsPeopleToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelTeleVisionShowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileRequestModelVolunteerInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileSkillsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileSportsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileSubscription.php create mode 100644 src/Internal/OpenApi/Model/ProfileSuggestions.php create mode 100644 src/Internal/OpenApi/Model/ProfileSuggestionsCompaniesToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileSuggestionsIndustriesToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileSuggestionsNewssourceToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileSuggestionsPeopleToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileTelevisionShowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileUnverifiedEmailInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileVolunteerInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentities.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesAddressesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesAwardsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesBadgesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesBooksInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesCertificationsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesConsentProfile.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesConsentProfileAcceptedConsentVersionsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesConsentProfileConsentsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesCoursesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesCurrentStatusInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesEducationsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesExternalIdsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesFavoriteThingsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesGamesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesIMAccountsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesInspirationalPeopleInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesInterestsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesJobBookmarksInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesJobBookmarksInnerJob.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesJobBookmarksInnerJobCompony.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesJobBookmarksInnerJobPosition.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesKloutScore.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesLanguagesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesMemberUrlResourcesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesMoviesInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesMutualFriendsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesOrganizationsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesPIN.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesPasskeyLogin.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesPatentsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesPhoneNumbersInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesPlacesLivedInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesPositionsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesPositionsInnerCompany.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesPrivacyPolicy.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesProjectsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesProjectsInnerWithInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesProviderAccessCredential.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesPublicationsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesPublicationsInnerAuthorsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesRecommendationsReceivedInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesRegistrationData.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesRegistrationDataDataInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesRegistrationDataDataInnerValue.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesRelatedProfileViewsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesSkillsInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesSubscription.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesSuggestions.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesSuggestionsCompaniesToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesSuggestionsIndustriesToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesSuggestionsNewssourceToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesSuggestionsPeopleToFollowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesTelevisionShowInner.php create mode 100644 src/Internal/OpenApi/Model/ProfileWithoutIdentitiesUnverifiedEmailInner.php create mode 100644 src/Internal/OpenApi/Model/Provider.php create mode 100644 src/Internal/OpenApi/Model/ProviderConfigOptions.php create mode 100644 src/Internal/OpenApi/Model/ProviderStatusList.php create mode 100644 src/Internal/OpenApi/Model/ProviderStatusModel.php create mode 100644 src/Internal/OpenApi/Model/PublicKeyCredentialCreationOptions.php create mode 100644 src/Internal/OpenApi/Model/PublicKeyCredentialCreationOptionsAuthenticatorSelection.php create mode 100644 src/Internal/OpenApi/Model/PublicKeyCredentialCreationOptionsExcludeCredentialsInner.php create mode 100644 src/Internal/OpenApi/Model/PublicKeyCredentialCreationOptionsExtensions.php create mode 100644 src/Internal/OpenApi/Model/PublicKeyCredentialCreationOptionsPubKeyCredParamsInner.php create mode 100644 src/Internal/OpenApi/Model/PublicKeyCredentialCreationOptionsRp.php create mode 100644 src/Internal/OpenApi/Model/PublicKeyCredentialCreationOptionsUser.php create mode 100644 src/Internal/OpenApi/Model/PublicKeyCredentialRequestOptions.php create mode 100644 src/Internal/OpenApi/Model/PublicKeyCredentialRequestOptionsAllowCredentialsInner.php create mode 100644 src/Internal/OpenApi/Model/PublicKeyCredentialRequestOptionsExtensions.php create mode 100644 src/Internal/OpenApi/Model/PushAuthenticator.php create mode 100644 src/Internal/OpenApi/Model/PushDevice.php create mode 100644 src/Internal/OpenApi/Model/QRCodeMapToToken.php create mode 100644 src/Internal/OpenApi/Model/QRCodeMapToTokenResponse.php create mode 100644 src/Internal/OpenApi/Model/QRCodeResponse.php create mode 100644 src/Internal/OpenApi/Model/QueryGroup.php create mode 100644 src/Internal/OpenApi/Model/QueryRule.php create mode 100644 src/Internal/OpenApi/Model/RaasConfig.php create mode 100644 src/Internal/OpenApi/Model/RaasConfigData.php create mode 100644 src/Internal/OpenApi/Model/RaasCustomField.php create mode 100644 src/Internal/OpenApi/Model/RaasCustomFieldModel.php create mode 100644 src/Internal/OpenApi/Model/RaasOptions.php create mode 100644 src/Internal/OpenApi/Model/RangeObj.php create mode 100644 src/Internal/OpenApi/Model/RangeObjFrom.php create mode 100644 src/Internal/OpenApi/Model/RangeObjTo.php create mode 100644 src/Internal/OpenApi/Model/ReAuthModelByEmailOtp.php create mode 100644 src/Internal/OpenApi/Model/ReAuthResponse.php create mode 100644 src/Internal/OpenApi/Model/ReAuthTwoFAModel.php create mode 100644 src/Internal/OpenApi/Model/ReAuthTwoFAModelCore.php create mode 100644 src/Internal/OpenApi/Model/RegistrationResponse.php create mode 100644 src/Internal/OpenApi/Model/RemoveRoleContextAdditionalPermissionsModel.php create mode 100644 src/Internal/OpenApi/Model/RemoveRoleContextRoleModel.php create mode 100644 src/Internal/OpenApi/Model/RequestPayload.php create mode 100644 src/Internal/OpenApi/Model/ResendInvitation.php create mode 100644 src/Internal/OpenApi/Model/ResetPINByOTP.php create mode 100644 src/Internal/OpenApi/Model/ResetPINByToken.php create mode 100644 src/Internal/OpenApi/Model/ResetPassword.php create mode 100644 src/Internal/OpenApi/Model/ResetPasswordByEmailOtpCore.php create mode 100644 src/Internal/OpenApi/Model/ResetPasswordByResetTokenCore.php create mode 100644 src/Internal/OpenApi/Model/ResetPasswordBySecurityAnswer.php create mode 100644 src/Internal/OpenApi/Model/ResetPasswordByUsernameOtpCore.php create mode 100644 src/Internal/OpenApi/Model/ResetPasswordOneOf.php create mode 100644 src/Internal/OpenApi/Model/ResetPasswordOneOf1.php create mode 100644 src/Internal/OpenApi/Model/ResetPasswordOneOf2.php create mode 100644 src/Internal/OpenApi/Model/ResetPasswordResponse.php create mode 100644 src/Internal/OpenApi/Model/ResetPasswordWithOTP.php create mode 100644 src/Internal/OpenApi/Model/ResetPasswordWithOTPCore.php create mode 100644 src/Internal/OpenApi/Model/RestoreWorkflowVersion200Response.php create mode 100644 src/Internal/OpenApi/Model/Role.php create mode 100644 src/Internal/OpenApi/Model/RoleByName200Response.php create mode 100644 src/Internal/OpenApi/Model/RoleContext.php create mode 100644 src/Internal/OpenApi/Model/RoleContextBody.php create mode 100644 src/Internal/OpenApi/Model/RoleContextBodyModel.php create mode 100644 src/Internal/OpenApi/Model/RoleContextProfileModel.php create mode 100644 src/Internal/OpenApi/Model/RoleContextProfileResponseModel.php create mode 100644 src/Internal/OpenApi/Model/RoleContextResponseModal.php create mode 100644 src/Internal/OpenApi/Model/RolePostRequest.php create mode 100644 src/Internal/OpenApi/Model/RolesPutRequest.php create mode 100644 src/Internal/OpenApi/Model/SAMLConnectionCreateRequest.php create mode 100644 src/Internal/OpenApi/Model/SMSResponse.php create mode 100644 src/Internal/OpenApi/Model/SMSResponseData.php create mode 100644 src/Internal/OpenApi/Model/SamlConnectionRequest.php create mode 100644 src/Internal/OpenApi/Model/SamlConnectionRequestCore.php create mode 100644 src/Internal/OpenApi/Model/SamlConnectionResponse.php create mode 100644 src/Internal/OpenApi/Model/SamlConnectionResponseCore.php create mode 100644 src/Internal/OpenApi/Model/SamlConnectionResponseCoreSPCertificate.php create mode 100644 src/Internal/OpenApi/Model/SamlIdpMetadataResponse.php create mode 100644 src/Internal/OpenApi/Model/SamlIdpMetadataResponseIDPSSODescriptor.php create mode 100644 src/Internal/OpenApi/Model/SamlIdpMetadataResponseIDPSSODescriptorSigningKeyDescriptor.php create mode 100644 src/Internal/OpenApi/Model/SamlIdpMetadataResponseIDPSSODescriptorSigningKeyDescriptorKeyInfo.php create mode 100644 src/Internal/OpenApi/Model/SamlIdpMetadataResponseIDPSSODescriptorSigningKeyDescriptorKeyInfoX509Data.php create mode 100644 src/Internal/OpenApi/Model/SamlIdpMetadataResponseIDPSSODescriptorSigningKeyDescriptorKeyInfoX509DataX509Certificate.php create mode 100644 src/Internal/OpenApi/Model/SamlIdpMetadataResponseIDPSSODescriptorSingleLogoutServiceInner.php create mode 100644 src/Internal/OpenApi/Model/SamlIdpMetadataResponseIDPSSODescriptorSingleSignOnServiceInner.php create mode 100644 src/Internal/OpenApi/Model/SamlIntegrationCreateCore.php create mode 100644 src/Internal/OpenApi/Model/SamlIntegrationRequest.php create mode 100644 src/Internal/OpenApi/Model/SamlIntegrationResponse.php create mode 100644 src/Internal/OpenApi/Model/SamlIntegrationResponseAssertionConsumerService.php create mode 100644 src/Internal/OpenApi/Model/SamlIntegrationResponseAttributesValue.php create mode 100644 src/Internal/OpenApi/Model/SamlIntegrationResponseIdpCertificate.php create mode 100644 src/Internal/OpenApi/Model/SamlIntegrationResponseIntegrationConfigs.php create mode 100644 src/Internal/OpenApi/Model/SamlIntegrationResponseSpCertificate.php create mode 100644 src/Internal/OpenApi/Model/SamlSpConfig.php create mode 100644 src/Internal/OpenApi/Model/SamlSpConfigModel.php create mode 100644 src/Internal/OpenApi/Model/SecondFactorAuthentication.php create mode 100644 src/Internal/OpenApi/Model/SecondFactorAuthenticationCore.php create mode 100644 src/Internal/OpenApi/Model/SecondFactorAuthenticationPasskeyCredential.php create mode 100644 src/Internal/OpenApi/Model/SecondFactorAuthenticationPushDevice.php create mode 100644 src/Internal/OpenApi/Model/SecondFactorAuthenticator.php create mode 100644 src/Internal/OpenApi/Model/SecurityQuestion.php create mode 100644 src/Internal/OpenApi/Model/SecurityQuestionInput.php create mode 100644 src/Internal/OpenApi/Model/SecurityQuestions.php create mode 100644 src/Internal/OpenApi/Model/SecurityQuestionsRender.php create mode 100644 src/Internal/OpenApi/Model/SendEmailVerificationResponse.php create mode 100644 src/Internal/OpenApi/Model/SendInvitation.php create mode 100644 src/Internal/OpenApi/Model/SetCustomField200Response.php create mode 100644 src/Internal/OpenApi/Model/SetCustomFieldRequest.php create mode 100644 src/Internal/OpenApi/Model/SetProvidersOrderRequest.php create mode 100644 src/Internal/OpenApi/Model/SetProvidersStatus200Response.php create mode 100644 src/Internal/OpenApi/Model/SetUserNameRequest.php create mode 100644 src/Internal/OpenApi/Model/ShopifyLoginUrlResponse.php create mode 100644 src/Internal/OpenApi/Model/SimpleUserProfileResponse.php create mode 100644 src/Internal/OpenApi/Model/SmsTemplate.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentity.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityAddressesInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityAgeRange.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityAwardsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityBadgesInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityBooksInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityCertificationsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityCountry.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityCoursesInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityCurrentStatusInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityEducationsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityEmailInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityFamilyInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityFavoriteThingsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityGamesInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityIMAccountsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityInspirationalPeopleInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityInterestsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityJobBookmarksInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityJobBookmarksInnerJob.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityJobBookmarksInnerJobCompony.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityJobBookmarksInnerJobPosition.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityKloutScore.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityLanguagesInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityMemberUrlResourcesInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityMoviesInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityMutualFriendsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityPatentsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityPhoneNumbersInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityPlacesLivedInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityPositionsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityPositionsInnerCompany.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityProjectsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityProjectsInnerWithInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityProviderAccessCredential.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityPublicationsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityPublicationsInnerAuthorsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityRecommendationsReceivedInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityRelatedProfileViewsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentitySkillsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentitySportsInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentitySubscription.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentitySuggestions.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityTelevisionShowInner.php create mode 100644 src/Internal/OpenApi/Model/SocialIdentityVolunteerInner.php create mode 100644 src/Internal/OpenApi/Model/SottGenerate.php create mode 100644 src/Internal/OpenApi/Model/SottGenerateTechnology.php create mode 100644 src/Internal/OpenApi/Model/SottGenerateTechnologyCore.php create mode 100644 src/Internal/OpenApi/Model/SottList.php create mode 100644 src/Internal/OpenApi/Model/SottResponse.php create mode 100644 src/Internal/OpenApi/Model/Technology.php create mode 100644 src/Internal/OpenApi/Model/TenantRole.php create mode 100644 src/Internal/OpenApi/Model/TwoFAAuthByBackupCode.php create mode 100644 src/Internal/OpenApi/Model/TwoFAAuthBySecQuesAuthModel.php create mode 100644 src/Internal/OpenApi/Model/TwoFAAuthBySecQuesAuthModelSecurityquestionanswerInner.php create mode 100644 src/Internal/OpenApi/Model/TwoFactorAuthenticationSettings.php create mode 100644 src/Internal/OpenApi/Model/TwoFactorAuthenticationTokenObject.php create mode 100644 src/Internal/OpenApi/Model/TwoFactorAuthenticationTokenObjectCore.php create mode 100644 src/Internal/OpenApi/Model/UnlinkSocialIdentityRequest.php create mode 100644 src/Internal/OpenApi/Model/UnlockAccountRequestCore.php create mode 100644 src/Internal/OpenApi/Model/UnlockaccountbyaccesstokenRequest.php create mode 100644 src/Internal/OpenApi/Model/UpdateAccountByAccessTokenRequest.php create mode 100644 src/Internal/OpenApi/Model/UpdateByTokenResponse.php create mode 100644 src/Internal/OpenApi/Model/UpdateEmail200Response.php create mode 100644 src/Internal/OpenApi/Model/UpdateEmailRequest.php create mode 100644 src/Internal/OpenApi/Model/UpdateEmailTemplate.php create mode 100644 src/Internal/OpenApi/Model/UpdateInvitationByInvitationIdRequest.php create mode 100644 src/Internal/OpenApi/Model/UpdateRoleContextBodyModel.php create mode 100644 src/Internal/OpenApi/Model/UpdateSmsTemplateModel.php create mode 100644 src/Internal/OpenApi/Model/UpdateWorkflowConfig.php create mode 100644 src/Internal/OpenApi/Model/UpsertEmailModel.php create mode 100644 src/Internal/OpenApi/Model/UpsertEmailModelEmailInner.php create mode 100644 src/Internal/OpenApi/Model/UserProfile.php create mode 100644 src/Internal/OpenApi/Model/UserProfileAddresses.php create mode 100644 src/Internal/OpenApi/Model/UserProfileAgeRange.php create mode 100644 src/Internal/OpenApi/Model/UserProfileAwards.php create mode 100644 src/Internal/OpenApi/Model/UserProfileBadges.php create mode 100644 src/Internal/OpenApi/Model/UserProfileBooks.php create mode 100644 src/Internal/OpenApi/Model/UserProfileCertifications.php create mode 100644 src/Internal/OpenApi/Model/UserProfileCountry.php create mode 100644 src/Internal/OpenApi/Model/UserProfileCourses.php create mode 100644 src/Internal/OpenApi/Model/UserProfileCoverPhoto.php create mode 100644 src/Internal/OpenApi/Model/UserProfileCurrentStatus.php create mode 100644 src/Internal/OpenApi/Model/UserProfileCustomFields.php create mode 100644 src/Internal/OpenApi/Model/UserProfileEducations.php create mode 100644 src/Internal/OpenApi/Model/UserProfileEmail.php create mode 100644 src/Internal/OpenApi/Model/UserProfileExternalIds.php create mode 100644 src/Internal/OpenApi/Model/UserProfileFamily.php create mode 100644 src/Internal/OpenApi/Model/UserProfileFavicon.php create mode 100644 src/Internal/OpenApi/Model/UserProfileFavoriteThings.php create mode 100644 src/Internal/OpenApi/Model/UserProfileGames.php create mode 100644 src/Internal/OpenApi/Model/UserProfileGistsUrl.php create mode 100644 src/Internal/OpenApi/Model/UserProfileGravatarImageUrl.php create mode 100644 src/Internal/OpenApi/Model/UserProfileHttpsImageUrl.php create mode 100644 src/Internal/OpenApi/Model/UserProfileIMAccounts.php create mode 100644 src/Internal/OpenApi/Model/UserProfileImageUrl.php create mode 100644 src/Internal/OpenApi/Model/UserProfileInspirationalPeople.php create mode 100644 src/Internal/OpenApi/Model/UserProfileInterests.php create mode 100644 src/Internal/OpenApi/Model/UserProfileJobBookmarks.php create mode 100644 src/Internal/OpenApi/Model/UserProfileKloutScore.php create mode 100644 src/Internal/OpenApi/Model/UserProfileKnownLoginVariables.php create mode 100644 src/Internal/OpenApi/Model/UserProfileLanguages.php create mode 100644 src/Internal/OpenApi/Model/UserProfileMemberUrlResources.php create mode 100644 src/Internal/OpenApi/Model/UserProfileMovies.php create mode 100644 src/Internal/OpenApi/Model/UserProfileMutualFriends.php create mode 100644 src/Internal/OpenApi/Model/UserProfileNextResponse.php create mode 100644 src/Internal/OpenApi/Model/UserProfileNextResponseWithCustomObject.php create mode 100644 src/Internal/OpenApi/Model/UserProfilePatents.php create mode 100644 src/Internal/OpenApi/Model/UserProfilePhoneNumbers.php create mode 100644 src/Internal/OpenApi/Model/UserProfilePlacesLived.php create mode 100644 src/Internal/OpenApi/Model/UserProfilePositions.php create mode 100644 src/Internal/OpenApi/Model/UserProfilePrivacyPolicy.php create mode 100644 src/Internal/OpenApi/Model/UserProfileProfileImageUrls.php create mode 100644 src/Internal/OpenApi/Model/UserProfileProfileUrl.php create mode 100644 src/Internal/OpenApi/Model/UserProfileProjects.php create mode 100644 src/Internal/OpenApi/Model/UserProfilePublicRepository.php create mode 100644 src/Internal/OpenApi/Model/UserProfilePublications.php create mode 100644 src/Internal/OpenApi/Model/UserProfileRecommendationsReceived.php create mode 100644 src/Internal/OpenApi/Model/UserProfileRelatedProfileViews.php create mode 100644 src/Internal/OpenApi/Model/UserProfileRepositoryUrl.php create mode 100644 src/Internal/OpenApi/Model/UserProfileRequestBody.php create mode 100644 src/Internal/OpenApi/Model/UserProfileResponse.php create mode 100644 src/Internal/OpenApi/Model/UserProfileRoleContext.php create mode 100644 src/Internal/OpenApi/Model/UserProfileScrollResponse.php create mode 100644 src/Internal/OpenApi/Model/UserProfileScrollResponseWithCustomObject.php create mode 100644 src/Internal/OpenApi/Model/UserProfileSignupLog.php create mode 100644 src/Internal/OpenApi/Model/UserProfileSkills.php create mode 100644 src/Internal/OpenApi/Model/UserProfileSports.php create mode 100644 src/Internal/OpenApi/Model/UserProfileStarredUrl.php create mode 100644 src/Internal/OpenApi/Model/UserProfileSubscription.php create mode 100644 src/Internal/OpenApi/Model/UserProfileSuggestions.php create mode 100644 src/Internal/OpenApi/Model/UserProfileTeleVisionShow.php create mode 100644 src/Internal/OpenApi/Model/UserProfileUnverifiedEmail.php create mode 100644 src/Internal/OpenApi/Model/UserProfileUserAgent.php create mode 100644 src/Internal/OpenApi/Model/UserProfileVolunteer.php create mode 100644 src/Internal/OpenApi/Model/UserProfileWebProfiles.php create mode 100644 src/Internal/OpenApi/Model/UserRegistrationByReCaptchaEmailPhoneUserNameRequest.php create mode 100644 src/Internal/OpenApi/Model/UserRole.php create mode 100644 src/Internal/OpenApi/Model/UserRolePutRequest.php create mode 100644 src/Internal/OpenApi/Model/UserRolesModel.php create mode 100644 src/Internal/OpenApi/Model/UsernameModel.php create mode 100644 src/Internal/OpenApi/Model/VerificationLinkResponse.php create mode 100644 src/Internal/OpenApi/Model/VerifyConsent.php create mode 100644 src/Internal/OpenApi/Model/VerifyDeleteAccountOtp.php create mode 100644 src/Internal/OpenApi/Model/VerifyEmailModel.php create mode 100644 src/Internal/OpenApi/Model/VerifyOtpPhoneModel.php create mode 100644 src/Internal/OpenApi/Model/VerifyPhoneOtp200Response.php create mode 100644 src/Internal/OpenApi/Model/VersionListResponse.php create mode 100644 src/Internal/OpenApi/Model/VersionListResponseDataInner.php create mode 100644 src/Internal/OpenApi/Model/WebhookAuthentication.php create mode 100644 src/Internal/OpenApi/Model/WebhookEvents.php create mode 100644 src/Internal/OpenApi/Model/WebhookSubscription.php create mode 100644 src/Internal/OpenApi/Model/WebhookSubscriptionCreateModel.php create mode 100644 src/Internal/OpenApi/Model/WebhookSubscriptionResponse.php create mode 100644 src/Internal/OpenApi/Model/WebhookSubscriptionUpdateModel.php create mode 100644 src/Internal/OpenApi/Model/WorkflowConfig.php create mode 100644 src/Internal/OpenApi/Model/WorkflowConfigWithoutData.php create mode 100644 src/Internal/OpenApi/Model/WorkflowData.php create mode 100644 src/Internal/OpenApi/Model/WorkflowDataInnerNodesValue.php create mode 100644 src/Internal/OpenApi/Model/WorkflowDataInnerNodesValueFormnodeprops.php create mode 100644 src/Internal/OpenApi/Model/WorkflowDataInnerNodesValueFormnodepropsChoicesInner.php create mode 100644 src/Internal/OpenApi/Model/WorkflowDataNodesValue.php create mode 100644 src/Internal/OpenApi/Model/WorkflowDataNodesValueNodesInner.php create mode 100644 src/Internal/OpenApi/Model/WorkflowDataNodesValueNodesInnerFormnodeprops.php create mode 100644 src/Internal/OpenApi/Model/WorkflowDataNodesValueNodesInnerFormnodepropsChoicesInner.php create mode 100644 src/Internal/OpenApi/Model/WorkflowDataTree.php create mode 100644 src/Internal/OpenApi/Model/WorkflowDataTreeNodesValue.php create mode 100644 src/Internal/OpenApi/ObjectSerializer.php create mode 100644 src/Internal/OpenApi/README.md create mode 100644 src/LoginRadiusException.php delete mode 100644 src/LoginRadiusSDK/Clients/DefaultHttpClient.php delete mode 100644 src/LoginRadiusSDK/Clients/IHttpClientInterface.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Account/AccountAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Account/RoleAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Account/SottAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Advanced/ConfigurationAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Advanced/ConsentManagementAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Advanced/CustomObjectAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Advanced/MultiFactorAuthenticationAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Advanced/ReAuthenticationAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Advanced/WebHookAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Authentication/AuthenticationAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Authentication/OneTouchLoginAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Authentication/PINAuthenticationAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Authentication/PasswordLessLoginAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Authentication/PhoneAuthenticationAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Authentication/RiskBasedAuthenticationAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Authentication/SlidingTokenAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Authentication/SmartLoginAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Social/NativeSocialAPI.php delete mode 100644 src/LoginRadiusSDK/CustomerRegistration/Social/SocialAPI.php delete mode 100644 src/LoginRadiusSDK/LoginRadiusException.php delete mode 100644 src/LoginRadiusSDK/Utility/Functions.php delete mode 100644 src/LoginRadiusSDK/Utility/SOTT.php create mode 100644 src/Signing.php create mode 100644 src/Sott.php create mode 100644 src/Version.php create mode 100644 tests/AuthenticatingClientTest.php create mode 100644 tests/ClientTest.php create mode 100644 tests/ConfigTest.php create mode 100644 tests/LoginRadiusExceptionTest.php create mode 100644 tests/SigningTest.php create mode 100644 tests/SottTest.php diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..75cccb0 --- /dev/null +++ b/.env.example @@ -0,0 +1,23 @@ +# Copy to v12/.env and fill in your own values (v12/.env is gitignored), or +# export these directly before running the demo: +# +# php -S localhost:8080 demo/index.php + +# Tenant API key from the LoginRadius admin console. Required. +LR_API_KEY= + +# Server-side only. Required for registration (the demo mints a SOTT with it). +LR_API_SECRET= + +# Optional server-selection trio — leave unset to use the production API. +LR_DOMAIN= +LR_CUSTOM_DOMAIN= +LR_BASE_URL= + +# Where email links point back to. +# +# LR_VERIFICATION_URL must address the demo's own verify ROUTE, not the site +# root — LoginRadius appends ?vtoken=... to it, and the handler reads that, +# verifies the account and redirects to / with a banner. +LR_VERIFICATION_URL=http://localhost:8080/api/auth/verify +LR_RESET_PASSWORD_URL=http://localhost:8080/?reset=1 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ecf9bd4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +/vendor/ +composer.lock +.php-cs-fixer.cache +.phpunit.result.cache diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php new file mode 100644 index 0000000..af9cf39 --- /dev/null +++ b/.php-cs-fixer.dist.php @@ -0,0 +1,29 @@ +in(__DIR__) + ->exclude('vendor') + ->exclude('test') + ->exclude('tests') +; + +$config = new PhpCsFixer\Config(); +return $config->setRules([ + '@PSR12' => true, + 'phpdoc_order' => true, + 'array_syntax' => [ 'syntax' => 'short' ], + 'strict_comparison' => true, + 'strict_param' => true, + 'no_trailing_whitespace' => false, + 'no_trailing_whitespace_in_comment' => false, + 'braces' => false, + 'single_blank_line_at_eof' => false, + 'blank_line_after_namespace' => false, + 'no_leading_import_slash' => false, + ]) + ->setFinder($finder) +; diff --git a/CHANGELOG.md b/CHANGELOG.md index eb8c485..f374f00 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,496 +1,8 @@ -> **LoginRadius PHP SDK Change Log** provides information regarding what has changed, more specifically what changes, improvements and bug fix has been made to the SDK. For more details please refer to the [LoginRadius API Documention](https://www.loginradius.com/docs/api/v2/deployment/sdk-libraries/php-library/) +# Changelog -# Version 11.7.0 +## 12.0.0-rc.1 -**Release Date:** March 24, 2025 - -## Enhancements - -We've introduced a brand-new set of Webhook APIs, designed with enhanced functionality and flexibility. These new APIs support advanced features including: - -- Custom header configuration -- Query parameter support -- Webhook authentication methods (Bearer Token and Basic Auth) -- Support for a custom `Name` parameter to label each webhook subscription - -As part of this upgrade, the legacy Webhook APIs have been deprecated in favor of the new, more robust versions. - -## Newly Added APIs - -- `getWebhookSubscriptionDetail` – Retrieve detailed information about a specific webhook subscription -- `createWebhookSubscription` – Create a new webhook subscription with advanced configuration options -- `deleteWebhookSubscription` – Remove an existing webhook subscription -- `updateWebhookSubscription` – Modify an existing webhook subscription -- `listAllWebhooks` – Retrieve a list of all configured webhook subscriptions -- `getWebhookEvents` – Fetch available webhook events supported by the system - -## Deprecated APIs - -The following legacy APIs have been deprecated: - -- `webHookUnsubscribe` -- `webhookTest` -- `webHookSubscribe` -- `getWebHookSubscribedURLs` - -# Version 11.6.0 - -Release on **July 03, 2024** - -## Added following APIs: -- `MFAValidateAuthenticatorCode` -- `MFAVerifyAuthenticatorCode` -- `RevokeAllRefreshToken ` -- `MultipurposeEmailTokenGeneration` -- `MultipurposeSMSOTPGeneration` -- `MFAReAuthenticateByAuthenticatorCode` -- `AuthSendVerificationEmailForLinkingSocialProfiles ` -- `SlidingAccessToken` -- `AccessTokenViaCustomJWTToken` -- `MFAResetAuthenticatorByToken` -- `MFAResetAuthenticatorByUid` - -## Enhancements -- Added `isVoiceOtp` parameter in `ResetPhoneIDVerificationByUid` API -- Added `isVoiceOtp` parameter in `MFAConfigureByAccessToken` API -- Added `isVoiceOtp` and `options` parameter in `MFAUpdatePhoneNumberByToken` API -- Added `isVoiceOtp`, `emailTemplate2FA` and `options` parameter in `MFALoginByEmail` API -- Added `isVoiceOtp` and `emailTemplate2FA` parameter in `MFALoginByUserName` API -- Added `isVoiceOtp` , `emailTemplate2FA` and `options` parameter in `MFALoginByPhone` API -- Added `isVoiceOtp` and `options` parameter in `MFAUpdatePhoneNumber` API -- Added `isVoiceOtp` parameter in `MFAResendOTP` API -- Added `isVoiceOtp` parameter in `MFAReAuthenticate` API -- Added `isVoiceOtp` and `options` parameter in `UpdateProfileByAccessToken` API -- Added `isVoiceOtp` parameter in `UserRegistrationByEmail` API -- Added `isVoiceOtp` parameter in `UserRegistrationByCaptcha` API -- Added `isVoiceOtp` parameter in `OneTouchLoginByPhone` API -- Added `isVoiceOtp` parameter in `PasswordlessLoginPhoneVerification` API -- Added `isVoiceOtp` parameter in `PasswordlessLoginByPhone` API -- Added `isVoiceOtp` parameter in `ForgotPasswordByPhoneOTP` API -- Added `isVoiceOtp` parameter in `PhoneVerificationByOTP` API -- Added `isVoiceOtp` parameter in `PhoneVerificationOTPByAccessToken` API -- Added `isVoiceOtp` parameter in `PhoneResendVerificationOTP` API -- Added `isVoiceOtp` parameter in `UpdatePhoneNumber` API -- Added `isVoiceOtp` and `emailTemplate` parameter in `UserRegistrationByPhone` API -- Added `isVoiceOtp` parameter in `SendForgotPINSMSByPhone` API -- Added `uuid` parameter in `VerifyEmail` API - -## Removed the following parameter - --`smsTemplate2FA` parameter in `MFAConfigureByAccessToken` API - - - -## Removed (Deprecated) APIs: -- `MFAValidateGoogleAuthCode` -- `MFAReAuthenticateByGoogleAuth` -- `MFAResetGoogleAuthByToken ` -- `MFAResetGoogleAuthenticatorByUid` -- `MFAUpdateByAccessToken` - -# Version 11.5.0 - -Release on **January 20, 2023** - -## Removed (Deprecated) APIs: -- `AuthGetRegistrationData` -- `ValidateRegistrationDataCode` -- `GetRegistrationData` -- `AddRegistrationData` -- `UpdateRegistrationData` -- `DeleteRegistrationData` -- `DeleteAllRecordsByDataSource` -- `GetAccessTokenByVkontakteAccessToken` -- `GetAlbum` -- `GetAlbumsWithCursor` -- `GetAudios` -- `GetAudiosWithCursor` -- `GetCheckIns` -- `GetCheckInsWithCursor` -- `GetContacts` -- `GetEvents` -- `GetEventsWithCursor` -- `GetFollowings` -- `GetFollowingsWithCursor` -- `GetGroups` -- `GetGroupsWithCursor` -- `GetLikes` -- `GetLikesWithCursor` -- `GetMentions` -- `PostMessage` -- `GetPage` -- `GetPhotos` -- `GetPosts` -- `StatusPosting` -- `TrackableStatusPosting` -- `GetTrackableStatusStats` -- `TrackableStatusFetching` -- `GetVideos` -- `GetRefreshedSocialUserProfile` - - -# Version 11.4.2 - -Release on **September 28, 2022** - -## Enhancements - -- Added Referer Header Feature - - -# Version 11.4.1 - -Release on **June 15, 2022** - -## Enhancements - -- Added emailTemplate parameter in userRegistrationByPhone Api - -# Version 11.4.0 - -Release on **June 02, 2022** - -## Enhancements - -- Removed the additional version name from multiple files in SDK. -- We are introducing a new manual Sott generation method `getSott()` with additional parameter `startTime` & `endTime` , we recomend using this method to generate SOTT manually , the old function `encrypt()` will also exist but it is deprecated and will be removed in a future version of SDK. - -# Version 11.3.0 - -Release on **January 27, 2022** - -## Enhancements - -- Added a feature to add ApiKey and ApiSecret directly in LoginRadius manual SOTT generation method. -- Added Licence and Contribution Guideline files. - -## Breaking Changes - -For developers migrating from v11.2.0, there will be 1 minor breaking change in terms of SDK implementation. In this version, we have added a feature to add ApiKey & ApiSecret directly into the manual SOTT generation method `encrypt()`. - - -# Version 11.2.0 - -Release on **September 6, 2021** - -## Enhancements - -- Updated Jquery with latest version(3.6.0) in SDK Demo - - -## Added new multiple APIs for better user experience - - -- MFAEmailOtpByAccessToken -- MFAValidateEmailOtpByAccessToken -- MFAResetEmailOtpAuthenticatorByAccessToken -- MFASecurityQuestionAnswerByAccessToken -- MFAResetSecurityQuestionAuthenticatorByAccessToken -- MFAEmailOTP -- MFAValidateEmailOtp -- MFASecurityQuestionAnswer -- MFASecurityQuestionAnswerVerification -- MFAResetEmailOtpAuthenticatorByUid -- MFAResetSecurityQuestionAuthenticatorByUid -- ReAuthValidateEmailOtp -- ReAuthSendEmailOtp -- ReAuthBySecurityQuestion - -## Removed APIs: - -- GetSocialUserProfile - -#### Added `EmailTemplate2FA` parameter in the following API -- MFALoginByEmail -- MFALoginByUserName -- MFALoginByPhone - -#### Added `RbaBrowserEmailTemplate`, `RbaCityEmailTemplate` ,`RbaCountryEmailTemplate` , `RbaIpEmailTemplate` parameter in the following API -- MFAValidateOTPByPhone -- MFAValidateGoogleAuthCode -- MFAValidateBackupCode - -#### Added `emailTemplate`, `verificationUrl` ,`welcomeEmailTemplate` parameter in the following API - -- GetProfileByAccessToken - -#### Removed `smsTemplate2FA ` parameter from the following API -- mfaValidateGoogleAuthCode - - -# Version 11.1.1 -Release on **June 11, 2021** - - - -## Bug Fixed -- fixed API Key Validation issue - - -# Version 11.1.0 -Release on **March 25, 2021** - -## Enhancements -- Added X-Origin-IP header support. -- Added 429 error code handling for "Too Many Request in a particular time frame". - - -## Added new multiple APIs for better user experience -- Get Profile By Ping. -- Passwordless Login Verification By Email And OTP. -- Passwordless Login Verification By User Name And OTP. - - - - -# Version 11.0.0 -Release on **July 28, 2020** - -## Enhancements -- Added a parameter isWeb in "RefreshAccessToken" API. -- Added a parameter SocialAppName in "getAccessTokenByFacebookAccessToken, getAccessTokenByTwitterAccessToken, - getAccessTokenByGoogleAccessToken, getAccessTokenByLinkedinAccessToken, getAccessTokenByAppleIdCode, - getAccessTokenByGoogleAuthCode" Native Social login APIs. - -## Added new multiple APIs for better user experience - - Added linkSocialIdentities(POST) API. - - Added linkSocialIdentitiesByPing(POST) API. - - Added getAccessTokenByAppleIdCode API. - - Added getAccessTokenByWeChatCode API. - -## Removed APIs: - - linkSocialIdentity API(PUT) - - getSocialIdentity API(GET) - - -# Version 10.0.0 -Release on **September 26, 2019** - -## Enhancements -This full version release includes major changes with several improvements and optimizations : - - - Enhanced the coding standards of SDK to follow industry programming styles and best practices. - - Enhanced security standards of SDK. - - Reduced code between the business layer and persistence layer for optimization of SDK performance. - - Added internal parameter validations in the API function. - - ApiKey and ApiSecret usage redundancy removed. - - All LoginRadius related features need to be defined once only and SDK will handle them automatically. - - Improved the naming conventions of API functions for better readability. - - Better Error and Exception Handling for LoginRadius API Response in SDK. - - Revamped complete SDK and restructured it with latest API function names and parameters. - - Added detailed description to API functions and parameters for better understanding. - - Updated the demo according to latest SDK changes. - - Implemented API Region Feature. - - Added Functionality to generate SOTT locally in Utility folder, compatible with latest version of PHP. - - -## Added new multiple APIs for better user experience - - - Update Phone ID by UID - - Upsert Email - - Role Context profile - - MFA Resend OTP - - User Registration By Captcha - - Get Access Token via Linkedin Token - - Get Access Token By Foursquare Access Token - - Get Active Session By Account Id - - Get Active Session By Profile Id - - Delete User Profiles By Email - - Verify Multifactor OTP Authentication - - Verify Multifactor Password Authentication - - Verify Multifactor PIN Authentication - - Update UID - - MFA Re-authentication by PIN - - Pin Login - - Forgot Pin By Email - - Forgot Pin By UserName - - Reset PIN By ResetToken - - Reset PIN By SecurityAnswer And Email - - Reset PIN By SecurityAnswer And Username - - Reset PIN By SecurityAnswer And Phone - - Forgot Pin By Phone - - Change Pin By Token - - Reset PIN by Phone and OTP - - Reset PIN by Email and OTP - - Reset PIN by Username and OTP - - Set Pin By PinAuthToken - - Invalidate Pin Session Token - - Submit Consent By ConsentToken - - Get Consent Logs - - Submit Consent By AccessToken - - Verify Consent By AccessToken - - Update Consent Profile By AccessToken - - Get Consent Logs By Uid - - Album With Cursor - - Audio With Cursor - - Check In With Cursor - - Event With Cursor - - Following With Cursor - - Group With Cursor - - Like With Cursor - - -## Removed APIs: - - - GetCompanies API - - Getstatus API - - -# Version 10.0.0-beta -Released on **August 05, 2019** - -## Enhancements -This beta version release includes major changes with several improvements and optimizations : - - Enhanced the coding standards of SDK to follow industry programming styles and best practices. - - Enhanced security standards of SDK. - - Reduced code between the business layer and persistence layer for optimization of SDK performance. - - Added internal parameter validations in the API function. - - ApiKey and ApiSecret usage redundancy removed. - - All LoginRadius related features need to be defined once only and SDK will handle them automatically. - - Improved the naming conventions of API functions for better readability. - - Better Error and Exception Handling for LoginRadius API Response in SDK. - - Revamped complete SDK and restructured it with latest API function names and parameters. - - Added detailed description to API functions and parameters for better understanding. - - Updated the demo according to latest SDK changes. - -## Added new multiple APIs for better user experience - - Update Phone ID by UID - - Upsert Email - - Role Context profile - - MFA Resend OTP - - User Registration By Captcha - - Get Access Token via Linkedin Token - - Get Access Token By Foursquare Access Token - - Get Active Session By Account Id - - Get Active Session By Profile Id - -## Removed APIs: -- GetCompanies API -- shortenUrl API - -# Version 5.0.2 -Released on **January 11, 2019** -## Enhancements - - Added API Region Option in SDK. - - Added gzip encoding in api request. -## Bug Fixed - - Defined urlReplacement function statically in functions.php file. - -# Version 5.0.1 -Released on **October 15, 2018** -## Bug Fixed - - Remove dependency of json option. - -# Version 5.0.0 -Released on **October 9, 2018** -## Enhancements - - API Request signing: Passed hash value instead of API Secret Key. - - API's Route changed. - - Access Token is added as header in all Authentication APIs - - Implemented Custom Domain option. - - Added preventEmailVerification (Boolean) option to prevent email verification flow in Auth Login and Registration APIs (where optional email is enabled). - -## Breaking Changes - For developers migrating from v4.5.3 or older ones, there are following breaking changes in terms of SDK implementation. - - register() replaced with registerByEmail() - - loginByEmail() replaced with authLoginByEmail() - - loginByUsername() replaced with authLoginByUsername() - - loginByPhone() replaced with authLoginByPhone - - instantLinkLoginByEmail() replaced with passwordLessLoginByEmail() - - instantLinkLoginByUserName() replaced with passwordLessLoginByUserName() - - instantLinkLoginVerification() replaced with passwordLessLoginVerification() - - emailPromptAutoLoginbyEmail() replaced with smartLoginByEmail() - - emailPromptAutoLoginbyUserName() replaced with smartLoginByUserName() - - emailPromptAutoLoginPing() replaced with smartLoginPing() - - verifyAutoLoginEmailForLogin() replaced with smartLoginVerifyToken() - - simplifiedInstantRegistrationByEmail() replaced with oneTouchLoginByEmail() - - simplifiedInstantRegistrationByPhone() replaced with oneTouchLoginByPhone() - - simplifiedInstantRegistrationOTPVerification() replaced with oneTouchOtpVerification() - - twoFALoginByEmail() replaced with mfaEmailLogin() - - twoFALoginByUsername() replaced with mfaUserNameLogin() - - twoFALoginByPhone() replaced with mfaPhoneLogin() - - configureTwoFAByToken() replaced with mfaValidateAccessToken() - - verifyTwoFAByGoogleAuthCodeOrOtp() replaced with updateMfaByGoogleAuthCode() and updateMfaByOtp() - - removeOrResetGoogleAuthenticatorByToken() replaced with resetGoogleAuthenticatorByToken() and resetSMSAuthenticatorByToken() - - removeOrResetGoogleAuthenticator() replaced with mfaResetGoogleAuthenticatorByUid() and mfaResetSMSAuthenticatorByUid() - - Removed CloudAPI replaced with ConfigAPI - - Removed ProvidersAPI and SchemaAPI - - Removed SOTT from utility. - - Directory name \LoginRadiusSDK\CustomerRegistration\Management -> replaced with \LoginRadiusSDK\CustomerRegistration\Account - -# Version 4.5.3 -Released on **August 9, 2018** -## Bug Fixed - - HTTP method request bug fixing - -# Version 4.5.2 -Released on **April 3, 2018** -## Bug Fixed - - SOTT was not generating properly in PHP SDK demo - -# Version 4.5.1 -Released on **January 24, 2018** -## Enhancements - - Change configuration API endpoint url. - -# Version 4.5.0 -Released on **Novemeber 28, 2017** -## Enhancements - - Added API to get Identities - - Added API to invalidate email - - Added API to get email verification token - - Added API to get forgot password token - - Passed APIkey and APISecret key in header for management Api's - - Removed mcrypt dependency (function deprecated in php 7) - - -# Version 4.4.0 -Released on **Novemeber 7, 2017** -## Enhancements - - Added Configuration API - - Added API to get all active session details - - Added Reset password by Security Answer API - - Added Remove Email Management API - -# Version 4.3.0 -Released on **September 15, 2017** -## Enhancements - - Ability to support proxy server - - Projection of fields in api's - - Added management api to generate a new SOTT - - Custom object edit API enhancements - - Added security questions api's - - Added invalidate phone api - - Added instant link login api - - Added simplified instant registration data api's - - Auto login api enhancement - -# Version 4.2.0 -Released on **June 20, 2017** -## Enhancements - - Added Roles API's - - Added Web hooks API's - - Added Email Prompt Auto Login API's - -# Version 4.1.0 -Released on **April 10, 2017** -## Enhancements - - Added user impersonation API - - Added Check token validity and invalidate token API - - Added Two-Factor authentication API's - -# 4.0.0 -## Enhancements -Released on **February 28, 2017** - - Significantly improved code performance. - - Wrapper methods for latest LoginRadius APIs have been added in Account API and User API - - Added email,username and phone login api's - - Added advance social login api's - - Added resthooks api's - - Added role api's - - Added add or remove email api's - - Added Custom object api's - - - - +Initial generated release. Rendered from the LoginRadius OpenAPI specification +plus the shared behavioural manifest — see the sdk-factory repository for the +generator. Not a drop-in replacement for a prior release; see +`MIGRATION_GUIDE.md`. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index fb38a11..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,41 +0,0 @@ -# Contributing - -[PHP SDK](https://github.com/LoginRadius/php-sdk) is [MIT](LICENSE) licensed and accepts contributions via GitHub pull requests. This document outlines some of the conventions on development workflow, commit message formatting, contact points, and other resources to make it easier to get your contribution accepted. - -## Getting Started - -- Fork the repository on GitHub. -- If you find any bug or Improvement in our existing code-base, please create a pull request as mentioned in Contribution Flow. - -## Contribution Flow - -This is a rough outline of what a contributor's workflow looks like: - -- Create a separate branch from the `dev` branch to base your work. -- Make commits of logical units. -- Make sure your commit messages are in the proper format (see below). -- Push your changes to a topic branch in your fork of the repository. -- Submit a pull request to the original repository. -- **Please ensure that you raise a PR on the `dev` branch instead of `master`.** - -#### Commit Messages - -Please follow the below format while writing commit messages: - -``` - title: One line description about your change - - description: An optional description of your changes. -``` - -Thanks for your contributions! - -## Code of Conduct - -### Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - -### Our Responsibilities - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. diff --git a/LICENSE b/LICENSE index 23a023a..15383b5 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2025 LoginRadius Inc. +Copyright (c) 2026 LoginRadius Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/LoginRadius-Public-APIs.yaml b/LoginRadius-Public-APIs.yaml new file mode 100644 index 0000000..fd39474 --- /dev/null +++ b/LoginRadius-Public-APIs.yaml @@ -0,0 +1,58931 @@ +openapi: 3.0.1 +info: + title: LoginRadius API + description: This is a LoginRadius API server. Which you can use to authenticate and manage the user. + version: 1.0.0 + contact: + name: API Support + url: https://www.loginradius.com + email: support@loginradius.com +servers: + - url: https://api.loginradius.com + description: LoginRadius Prod Server + - url: https://{domain}.hub.loginradius.com + description: LoginRadius Default HostedPage Server + variables: + domain: + default: example + description: LoginRadius Tenant Name + - url: https://{customDomain} + description: Custom Domain Hosted By LoginRadius + variables: + customDomain: + default: example.com + description: Custom domain +security: + - APIKey: [] + - ClientId: [] +tags: + - name: Registration + description: Registeration API's + - name: Login + description: Login API's + - name: User + description: User Actions APIs + - name: Password + description: Password API's + - name: Security + description: User Security API's + - name: Session + description: Session Management APIs + - name: Custom Object + description: Custom Object APIs + - name: Accounts + description: Account Management APIs + - name: Account Session + x-displayName: Session Management + description: Access Token APIs + - name: Account Security + x-displayName: Security Management + description: Account Security APIs + - name: Account Custom Object + x-displayName: Custom Object Management + description: Account Custom Object APIs + - name: Multipurpose Tokens + description: Multipurpose Tokens API + - name: Roles Management + description: APIs for managing roles for B2C Tenant. + - name: Organization + description: Manage Organizations and their settings + - name: Organization User Roles + description: Manage role assignments for users within Organizations + - name: Organization Connections + description: Manage identity provider connections for Organizations + - name: Organization Connection Group Roles + description: Manage group to role mappings for Organization connections + - name: Organization Domains + description: Manage domains associated with Organizations + - name: Organization Invitations + description: API's for managing Organization invitations + - name: Permissions + description: Manage permissions that can be assigned to roles + - name: Roles + description: Manage roles that can be assigned to users + - name: SOTT + description: SOTT actions + - name: Custom Fields + description: Custom Fields actions + - name: Webhooks + description: Webhooks actions + - name: Workflows + description: Workflows actions + - name: SMS Templates + description: SMS Templates actions + - name: Passkey Configuration + description: Passkey Configuration actions + - name: Push Notification Configuration + description: Push Notification Configuration actions + - name: Security Questions + description: Security Questions actions + - name: Domain Access Restrictions + description: Domain Access Restrictions actions + - name: Email Templates + description: Email Templates actions + - name: Social Providers + description: Social Providers actions + - name: Second Factor Configuration + description: Second Factor Configuration actions + - name: Captcha Configuration + description: Captcha Configuration actions + - name: IP Access Restrictions + description: IP Access Restrictions actions + - name: JWT Integrations + description: JWT Integrations actions + - name: SAML Integrations + description: SAML Integrations actions + - name: OAuth Integrations + description: OAuth Integrations actions + - name: OAuth Clients + description: OAuth Clients actions + - name: OAuth Custom Providers + description: OAuth Custom Providers actions + - name: JWT Custom Providers + description: JWT Custom Providers actions + - name: SAML Custom Providers + description: SAML Custom Providers actions + - name: Password Policy + description: Password Policy actions + - name: Identity + description: Identity Analytics APIs + - name: Custom Objects + description: Custom Object Analytics APIs + - name: Insights + description: Aggregation Analytics APIs + - name: SAML + description: Federated SSO SAML APIs + - name: JWT + description: Federated SSO JWT APIs + - name: Cross Device SSO + description: Cross Device SSO APIs + - name: OAuth M2M + description: OAuth M2M APIs + - name: OAuth + description: OAuth APIs + - name: OIDC + description: OpenId Connect + - name: User Migration + description: Bulk Migration APIs + - name: Consent + description: Consent actions + - name: BigCommerce SSO + description: BigCommerce SSO integration APIs + - name: Shopify SSO + description: Shopify SSO integration APIs + - name: PerfectMind SSO + description: PerfectMind SSO integration APIs +paths: + /identity/v2/auth/password: + post: + summary: Forgot Password + description: Initiates the Password recovery process using Username or Email. + operationId: ForgotPassword + tags: + - Password + parameters: + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/ResetPasswordUrl' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/EmailUserNameModel' + - $ref: '#/components/schemas/CaptchaModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + USERNAME_REQUIRED: + $ref: '#/components/examples/USERNAME_REQUIRED' + EMAIL_ID_OR_USER_REQUIRED: + $ref: '#/components/examples/EMAIL_ID_OR_USER_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + RESET_PASSWORD_URL_INVALID: + $ref: '#/components/examples/RESET_PASSWORD_URL_INVALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + put: + tags: + - Password + operationId: ResetPasswordByResetToken + summary: Reset Password with token and OTP + description: Sets a new Password for the specified Account using a reset token and OTP. + parameters: + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/QQCaptchaTicket' + - $ref: '#/components/parameters/QQCaptchaRandstr' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPassword' + examples: + ResetPasswordByEmailAndOTP: + $ref: '#/components/examples/ResetPasswordByEmailAndOTP' + ResetPasswordByUsernameAndOTP: + $ref: '#/components/examples/ResetPasswordByUsernameAndOTP' + ResetPasswordByResetToken: + $ref: '#/components/examples/ResetPasswordByResetToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + API_KEY_AND_RESET_TOKEN_REQUIRED: + $ref: '#/components/examples/API_KEY_AND_RESET_TOKEN_REQUIRED' + API_KEY_AND_PASSWORD_REQUIRED: + $ref: '#/components/examples/API_KEY_AND_PASSWORD_REQUIRED' + PASSWORD_AND_RESET_TOKEN_REQUIRED: + $ref: '#/components/examples/PASSWORD_AND_RESET_TOKEN_REQUIRED' + RESET_TOKEN_REQUIRED: + $ref: '#/components/examples/RESET_TOKEN_REQUIRED' + PASSWORD_REQUIRED: + $ref: '#/components/examples/PASSWORD_REQUIRED' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + USERNAME_REQUIRED: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + EMAIL_PHONE_USERNAME_PAYLOAD_REQUIRED: + $ref: '#/components/examples/EMAIL_PHONE_USERNAME_PAYLOAD_REQUIRED' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + VERIFICATION_OTP_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_OTP_NOT_VALID' + VERIFICATION_VTOKEN_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_VTOKEN_NOT_VALID' + LINK_EXPIRED: + $ref: '#/components/examples/LINK_EXPIRED' + LINK_ALREADY_VERIFIED: + $ref: '#/components/examples/LINK_ALREADY_VERIFIED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + WEAK_PASSWORD: + $ref: '#/components/examples/WEAK_PASSWORD' + PASSWORD_IN_HISTORY: + $ref: '#/components/examples/PASSWORD_IN_HISTORY' + BREACHED_PASSWORD: + $ref: '#/components/examples/BREACHED_PASSWORD' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + /identity/v2/auth/password/change: + put: + tags: + - Password + summary: Update Password + operationId: ChangePassword + description: Updates the Account Password using the current Password for verification. + parameters: + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/QQCaptchaTicket' + - $ref: '#/components/parameters/QQCaptchaRandstr' + - $ref: '#/components/parameters/AccessToken' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/changePassword' + responses: + '200': + description: Password change successful + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + OLD_PASSWORD_REQUIRED: + $ref: '#/components/examples/OLD_PASSWORD_REQUIRED' + NEW_PASSWORD_REQUIRED: + $ref: '#/components/examples/NEW_PASSWORD_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVALID_PASSWORD: + $ref: '#/components/examples/INVALID_PASSWORD' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + WEAK_PASSWORD: + $ref: '#/components/examples/WEAK_PASSWORD' + PASSWORD_IN_HISTORY: + $ref: '#/components/examples/PASSWORD_IN_HISTORY' + BREACHED_PASSWORD: + $ref: '#/components/examples/BREACHED_PASSWORD' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/password/reset: + put: + tags: + - Password + operationId: ResetPassword + summary: Reset Password with token and OTP + description: Sets a new Password for the specified Account using a reset token and OTP. + parameters: + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/QQCaptchaTicket' + - $ref: '#/components/parameters/QQCaptchaRandstr' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPassword' + examples: + ResetPasswordByEmailAndOTP: + $ref: '#/components/examples/ResetPasswordByEmailAndOTP' + ResetPasswordByUsernameAndOTP: + $ref: '#/components/examples/ResetPasswordByUsernameAndOTP' + ResetPasswordByResetToken: + $ref: '#/components/examples/ResetPasswordByResetToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + API_KEY_AND_RESET_TOKEN_REQUIRED: + $ref: '#/components/examples/API_KEY_AND_RESET_TOKEN_REQUIRED' + API_KEY_AND_PASSWORD_REQUIRED: + $ref: '#/components/examples/API_KEY_AND_PASSWORD_REQUIRED' + PASSWORD_AND_RESET_TOKEN_REQUIRED: + $ref: '#/components/examples/PASSWORD_AND_RESET_TOKEN_REQUIRED' + RESET_TOKEN_REQUIRED: + $ref: '#/components/examples/RESET_TOKEN_REQUIRED' + PASSWORD_REQUIRED: + $ref: '#/components/examples/PASSWORD_REQUIRED' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + USERNAME_REQUIRED: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + EMAIL_PHONE_USERNAME_PAYLOAD_REQUIRED: + $ref: '#/components/examples/EMAIL_PHONE_USERNAME_PAYLOAD_REQUIRED' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + VERIFICATION_OTP_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_OTP_NOT_VALID' + VERIFICATION_VTOKEN_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_VTOKEN_NOT_VALID' + LINK_EXPIRED: + $ref: '#/components/examples/LINK_EXPIRED' + LINK_ALREADY_VERIFIED: + $ref: '#/components/examples/LINK_ALREADY_VERIFIED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + WEAK_PASSWORD: + $ref: '#/components/examples/WEAK_PASSWORD' + PASSWORD_IN_HISTORY: + $ref: '#/components/examples/PASSWORD_IN_HISTORY' + BREACHED_PASSWORD: + $ref: '#/components/examples/BREACHED_PASSWORD' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + /identity/v2/auth/password/otp: + put: + tags: + - Password + summary: Reset Password with Phone and OTP + description: Resets the Password using OTP and Phone number verification. + operationId: ResetPasswordWithOTP + parameters: + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/QQCaptchaTicket' + - $ref: '#/components/parameters/QQCaptchaRandstr' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordWithOTP' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PASSWORD_REQUIRED: + $ref: '#/components/examples/PASSWORD_REQUIRED' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + WEAK_PASSWORD: + $ref: '#/components/examples/WEAK_PASSWORD' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + OTP_INVALID: + $ref: '#/components/examples/OTP_INVALID' + OTP_ALREADY_USED: + $ref: '#/components/examples/OTP_ALREADY_USED' + OTP_EXPIRED: + $ref: '#/components/examples/OTP_EXPIRED' + PASSWORD_IN_HISTORY: + $ref: '#/components/examples/PASSWORD_IN_HISTORY' + BREACHED_PASSWORD: + $ref: '#/components/examples/BREACHED_PASSWORD' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + post: + summary: Retrieve Password reset OTP + description: Requests an OTP for resetting the Password using the User's Phone number. + operationId: RequestOTPForPasswordReset + tags: + - Password + parameters: + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/QQCaptchaTicket' + - $ref: '#/components/parameters/QQCaptchaRandstr' + - $ref: '#/components/parameters/IsVoiceOtp' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ForgotPasswordPhoneModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SMSResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + OTP_LIMIT_REACHED: + $ref: '#/components/examples/OTP_LIMIT_REACHED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + /identity/v2/auth/password/securityanswer: + put: + summary: Reset Password with security question + description: Resets the Password using a security question and Email, Username, or Phone. + operationId: ResetPasswordSecurityAnswer + tags: + - Password + parameters: + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordBySecurityAnswer' + examples: + SecurityAnswerAndEmail: + $ref: '#/components/examples/ResetPasswordBySecurityAnswerAndEmail' + SecurityAnswerAndPhone: + $ref: '#/components/examples/ResetPasswordBySecurityAnswerAndPhone' + SecurityAnswerAndUserId: + $ref: '#/components/examples/ResetPasswordBySecurityAnswerAndUserId' + SecurityAnswerAndUsername: + $ref: '#/components/examples/ResetPasswordBySecurityAnswerAndUsername' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPasswordResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + SECUREITY_ANSWER_REQUIRED_VALIDATION: + $ref: '#/components/examples/SECUREITY_ANSWER_REQUIRED_VALIDATION' + PASSWORD_REQUIRED_VALIDATION: + $ref: '#/components/examples/PASSWORD_REQUIRED_VALIDATION' + EMAIL_PHONE_USERNAME_PAYLOAD_REQUIRED: + $ref: '#/components/examples/EMAIL_PHONE_USERNAME_PAYLOAD_REQUIRED' + USERNAME_REQUIRED: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + EMAIL_ID_OR_USER_REQUIRED: + $ref: '#/components/examples/EMAIL_ID_OR_USER_REQUIRED' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + WEAK_PASSWORD: + $ref: '#/components/examples/WEAK_PASSWORD' + BREACHED_PASSWORD: + $ref: '#/components/examples/BREACHED_PASSWORD' + PASSWORD_IN_HISTORY: + $ref: '#/components/examples/PASSWORD_IN_HISTORY' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + SECURITY_QUESTION_NOT_SAVED_IN_PROFILE: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_SAVED_IN_PROFILE' + /identity/v2/auth/register: + post: + summary: Registration by Email/Phone/Username via SOTT + description: Registers a new User using Email, Phone, or Username via a Secure One Time Token (SOTT). + operationId: UserRegistrationBySottEmailPhoneUserName + tags: + - Registration + parameters: + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/Sott' + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/X-LoginRadius-Sott' + - $ref: '#/components/parameters/Options' + - $ref: '#/components/parameters/InvitationToken' + - $ref: '#/components/parameters/IsVoiceOtp' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ProfileRequestModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/RegistrationResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + PASSWORD_REQUIRED: + $ref: '#/components/examples/PASSWORD_REQUIRED' + SOTT_REQUIRED: + $ref: '#/components/examples/SOTT_REQUIRED' + PHONE_REQUIRED_PARAM: + $ref: '#/components/examples/PHONE_REQUIRED_PARAM' + PHONE_OR_EMAIL_REQUIRED_PARAM: + $ref: '#/components/examples/PHONE_OR_EMAIL_REQUIRED_PARAM' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + EMAIL_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_REQUIRED_PARAM' + USERNAME_REQUIRED_PARAM: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + EMAIL_PHONE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_PHONE_REQUIRED_PARAM' + USERNAME_EMAIL_REQUIRED_PARAM: + $ref: '#/components/examples/USERNAME_EMAIL_REQUIRED_PARAM' + EMAIL_TYPE_REQUIRED: + $ref: '#/components/examples/EMAIL_TYPE_REQUIRED' + GENDER_INVALID: + $ref: '#/components/examples/GENDER_INVALID' + BIRTH_DATE_INVALID: + $ref: '#/components/examples/BIRTH_DATE_INVALID' + ADDRESS_TYPE_REQUIRED: + $ref: '#/components/examples/ADDRESS_TYPE_REQUIRED' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + ADDRESS_TYPE_CAN_NOT_BE_SAME: + $ref: '#/components/examples/ADDRESS_TYPE_CAN_NOT_BE_SAME' + EMAIL_ID_CAN_NOT_BE_SAME: + $ref: '#/components/examples/EMAIL_ID_CAN_NOT_BE_SAME' + PRIMARY_EMAIL_CAN_BE_ONLY_ONE: + $ref: '#/components/examples/PRIMARY_EMAIL_CAN_BE_ONLY_ONE' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + EMAIL_VALUE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_VALUE_REQUIRED_PARAM' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + TRIAL_PLAN_USER_LIMIT_REACHED: + $ref: '#/components/examples/TRIAL_PLAN_USER_LIMIT_REACHED' + SECURED_ONE_TIME_TOKEN_IS_INVALID: + $ref: '#/components/examples/SECURED_ONE_TIME_TOKEN_IS_INVALID' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + TRADITIONAL_REGISTRATION_DISABLED: + $ref: '#/components/examples/TRADITIONAL_REGISTRATION_DISABLED' + CUSTOM_FIELD_NOT_VALID: + $ref: '#/components/examples/CUSTOM_FIELD_NOT_VALID' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + EMAILID_ALREADY_REGISTERED_WITH_SOCIAL_ACCOUNT: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED_WITH_SOCIAL_ACCOUNT' + DOMAIN_NO_VALID_MX_RECORD: + $ref: '#/components/examples/DOMAIN_NO_VALID_MX_RECORD' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + ACCOUNT_NOT_ALLOWED_TO_LOGIN: + $ref: '#/components/examples/ACCOUNT_NOT_ALLOWED_TO_LOGIN' + PIN_REQUIRED: + $ref: '#/components/examples/PIN_REQUIRED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + PRIVACY_POLICY_NOT_ACCEPTED: + $ref: '#/components/examples/PRIVACY_POLICY_NOT_ACCEPTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + AGE_UNDERAGE: + $ref: '#/components/examples/AGE_UNDERAGE' + WEAK_PASSWORD: + $ref: '#/components/examples/WEAK_PASSWORD' + BREACHED_PASSWORD: + $ref: '#/components/examples/BREACHED_PASSWORD' + PHONE_NO_ALREADY_REGISTERED: + $ref: '#/components/examples/PHONE_NO_ALREADY_REGISTERED' + USERNAME_ALREADY_REGISTERED: + $ref: '#/components/examples/USERNAME_ALREADY_REGISTERED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + put: + tags: + - User + summary: Resend verification Email + operationId: ResendEmailVerification + description: Resends the verification Email to the User to confirm their Email address. + parameters: + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/EmailTemplate' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EmailModel' + responses: + '200': + description: User registration successful and verification Email sent + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - Invalid parameters or missing required fields + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_ID_OR_USER_REQUIRED' + EMAIL_OR_USERNAME_ONLY_ONE: + $ref: '#/components/examples/EMAIL_OR_USERNAME_ONLY_ONE' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Status Forbidden- Insufficient permissions to perform this action + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + EMAIL_ALLREADY_VERIFIED: + $ref: '#/components/examples/EMAIL_ALLREADY_VERIFIED' + EMAILID_VERIFICATION_DISABLE: + $ref: '#/components/examples/EMAILID_VERIFICATION_DISABLE' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + EMAIL_ID_NOT_EXIST_IN_PROFILE: + $ref: '#/components/examples/EMAIL_ID_NOT_EXIST_IN_PROFILE' + /identity/v2/auth/register/captcha: + post: + tags: + - Registration + summary: Registration by Email/Phone/Username via Captcha + description: Registers a new User using Email, Phone, or Username with Captcha verification. + operationId: UserRegistrationByReCaptchaEmailPhoneUserName + parameters: + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/Options' + - $ref: '#/components/parameters/IsVoiceOtp' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/InvitationToken' + requestBody: + required: true + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/ProfileRequestModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/RegistrationResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + PASSWORD_REQUIRED: + $ref: '#/components/examples/PASSWORD_REQUIRED' + PHONE_REQUIRED_PARAM: + $ref: '#/components/examples/PHONE_REQUIRED_PARAM' + PHONE_OR_EMAIL_REQUIRED_PARAM: + $ref: '#/components/examples/PHONE_OR_EMAIL_REQUIRED_PARAM' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + EMAIL_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_REQUIRED_PARAM' + USERNAME_REQUIRED_PARAM: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + EMAIL_PHONE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_PHONE_REQUIRED_PARAM' + USERNAME_EMAIL_REQUIRED_PARAM: + $ref: '#/components/examples/USERNAME_EMAIL_REQUIRED_PARAM' + EMAIL_TYPE_REQUIRED: + $ref: '#/components/examples/EMAIL_TYPE_REQUIRED' + GENDER_INVALID: + $ref: '#/components/examples/GENDER_INVALID' + BIRTH_DATE_INVALID: + $ref: '#/components/examples/BIRTH_DATE_INVALID' + ADDRESS_TYPE_REQUIRED: + $ref: '#/components/examples/ADDRESS_TYPE_REQUIRED' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + ADDRESS_TYPE_CAN_NOT_BE_SAME: + $ref: '#/components/examples/ADDRESS_TYPE_CAN_NOT_BE_SAME' + EMAIL_ID_CAN_NOT_BE_SAME: + $ref: '#/components/examples/EMAIL_ID_CAN_NOT_BE_SAME' + PRIMARY_EMAIL_CAN_BE_ONLY_ONE: + $ref: '#/components/examples/PRIMARY_EMAIL_CAN_BE_ONLY_ONE' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + EMAIL_VALUE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_VALUE_REQUIRED_PARAM' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + TRIAL_PLAN_USER_LIMIT_REACHED: + $ref: '#/components/examples/TRIAL_PLAN_USER_LIMIT_REACHED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + TRADITIONAL_REGISTRATION_DISABLED: + $ref: '#/components/examples/TRADITIONAL_REGISTRATION_DISABLED' + CUSTOM_FIELD_NOT_VALID: + $ref: '#/components/examples/CUSTOM_FIELD_NOT_VALID' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + EMAILID_ALREADY_REGISTERED_WITH_SOCIAL_ACCOUNT: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED_WITH_SOCIAL_ACCOUNT' + DOMAIN_NO_VALID_MX_RECORD: + $ref: '#/components/examples/DOMAIN_NO_VALID_MX_RECORD' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + ACCOUNT_NOT_ALLOWED_TO_LOGIN: + $ref: '#/components/examples/ACCOUNT_NOT_ALLOWED_TO_LOGIN' + PIN_REQUIRED: + $ref: '#/components/examples/PIN_REQUIRED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + PRIVACY_POLICY_NOT_ACCEPTED: + $ref: '#/components/examples/PRIVACY_POLICY_NOT_ACCEPTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + AGE_UNDERAGE: + $ref: '#/components/examples/AGE_UNDERAGE' + WEAK_PASSWORD: + $ref: '#/components/examples/WEAK_PASSWORD' + BREACHED_PASSWORD: + $ref: '#/components/examples/BREACHED_PASSWORD' + PHONE_NO_ALREADY_REGISTERED: + $ref: '#/components/examples/PHONE_NO_ALREADY_REGISTERED' + USERNAME_ALREADY_REGISTERED: + $ref: '#/components/examples/USERNAME_ALREADY_REGISTERED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/register/passkey/begin: + get: + tags: + - Registration + summary: Initiate Registration with Passkey + operationId: beginPasskeyRegistration + description: Begins the registration process using a Passkey. + parameters: + - $ref: '#/components/parameters/PasskeyIdentifier' + responses: + '200': + description: Successfully initiated credential registration + content: + application/json: + schema: + type: object + description: Response object returned to initiate Passkey registration (WebAuthn) + properties: + RegisterBeginCredential: + type: object + description: OpenAPI schema for protocol.PublicKeyCredentialCreationOptions + properties: + publicKey: + $ref: '#/components/schemas/PublicKeyCredentialCreationOptions' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + TRIAL_PLAN_USER_LIMIT_REACHED: + $ref: '#/components/examples/TRIAL_PLAN_USER_LIMIT_REACHED' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + EMAILID_ALREADY_REGISTERED_WITH_SOCIAL_ACCOUNT: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED_WITH_SOCIAL_ACCOUNT' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + DOMAIN_NO_VALID_MX_RECORD: + $ref: '#/components/examples/DOMAIN_NO_VALID_MX_RECORD' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + /identity/v2/auth/register/passkey/finish: + post: + tags: + - Registration + summary: Complete Registration with Passkey + operationId: finishPasskeyRegistration + description: Completes the registration process using a Passkey. + parameters: + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/Options' + - $ref: '#/components/parameters/InvitationToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PasskeyRegisterFinish' + responses: + '200': + description: Successfully finish credential registration + content: + application/json: + schema: + $ref: '#/components/schemas/RegistrationResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + EMAIL_VALUE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_VALUE_REQUIRED_PARAM' + EMAIL_TYPE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_TYPE_REQUIRED_PARAM' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PASS_KEY_CREDENTIAL_REQUIRED: + $ref: '#/components/examples/PASS_KEY_CREDENTIAL_REQUIRED' + GENDER_INVALID: + $ref: '#/components/examples/GENDER_INVALID' + BIRTH_DATE_INVALID: + $ref: '#/components/examples/BIRTH_DATE_INVALID' + ADDRESS_TYPE_REQUIRED: + $ref: '#/components/examples/ADDRESS_TYPE_REQUIRED' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + ADDRESS_TYPE_CAN_NOT_BE_SAME: + $ref: '#/components/examples/ADDRESS_TYPE_CAN_NOT_BE_SAME' + EMAIL_ID_CAN_NOT_BE_SAME: + $ref: '#/components/examples/EMAIL_ID_CAN_NOT_BE_SAME' + PRIMARY_EMAIL_CAN_BE_ONLY_ONE: + $ref: '#/components/examples/PRIMARY_EMAIL_CAN_BE_ONLY_ONE' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_USER_LIMIT_REACHED: + $ref: '#/components/examples/TRIAL_PLAN_USER_LIMIT_REACHED' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + TRADITIONAL_REGISTRATION_DISABLED: + $ref: '#/components/examples/TRADITIONAL_REGISTRATION_DISABLED' + CUSTOM_FIELD_NOT_VALID: + $ref: '#/components/examples/CUSTOM_FIELD_NOT_VALID' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + EMAILID_ALREADY_REGISTERED_WITH_SOCIAL_ACCOUNT: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED_WITH_SOCIAL_ACCOUNT' + DOMAIN_NO_VALID_MX_RECORD: + $ref: '#/components/examples/DOMAIN_NO_VALID_MX_RECORD' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASS_KEY_CREDENTIAL_REQUIRED: + $ref: '#/components/examples/PASS_KEY_CREDENTIAL_REQUIRED' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + ACCOUNT_NOT_ALLOWED_TO_LOGIN: + $ref: '#/components/examples/ACCOUNT_NOT_ALLOWED_TO_LOGIN' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + PIN_REQUIRED: + $ref: '#/components/examples/PIN_REQUIRED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + PRIVACY_POLICY_NOT_ACCEPTED: + $ref: '#/components/examples/PRIVACY_POLICY_NOT_ACCEPTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + AGE_UNDERAGE: + $ref: '#/components/examples/AGE_UNDERAGE' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/login: + post: + summary: Login with credentials + description: Authenticates a User using Email, Username, or Phone, providing an Access Token for further API interactions. + operationId: EmailByLoginUserNamePhone + tags: + - Login + parameters: + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/LoginUrl' + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/IsVoiceOtp' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/BreachedPasswordEmailTemplate' + - $ref: '#/components/parameters/BreachedPasswordSmsTemplate' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/Options' + - $ref: '#/components/parameters/RbaBrowserEmailTemplate' + - $ref: '#/components/parameters/RbaOneClickEmailTemplate' + - $ref: '#/components/parameters/RbaCityEmailTemplate' + - $ref: '#/components/parameters/RbaCountryEmailTemplate' + - $ref: '#/components/parameters/RbaIPEmailTemplate' + - $ref: '#/components/parameters/RbaDeviceEmailTemplate' + - $ref: '#/components/parameters/RbaOtpSMSTemplate' + - $ref: '#/components/parameters/RbaBrowserSMSTemplate' + - $ref: '#/components/parameters/RbaCitySMSTemplate' + - $ref: '#/components/parameters/RbaCountrySMSTemplate' + - $ref: '#/components/parameters/RbaIPSMSTemplate' + - $ref: '#/components/parameters/RbaDeviceSMSTemplate' + - $ref: '#/components/parameters/InvitationToken' + - $ref: '#/components/parameters/EmailTemplate2FA' + - $ref: '#/components/parameters/DuoRedirectUri' + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/LoginByEmailRequest' + - $ref: '#/components/schemas/LoginByUsernameRequest' + - $ref: '#/components/schemas/LoginByPhone' + examples: + LoginByEmailRequest: + $ref: '#/components/examples/LoginByEmailRequest' + LoginByUserNameRequest: + $ref: '#/components/examples/LoginByUserNameRequest' + LoginByPhoneRequest: + $ref: '#/components/examples/LoginByPhoneRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AuthResponseOptionalMfa' + - $ref: '#/components/schemas/AuthResponseRequiredMfa' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PASSWORD_REQUIRED: + $ref: '#/components/examples/PASSWORD_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + DUO_REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/DUO_REDIRECT_URI_REQUIRED' + USERNAME_REQUIRED_PARAM: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + USERNAME_PASSWORD_REQUIRED: + $ref: '#/components/examples/USERNAME_PASSWORD_REQUIRED' + PHONE_OR_EMAIL_OR_USER_REQUIRED_PARAM: + $ref: '#/components/examples/PHONE_OR_EMAIL_OR_USER_REQUIRED_PARAM' + PHONE_OR_EMAIL_OR_USER_REQUIRED_PASSWORD_REQUIRED_PARAM: + $ref: '#/components/examples/PHONE_OR_EMAIL_OR_USER_REQUIRED_PASSWORD_REQUIRED_PARAM' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + USERNAME_OR_PASSWORD_WRONG: + $ref: '#/components/examples/USERNAME_OR_PASSWORD_WRONG' + USERNAME_OR_PASSWORD_WRONG_FOR_BLOCK_LOCKOUT: + $ref: '#/components/examples/USERNAME_OR_PASSWORD_WRONG_FOR_BLOCK_LOCKOUT' + USERNAME_OR_PASSWORD_WRONG_FOR_SUSPEND_LOCKOUT: + $ref: '#/components/examples/USERNAME_OR_PASSWORD_WRONG_FOR_SUSPEND_LOCKOUT' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + USER_NAME_AUTHENTICATION_ENABLED: + $ref: '#/components/examples/USER_NAME_AUTHENTICATION_ENABLED' + LOGIN_WITH_PASSWORD_NOT_ENABLED: + $ref: '#/components/examples/LOGIN_WITH_PASSWORD_NOT_ENABLED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + ACCOUNT_NOT_ALLOWED_TO_LOGIN: + $ref: '#/components/examples/ACCOUNT_NOT_ALLOWED_TO_LOGIN' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + BREACHED_PASSWORD_LOGIN: + $ref: '#/components/examples/BREACHED_PASSWORD_LOGIN' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED' + PHONE_NOT_VERIFIED: + $ref: '#/components/examples/PHONE_NOT_VERIFIED' + EMAIL_OR_PHONE_NUMBER_REQUIRED_VERIFIED: + $ref: '#/components/examples/EMAIL_OR_PHONE_NUMBER_REQUIRED_VERIFIED' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + RBA_ACCOUNT_IS_BLOCKED_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_BROWSER_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_CITY_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_CITY_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_COUNTRY_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_DEVICE_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_IP_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_IP_RISK' + RBA_EMAIL_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_BROWSER_RISK' + RBA_EMAIL_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_CITY_RISK' + RBA_EMAIL_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_COUNTRY_RISK' + RBA_EMAIL_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_DEVICE_RISK' + RBA_EMAIL_VERIFICATION_BY_IP_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_IP_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_BROWSER_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_CITY_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_COUNTRY_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_DEVICE_RISK' + RBA_SMS_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_BROWSER_RISK' + RBA_SMS_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_CITY_RISK' + RBA_SMS_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_COUNTRY_RISK' + RBA_SMS_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_DEVICE_RISK' + RBA_SMS_VERIFICATION_BY_IP_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_IP_RISK' + PIN_IS_REQUIRED: + $ref: '#/components/examples/PIN_IS_REQUIRED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + TWO_FACTOR_AUTHENTICATION_PUSH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PUSH_CONFIG_INVALID' + TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID' + EMAIL_ID_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_ID_NOT_EXISTS' + DUO_AUTHENTICATOR_REDIRECT_URI_INVALID: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_INVALID' + DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/email: + post: + summary: Add Email + description: Adds an Email to a User's account, either as a primary or additional Email. + operationId: AddEmail + tags: + - User + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AddEmailModel' + responses: + '200': + description: Status OK:The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + EMAIL_TYPE_CAN_NOT_NULL: + $ref: '#/components/examples/EMAIL_TYPE_CAN_NOT_NULL' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + DOMAIN_NO_VALID_MX_RECORD: + $ref: '#/components/examples/DOMAIN_NO_VALID_MX_RECORD' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + CANNOT_ADD_EMAIL_ADDRESS: + $ref: '#/components/examples/CANNOT_ADD_EMAIL_ADDRESS' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + put: + tags: + - User + operationId: UpdateEmail + summary: Verify Email + description: Verifies the User's Email when OTP Email Verification is enabled, requiring LoginRadius activation. + parameters: + - $ref: '#/components/parameters/Url' + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/VerifyEmailModel' + - $ref: '#/components/schemas/CaptchaModel' + responses: + '200': + description: Email existence check response + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AuthResponse' + - $ref: '#/components/schemas/AuthResponseEmailVerification' + - $ref: '#/components/schemas/AuthResponseForgotReset' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + EMAIL_UUID_OTP_REQUIRED: + $ref: '#/components/examples/EMAIL_UUID_OTP_REQUIRED' + EMAIL_UUID_REQUIRED: + $ref: '#/components/examples/EMAIL_UUID_REQUIRED' + EMAIL_USERNAME_UUID_OTP_REQUIRED: + $ref: '#/components/examples/EMAIL_USERNAME_UUID_OTP_REQUIRED' + EMAIL_USERNAME_UUID_REQUIRED: + $ref: '#/components/examples/EMAIL_USERNAME_UUID_REQUIRED' + EMAIL_OR_USERNAME_ONLY_ONE: + $ref: '#/components/examples/EMAIL_OR_USERNAME_ONLY_ONE' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + INVALID_UUID: + $ref: '#/components/examples/INVALID_UUID' + EMAIL_OTP_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_OTP_NOT_EXISTS' + EMAIL_OTP_ALREADY_USED: + $ref: '#/components/examples/EMAIL_OTP_ALREADY_USED' + EMAIL_OTP_EXPIRED: + $ref: '#/components/examples/EMAIL_OTP_EXPIRED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + APP_NOT_EXISTS: + $ref: '#/components/examples/APP_NOT_EXISTS' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + EMAIL_ALREADY_USED: + $ref: '#/components/examples/EMAIL_ALREADY_USED' + VERIFICATION_VTOKEN_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_VTOKEN_NOT_VALID' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - BearerToken: [] + APIKey: [] + get: + tags: + - User + operationId: CheckEmailAvailability + summary: Check Email availability + description: Verifies Email availability or checks Email using a Verification Token or OTP. + parameters: + - $ref: '#/components/parameters/Email' + - $ref: '#/components/parameters/Username' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/VerificationToken' + - $ref: '#/components/parameters/Otp' + - $ref: '#/components/parameters/Uuid' + - $ref: '#/components/parameters/Url' + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + responses: + '200': + description: Email existence check response + content: + application/json: + schema: + type: object + oneOf: + - $ref: '#/components/schemas/IsExist' + - $ref: '#/components/schemas/AuthResponse' + - $ref: '#/components/schemas/AuthResponseEmailVerification' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + VERIFICATION_TOKEN_REQUIRED: + $ref: '#/components/examples/VERIFICATION_TOKEN_REQUIRED' + EMAIL_UUID_OTP_REQUIRED: + $ref: '#/components/examples/EMAIL_UUID_OTP_REQUIRED' + EMAIL_UUID_REQUIRED: + $ref: '#/components/examples/EMAIL_UUID_REQUIRED' + EMAIL_USERNAME_UUID_OTP_REQUIRED: + $ref: '#/components/examples/EMAIL_USERNAME_UUID_OTP_REQUIRED' + EMAIL_USERNAME_UUID_REQUIRED: + $ref: '#/components/examples/EMAIL_USERNAME_UUID_REQUIRED' + EMAIL_OR_USERNAME_ONLY_ONE: + $ref: '#/components/examples/EMAIL_OR_USERNAME_ONLY_ONE' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + IDENTIFIER_AVAILABILITY_CHECK_DISABLED: + $ref: '#/components/examples/IDENTIFIER_AVAILABILITY_CHECK_DISABLED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + VERIFICATION_LINK_INVALID: + $ref: '#/components/examples/VERIFICATION_LINK_INVALID' + EMAIL_OTP_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_OTP_NOT_EXISTS' + LINK_ALREADY_VERIFIED: + $ref: '#/components/examples/LINK_ALREADY_VERIFIED' + EMAIL_OTP_ALREADY_USED: + $ref: '#/components/examples/EMAIL_OTP_ALREADY_USED' + LINK_EXPIRED: + $ref: '#/components/examples/LINK_EXPIRED' + EMAIL_OTP_EXPIRED: + $ref: '#/components/examples/EMAIL_OTP_EXPIRED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + CONSENT_FORM_NOT_AVAILABLE: + $ref: '#/components/examples/CONSENT_FORM_NOT_AVAILABLE' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + VERIFICATION_VTOKEN_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_VTOKEN_NOT_VALID' + INVALID_UUID: + $ref: '#/components/examples/INVALID_UUID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + delete: + tags: + - User + summary: Remove Email + description: Removes additional Emails from a User's account. + operationId: deleteemailbyaccesstoken + parameters: + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + DELETE_BODY_INVALID: + $ref: '#/components/examples/DELETE_BODY_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + ONE_EMAILID_IS_REQUIRED: + $ref: '#/components/examples/ONE_EMAILID_IS_REQUIRED' + EMAIL_ID_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_ID_NOT_EXISTS' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + requestBody: + required: true + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AccessTokenInBody' + - $ref: '#/components/schemas/DeleteEmailRequest' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/login/passkey/begin: + get: + tags: + - Login + summary: Initiate Login with Passkey + operationId: beginPasskeyLogin + description: Begins the login process using a Passkey. + parameters: + - $ref: '#/components/parameters/PasskeyIdentifier' + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/EmailTemplate' + responses: + '200': + description: Successfully initiated login + content: + application/json: + schema: + type: object + description: Response object returned to initiate Passkey login (WebAuthn) + properties: + LoginBeginCredential: + type: object + description: OpenAPI schema for protocol.PublicKeyCredentialRequestOptions + properties: + publicKey: + $ref: '#/components/schemas/PublicKeyCredentialRequestOptions' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + PASSKEY_NOT_CONFIGURED_IN_PROFILE: + $ref: '#/components/examples/PASSKEY_NOT_CONFIGURED_IN_PROFILE' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + /identity/v2/auth/login/passkey/finish: + post: + tags: + - Login + summary: Complete Login with Passkey + operationId: finishPasskeyLogin + description: Completes the login process using a Passkey. + parameters: + - $ref: '#/components/parameters/LoginUrl' + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/Options' + - $ref: '#/components/parameters/InvitationToken' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/RbaBrowserEmailTemplate' + - $ref: '#/components/parameters/RbaOneClickEmailTemplate' + - $ref: '#/components/parameters/RbaCityEmailTemplate' + - $ref: '#/components/parameters/RbaCountryEmailTemplate' + - $ref: '#/components/parameters/RbaIPEmailTemplate' + - $ref: '#/components/parameters/RbaDeviceEmailTemplate' + - $ref: '#/components/parameters/RbaOtpSMSTemplate' + - $ref: '#/components/parameters/RbaBrowserSMSTemplate' + - $ref: '#/components/parameters/RbaCitySMSTemplate' + - $ref: '#/components/parameters/RbaCountrySMSTemplate' + - $ref: '#/components/parameters/RbaIPSMSTemplate' + - $ref: '#/components/parameters/RbaDeviceSMSTemplate' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PasskeyLoginFinish' + responses: + '200': + description: Successfully finish login + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + PASS_KEY_CREDENTIAL_REQUIRED: + $ref: '#/components/examples/PASS_KEY_CREDENTIAL_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + ACCOUNT_NOT_ALLOWED_TO_LOGIN: + $ref: '#/components/examples/ACCOUNT_NOT_ALLOWED_TO_LOGIN' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + PASSKEY_VERIFICATION_FAILED_FOR_BLOCK_LOCKOUT: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED_FOR_BLOCK_LOCKOUT' + PASSKEY_VERIFICATION_FAILED_FOR_SUSPEND_LOCKOUT: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED_FOR_SUSPEND_LOCKOUT' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED' + RBA_ACCOUNT_IS_BLOCKED_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_BROWSER_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_CITY_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_CITY_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_COUNTRY_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_DEVICE_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_IP_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_IP_RISK' + RBA_EMAIL_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_BROWSER_RISK' + RBA_EMAIL_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_CITY_RISK' + RBA_EMAIL_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_COUNTRY_RISK' + RBA_EMAIL_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_DEVICE_RISK' + RBA_EMAIL_VERIFICATION_BY_IP_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_IP_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_BROWSER_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_CITY_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_COUNTRY_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_DEVICE_RISK' + RBA_SMS_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_BROWSER_RISK' + RBA_SMS_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_CITY_RISK' + RBA_SMS_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_COUNTRY_RISK' + RBA_SMS_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_DEVICE_RISK' + RBA_SMS_VERIFICATION_BY_IP_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_IP_RISK' + PIN_IS_REQUIRED: + $ref: '#/components/examples/PIN_IS_REQUIRED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/login/passkey/autofill/begin: + get: + tags: + - Login + summary: Initiate Login with Autofill Passkey + operationId: beginAutofillPasskeyLogin + description: Begins the login process using an Autofill Passkey. + responses: + '200': + description: Successfully initiated login + content: + application/json: + schema: + type: object + description: Response object returned to initiate Passkey login (WebAuthn) + properties: + LoginBeginCredential: + type: object + description: OpenAPI schema for protocol.PublicKeyCredentialRequestOptions + properties: + publicKey: + $ref: '#/components/schemas/PublicKeyCredentialRequestOptions' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + PASSKEY_AUTOFILL_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_AUTOFILL_NOT_ENABLED_IN_APP' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + /identity/v2/auth/login/passkey/autofill/finish: + post: + tags: + - Login + summary: Complete Login with Autofill Passkey + operationId: finishAutofillPasskeyLogin + description: Completes the login process using an Autofill Passkey. + parameters: + - $ref: '#/components/parameters/LoginUrl' + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/InvitationToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/Options' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/RbaBrowserEmailTemplate' + - $ref: '#/components/parameters/RbaOneClickEmailTemplate' + - $ref: '#/components/parameters/RbaCityEmailTemplate' + - $ref: '#/components/parameters/RbaCountryEmailTemplate' + - $ref: '#/components/parameters/RbaIPEmailTemplate' + - $ref: '#/components/parameters/RbaDeviceEmailTemplate' + - $ref: '#/components/parameters/RbaOtpSMSTemplate' + - $ref: '#/components/parameters/RbaBrowserSMSTemplate' + - $ref: '#/components/parameters/RbaCitySMSTemplate' + - $ref: '#/components/parameters/RbaCountrySMSTemplate' + - $ref: '#/components/parameters/RbaIPSMSTemplate' + - $ref: '#/components/parameters/RbaDeviceSMSTemplate' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PasskeyLoginAutofillRequest' + responses: + '200': + description: Successfully finish login + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PASS_KEY_CREDENTIAL_REQUIRED: + $ref: '#/components/examples/PASS_KEY_CREDENTIAL_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + PASSKEY_AUTOFILL_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_AUTOFILL_NOT_ENABLED_IN_APP' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + PASSKEY_NOT_CONFIGURED_IN_PROFILE: + $ref: '#/components/examples/PASSKEY_NOT_CONFIGURED_IN_PROFILE' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + ACCOUNT_NOT_ALLOWED_TO_LOGIN: + $ref: '#/components/examples/ACCOUNT_NOT_ALLOWED_TO_LOGIN' + PASSKEY_VERIFICATION_FAILED_FOR_BLOCK_LOCKOUT: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED_FOR_BLOCK_LOCKOUT' + PASSKEY_VERIFICATION_FAILED_FOR_SUSPEND_LOCKOUT: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED_FOR_SUSPEND_LOCKOUT' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED' + RBA_ACCOUNT_IS_BLOCKED_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_BROWSER_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_CITY_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_CITY_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_COUNTRY_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_DEVICE_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_IP_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_IP_RISK' + RBA_EMAIL_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_BROWSER_RISK' + RBA_EMAIL_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_CITY_RISK' + RBA_EMAIL_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_COUNTRY_RISK' + RBA_EMAIL_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_DEVICE_RISK' + RBA_EMAIL_VERIFICATION_BY_IP_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_IP_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_BROWSER_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_CITY_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_COUNTRY_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_DEVICE_RISK' + RBA_SMS_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_BROWSER_RISK' + RBA_SMS_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_CITY_RISK' + RBA_SMS_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_COUNTRY_RISK' + RBA_SMS_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_DEVICE_RISK' + RBA_SMS_VERIFICATION_BY_IP_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_IP_RISK' + PIN_IS_REQUIRED: + $ref: '#/components/examples/PIN_IS_REQUIRED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/login/2fa/register/passkey/begin: + get: + tags: + - Security + summary: Begin Passkey Registration with MFA Token + operationId: beginMFAPasskeyRegistration + description: Begins the MFA Passkey registration flow. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + responses: + '200': + description: Successfully initiated credential registration + content: + application/json: + schema: + type: object + description: Response object returned to initiate Passkey registration (WebAuthn) + properties: + RegisterBeginCredential: + type: object + description: Container for the WebAuthn registration initiation data + properties: + publicKey: + $ref: '#/components/schemas/PublicKeyCredentialCreationOptions' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + PASSKEY_ONLY_SUPPORT_EMAIL: + $ref: '#/components/examples/PASSKEY_ONLY_SUPPORT_EMAIL' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + security: + - APIKey: [] + /identity/v2/auth/login/2fa/register/passkey/finish: + post: + tags: + - Security + summary: Complete Passkey registration + operationId: finishMFAPasskeyRegistration + description: Completes the MFA Passkey registration process using the provided MFA token. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/RbaBrowserEmailTemplate' + - $ref: '#/components/parameters/RbaOneClickEmailTemplate' + - $ref: '#/components/parameters/RbaCityEmailTemplate' + - $ref: '#/components/parameters/RbaCountryEmailTemplate' + - $ref: '#/components/parameters/RbaIPEmailTemplate' + - $ref: '#/components/parameters/RbaDeviceEmailTemplate' + - $ref: '#/components/parameters/RbaOtpSMSTemplate' + - $ref: '#/components/parameters/RbaBrowserSMSTemplate' + - $ref: '#/components/parameters/RbaCitySMSTemplate' + - $ref: '#/components/parameters/RbaCountrySMSTemplate' + - $ref: '#/components/parameters/RbaIPSMSTemplate' + - $ref: '#/components/parameters/RbaDeviceSMSTemplate' + requestBody: + required: true + content: + application/json: + schema: + type: object + description: Passkey Credentials to finish Passkey registration (WebAuthn) + properties: + PasskeyCredential: + $ref: '#/components/schemas/PasskeyCredentialCreationResponse' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PASS_KEY_CREDENTIAL_REQUIRED: + $ref: '#/components/examples/PASS_KEY_CREDENTIAL_REQUIRED' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + PASSKEY_ONLY_SUPPORT_EMAIL: + $ref: '#/components/examples/PASSKEY_ONLY_SUPPORT_EMAIL' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASS_KEY_CREDENTIAL_REQUIRED: + $ref: '#/components/examples/PASS_KEY_CREDENTIAL_REQUIRED' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + '404': + description: Not Found - the requested resource does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - APIKey: [] + /identity/v2/auth/login/2fa/passkey/begin: + get: + tags: + - Security + summary: Begin Passkey Login with MFA Token + operationId: beginPasskeyMFAVerification + description: Begins the MFA Passkey verification flow. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + responses: + '200': + description: Successfully initiated login + content: + application/json: + schema: + type: object + description: Response object returned to initiate Passkey login (WebAuthn) + properties: + LoginBeginCredential: + type: object + description: Container for the WebAuthn login initiation data + properties: + publicKey: + $ref: '#/components/schemas/PublicKeyCredentialRequestOptions' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + PASSKEY_ONLY_SUPPORT_EMAIL: + $ref: '#/components/examples/PASSKEY_ONLY_SUPPORT_EMAIL' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + security: + - APIKey: [] + /identity/v2/auth/login/2fa/passkey/finish: + post: + tags: + - Security + summary: Complete Passkey Login with MFA Token + operationId: finishPasskeyMFAVerification + description: Completes the MFA Passkey verification flow. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/RbaBrowserEmailTemplate' + - $ref: '#/components/parameters/RbaOneClickEmailTemplate' + - $ref: '#/components/parameters/RbaCityEmailTemplate' + - $ref: '#/components/parameters/RbaCountryEmailTemplate' + - $ref: '#/components/parameters/RbaIPEmailTemplate' + - $ref: '#/components/parameters/RbaDeviceEmailTemplate' + - $ref: '#/components/parameters/RbaOtpSMSTemplate' + - $ref: '#/components/parameters/RbaBrowserSMSTemplate' + - $ref: '#/components/parameters/RbaCitySMSTemplate' + - $ref: '#/components/parameters/RbaCountrySMSTemplate' + - $ref: '#/components/parameters/RbaIPSMSTemplate' + - $ref: '#/components/parameters/RbaDeviceSMSTemplate' + requestBody: + required: true + content: + application/json: + schema: + type: object + description: Passkey Credentials to finish Passkey verify (WebAuthn) + properties: + PasskeyCredential: + $ref: '#/components/schemas/PasskeyCredentialAssertionResponse' + responses: + '200': + description: Successfully finish login + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PASS_KEY_CREDENTIAL_REQUIRED: + $ref: '#/components/examples/PASS_KEY_CREDENTIAL_REQUIRED' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + PASSKEY_ONLY_SUPPORT_EMAIL: + $ref: '#/components/examples/PASSKEY_ONLY_SUPPORT_EMAIL' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASS_KEY_CREDENTIAL_REQUIRED: + $ref: '#/components/examples/PASS_KEY_CREDENTIAL_REQUIRED' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + '404': + description: Not Found - the requested resource does not exist. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - APIKey: [] + /identity/v2/auth/login/2fa/push: + post: + tags: + - Security + summary: Resend Push Notification + operationId: mfaResendPushNotification + description: Resends a Push Notification for Multi-Factor Authentication. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + responses: + '200': + description: Push Notification sent for verification + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED' + MFA_PUSH_VERIFICATION_COMPLETE: + $ref: '#/components/examples/MFA_PUSH_VERIFICATION_COMPLETE' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_PUSH_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_PUSH_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE' + TWO_FACTOR_AUTHENTICATION_PUSH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PUSH_CONFIG_INVALID' + /identity/v2/auth/login/2fa/push/ping: + get: + tags: + - Security + summary: Check Push Notification Verification Status + operationId: pingPushVerificationStatus + description: Checks the status of Push Notification verification and returns the login response when verified. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/RbaBrowserEmailTemplate' + - $ref: '#/components/parameters/RbaOneClickEmailTemplate' + - $ref: '#/components/parameters/RbaCityEmailTemplate' + - $ref: '#/components/parameters/RbaCountryEmailTemplate' + - $ref: '#/components/parameters/RbaIPEmailTemplate' + - $ref: '#/components/parameters/RbaDeviceEmailTemplate' + - $ref: '#/components/parameters/RbaOtpSMSTemplate' + - $ref: '#/components/parameters/RbaBrowserSMSTemplate' + - $ref: '#/components/parameters/RbaCitySMSTemplate' + - $ref: '#/components/parameters/RbaCountrySMSTemplate' + - $ref: '#/components/parameters/RbaIPSMSTemplate' + - $ref: '#/components/parameters/RbaDeviceSMSTemplate' + responses: + '200': + description: Successfully verified and give login response + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED' + MFA_PUSH_VERIFICATION_PENDING: + $ref: '#/components/examples/MFA_PUSH_VERIFICATION_PENDING' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + MFA_PUSH_VERIFICATION_DENIED: + $ref: '#/components/examples/MFA_PUSH_VERIFICATION_DENIED' + /identity/v2/auth/login/2fa/resend: + get: + summary: Resend SMS OTP with MFA Token + description: Resends the Multi-Factor Authentication OTP via SMS for login. + operationId: Resend2FAOTP + tags: + - Security + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/IsVoiceOtp' + responses: + '200': + description: Successful MFA login or MFA challenge required + content: + application/json: + schema: + $ref: '#/components/schemas/SMSResponseData' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_AUTHENTICATION_PHONE_NOT_VERIFIED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PHONE_NOT_VERIFIED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + /identity/v2/auth/login/2fa/sms/resend: + get: + summary: Resend SMS OTP with MFA Token + description: Resends the Multi-Factor Authentication OTP via SMS for login. + operationId: Resend2faSMSOtp + tags: + - Security + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/IsVoiceOtp' + responses: + '200': + description: Successful MFA login or MFA challenge required + content: + application/json: + schema: + $ref: '#/components/schemas/SMSResponseData' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_AUTHENTICATION_PHONE_NOT_VERIFIED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PHONE_NOT_VERIFIED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + /identity/v2/auth/login/2fa/duo: + put: + tags: + - Security + summary: Verify Duo with MFA Token + operationId: DuoAuthVerificationByMFASecondFactorToken + description: Verifies Duo authentication for a User using a second factor token. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/RbaBrowserEmailTemplate' + - $ref: '#/components/parameters/RbaOneClickEmailTemplate' + - $ref: '#/components/parameters/RbaCityEmailTemplate' + - $ref: '#/components/parameters/RbaCountryEmailTemplate' + - $ref: '#/components/parameters/RbaIPEmailTemplate' + - $ref: '#/components/parameters/RbaDeviceEmailTemplate' + - $ref: '#/components/parameters/RbaOtpSMSTemplate' + - $ref: '#/components/parameters/RbaBrowserSMSTemplate' + - $ref: '#/components/parameters/RbaCitySMSTemplate' + - $ref: '#/components/parameters/RbaCountrySMSTemplate' + - $ref: '#/components/parameters/RbaIPSMSTemplate' + - $ref: '#/components/parameters/RbaDeviceSMSTemplate' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DuoVerifyRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + DUO_CODE_REQUIRED: + $ref: '#/components/examples/DUO_CODE_REQUIRED' + DUO_STATE_REQUIRED: + $ref: '#/components/examples/DUO_STATE_REQUIRED' + DUO_CODE_STATE_REQUIRED: + $ref: '#/components/examples/DUO_CODE_STATE_REQUIRED' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + DUO_AUTH_NOT_ENABLED: + $ref: '#/components/examples/DUO_AUTH_NOT_ENABLED' + DUO_STATE_NOT_VALID: + $ref: '#/components/examples/DUO_STATE_NOT_VALID' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID' + DUO_AUTHENTICATOR_VERIFICATION_FAILED: + $ref: '#/components/examples/DUO_AUTHENTICATOR_VERIFICATION_FAILED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - APIKey: [] + /identity/v2/auth/login/2fa/backupcode: + put: + tags: + - Security + summary: Verify Backup Code with MFA Token + operationId: VerifyBackupCodeForMFALogin + description: Verifies a User's MFA backup code as a second factor during the login process, typically used when the primary MFA method is unavailable. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/RbaBrowserEmailTemplate' + - $ref: '#/components/parameters/RbaCityEmailTemplate' + - $ref: '#/components/parameters/RbaCountryEmailTemplate' + - $ref: '#/components/parameters/RbaIPEmailTemplate' + - $ref: '#/components/parameters/RbaDeviceEmailTemplate' + - $ref: '#/components/parameters/RbaBrowserSMSTemplate' + - $ref: '#/components/parameters/RbaCitySMSTemplate' + - $ref: '#/components/parameters/RbaCountrySMSTemplate' + - $ref: '#/components/parameters/RbaIPSMSTemplate' + - $ref: '#/components/parameters/RbaDeviceSMSTemplate' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TwoFAAuthByBackupCode' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + BACKUP_CODE_REQUIRED: + $ref: '#/components/examples/BACKUP_CODE_REQUIRED' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_VALID' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/login/2fa/email: + post: + tags: + - Security + summary: Resend Email OTP with MFA Token + operationId: ResendEmailOTPMFAToken + description: Sends the OTP to the Email if the Email OTP authenticator is enabled in the Tenant's MFA configuration. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/IsVoiceOtp' + - $ref: '#/components/parameters/EmailTemplate2FA' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EmailModel' + responses: + '200': + description: OTP sent successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + EMAIL_ID_REQUIRED: + $ref: '#/components/examples/EMAILID_REQUIRD' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_EmailOTP_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_EmailOTP_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + Email_ID_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_ID_NOT_EXISTS' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + put: + tags: + - Security + summary: Verify Email OTP with MFA Token + operationId: ValidateMfaOTPByEmail + description: Logs in to a User's account during the second MFA step with an OTP sent to the Email. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/RbaBrowserEmailTemplate' + - $ref: '#/components/parameters/RbaCityEmailTemplate' + - $ref: '#/components/parameters/RbaCountryEmailTemplate' + - $ref: '#/components/parameters/RbaIPEmailTemplate' + - $ref: '#/components/parameters/RbaDeviceEmailTemplate' + - $ref: '#/components/parameters/RbaBrowserSMSTemplate' + - $ref: '#/components/parameters/RbaCitySMSTemplate' + - $ref: '#/components/parameters/RbaCountrySMSTemplate' + - $ref: '#/components/parameters/RbaIPSMSTemplate' + - $ref: '#/components/parameters/RbaDeviceSMSTemplate' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthModelByEmailOtp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + EMAIL_NOT_FORMATTED: + $ref: '#/components/examples/EMAIL_NOT_FORMATTED' + OTP_NOT_FORMATTED: + $ref: '#/components/examples/OTP_NOT_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + INVITATION_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + INVITATION_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVITATION_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + OPERATION_FAILED_PARTNER: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/email/sendverificationemail: + get: + tags: + - User + operationId: SendEmailVerification + summary: Send verification Email for social profile linking + description: Sends a verification Email to the unverified Email of the social profile. This is applicable only in optional verification workflows. + parameters: + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/ClientGuid' + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: Email Verification request successful. + content: + application/json: + schema: + $ref: '#/components/schemas/SendEmailVerificationResponse' + '400': + description: Bad Request - Invalid parameters or missing required fields. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + CLIENT_GUID_REQUIRED: + $ref: '#/components/examples/CLIENT_GUID_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_OR_CLIENT_GUID_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_OR_CLIENT_GUID_REQUIRED' + INVALID_PROVIDER_IN_ORGANIZATION: + $ref: '#/components/examples/INVALID_PROVIDER_IN_ORGANIZATION' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + SP_JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SP_JWT_CONFIG_NOT_FOUND' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - Insufficient permissions to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + CLIENT_GUID_NOT_VALID: + $ref: '#/components/examples/CLIENT_GUID_NOT_VALID' + AUTOLOGIN_LINK_ALREADY_USED: + $ref: '#/components/examples/AUTOLOGIN_LINK_ALREADY_USED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + EMAILID_VERIFICATION_DISABLE: + $ref: '#/components/examples/EMAILID_VERIFICATION_DISABLE' + NO_CALLBACK_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/NO_CALLBACK_LOGIN_NOT_ENABLED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + PROVIDER_NOT_CONFIGURED: + $ref: '#/components/examples/PROVIDER_NOT_CONFIGURED' + PROVIDER_NOT_SUPPORTED: + $ref: '#/components/examples/PROVIDER_NOT_SUPPORTED' + PROVIDER_NOT_VALID: + $ref: '#/components/examples/PROVIDER_NOT_VALID' + PROVIDER_SIDE_ERROR: + $ref: '#/components/examples/PROVIDER_SIDE_ERROR' + JWT_SP_TOKEN_INVALID: + $ref: '#/components/examples/JWT_SP_TOKEN_INVALID' + PROVIDER_ID_MISSING: + $ref: '#/components/examples/PROVIDER_ID_MISSING' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + EMAIL_ALLREADY_VERIFIED_TOKEN: + $ref: '#/components/examples/EMAIL_ALLREADY_VERIFIED_TOKEN' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + '500': + description: Internal Server Error - An unexpected error occurred. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED_PARTNER: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/delete: + get: + tags: + - User + summary: Delete Account by Email token or OTP + operationId: DeleteAccount + description: Deletes an Account using a delete token or OTP. + parameters: + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/DeleteToken' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/Email' + - $ref: '#/components/parameters/Otp' + responses: + '200': + description: Account deletion request successful. + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - Invalid parameters or missing required fields. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DELETE_TOKEN_REQUIRED: + $ref: '#/components/examples/DELETE_TOKEN_REQUIRED' + EMAIL_OTP_REQUIRED: + $ref: '#/components/examples/EMAIL_OTP_REQUIRED' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + OTP_OR_DELETE_TOKEN_REQUIRED: + $ref: '#/components/examples/OTP_OR_DELETE_TOKEN_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Status Forbidden - Insufficient permissions to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + DELETE_TOKEN_IS_INVALID: + $ref: '#/components/examples/DELETE_TOKEN_IS_INVALID' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + LINK_INVALID: + $ref: '#/components/examples/LINK_INVALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + post: + summary: Delete Account by Phone OTP + description: Deletes an Account using a Phone OTP. + operationId: DeleteAccByPhoneOTP + tags: + - User + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/QQCaptchaTicket' + - $ref: '#/components/parameters/QQCaptchaRandstr' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/VerifyDeleteAccountOtp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Bad Request: The request was invalid or cannot be served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Status Forbidden - Insufficient permissions to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + OTP_INVALID: + $ref: '#/components/examples/OTP_INVALID' + OTP_ALREADY_USED: + $ref: '#/components/examples/OTP_ALREADY_USED' + OTP_EXPIRED: + $ref: '#/components/examples/OTP_EXPIRED' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + PHONE_DOES_NOT_EXIST: + $ref: '#/components/examples/PHONE_DOES_NOT_EXIST' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + security: + - APIKey: [] + BearerToken: [] + /identity/v2/auth/access_token/invalidate: + get: + tags: + - Session + summary: Invalidate Access Token + operationId: InvalidateAccessToken + description: Invalidates an active Access Token, expiring its validity. + parameters: + - $ref: '#/components/parameters/PreventRefresh' + responses: + '200': + description: Access Token invalidation request successful. + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Status Bad Request. The request was invalid or malformed. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + PREVENT_REFRESH_NOT_VALID: + $ref: '#/components/examples/PREVENT_REFRESH_NOT_VALID' + '403': + description: Status Forbidden. The request was valid, but the User does not have the necessary permissions. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/privacypolicy/history: + get: + tags: + - User + operationId: GetPrivacyPolicyHistory + summary: Retrieve Privacy Policy History + description: Returns all accepted Privacy Policies for a User using their Access Token. + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: Privacy Policy History retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PrivacyPolicyHistoryResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '403': + description: Forbidden - User does not have permission to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/username: + get: + tags: + - Login + operationId: CheckUserNameAvailability + summary: Check Username availability + description: Checks if a Username is available for registration on the platform. + parameters: + - $ref: '#/components/parameters/Username' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + responses: + '200': + description: Username existence check response + content: + application/json: + schema: + type: object + properties: + IsExist: + type: boolean + description: Indicates whether the Username exists in the system. + example: + IsExist: true + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + USERNAME_REQUIRED_PARAM: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + IDENTIFIER_AVAILABILITY_CHECK_DISABLED: + $ref: '#/components/examples/IDENTIFIER_AVAILABILITY_CHECK_DISABLED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + put: + tags: + - User + summary: Update Username + description: Sets or changes the User's Username using the Access Token. + operationId: setorchangeusernamebyaccesstoken + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SetUserNameRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + USERNAME_REQUIRED_PARAM: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USERNAME_ALREADY_REGISTERED: + $ref: '#/components/examples/USERNAME_ALREADY_REGISTERED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account: + get: + summary: Retrieve User + description: Retrieves User details based on the Access Token. + operationId: getAccountDetails + tags: + - User + parameters: + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + responses: + '200': + description: Successfully retrieved account details. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLogins' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + PIN_IS_REQUIRED: + $ref: '#/components/examples/PIN_IS_REQUIRED' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + SP_JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SP_JWT_CONFIG_NOT_FOUND' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + SOCIAL_REGISTRATION_NOT_ALLOWED: + $ref: '#/components/examples/SOCIAL_REGISTRATION_NOT_ALLOWED' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - User does not have permission to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + INVALID_PROVIDER_IN_ORGANIZATION: + $ref: '#/components/examples/INVALID_PROVIDER_IN_ORGANIZATION' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + PROVIDER_NOT_CONFIGURED: + $ref: '#/components/examples/PROVIDER_NOT_CONFIGURED' + PROVIDER_NOT_SUPPORTED: + $ref: '#/components/examples/PROVIDER_NOT_SUPPORTED' + PROVIDER_NOT_VALID: + $ref: '#/components/examples/PROVIDER_NOT_VALID' + PROVIDER_SIDE_ERROR: + $ref: '#/components/examples/PROVIDER_SIDE_ERROR' + PROVIDER_ID_MISSING: + $ref: '#/components/examples/PROVIDER_ID_MISSING' + EMAIL_DOMAIN_NOT_ALLOWED_IN_ORGANIZATION: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_IN_ORGANIZATION' + AGE_UNDERAGE: + $ref: '#/components/examples/AGE_UNDERAGE' + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_PHONE_ID: + $ref: '#/components/examples/UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_PHONE_ID' + EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + SIGNUP_NOT_ALLOWED_IN_ORG: + $ref: '#/components/examples/SIGNUP_NOT_ALLOWED_IN_ORG' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + TRIAL_PLAN_USER_LIMIT_REACHED: + $ref: '#/components/examples/TRIAL_PLAN_USER_LIMIT_REACHED' + JWT_SP_TOKEN_INVALID: + $ref: '#/components/examples/JWT_SP_TOKEN_INVALID' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + AUTOLOOKUP_DOMAIN_NOT_MATCH: + $ref: '#/components/examples/AUTOLOOKUP_DOMAIN_NOT_MATCH' + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID: + $ref: '#/components/examples/UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID' + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_IN_EMAIL_VERIFCATION_DISABLED: + $ref: '#/components/examples/UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_IN_EMAIL_VERIFCATION_DISABLED' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + PHONE_NO_ALREADY_REGISTERED: + $ref: '#/components/examples/PHONE_NO_ALREADY_REGISTERED' + SOCIAL_REGISTRATION_NOT_ALLOWED: + $ref: '#/components/examples/SOCIAL_REGISTRATION_NOT_ALLOWED' + '404': + description: 'Status Not Found: The requested resource could not be found.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: 'Status Internal Server Error: An unexpected error occurred.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED_PARTNER: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - BearerToken: [] + APIKey: [] + put: + tags: + - User + summary: Update User + description: Updates the User's account information using a valid Access Token. + operationId: updateAccountByAccessToken + parameters: + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/NullSupport' + - $ref: '#/components/parameters/IsVoiceOtp' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateByTokenResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + USERNAME_REQUIRED: + $ref: '#/components/examples/USERNAME_REQUIRED' + GENDER_INVALID: + $ref: '#/components/examples/GENDER_INVALID' + BIRTH_DATE_INVALID: + $ref: '#/components/examples/BIRTH_DATE_INVALID' + ADDRESS_TYPE_REQUIRED: + $ref: '#/components/examples/ADDRESS_TYPE_REQUIRED' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + ADDRESS_TYPE_CAN_NOT_BE_SAME: + $ref: '#/components/examples/ADDRESS_TYPE_CAN_NOT_BE_SAME' + EMAIL_TYPE_VALUE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_TYPE_VALUE_REQUIRED_PARAM' + EMAIL_VALUE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_VALUE_REQUIRED_PARAM' + EMAIL_TYPE_REQUIRED: + $ref: '#/components/examples/EMAIL_TYPE_REQUIRED' + EMAIL_ID_CAN_NOT_BE_SAME: + $ref: '#/components/examples/EMAIL_ID_CAN_NOT_BE_SAME' + PRIMARY_EMAIL_CAN_BE_ONLY_ONE: + $ref: '#/components/examples/PRIMARY_EMAIL_CAN_BE_ONLY_ONE' + CUSTOM_FIELD_LENGTH_EXCEEDED: + $ref: '#/components/examples/CUSTOM_FIELD_LENGTH_EXCEEDED' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + PHONE_TYPE_CAN_NOT_BE_SAME: + $ref: '#/components/examples/PHONE_TYPE_CAN_NOT_BE_SAME' + PHONE_TYPE_REQUIRED: + $ref: '#/components/examples/PHONE_TYPE_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + EMAIL_ID_NOT_ALLOWED_TO_UPDATE: + $ref: '#/components/examples/EMAIL_ID_NOT_ALLOWED_TO_UPDATE' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + CUSTOM_FIELD_NOT_VALID: + $ref: '#/components/examples/CUSTOM_FIELD_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + PRIVACY_POLICY_NOT_ACCEPTED: + $ref: '#/components/examples/PRIVACY_POLICY_NOT_ACCEPTED' + ACTIVE_LOGIN_SESSIONS_NOT_ENABLED: + $ref: '#/components/examples/ACTIVE_LOGIN_SESSIONS_NOT_ENABLED' + AGE_UNDERAGE: + $ref: '#/components/examples/AGE_UNDERAGE' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + PHONE_NO_ALREADY_REGISTERED: + $ref: '#/components/examples/PHONE_NO_ALREADY_REGISTERED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + WEAK_PASSWORD: + $ref: '#/components/examples/WEAK_PASSWORD' + BREACHED_PASSWORD: + $ref: '#/components/examples/BREACHED_PASSWORD' + PASSWORD_IN_HISTORY: + $ref: '#/components/examples/PASSWORD_IN_HISTORY' + USERNAME_ALREADY_REGISTERED: + $ref: '#/components/examples/USERNAME_ALREADY_REGISTERED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + security: + - BearerToken: [] + APIKey: [] + requestBody: + required: true + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/AccessTokenInBody' + - $ref: '#/components/schemas/ProfileRequestModel' + delete: + summary: Send User deletion Email + description: Sends a confirmation Email for User deletion to the User's Email using their Access Token. + operationId: deleteAccountByAccessToken + tags: + - User + parameters: + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/DeleteUrl' + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'Status Ok: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleteRequestAccepted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + DELETE_URL_IS_NOT_WHITELISTED: + $ref: '#/components/examples/DELETE_URL_IS_NOT_WHITELISTED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + USER_ID_NOT_VALID: + $ref: '#/components/examples/USER_ID_NOT_VALID' + EMAIL_ID_NOT_EXIST_IN_PROFILE: + $ref: '#/components/examples/EMAIL_ID_NOT_EXIST_IN_PROFILE' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/otp: + get: + summary: Retrieve delete Account OTP + description: Retrieves the OTP for the specified Account to facilitate account deletion. + operationId: SendDeleteOtp + tags: + - User + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/IsVoiceOtp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SMSResponse' + '400': + description: 'Bad Request: The request was invalid or cannot be served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '401': + description: 'Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + PHONE_DOES_NOT_EXIST: + $ref: '#/components/examples/PHONE_DOES_NOT_EXIST' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + security: + - APIKey: [] + BearerToken: [] + /identity/v2/auth/account/2fa/totp: + delete: + tags: + - Security + summary: Reset TOTP + operationId: MFAResetTotpByToken + description: Resets TOTP Authenticator configurations for an Account using an Access Token. + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + DELETE_BODY_INVALID: + $ref: '#/components/examples/DELETE_BODY_INVALID' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED' + security: + - BearerToken: [] + APIKey: [] + put: + summary: Verify TOTP code + description: Validates an Authenticator Code as part of the MFA process. + tags: + - Security + operationId: Verify2faTOTPAuth + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorCodeRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLogins' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + AUTH_PAYLOAD_REQUIRED: + $ref: '#/components/examples/AUTH_PARAMETER_REQUIRED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT_OLD' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/privacypolicy/accept: + get: + tags: + - User + summary: Accept Privacy Policy + description: Updates the Privacy Policy stored in a User's profile using their Access Token. + operationId: getPrivacyPolicyAcceptance + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + responses: + '200': + description: User information along with Privacy Policy acceptance details. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLogins' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '403': + description: Forbidden - User does not have permission to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + PRIVACY_POLICY_NOT_AVAILABLE: + $ref: '#/components/examples/PRIVACY_POLICY_NOT_AVAILABLE' + PRIVACY_POLICY_ALREADY_ACCEPTED: + $ref: '#/components/examples/PRIVACY_POLICY_ALREADY_ACCEPTED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/sendwelcomeemail: + get: + tags: + - User + summary: Send Welcome Email + description: Sends a welcome Email to the User. + operationId: sendWelcomeEmail + parameters: + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: 'Status Bad Request: Invalid request parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: Access denied' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/passkey: + get: + tags: + - User + summary: List registered Passkeys + description: Lists all registered Passkeys for a User with a valid Access Token. + operationId: accountListPasskey + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/PasskeyListResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PASSKEY_NOT_CONFIGURED_IN_PROFILE: + $ref: '#/components/examples/PASSKEY_NOT_CONFIGURED_IN_PROFILE' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/passkey/{passkeyId}: + delete: + tags: + - User + summary: Remove Passkey + description: Removes a specific Passkey from the User's Account. + operationId: accountRemovePasskey + parameters: + - $ref: '#/components/parameters/passkeyId' + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: Remove Passkey credential from account + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PASSKEY_NOT_CONFIGURED_IN_PROFILE: + $ref: '#/components/examples/PASSKEY_NOT_CONFIGURED_IN_PROFILE' + INVALID_PASSKEY_ID: + $ref: '#/components/examples/INVALID_PASSKEY_ID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/register/passkey/begin: + get: + tags: + - Login + summary: Begin Passkey registration + description: Initiates the Passkey registration process for an Account using an Access Token. + operationId: accountRegisterPasskeyBegin + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: Successfully initiated credential registration + content: + application/json: + schema: + type: object + description: Response object returned to initiate Passkey registration (WebAuthn) + properties: + RegisterBeginCredential: + type: object + description: Container for the WebAuthn registration initiation data + properties: + publicKey: + $ref: '#/components/schemas/PublicKeyCredentialCreationOptions' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PASSKEY_ONLY_SUPPORT_EMAIL: + $ref: '#/components/examples/PASSKEY_ONLY_SUPPORT_EMAIL' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/register/passkey/finish: + post: + tags: + - Login + summary: Complete Passkey registration + description: Completes the Passkey registration process for an Account using an Access Token. + operationId: accountRegisterPasskeyFinish + parameters: + - $ref: '#/components/parameters/AccessToken' + requestBody: + required: true + content: + application/json: + schema: + type: object + description: Passkey Credentials to finish Passkey registration (WebAuthn) + properties: + PasskeyCredential: + $ref: '#/components/schemas/PasskeyCredentialCreationResponse' + responses: + '200': + description: Successfully finished credential registration + content: + application/json: + schema: + $ref: '#/components/schemas/PasskeyListResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + PASS_KEY_CREDENTIAL_REQUIRED: + $ref: '#/components/examples/PASS_KEY_CREDENTIAL_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/2fa/register/passkey/begin: + get: + tags: + - Security + summary: Begin MFA Passkey registration + description: Initiates the MFA Passkey registration flow for an Account. + operationId: accountRegisterMFAPasskeyBegin + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: Successfully initiated credential registration + content: + application/json: + schema: + type: object + description: Response object returned to initiate Passkey registration (WebAuthn) + properties: + RegisterBeginCredential: + type: object + description: Container for the WebAuthn registration initiation data + properties: + publicKey: + $ref: '#/components/schemas/PublicKeyCredentialCreationOptions' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + PASSKEY_ONLY_SUPPORT_EMAIL: + $ref: '#/components/examples/PASSKEY_ONLY_SUPPORT_EMAIL' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/2fa/register/passkey/finish: + post: + tags: + - Security + summary: Complete MFA Passkey registration + description: Completes the MFA Passkey registration flow for an Account. + operationId: accountRegisterMFAPasskeyFinish + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - PasskeyCredential + description: Passkey Credentials to finish Passkey registration (WebAuthn) + properties: + PasskeyCredential: + $ref: '#/components/schemas/PasskeyCredentialCreationResponse' + responses: + '200': + description: Successfully finished credential registration + content: + application/json: + schema: + $ref: '#/components/schemas/PasskeyCredentialObject' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PASS_KEY_CREDENTIAL_REQUIRED: + $ref: '#/components/examples/PASS_KEY_CREDENTIAL_REQUIRED' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + PASSKEY_ONLY_SUPPORT_EMAIL: + $ref: '#/components/examples/PASSKEY_ONLY_SUPPORT_EMAIL' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/2fa/passkey: + delete: + tags: + - Security + summary: Reset Passkey Authenticator + description: Resets the Passkey Authenticator settings for the specified User. + operationId: ResetMFAPasskeyByAccessToken + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/2fa/duo: + delete: + tags: + - Security + summary: Reset Duo Authenticator + description: Resets the Duo Authenticator settings for a User with MFA enabled, allowing reconfiguration or recovery of Duo access. + operationId: ResetDuoAuthViaAccessToken + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + DUO_AUTH_NOT_ENABLED: + $ref: '#/components/examples/DUO_AUTH_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_DUO_AUTHENTICATOR_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_DUO_AUTHENTICATOR_NOT_CONFIGURED_ON_PROFILE' + security: + - BearerToken: [] + APIKey: [] + put: + tags: + - Security + summary: Verify Duo authentication + operationId: DuoAuthenticationVerificationByAccessToken + description: Verifies Duo authentication for a User using an Access Token, typically after initial authentication. + parameters: + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/Fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DuoVerifyRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Profile' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + DUO_CODE_REQUIRED: + $ref: '#/components/examples/DUO_CODE_REQUIRED' + DUO_STATE_REQUIRED: + $ref: '#/components/examples/DUO_STATE_REQUIRED' + DUO_CODE_STATE_REQUIRED: + $ref: '#/components/examples/DUO_CODE_STATE_REQUIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + DUO_AUTH_NOT_ENABLED: + $ref: '#/components/examples/DUO_AUTH_NOT_ENABLED' + DUO_STATE_NOT_VALID: + $ref: '#/components/examples/DUO_STATE_NOT_VALID' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + DUO_AUTHENTICATOR_VERIFICATION_FAILED: + $ref: '#/components/examples/DUO_AUTHENTICATOR_VERIFICATION_FAILED' + TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/2fa/backupcode: + get: + tags: + - Security + summary: Generate backup codes + description: Generates a set of backup codes for a User with MFA enabled. Returns an error if backup codes already exist. + operationId: mfaGenerateBackupCodes + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/MFABackUpCodeResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE' + TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_ALREADY_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_ALREADY_CONFIGURED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/2fa/backupcode/reset: + get: + tags: + - Security + summary: Reset backup codes + description: Resets backup codes for a User with MFA enabled, allowing regeneration of backup codes. + operationId: mfaResetBackupCodes + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/MFABackUpCodeResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/reauth/otp/email: + get: + summary: Send Email OTP + description: Sends a One-Time Password (OTP) to the User's Email for re-authentication. + operationId: SendReAuthEmailOtp + tags: + - Security + parameters: + - $ref: '#/components/parameters/EmailId' + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + EMAIL_ID_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_ID_NOT_EXISTS' + EMAIL_ID_NOT_EXIST_IN_PROFILE: + $ref: '#/components/examples/EMAIL_ID_NOT_EXIST_IN_PROFILE' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + security: + - BearerToken: [] + APIKey: [] + put: + summary: Verify Email OTP + description: Validates the One-Time Password (OTP) sent to the User's Email during re-authentication. + operationId: ValidateEmailOtpForReauth + tags: + - Security + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthModelByEmailOtp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + OTP_PAYLOAD_REQUIRED: + $ref: '#/components/examples/OTP_PAYLOAD_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + EMAIL_ID_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_ID_NOT_EXISTS' + EMAIL_ID_NOT_EXIST_IN_PROFILE: + $ref: '#/components/examples/EMAIL_ID_NOT_EXIST_IN_PROFILE' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + OTP_INVALID: + $ref: '#/components/examples/OTP_INVALID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/passkey/forgot: + post: + tags: + - Login + summary: Initiate Forgot Passkey + operationId: PasskeyForgot + description: Initiates the forgot Passkey process for a User. + parameters: + - $ref: '#/components/parameters/ResetPasskeyUrl' + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PasskeyForgot' + responses: + '200': + description: Successfully submit request to reset the Passkey + content: + application/json: + schema: + type: object + properties: + IsPosted: + type: boolean + description: Indicates if the request was successfully posted. + example: true + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + EMAIL_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_REQUIRED_PARAM' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + RESET_PASSKEY_URL_INVALID: + $ref: '#/components/examples/RESET_PASSKEY_URL_INVALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + /identity/v2/auth/passkey/reset/begin: + get: + tags: + - Login + summary: Begin Passkey Reset + operationId: beginPasskeyReset + description: Begins the reset Passkey process for a User. + parameters: + - $ref: '#/components/parameters/VToken' + responses: + '200': + description: Successfully initiated Passkey reset + content: + application/json: + schema: + type: object + description: Response object returned to initiate new Passkey registration (WebAuthn) + properties: + RegisterBeginCredential: + type: object + description: Container for the WebAuthn registration initiation data + properties: + publicKey: + $ref: '#/components/schemas/PublicKeyCredentialCreationOptions' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + VERIFICATION_TOKEN_REQUIRED: + $ref: '#/components/examples/VERIFICATION_TOKEN_REQUIRED' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + VERIFICATION_VTOKEN_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_VTOKEN_NOT_VALID' + LINK_EXPIRED: + $ref: '#/components/examples/LINK_EXPIRED' + LINK_ALREADY_VERIFIED: + $ref: '#/components/examples/LINK_ALREADY_VERIFIED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PASSKEY_ONLY_SUPPORT_EMAIL: + $ref: '#/components/examples/PASSKEY_ONLY_SUPPORT_EMAIL' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + /identity/v2/auth/passkey/reset/finish: + post: + tags: + - Login + summary: Complete Passkey Reset + operationId: finishPasskeyReset + description: Completes the reset Passkey process for a User. + parameters: + - $ref: '#/components/parameters/VToken' + requestBody: + required: true + content: + application/json: + schema: + type: object + description: Passkey Credentials to finish Passkey registration (WebAuthn) + properties: + PasskeyCredential: + $ref: '#/components/schemas/PasskeyCredentialCreationResponse' + responses: + '200': + description: Successfully finish reset Passkey process + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + VERIFICATION_TOKEN_REQUIRED: + $ref: '#/components/examples/VERIFICATION_TOKEN_REQUIRED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PASS_KEY_CREDENTIAL_REQUIRED: + $ref: '#/components/examples/PASS_KEY_CREDENTIAL_REQUIRED' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + VERIFICATION_VTOKEN_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_VTOKEN_NOT_VALID' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + LINK_EXPIRED: + $ref: '#/components/examples/LINK_EXPIRED' + LINK_ALREADY_VERIFIED: + $ref: '#/components/examples/LINK_ALREADY_VERIFIED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PASSKEY_ONLY_SUPPORT_EMAIL: + $ref: '#/components/examples/PASSKEY_ONLY_SUPPORT_EMAIL' + PASSKEY_CONFIG_INVALID: + $ref: '#/components/examples/PASSKEY_CONFIG_INVALID' + PASSKEY_VERIFICATION_FAILED: + $ref: '#/components/examples/PASSKEY_VERIFICATION_FAILED' + /identity/v2/auth/access_token/validate: + get: + summary: Validate Access Token + tags: + - Session + description: Validates an Access Token, returning its expiry if valid, or an error if invalid. + operationId: AuthValidateAccessToken + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenResponse' + '400': + description: 'Status Bad Request: Invalid request parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '403': + description: 'Status Forbidden: Access denied' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/access_token: + get: + summary: Retrieve Access Token information + tags: + - Session + description: Obtains detailed information about the provided Access Token. + operationId: GetAccessTokenInfo + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenInfo' + '400': + description: 'Status Bad Request: Invalid request parameters' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '403': + description: 'Status Forbidden: Access denied' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/unlock: + put: + tags: + - User + summary: Unlock User + description: Unlocks a User's Account with a valid Access Token after successfully passing Bot Protection challenges. + operationId: unlockaccountbyaccesstoken + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + $ref: '#/components/requestBodies/UnlockAccountRequest' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Request Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + ACCOUNT_ALREADY_UNLOCKED: + $ref: '#/components/examples/ACCOUNT_ALREADY_UNLOCKED' + CAPTCHA_IS_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_IS_NOT_VALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/socialidentity: + delete: + tags: + - User + summary: Unlink social identities + description: Unlinks a social provider account from the specified Account using Access Tokens, removing it from the database. + operationId: unlinkSocialIdentitiesByAccessToken + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UnlinkSocialIdentityRequest' + responses: + '200': + description: successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + DELETE_BODY_INVALID: + $ref: '#/components/examples/DELETE_BODY_INVALID' + PROVIDER_IS_REQUIRED: + $ref: '#/components/examples/PROVIDER_IS_REQUIRED' + PROVIDER_ID_IS_REQUIRED: + $ref: '#/components/examples/PROVIDER_ID_IS_REQUIRED' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ENDPOINT_NOT_SUPPORTED_BY_PROVIDER: + $ref: '#/components/examples/ENDPOINT_NOT_SUPPORTED_BY_PROVIDER' + ACCOUNT_LINKING_DISABLED: + $ref: '#/components/examples/ACCOUNT_LINKING_DISABLED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + SAME_ACCOUNT_CANT_BE_UNLINKED: + $ref: '#/components/examples/SAME_ACCOUNT_CANT_BE_UNLINKED' + ACCOUNT_IS_NOT_LINKED_WITH_ANY_ACCOUNT: + $ref: '#/components/examples/ACCOUNT_IS_NOT_LINKED_WITH_ANY_ACCOUNT' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + PROVIDER_NOT_VALID: + $ref: '#/components/examples/PROVIDER_NOT_VALID' + PROVIDER_ID_NOT_LINKED_WITH_THIS_ACCOUNT: + $ref: '#/components/examples/PROVIDER_ID_NOT_LINKED_WITH_THIS_ACCOUNT' + security: + - BearerToken: [] + APIKey: [] + post: + summary: Link social identities + description: Links a social provider account to an existing Account using Access Tokens. + operationId: linkSocialIdentitiesByAccessToken + tags: + - User + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CandidateTokenModel' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + CANDIDATE_TOKEN_REQUIRED: + $ref: '#/components/examples/CANDIDATE_TOKEN_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + SP_JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SP_JWT_CONFIG_NOT_FOUND' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCOUNT_LINKING_DISABLED: + $ref: '#/components/examples/ACCOUNT_LINKING_DISABLED' + SAME_PROVIDER_CANT_BE_LINKED: + $ref: '#/components/examples/SAME_PROVIDER_CANT_BE_LINKED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + EMAIL_NOT_VERIFIED_CAN_NOT_LINK: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED_CAN_NOT_LINK' + PROVIDER_NOT_CONFIGURED: + $ref: '#/components/examples/PROVIDER_NOT_CONFIGURED' + PROVIDER_NOT_SUPPORTED: + $ref: '#/components/examples/PROVIDER_NOT_SUPPORTED' + PROVIDER_NOT_VALID: + $ref: '#/components/examples/PROVIDER_NOT_VALID' + PROVIDER_SIDE_ERROR: + $ref: '#/components/examples/PROVIDER_SIDE_ERROR' + JWT_SP_TOKEN_INVALID: + $ref: '#/components/examples/JWT_SP_TOKEN_INVALID' + PROVIDER_ID_MISSING: + $ref: '#/components/examples/PROVIDER_ID_MISSING' + AGE_UNDERAGE: + $ref: '#/components/examples/AGE_UNDERAGE' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + ACCOUNT_IS_ALREADY_EXIST_WITH_SAME_EMAIL: + $ref: '#/components/examples/ACCOUNT_IS_ALREADY_EXIST_WITH_SAME_EMAIL' + SAME_ACCOUNT_CANT_BE_LINKED: + $ref: '#/components/examples/SAME_ACCOUNT_CANT_BE_LINKED' + ACCOUNT_IS_ALREADY_LINKED: + $ref: '#/components/examples/ACCOUNT_IS_ALREADY_LINKED' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_IN_EMAIL_VERIFCATION_DISABLED: + $ref: '#/components/examples/UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_IN_EMAIL_VERIFCATION_DISABLED' + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID: + $ref: '#/components/examples/UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/socialidentity/ping: + post: + summary: Link social identities via PING + description: Links a social provider account with an existing Account using the Access Token and the social provider's User Access Token. + operationId: LinkSocialIdentitiesByPing + tags: + - User + parameters: + - $ref: '#/components/parameters/AccessToken' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ClientGuidBodyModel' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + SP_JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SP_JWT_CONFIG_NOT_FOUND' + CLIENT_GUID_REQUIRED: + $ref: '#/components/examples/CLIENT_GUID_REQUIRED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + NO_CALLBACK_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/NO_CALLBACK_LOGIN_NOT_ENABLED' + CLIENT_GUID_NOT_VALID: + $ref: '#/components/examples/CLIENT_GUID_NOT_VALID' + ENDPOINT_NOT_SUPPORTED_BY_PROVIDER: + $ref: '#/components/examples/ENDPOINT_NOT_SUPPORTED_BY_PROVIDER' + AUTOLOGIN_LINK_ALREADY_USED: + $ref: '#/components/examples/AUTOLOGIN_LINK_ALREADY_USED' + ACCOUNT_LINKING_DISABLED: + $ref: '#/components/examples/ACCOUNT_LINKING_DISABLED' + SAME_PROVIDER_CANT_BE_LINKED: + $ref: '#/components/examples/SAME_PROVIDER_CANT_BE_LINKED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + EMAIL_NOT_VERIFIED_CAN_NOT_LINK: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED_CAN_NOT_LINK' + PROVIDER_NOT_CONFIGURED: + $ref: '#/components/examples/PROVIDER_NOT_CONFIGURED' + PROVIDER_NOT_SUPPORTED: + $ref: '#/components/examples/PROVIDER_NOT_SUPPORTED' + PROVIDER_NOT_VALID: + $ref: '#/components/examples/PROVIDER_NOT_VALID' + PROVIDER_SIDE_ERROR: + $ref: '#/components/examples/PROVIDER_SIDE_ERROR' + JWT_SP_TOKEN_INVALID: + $ref: '#/components/examples/JWT_SP_TOKEN_INVALID' + PROVIDER_ID_MISSING: + $ref: '#/components/examples/PROVIDER_ID_MISSING' + AGE_UNDERAGE: + $ref: '#/components/examples/AGE_UNDERAGE' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + ACCOUNT_IS_ALREADY_EXIST_WITH_SAME_EMAIL: + $ref: '#/components/examples/ACCOUNT_IS_ALREADY_EXIST_WITH_SAME_EMAIL' + SAME_ACCOUNT_CANT_BE_LINKED: + $ref: '#/components/examples/SAME_ACCOUNT_CANT_BE_LINKED' + ACCOUNT_IS_ALREADY_LINKED: + $ref: '#/components/examples/ACCOUNT_IS_ALREADY_LINKED' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_IN_EMAIL_VERIFCATION_DISABLED: + $ref: '#/components/examples/UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_IN_EMAIL_VERIFCATION_DISABLED' + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID: + $ref: '#/components/examples/UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/2fa/push: + delete: + tags: + - Security + summary: Reset MFA Push Notification + operationId: ResetMfaPushAuthSettings + description: Resets the MFA Push Authenticator settings for a User. + responses: + '200': + description: 'Status OK: The request has succeeded and the MFA Push Authenticator settings have been reset.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but is refusing to fulfill it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_PUSH_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_PUSH_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + /identity/v2/auth/account/2fa/push/ping: + get: + tags: + - Security + summary: Check push device registration status + operationId: GetMfaPushDeviceStatus + description: Checks whether a Push Notification device is registered on the User's profile for MFA, using an Access Token. + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'OK: The request was successful and a Push Notification device is registered on the profile.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsRegistered' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_PUSH_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_PUSH_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/onetouchlogin/email: + post: + summary: Retrieve link or OTP for one-touch login + description: Initiates a one-touch login process using an Email. + operationId: OneTouchLoginByEmail + tags: + - Login + parameters: + - $ref: '#/components/parameters/RedirectUrl' + - $ref: '#/components/parameters/OneTouchLoginEmailTemplate' + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/OneTouchLoginByEmail' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + CLIENT_GUID_REQUIRED: + $ref: '#/components/examples/CLIENT_GUID_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + EMAILID_REQUIRD: + $ref: '#/components/examples/EMAILID_REQUIRD' + CAPTCHA_REQUIRED: + $ref: '#/components/examples/CAPTCHA_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CAPTCHA_IS_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_IS_NOT_VALID' + NO_REGISTRATION_NOT_ENABLED: + $ref: '#/components/examples/NO_REGISTRATION_NOT_ENABLED' + EMAILID_REQUIRD: + $ref: '#/components/examples/EMAILID_REQUIRD' + TRIAL_PLAN_USER_LIMIT_REACHED: + $ref: '#/components/examples/TRIAL_PLAN_USER_LIMIT_REACHED' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + EMAIL_ALREADY_USED: + $ref: '#/components/examples/EMAIL_ALREADY_USED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + CLIENT_GUID_MUST_BE_UNIQUE: + $ref: '#/components/examples/CLIENT_GUID_MUST_BE_UNIQUE' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + REDIRECT_URL_IS_NOT_WHITELISTED: + $ref: '#/components/examples/REDIRECT_URL_IS_NOT_WHITELISTED' + /identity/v2/auth/onetouchlogin/phone: + post: + summary: Retrieve OTP for one-touch login + description: Initiates a one-touch login process using a Phone number. + operationId: OneTouchLoginByPhone + tags: + - Login + parameters: + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/IsVoiceOtp' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/OneTouchLoginByPhone' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + CAPTCHA_REQUIRED: + $ref: '#/components/examples/CAPTCHA_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CAPTCHA_IS_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_IS_NOT_VALID' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + NO_REGISTRATION_NOT_ENABLED: + $ref: '#/components/examples/NO_REGISTRATION_NOT_ENABLED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + TRIAL_PLAN_USER_LIMIT_REACHED: + $ref: '#/components/examples/TRIAL_PLAN_USER_LIMIT_REACHED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + /identity/v2/auth/onetouchlogin/phone/verify: + post: + summary: Verify one-touch login + description: Verifies a one-time passcode (OTP) for login without requiring User registration, including captcha validation and optional security answers. + operationId: LoginByNoRegistrationPassCode + tags: + - Login + parameters: + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/Otp' + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/VerifyOtpPhoneModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + NO_REGISTRATION_NOT_ENABLED: + $ref: '#/components/examples/NO_REGISTRATION_NOT_ENABLED' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + PHONE_NOT_VERIFIED: + $ref: '#/components/examples/PHONE_NOT_VERIFIED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + OTP_INVALID: + $ref: '#/components/examples/OTP_INVALID' + OTP_ALREADY_USED: + $ref: '#/components/examples/OTP_ALREADY_USED' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + PASSWORD_IN_HISTORY: + $ref: '#/components/examples/PASSWORD_IN_HISTORY' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/email/onetouchlogin: + get: + summary: Verify one-touch login by Email + description: Verifies the auto-login Email using a Verification Token. + operationId: VerifyAutoLoginEmailOneTouch + tags: + - Login + parameters: + - $ref: '#/components/parameters/Email' + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/VerificationToken' + - $ref: '#/components/parameters/VToken' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedVerified' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + VERIFICATION_TOKEN_REQUIRED: + $ref: '#/components/examples/VERIFICATION_TOKEN_REQUIRED' + EMAILID_REQUIRD: + $ref: '#/components/examples/EMAILID_REQUIRD' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + NO_REGISTRATION_NOT_ENABLED: + $ref: '#/components/examples/NO_REGISTRATION_NOT_ENABLED' + VERIFICATION_VTOKEN_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_VTOKEN_NOT_VALID' + NO_REGISTRATION_LOGIN_LINK_ALREADY_USED: + $ref: '#/components/examples/NO_REGISTRATION_LOGIN_LINK_ALREADY_USED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + /identity/v2/auth/account/reauth/pin: + put: + description: Verifies the PIN for a User using an Access Token, typically used when re-verification is required. + summary: Verify PIN + operationId: ReauthPin + tags: + - Security + parameters: + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PinReauthRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '401': + description: 'Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PIN_AUTH_WRONG: + $ref: '#/components/examples/PIN_AUTH_WRONG' + '403': + description: 'Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + PIN_AUTH_NOT_ENABLED: + $ref: '#/components/examples/PIN_AUTH_NOT_ENABLED' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + PIN_NOT_CONFIGURED: + $ref: '#/components/examples/PIN_NOT_CONFIGURED' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/reauth/2fa/duo: + put: + tags: + - Security + summary: Verify Duo + operationId: DuoAuthenticationReAuthVerificationByAccessToken + description: Verifies Duo authentication for a User using an Access Token, typically used when re-verification is required. + parameters: + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/AccessToken' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DuoVerifyRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + DUO_CODE_REQUIRED: + $ref: '#/components/examples/DUO_CODE_REQUIRED' + DUO_STATE_REQUIRED: + $ref: '#/components/examples/DUO_STATE_REQUIRED' + DUO_CODE_STATE_REQUIRED: + $ref: '#/components/examples/DUO_CODE_STATE_REQUIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + DUO_AUTH_NOT_ENABLED: + $ref: '#/components/examples/DUO_AUTH_NOT_ENABLED' + DUO_STATE_NOT_VALID: + $ref: '#/components/examples/DUO_STATE_NOT_VALID' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_DUO_AUTHENTICATOR_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_DUO_AUTHENTICATOR_NOT_CONFIGURED_ON_PROFILE' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + DUO_AUTHENTICATOR_VERIFICATION_FAILED: + $ref: '#/components/examples/DUO_AUTHENTICATOR_VERIFICATION_FAILED' + TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/reauth/password: + put: + summary: Verify Password + description: Verifies the Password for a User using an Access Token, typically used when re-verification is required. + operationId: ReauthPassword + tags: + - Security + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordReauthRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + PASSWORD_REQUIRED: + $ref: '#/components/examples/PASSWORD_REQUIRED' + '401': + description: 'Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PASSWORD_IS_WRONG: + $ref: '#/components/examples/PASSWORD_IS_WRONG' + '403': + description: 'Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/reauth/2fa: + get: + summary: Retrieve Step-Up Authentication settings + description: Triggers Step-Up Authentication for Multi-Factor Authentication (MFA) settings, allowing Users to verify their MFA methods. + operationId: ReauthTrigger + tags: + - Security + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/SMSTemplate2FA' + - $ref: '#/components/parameters/DuoRedirectUri' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/TwoFactorAuthenticationSettings' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + DUO_REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/DUO_REDIRECT_URI_REQUIRED' + '403': + description: 'Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + DUO_AUTHENTICATOR_REDIRECT_URI_INVALID: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_INVALID' + DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + PHONE_NOT_VERIFIED: + $ref: '#/components/examples/PHONE_NOT_VERIFIED' + EMAIL_OR_PHONE_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_OR_PHONE_NOT_VERIFIED' + EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD_MFA: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD_MFA' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/reauth/2fa/{type}: + put: + summary: Verify backup code or OTP + description: Validates the triggered MFA authentication flow using a backup code, OTP, or authenticator code. + operationId: ValidateReauthMFA + tags: + - Security + parameters: + - $ref: '#/components/parameters/ReAuthType' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthTwoFAModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + BACKUP_CODE_REQUIRED: + $ref: '#/components/examples/BACKUP_CODE_REQUIRED' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + GOOGLE_AUTH_CODE_REQUIRED: + $ref: '#/components/examples/GOOGLE_AUTH_CODE_REQUIRED' + AUTHENTICATOR_CODE_REQUIRED: + $ref: '#/components/examples/AUTHENTICATOR_CODE_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG' + TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT_OLD_MFA: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT_OLD_MFA' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT' + TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_CONFIGURED' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + OTP_INVALID: + $ref: '#/components/examples/OTP_INVALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + RESOURCE_NOT_FOUND: + $ref: '#/components/examples/RESOURCE_NOT_FOUND' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/reauth/2fa/otp/email/verify: + put: + summary: Verify Email OTP + description: Verifies the User with Email OTP and Access Token, typically used when re-authentication via Email OTP is required. + operationId: ValidateEmailOtpForReauthMFA + tags: + - Security + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthModelByEmailOtp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + OTP_PAYLOAD_REQUIRED: + $ref: '#/components/examples/OTP_PAYLOAD_REQUIRED' + '403': + description: 'Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + OTP_INVALID: + $ref: '#/components/examples/OTP_INVALID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/reauth/2fa/email: + get: + summary: Send Email OTP + description: Sends a One-Time Password (OTP) to the User's Email for re-authentication. + operationId: SendEmailOtpForReauthMFA + tags: + - Security + parameters: + - $ref: '#/components/parameters/EmailId' + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + EMAIL_ID_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_ID_NOT_EXISTS' + EMAIL_ID_NOT_EXIST_IN_PROFILE: + $ref: '#/components/examples/EMAIL_ID_NOT_EXIST_IN_PROFILE' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/reauth/2fa/securityquestionanswer/verify: + post: + summary: Verify security question answer + description: Validates the triggered MFA authentication flow using a security question answer. + operationId: ValidateSecurityQuestionReauthMFA + tags: + - Security + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/TwoFAAuthBySecQuesAuthModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + SECURITY_QUES_ANS_REQUIRED: + $ref: '#/components/examples/SECURITY_QUES_ANS_REQUIRED' + '403': + description: 'Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + TWO_FACTOR_SECURITY_QUESTION_AUTHENTICATION_NOT_VERIFIED: + $ref: '#/components/examples/TWO_FACTOR_SECURITY_QUESTION_AUTHENTICATION_NOT_VERIFIED' + TWO_FACTOR_AUTHENTICATION_METHOD_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_METHOD_ENABLED' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SECURITY_QUESTION_NOT_SAVED_IN_PROFILE: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_SAVED_IN_PROFILE' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/email/smartlogin: + get: + summary: Verify smart login by Email + description: Verifies the auto-login Email using a Verification Token. + operationId: VerifyAutoLoginEmailSmartLogin + tags: + - Login + parameters: + - $ref: '#/components/parameters/VerificationToken' + - $ref: '#/components/parameters/VToken' + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/Email' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedVerified' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAILID_REQUIRD: + $ref: '#/components/examples/EMAILID_REQUIRD' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + VERIFICATION_TOKEN_REQUIRED: + $ref: '#/components/examples/VERIFICATION_TOKEN_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + AUTOLOGIN_NOT_ENABLED: + $ref: '#/components/examples/AUTOLOGIN_NOT_ENABLED' + VERIFICATION_VTOKEN_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_VTOKEN_NOT_VALID' + AUTOLOGIN_LINK_ALREADY_USED: + $ref: '#/components/examples/AUTOLOGIN_LINK_ALREADY_USED' + AUTOLOGIN_LINK_ALREADY_VERIFIED: + $ref: '#/components/examples/AUTOLOGIN_LINK_ALREADY_VERIFIED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + /identity/v2/auth/login/smartlogin: + get: + summary: Retrieve OTP or Link for Smart Login + description: Initiates a smart login process using Email, Username, or Phone, allowing flexibility based on the User's input. + operationId: GetSmartLogin + tags: + - Login + parameters: + - $ref: '#/components/parameters/Email' + - $ref: '#/components/parameters/Username' + - $ref: '#/components/parameters/Phone' + - $ref: '#/components/parameters/ClientGuid' + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/RedirectUrl' + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/IsVoiceOtp' + - $ref: '#/components/parameters/SmartLoginEmailTemplate' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + EMAIL_PHONE_USERNAME_PAYLOAD_REQUIRED: + $ref: '#/components/examples/EMAIL_PHONE_USERNAME_PAYLOAD_REQUIRED' + CLIENT_GUID_REQUIRED: + $ref: '#/components/examples/CLIENT_GUID_REQUIRED' + EMAIL_PHONE_USERNAME_AND_CLIENT_GUID_REQUIRED: + $ref: '#/components/examples/EMAIL_PHONE_USERNAME_AND_CLIENT_GUID_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_NAME_AUTHENTICATION_ENABLED: + $ref: '#/components/examples/USER_NAME_AUTHENTICATION_ENABLED' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + AUTOLOGIN_NOT_ENABLED: + $ref: '#/components/examples/AUTOLOGIN_NOT_ENABLED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + PHONE_NOT_VERIFIED: + $ref: '#/components/examples/PHONE_NOT_VERIFIED' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + CLIENT_GUID_MUST_BE_UNIQUE: + $ref: '#/components/examples/CLIENT_GUID_MUST_BE_UNIQUE' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + OTP_LIMIT_REACHED: + $ref: '#/components/examples/OTP_LIMIT_REACHED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + REDIRECT_URL_IS_NOT_WHITELISTED: + $ref: '#/components/examples/REDIRECT_URL_IS_NOT_WHITELISTED' + /identity/v2/auth/login/smartlogin/ping: + get: + summary: Ping Smart Login + description: Checks in the background if the smart login is verified successfully. + operationId: PingSmartLogin + tags: + - Login + parameters: + - $ref: '#/components/parameters/ClientGuidRequired' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CLIENT_GUID_REQUIRED: + $ref: '#/components/examples/CLIENT_GUID_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + AUTOLOGIN_NOT_ENABLED: + $ref: '#/components/examples/AUTOLOGIN_NOT_ENABLED' + CLIENT_GUID_NOT_VALID: + $ref: '#/components/examples/CLIENT_GUID_NOT_VALID' + AUTOLOGIN_LINK_ALREADY_USED: + $ref: '#/components/examples/AUTOLOGIN_LINK_ALREADY_USED' + AUTOLOGIN_LINK_NOT_VERIFIED: + $ref: '#/components/examples/AUTOLOGIN_LINK_NOT_VERIFIED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + /identity/v2/auth/login/passwordlesslogin/email: + get: + summary: Initiate passwordless login by Email + description: Initiates a Passwordless login process using an Email or Username. This variant is login-only — the identifier must already belong to an existing User, and CAPTCHA is only required when the App configures optional CAPTCHA for this endpoint. Use the POST variant to auto-register an unknown Email with a registration profile. + operationId: PasswordlessLoginByEmail + tags: + - Login + parameters: + - $ref: '#/components/parameters/Email' + - $ref: '#/components/parameters/Username' + - $ref: '#/components/parameters/PasswordlessLoginTemplate' + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/InvitationToken' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + EMAILID_REQUIRD: + $ref: '#/components/examples/EMAILID_REQUIRD' + CAPTCHA_REQUIRED: + $ref: '#/components/examples/CAPTCHA_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + USER_NAME_AUTHENTICATION_ENABLED: + $ref: '#/components/examples/USER_NAME_AUTHENTICATION_ENABLED' + ONE_CLICK_SIGIN_NOT_ENABLED: + $ref: '#/components/examples/ONE_CLICK_SIGIN_NOT_ENABLED' + TOKEN_LIMIT_REACHED: + $ref: '#/components/examples/TOKEN_LIMIT_REACHED' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + EMAIL_ALREADY_USED: + $ref: '#/components/examples/EMAIL_ALREADY_USED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + post: + summary: Initiate passwordless login by Email with a registration profile + description: POST variant of passwordless login by Email. The email identifier and the full registration profile are supplied in the JSON body (same schema as /auth/register). When passwordless email auto-registration is enabled, a previously-unknown email is auto-registered with the supplied profile fields, and the request must carry a valid SOTT or CAPTCHA. This endpoint registers by email only — any PhoneId or UserName supplied in the body is ignored (not validated and not stored), and Password is not required. Sending the profile in the body (instead of query parameters) keeps PII out of URLs and logs. + operationId: PasswordlessLoginByEmailWithProfile + tags: + - Login + parameters: + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/InvitationToken' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/X-LoginRadius-Sott' + - $ref: '#/components/parameters/Sott' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ProfileRequestModel' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + EMAILID_REQUIRD: + $ref: '#/components/examples/EMAILID_REQUIRD' + EMAIL_TYPE_REQUIRED: + $ref: '#/components/examples/EMAIL_TYPE_REQUIRED' + SOTT_OR_CAPTCHA_REQUIRED: + $ref: '#/components/examples/SOTT_OR_CAPTCHA_REQUIRED' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + ONE_CLICK_SIGIN_NOT_ENABLED: + $ref: '#/components/examples/ONE_CLICK_SIGIN_NOT_ENABLED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + SECURED_ONE_TIME_TOKEN_IS_INVALID: + $ref: '#/components/examples/SECURED_ONE_TIME_TOKEN_IS_INVALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + EMAIL_ALREADY_USED: + $ref: '#/components/examples/EMAIL_ALREADY_USED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + TOKEN_LIMIT_REACHED: + $ref: '#/components/examples/TOKEN_LIMIT_REACHED' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/login/passwordlesslogin/otp: + get: + summary: Initiate passwordless login by Phone + description: 'Initiates a Passwordless login process using a Phone number — an OTP is sent to the supplied Phone number. This variant is login-only: the Phone number must already belong to an existing User, and CAPTCHA is only required when the App configures optional CAPTCHA for this endpoint. Use the POST variant to auto-register an unknown Phone number with a registration profile.' + operationId: PasswordlessLoginByPhone + tags: + - Login + parameters: + - $ref: '#/components/parameters/Phone' + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/IsVoiceOtp' + - $ref: '#/components/parameters/Options' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SMSResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + CAPTCHA_REQUIRED: + $ref: '#/components/examples/CAPTCHA_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + ONE_CLICK_SIGIN_NOT_ENABLED: + $ref: '#/components/examples/ONE_CLICK_SIGIN_NOT_ENABLED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + PHONE_NUMBER_NOT_EXISTS: + $ref: '#/components/examples/PHONE_NUMBER_NOT_EXISTS' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + OTP_LIMIT_REACHED: + $ref: '#/components/examples/OTP_LIMIT_REACHED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + post: + summary: Initiate passwordless login by Phone with a registration profile + description: POST variant of passwordless login by Phone. The phone identifier (PhoneId) and the full registration profile are supplied in the JSON body (same schema as /auth/register). When passwordless phone auto-registration is enabled, a previously-unknown phone number is auto-registered with the supplied profile fields, and the request must carry a valid SOTT or CAPTCHA. This endpoint registers by phone only — any Email or UserName supplied in the body is ignored (not validated and not stored), and Password is not required. Sending the profile in the body (instead of query parameters) keeps PII out of URLs and logs. + operationId: PasswordlessLoginByPhoneWithProfile + tags: + - Login + parameters: + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/IsVoiceOtp' + - $ref: '#/components/parameters/Options' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/X-LoginRadius-Sott' + - $ref: '#/components/parameters/Sott' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ProfileRequestModel' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/SMSResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + SOTT_OR_CAPTCHA_REQUIRED: + $ref: '#/components/examples/SOTT_OR_CAPTCHA_REQUIRED' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + ONE_CLICK_SIGIN_NOT_ENABLED: + $ref: '#/components/examples/ONE_CLICK_SIGIN_NOT_ENABLED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + SECURED_ONE_TIME_TOKEN_IS_INVALID: + $ref: '#/components/examples/SECURED_ONE_TIME_TOKEN_IS_INVALID' + PHONE_NUMBER_NOT_EXISTS: + $ref: '#/components/examples/PHONE_NUMBER_NOT_EXISTS' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + OTP_LIMIT_REACHED: + $ref: '#/components/examples/OTP_LIMIT_REACHED' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/login/passwordlesslogin/email/verify: + get: + summary: Verify Email for passwordless login + description: Verifies the Email using the provided Verification Token for passwordless login. + operationId: PasswordlessEmailVerification + tags: + - Login + parameters: + - $ref: '#/components/parameters/VerificationToken' + - $ref: '#/components/parameters/WelcomeEmailTemplate' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/SMSTemplate2FA' + - $ref: '#/components/parameters/DuoRedirectUri' + responses: + '200': + description: Success + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AuthResponseRequiredMfa' + - $ref: '#/components/schemas/AuthResponseOptionalMfa' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + VERIFICATION_TOKEN_REQUIRED: + $ref: '#/components/examples/VERIFICATION_TOKEN_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + DUO_REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/DUO_REDIRECT_URI_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ONE_CLICK_SIGIN_NOT_ENABLED: + $ref: '#/components/examples/ONE_CLICK_SIGIN_NOT_ENABLED' + VERIFICATION_OTP_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_OTP_NOT_VALID' + LINK_EXPIRED: + $ref: '#/components/examples/LINK_EXPIRED' + LINK_ALREADY_USED: + $ref: '#/components/examples/LINK_ALREADY_USED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + DUO_AUTHENTICATOR_REDIRECT_URI_INVALID: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_INVALID' + DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/login/passwordlesslogin/otp/verify: + put: + summary: Verify Phone for passwordless login + description: Verifies the OTP sent to the Phone number for passwordless login. + operationId: PasswordlessLoginPhoneVerification + tags: + - Login + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneOTPModel' + parameters: + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/EmailTemplate2FA' + - $ref: '#/components/parameters/DuoRedirectUri' + responses: + '200': + description: Success + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AuthResponseRequiredMfa' + - $ref: '#/components/schemas/AuthResponseOptionalMfa' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + PHONE_NOT_BLANK: + $ref: '#/components/examples/PHONE_NOT_BLANK' + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + OTP_NOT_BLANK: + $ref: '#/components/examples/OTP_NOT_BLANK' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + DUO_REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/DUO_REDIRECT_URI_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + ONE_CLICK_SIGIN_NOT_ENABLED: + $ref: '#/components/examples/ONE_CLICK_SIGIN_NOT_ENABLED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + PHONE_NOT_VERIFIED: + $ref: '#/components/examples/PHONE_NOT_VERIFIED' + LINK_EXPIRED: + $ref: '#/components/examples/LINK_EXPIRED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + OTP_INVALID: + $ref: '#/components/examples/OTP_INVALID' + OTP_ALREADY_USED: + $ref: '#/components/examples/OTP_ALREADY_USED' + OTP_EXPIRED: + $ref: '#/components/examples/OTP_EXPIRED' + PASSWORD_IN_HISTORY: + $ref: '#/components/examples/PASSWORD_IN_HISTORY' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + DUO_AUTHENTICATOR_REDIRECT_URI_INVALID: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_INVALID' + DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID' + EMAIL_ID_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_ID_NOT_EXISTS' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/login/passwordlesslogin/username/verifyotp: + post: + summary: Verify Username for passwordless login + description: Verifies the OTP sent to the Username for passwordless login. + operationId: PasswordlessLoginByUsernameAndOTP + tags: + - Login + parameters: + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/SMSTemplate2FA' + - $ref: '#/components/parameters/DuoRedirectUri' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordLessUserNameOTPModel' + responses: + '200': + description: Success + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AuthResponseRequiredMfa' + - $ref: '#/components/schemas/AuthResponseOptionalMfa' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + OTP_NOT_BLANK: + $ref: '#/components/examples/OTP_NOT_BLANK' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + USER_NAME_NOT_BLANK: + $ref: '#/components/examples/USER_NAME_NOT_BLANK' + USERNAME_REQUIRED_PARAM: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + DUO_REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/DUO_REDIRECT_URI_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_NAME_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/USER_NAME_AUTHENTICATION_NOT_ENABLED' + ONE_CLICK_SIGIN_NOT_ENABLED: + $ref: '#/components/examples/ONE_CLICK_SIGIN_NOT_ENABLED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + VERIFICATION_OTP_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_OTP_NOT_VALID' + VERIFICATION_VTOKEN_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_VTOKEN_NOT_VALID' + LINK_EXPIRED: + $ref: '#/components/examples/LINK_EXPIRED' + LINK_ALREADY_USED: + $ref: '#/components/examples/LINK_ALREADY_USED' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + DUO_AUTHENTICATOR_REDIRECT_URI_INVALID: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_INVALID' + DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/login/passwordlesslogin/email/verifyotp: + post: + summary: Verify Email and OTP for passwordless login + description: Verifies the OTP sent to the Email for passwordless login. + operationId: PasswordlessLoginByEmailAndOTP + tags: + - Login + parameters: + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/SMSTemplate2FA' + - $ref: '#/components/parameters/DuoRedirectUri' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordLessEmailOTPModel' + responses: + '200': + description: Success + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AuthResponseRequiredMfa' + - $ref: '#/components/schemas/AuthResponseOptionalMfa' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + OTP_NOT_BLANK: + $ref: '#/components/examples/OTP_NOT_BLANK' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + EMAIL_NOT_BLANK: + $ref: '#/components/examples/EMAIL_NOT_BLANK' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + DUO_REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/DUO_REDIRECT_URI_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_NAME_AUTHENTICATION_ENABLED: + $ref: '#/components/examples/USER_NAME_AUTHENTICATION_ENABLED' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + ONE_CLICK_SIGIN_NOT_ENABLED: + $ref: '#/components/examples/ONE_CLICK_SIGIN_NOT_ENABLED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + VERIFICATION_OTP_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_OTP_NOT_VALID' + VERIFICATION_VTOKEN_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_VTOKEN_NOT_VALID' + LINK_EXPIRED: + $ref: '#/components/examples/LINK_EXPIRED' + LINK_ALREADY_USED: + $ref: '#/components/examples/LINK_ALREADY_USED' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + DUO_AUTHENTICATOR_REDIRECT_URI_INVALID: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_INVALID' + DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/login/pin: + post: + summary: Login with PIN + description: Allows Users to log in using their previously set PIN along with a valid session token. + operationId: PINLogin + tags: + - Security + parameters: + - $ref: '#/components/parameters/SessionTokenQuery' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQCaptchaTicket' + - $ref: '#/components/parameters/QQCaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PINLoginModel' + responses: + '200': + description: Success + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PIN_REQUIRED_PARAM: + $ref: '#/components/examples/PIN_REQUIRED_PARAM' + SESSION_TOKEN_REQUIRED: + $ref: '#/components/examples/SESSION_TOKEN_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + PIN_AUTH_WRONG: + $ref: '#/components/examples/PIN_AUTH_WRONG' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + PIN_AUTH_SESSION_TOKEN_NOT_VALID: + $ref: '#/components/examples/PIN_AUTH_SESSION_TOKEN_NOT_VALID' + PIN_AUTH_SESSION_TOKEN_EXPIRED: + $ref: '#/components/examples/PIN_AUTH_SESSION_TOKEN_EXPIRED' + PIN_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PIN_LOGIN_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + PIN_NOT_CONFIGURED: + $ref: '#/components/examples/PIN_NOT_CONFIGURED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + /identity/v2/auth/customobject: + get: + summary: Retrieve Custom Objects + description: Retrieves Custom Objects associated with the authenticated User using an Access Token. + operationId: getCustomObjectByToken + tags: + - Custom Object + parameters: + - $ref: '#/components/parameters/CustomObjectId' + - $ref: '#/components/parameters/ObjectName' + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: Successfully retrieved Custom Objects + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectsResponseModel' + examples: + default: + $ref: '#/components/examples/CUSTOM_OBJECTS_RESPONSE_EXAMPLE' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOM_OBJECT_NAME_REQUIRED: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + CUSTOM_OBJECT_NOT_CONFIGURED: + $ref: '#/components/examples/CUSTOM_OBJECT_NOT_CONFIGURED' + CUSTOM_OBJECT_NAME_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_NOT_VALID' + CUSTOM_OBJECT_RECORD_NOT_EXIST: + $ref: '#/components/examples/CUSTOM_OBJECT_RECORD_NOT_EXIST' + security: + - BearerToken: [] + APIKey: [] + post: + summary: Create Custom Object + description: Creates a Custom Object associated with the authenticated User using an Access Token. + operationId: createCustomObjectByToken + tags: + - Custom Object + parameters: + - $ref: '#/components/parameters/CustomObjectId' + - $ref: '#/components/parameters/ObjectName' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectRequest' + responses: + '200': + description: Successfully created the Custom Object + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectResponseModel' + examples: + default: + $ref: '#/components/examples/CUSTOM_OBJECT_RESPONSE_EXAMPLE' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + CUSTOM_OBJECT_JSON_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_JSON_NOT_VALID' + CUSTOM_OBJECT_NAME_REQUIRED: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_REQUIRED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + CUSTOM_OBJECT_NOT_CONFIGURED: + $ref: '#/components/examples/CUSTOM_OBJECT_NOT_CONFIGURED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + CUSTOM_OBJECT_NAME_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_NOT_VALID' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/customobject/{objectrecordid}: + get: + summary: Retrieve Custom Object by ID + description: Retrieves the Custom Object associated with the specified User using an Access Token and record ID. + operationId: getCustomObjectByTokenAndRecordId + tags: + - Custom Object + parameters: + - $ref: '#/components/parameters/ObjectRecordId' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/ObjectName' + - $ref: '#/components/parameters/CustomObjectId' + responses: + '200': + description: Successfully retrieved the Custom Object + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectResponseModel' + examples: + default: + $ref: '#/components/examples/CUSTOM_OBJECT_RESPONSE_EXAMPLE' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOM_OBJECT_NAME_REQUIRED: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + CUSTOM_OBJECT_RECORD_ID_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_RECORD_ID_NOT_VALID' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + CUSTOM_OBJECT_NAME_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_NOT_VALID' + CUSTOM_OBJECT_NOT_CONFIGURED: + $ref: '#/components/examples/CUSTOM_OBJECT_NOT_CONFIGURED' + security: + - BearerToken: [] + APIKey: [] + put: + summary: Update Custom Object by ID + description: Updates a Custom Object associated with the authenticated User using an Access Token and record ID. + operationId: updateCustomObjectByTokenAndRecordId + tags: + - Custom Object + parameters: + - $ref: '#/components/parameters/ObjectRecordId' + - $ref: '#/components/parameters/ObjectName' + - $ref: '#/components/parameters/UpdateType' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/CustomObjectId' + requestBody: + description: JSON payload representing the Custom Object to be updated. + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectRequest' + responses: + '200': + description: Successfully updated the Custom Object + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectResponseModel' + examples: + default: + $ref: '#/components/examples/CUSTOM_OBJECT_RESPONSE_EXAMPLE' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + CUSTOM_OBJECT_JSON_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_JSON_NOT_VALID' + CUSTOM_OBJECT_NAME_REQUIRED: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + CUSTOM_OBJECT_RECORD_ID_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_RECORD_ID_NOT_VALID' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + CUSTOM_OBJECT_NOT_CONFIGURED: + $ref: '#/components/examples/CUSTOM_OBJECT_NOT_CONFIGURED' + CUSTOM_OBJECT_NAME_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_NOT_VALID' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + security: + - BearerToken: [] + APIKey: [] + delete: + summary: Delete Custom Object by ID + description: Deletes the Custom Object associated with the specified User using an Access Token and record ID. + operationId: deleteCustomObjectByTokenAndRecordId + tags: + - Custom Object + parameters: + - $ref: '#/components/parameters/ObjectRecordId' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/ObjectName' + - $ref: '#/components/parameters/CustomObjectId' + responses: + '200': + description: Successfully deleted the Custom Object + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOM_OBJECT_NAME_REQUIRED: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + CUSTOM_OBJECT_RECORD_ID_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_RECORD_ID_NOT_VALID' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + CUSTOM_OBJECT_NOT_CONFIGURED: + $ref: '#/components/examples/CUSTOM_OBJECT_NOT_CONFIGURED' + CUSTOM_OBJECT_NAME_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_NOT_VALID' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/phone: + put: + summary: Change Phone number + description: Updates the User's Phone number using the Access Token. + operationId: ChangePhoneNumber + tags: + - User + parameters: + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/IsVoiceOtp' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneIdModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SMSResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + PHONE_NO_ALREADY_REGISTERED: + $ref: '#/components/examples/PHONE_NO_ALREADY_REGISTERED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + security: + - BearerToken: [] + APIKey: [] + delete: + summary: Remove Phone number + description: Removes the User's Phone number using the Access Token. + operationId: RemovePhoneIdByToken + tags: + - User + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED' + PHONE_NUMBER_NOT_EXISTS: + $ref: '#/components/examples/PHONE_NUMBER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + security: + - BearerToken: [] + APIKey: [] + get: + summary: Check Phone availability + description: Verifies if a Phone number is available for registration. + operationId: GetPhoneNumberAvailability + tags: + - Login + parameters: + - $ref: '#/components/parameters/Phone' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsExist' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + IDENTIFIER_AVAILABILITY_CHECK_DISABLED: + $ref: '#/components/examples/IDENTIFIER_AVAILABILITY_CHECK_DISABLED' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + /identity/v2/auth/phone/otp: + post: + summary: Resend Phone OTP + description: Resends the Phone OTP using either the Access Token or Phone number. + operationId: ResendPhoneOtp + tags: + - User + parameters: + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/IsVoiceOtp' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneIdModelOptional' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SMSResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + PHONE_NUMBER_NOT_EXISTS: + $ref: '#/components/examples/PHONE_NUMBER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + PHONE_NUMBER_ALREADY_VERIFIED: + $ref: '#/components/examples/PHONE_NUMBER_ALREADY_VERIFIED' + ACCESS_TOKEN_INVALID_OR_PHONE_NUMBER_ALREADY_VERIFIED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_PHONE_NUMBER_ALREADY_VERIFIED' + security: + - BearerToken: [] + APIKey: [] + ClientId: [] + put: + summary: Verify Phone + description: Validates the verification code sent to confirm a User's Phone number when the User is logged in and provides an Access Token. + operationId: VerifyPhoneOtp + tags: + - User + parameters: + - $ref: '#/components/parameters/Otp' + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQRecaptchaTicket' + - $ref: '#/components/parameters/QQRecaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/VerifyOtpPhoneModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/IsPostedResponse' + - $ref: '#/components/schemas/AuthResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + INVITATION_TOKEN_INVALID: + $ref: '#/components/examples/INVITATION_TOKEN_INVALID' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PHONE_NUMBER_ALREADY_VERIFIED: + $ref: '#/components/examples/PHONE_NUMBER_ALREADY_VERIFIED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + OTP_ALREADY_USED: + $ref: '#/components/examples/OTP_ALREADY_USED' + OTP_EXPIRED: + $ref: '#/components/examples/OTP_EXPIRED' + PASSWORD_IN_HISTORY: + $ref: '#/components/examples/PASSWORD_IN_HISTORY' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + PIN_IS_REQUIRED: + $ref: '#/components/examples/PIN_IS_REQUIRED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + APP_NOT_EXISTS: + $ref: '#/components/examples/APP_NOT_EXISTS' + CONSENT_FORM_NOT_AVAILABLE: + $ref: '#/components/examples/CONSENT_FORM_NOT_AVAILABLE' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + PHONE_NUMBER_NOT_EXISTS: + $ref: '#/components/examples/PHONE_NUMBER_NOT_EXISTS' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + OTP_INVALID: + $ref: '#/components/examples/OTP_INVALID' + RBA_ACCOUNT_IS_BLOCKED_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_BROWSER_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_CITY_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_CITY_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_COUNTRY_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_DEVICE_RISK' + RBA_ACCOUNT_IS_BLOCKED_BY_IP_RISK: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED_BY_IP_RISK' + RBA_EMAIL_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_BROWSER_RISK' + RBA_EMAIL_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_CITY_RISK' + RBA_EMAIL_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_COUNTRY_RISK' + RBA_EMAIL_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_DEVICE_RISK' + RBA_EMAIL_VERIFICATION_BY_IP_RISK: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION_BY_IP_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_BROWSER_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_CITY_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_COUNTRY_RISK' + RBA_SECURITY_ANSWER_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION_BY_DEVICE_RISK' + RBA_SMS_VERIFICATION_BY_BROWSER_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_BROWSER_RISK' + RBA_SMS_VERIFICATION_BY_CITY_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_CITY_RISK' + RBA_SMS_VERIFICATION_BY_COUNTRY_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_COUNTRY_RISK' + RBA_SMS_VERIFICATION_BY_DEVICE_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_DEVICE_RISK' + RBA_SMS_VERIFICATION_BY_IP_RISK: + $ref: '#/components/examples/RBA_SMS_VERIFICATION_BY_IP_RISK' + /identity/v2/auth/pin/change: + put: + tags: + - Security + summary: Update PIN with Access Token + operationId: ChangePinByAccessToken + description: Updates an existing PIN by providing the current PIN and a valid Access Token for authentication, allowing a User to change their PIN while logged in. + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/HCaptchaResponse' + - $ref: '#/components/parameters/QQCaptchaTicket' + - $ref: '#/components/parameters/QQCaptchaRandstr' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ChangePin' + responses: + '200': + description: Successfully submit request to reset the PIN + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + OLD_PIN_REQUIRED_PARAM: + $ref: '#/components/examples/OLD_PIN_REQUIRED_PARAM' + NEW_PIN_REQUIRED_PARAM: + $ref: '#/components/examples/NEW_PIN_REQUIRED_PARAM' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + OLD_PIN_WRONG: + $ref: '#/components/examples/OLD_PIN_WRONG' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PIN_AUTH_NOT_ENABLED: + $ref: '#/components/examples/PIN_AUTH_NOT_ENABLED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + PIN_NOT_CONFIGURED: + $ref: '#/components/examples/PIN_NOT_CONFIGURED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/pin/set/pinauthtoken: + post: + tags: + - Security + summary: Set PIN with Authentication Token + operationId: setPinByPinAuthToken + description: Sets a PIN for Users logging in or registering for the first time. Requires a valid PIN authentication token and is typically part of the onboarding or initial setup process. + parameters: + - $ref: '#/components/parameters/PinAuthTokenQuery' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PINModel' + responses: + '200': + description: Successfully submit request to reset the PIN + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PIN_REQUIRED_PARAM: + $ref: '#/components/examples/PIN_REQUIRED_PARAM' + PIN_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/PIN_AUTH_TOKEN_REQUIRED' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + PIN_AUTH_TOKEN_NOT_VALID: + $ref: '#/components/examples/PIN_AUTH_TOKEN_NOT_VALID' + PIN_AUTH_TOKEN_EXPIRED: + $ref: '#/components/examples/PIN_AUTH_TOKEN_EXPIRED' + PIN_AUTH_NOT_ENABLED: + $ref: '#/components/examples/PIN_AUTH_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + /identity/v2/auth/pin/forgot/email: + post: + tags: + - Security + summary: Send PIN Reset Email + operationId: forgotPinByEmail + description: Sends a PIN reset Email to the User's registered Email, enabling them to reset their PIN if forgotten. + parameters: + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/ResetPinURL' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ForgotPinByEmail' + responses: + '200': + description: Successfully submit request to reset the PIN + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + PIN_AUTH_NOT_ENABLED: + $ref: '#/components/examples/PIN_AUTH_NOT_ENABLED' + USER_NAME_AUTHENTICATION_ENABLED: + $ref: '#/components/examples/USER_NAME_AUTHENTICATION_ENABLED' + RESET_PIN_URL_INVALID: + $ref: '#/components/examples/RESET_PIN_URL_INVALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + /identity/v2/auth/pin/forgot/username: + post: + tags: + - Security + summary: Send PIN Reset Email by Username + operationId: forgotPinByUsername + description: Sends a PIN reset Email to the User IDentified by their Username, enabling them to reset their PIN if forgotten. + parameters: + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/ResetPinURL' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ForgotPinByUsername' + responses: + '200': + description: Successfully submit request to reset the PIN + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + EMAIL_REQUIRED: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + PIN_AUTH_NOT_ENABLED: + $ref: '#/components/examples/PIN_AUTH_NOT_ENABLED' + RESET_PIN_URL_INVALID: + $ref: '#/components/examples/RESET_PIN_URL_INVALID' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + EMAIL_ID_NOT_EXIST_IN_PROFILE: + $ref: '#/components/examples/EMAIL_ID_NOT_EXIST_IN_PROFILE' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + /identity/v2/auth/pin/forgot/otp: + post: + tags: + - Security + summary: Send OTP for PIN Reset + operationId: forgotPinByPhone + description: Sends a One-Time Password (OTP) to the User's registered Phone number, enabling them to reset their PIN if forgotten. + parameters: + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/IsVoiceOtp' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ForgotPinByPhone' + responses: + '200': + description: Successfully submit request to reset the PIN + content: + application/json: + schema: + $ref: '#/components/schemas/SMSResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + EMAIL_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + PIN_AUTH_NOT_ENABLED: + $ref: '#/components/examples/PIN_AUTH_NOT_ENABLED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + /identity/v2/auth/pin/reset/otp/{type}: + put: + summary: Reset PIN with OTP + operationId: resetPinByOTP + description: Allows a User to reset their PIN by verifying a One-Time Password (OTP). The User must provide the OTP, a new PIN, and one identifier (Phone, Email, or Username), enabling secure PIN recovery when the User forgets their PIN. + tags: + - Security + parameters: + - $ref: '#/components/parameters/ReAuthType' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/GoogleRecaptchaResponse' + - $ref: '#/components/parameters/GoogleRecaptchaResponseAlt' + - $ref: '#/components/parameters/QQCaptchaTicket' + - $ref: '#/components/parameters/QQCaptchaRandstr' + - $ref: '#/components/parameters/HCaptchaResponse' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPINByOTP' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + EMAIL_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_REQUIRED_PARAM' + PIN_REQUIRED_PARAM: + $ref: '#/components/examples/PIN_REQUIRED_PARAM' + USERNAME_REQUIRED_PARAM: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + PHONE_REQUIRED_PARAM: + $ref: '#/components/examples/PHONE_PAYLOAD_REQUIRED' + RESOURCE_NOT_FOUND: + $ref: '#/components/examples/RESOURCE_NOT_FOUND' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + PIN_AUTH_NOT_ENABLED: + $ref: '#/components/examples/PIN_AUTH_NOT_ENABLED' + USER_NAME_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/USER_NAME_AUTHENTICATION_NOT_ENABLED' + USER_NAME_AUTHENTICATION_ENABLED: + $ref: '#/components/examples/USER_NAME_AUTHENTICATION_ENABLED' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + VERIFICATION_OTP_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_OTP_NOT_VALID' + LINK_EXPIRED: + $ref: '#/components/examples/LINK_EXPIRED' + LINK_ALREADY_VERIFIED: + $ref: '#/components/examples/LINK_ALREADY_VERIFIED' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + OTP_INVALID: + $ref: '#/components/examples/OTP_INVALID' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + /identity/v2/auth/pin/reset/token: + put: + summary: Reset PIN with Reset Token + operationId: resetPinByResetToken + description: Allows a User to reset their PIN by providing a reset token received via Email and a new PIN, enabling secure PIN recovery when the User forgets their PIN. + tags: + - Security + parameters: + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ResetPINByToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + RESET_TOKEN_REQUIRED: + $ref: '#/components/examples/RESET_TOKEN_REQUIRED' + PIN_REQUIRED_PARAM: + $ref: '#/components/examples/PIN_REQUIRED_PARAM' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + PIN_AUTH_NOT_ENABLED: + $ref: '#/components/examples/PIN_AUTH_NOT_ENABLED' + VERIFICATION_VTOKEN_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_VTOKEN_NOT_VALID' + LINK_EXPIRED: + $ref: '#/components/examples/LINK_EXPIRED' + PIN_LINK_ALREADY_VERIFIED: + $ref: '#/components/examples/PIN_LINK_ALREADY_VERIFIED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + /identity/v2/auth/login/2fa/sms/phone: + put: + tags: + - Security + summary: Update Phone with MFA Token + operationId: MFAUpdatePhoneNumberByMfaToken + description: Sends a verification OTP to the provided Phone number as part of the process to update the Phone number used for Multi-Factor Authentication. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/SMSTemplate2FA' + - $ref: '#/components/parameters/IsVoiceOtp' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MFAPhoneUpdateModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SMSResponseData' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + MFA_PHONE_REQUIRED: + $ref: '#/components/examples/MFA_PHONE_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_AUTHENTICATION_PHONE_ALREADY_USED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PHONE_ALREADY_USED' + TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE_OLD' + TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE' + TWO_FACTOR_SECURITY_QUESTION_AUTHENTICATION_NOT_VERIFIED: + $ref: '#/components/examples/TWO_FACTOR_SECURITY_QUESTION_AUTHENTICATION_NOT_VERIFIED' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + /identity/v2/auth/account/2fa: + get: + tags: + - Security + summary: Retrieve MFA settings + operationId: GetMFASettings + description: Retrieves all MFA settings configured for the User, including the status of each authenticator type and available configuration details. + parameters: + - $ref: '#/components/parameters/DuoRedirectUri' + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/TwoFactorAuthenticationSettings' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + DUO_REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/DUO_REDIRECT_URI_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + DUO_AUTHENTICATOR_REDIRECT_URI_INVALID: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_INVALID' + DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED: + $ref: '#/components/examples/DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED' + TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + PHONE_NOT_VERIFIED: + $ref: '#/components/examples/PHONE_NOT_VERIFIED' + EMAIL_OR_PHONE_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_OR_PHONE_NOT_VERIFIED' + EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/2fa/sms/phone: + put: + tags: + - Security + summary: Update Phone by token + operationId: MFAUpdatePhoneNumberByToken + description: Sends a verification OTP to the provided Phone number as part of the process to update the Phone number used for MFA. + parameters: + - $ref: '#/components/parameters/SMSTemplate2FA' + - $ref: '#/components/parameters/IsVoiceOtp' + - $ref: '#/components/parameters/AccessToken' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MFAPhoneUpdateModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SMSResponseData' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + MFA_PHONE_REQUIRED: + $ref: '#/components/examples/MFA_PHONE_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_AUTHENTICATION_PHONE_ALREADY_USED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PHONE_ALREADY_USED' + TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE_OLD' + TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/login/2fa/sms: + put: + tags: + - Security + summary: Verify SMS OTP + operationId: ValidateMfaOTPByPhone + description: Allows Users to log in with Multi-Factor Authentication using the OTP sent via SMS or Voice OTP. + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/SMSTemplate2FA' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/IsVoiceOtp' + - $ref: '#/components/parameters/RbaBrowserEmailTemplate' + - $ref: '#/components/parameters/RbaCityEmailTemplate' + - $ref: '#/components/parameters/RbaCountryEmailTemplate' + - $ref: '#/components/parameters/RbaIPEmailTemplate' + - $ref: '#/components/parameters/RbaDeviceEmailTemplate' + - $ref: '#/components/parameters/RbaOtpSMSTemplate' + - $ref: '#/components/parameters/RbaBrowserSMSTemplate' + - $ref: '#/components/parameters/RbaCitySMSTemplate' + - $ref: '#/components/parameters/RbaCountrySMSTemplate' + - $ref: '#/components/parameters/RbaIPSMSTemplate' + - $ref: '#/components/parameters/RbaDeviceSMSTemplate' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MFAVerifyPhoneOtpModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + INVALID_INVITATION_ID_ACCEPTED: + $ref: '#/components/examples/INVALID_INVITATION_ID_ACCEPTED' + INVALID_INVITATION_ID_EXPIRED: + $ref: '#/components/examples/INVALID_INVITATION_ID_EXPIRED' + INVALID_INVITATION_ID_REVOKED: + $ref: '#/components/examples/INVALID_INVITATION_ID_REVOKED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + OTP_INVALID: + $ref: '#/components/examples/OTP_INVALID' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/login/2fa/totp: + put: + summary: Verify TOTP Code with MFA Token + description: Validates the TOTP Authenticator code provided by the User as part of the Multi-Factor Authentication login process. + operationId: VerifyTotpByMfaToken + tags: + - Security + parameters: + - $ref: '#/components/parameters/SecondFactorToken' + - $ref: '#/components/parameters/Fields' + - $ref: '#/components/parameters/RbaBrowserEmailTemplate' + - $ref: '#/components/parameters/RbaCityEmailTemplate' + - $ref: '#/components/parameters/RbaCountryEmailTemplate' + - $ref: '#/components/parameters/RbaIPEmailTemplate' + - $ref: '#/components/parameters/RbaDeviceEmailTemplate' + - $ref: '#/components/parameters/RbaBrowserSMSTemplate' + - $ref: '#/components/parameters/RbaCitySMSTemplate' + - $ref: '#/components/parameters/RbaCountrySMSTemplate' + - $ref: '#/components/parameters/RbaIPSMSTemplate' + - $ref: '#/components/parameters/RbaDeviceSMSTemplate' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AuthenticatorCodeRequest' + responses: + '200': + description: Successful MFA login or MFA challenge required + content: + application/json: + schema: + $ref: '#/components/schemas/AuthResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + AUTH_PAYLOAD_REQUIRED: + $ref: '#/components/examples/AUTH_PARAMETER_REQUIRED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_AUTH_TOKEN_REQUIRED' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT_OLD' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: Internal Server Error - an unexpected error occurred on the server. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /identity/v2/auth/account/2fa/sms: + delete: + tags: + - Security + summary: Reset SMS Authenticator + operationId: MFAResetSMSAuthByToken + description: Resets SMS Authenticator configurations for an Account using an Access Token. + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + DELETE_BODY_INVALID: + $ref: '#/components/examples/DELETE_BODY_INVALID' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED' + security: + - BearerToken: [] + APIKey: [] + put: + tags: + - Security + summary: Verify Phone MFA + operationId: MFAVerifyPhoneNumberByAccessToken + description: Updates Phone-based MFA settings after a successful login, managing or verifying Phone MFA configurations for secure operations. + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/Fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MFAVerifyPhoneOtpModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Profile' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OTP_REQUIRED: + $ref: '#/components/examples/OTP_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TWO_FACTOR_AUTHENTICATION_PHONE_ALREADY_USED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PHONE_ALREADY_USED' + TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE_OLD' + TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + OTP_INVALID: + $ref: '#/components/examples/OTP_INVALID' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + SECURITY_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_ANSWER_INVALID' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/account/2fa/email: + get: + tags: + - Security + summary: Resend Email OTP + operationId: ResendTwoFactorEmailOtp + description: Sends the OTP to the Email if the Email OTP Authenticator is enabled in the Tenant's MFA configuration. + parameters: + - $ref: '#/components/parameters/EmailId' + - $ref: '#/components/parameters/EmailTemplate2FA' + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: OTP resent successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAIL_ID_REQUIRED: + $ref: '#/components/examples/EMAILID_REQUIRD' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_EmailOTP_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_EmailOTP_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + security: + - APIKey: [] + delete: + tags: + - Security + summary: Reset Email OTP Authenticator + description: Resets the Email OTP Authenticator settings for a User with MFA enabled, allowing reconfiguration. + operationId: ResetMFAEmailAuthByAccessToken + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_EmailOTP_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_EmailOTP_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + security: + - BearerToken: [] + APIKey: [] + put: + tags: + - Security + summary: Verify Email OTP + operationId: EmailOTPAuthVerificationByAccessToken + description: Verifies Email OTP authentication for a User using an Access Token. + parameters: + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/Fields' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ReAuthModelByEmailOtp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Profile' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + POST_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + OTP_PAYLOAD_REQUIRED: + $ref: '#/components/examples/OTP_PAYLOAD_REQUIRED' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA' + LOGIN_IS_LOCKED_FOR_MFA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_MFA' + USER_ID_LOCKED_WITH_TIMEOUT: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT' + USER_ID_LOCKED: + $ref: '#/components/examples/USER_ID_LOCKED' + OTP_NOT_EXISTS: + $ref: '#/components/examples/OTP_NOT_EXISTS' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/consent: + post: + summary: Submit Consent with Token + description: Submits User consent information using a consent token. + operationId: SubmitConsentByConsentToken + tags: + - User + parameters: + - $ref: '#/components/parameters/ConsentToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentSubmit' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentResponse' + '400': + description: 'Bad Request: The request was invalid or cannot be served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + CONSENT_TOKEN_REQUIRED: + $ref: '#/components/examples/CONSENT_TOKEN_REQUIRED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_FORM_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_FORM_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + CONSENT_TOKEN_NOT_VALID: + $ref: '#/components/examples/CONSENT_TOKEN_NOT_VALID' + CONSENT_TOKEN_EXPIRED: + $ref: '#/components/examples/CONSENT_TOKEN_EXPIRED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + put: + summary: Update Consent Profile + description: Updates the consent profile using an Access Token. + operationId: UpdateConsentByAccessToken + tags: + - User + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentUpdate' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentProfile' + '400': + description: 'Bad Request: The request was invalid or cannot be served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_FORM_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_FORM_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + CONSENT_FORM_NOT_AVAILABLE: + $ref: '#/components/examples/CONSENT_FORM_NOT_AVAILABLE' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/consent/profile: + post: + summary: Submit Consent + description: Submits User consent information using an Access Token. + operationId: SubmitConsentByAccessToken + tags: + - User + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentSubmit' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Profile' + '400': + description: 'Bad Request: The request was invalid or cannot be served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + CONSENT_FORM_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_FORM_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + CONSENT_FORM_NOT_AVAILABLE: + $ref: '#/components/examples/CONSENT_FORM_NOT_AVAILABLE' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/consent/logs: + get: + summary: Retrieve Consent Logs + description: Retrieves consent logs for a User based on the provided Access Token. + operationId: GetConsentLogs + tags: + - User + parameters: + - $ref: '#/components/parameters/AccessToken' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentLogsResponse' + '400': + description: 'Bad Request: The request was invalid or cannot be served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + TOKEN_REQUIRED: + $ref: '#/components/examples/TOKEN_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_LOGS_NOT_AVAILABLE: + $ref: '#/components/examples/CONSENT_LOGS_NOT_AVAILABLE' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + CONSENT_FORM_NOT_AVAILABLE: + $ref: '#/components/examples/CONSENT_FORM_NOT_AVAILABLE' + CONSENT_FORM_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_FORM_NOT_ENABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/consent/verify: + get: + summary: Retrieve Consent Status + description: Retrieves the consent verification status for a User based on the provided Access Token and event. + operationId: GetVerifiedConsentWithAccessToken + tags: + - User + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/Event' + - $ref: '#/components/parameters/IsCustom' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/VerifyConsent' + '400': + description: 'Bad Request: The request was invalid or cannot be served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + TOKEN_REQUIRED: + $ref: '#/components/examples/TOKEN_REQUIRED' + EVENT_REQUIRED: + $ref: '#/components/examples/EVENT_REQUIRED' + IS_CUSTOM_REQUIRED: + $ref: '#/components/examples/ISCUSTOM_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_FORM_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_FORM_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED' + CONSENT_FORM_NOT_AVAILABLE: + $ref: '#/components/examples/CONSENT_FORM_NOT_AVAILABLE' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - BearerToken: [] + APIKey: [] + /identity/v2/auth/invitations/{invitation_token}: + get: + summary: Retrieve invitation details + description: Retrieves details about a specific invitation using the invitation token. + operationId: getInvitation + tags: + - User + parameters: + - $ref: '#/components/parameters/InvitationTokenPath' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/InvitationToken' + '400': + description: Bad Request - the request is malformed or invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/INVITATION_TOKEN_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + '403': + description: Forbidden - the client is not allowed to access this resource. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + '404': + description: Not Found - the invitation token does not exist or is invalid. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + /identity/v2/manage/account/emailtoken/{tokentype}: + post: + summary: Retrieve Multipurpose Email Token + description: Retrieves a multi-purpose Email token for verification, Password reset, and other Email-related actions. + operationId: MultipurposeEmailTokenAPI + tags: + - Multipurpose Tokens + parameters: + - $ref: '#/components/parameters/tokenType' + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/EmailVerificationOrForgotPINModel' + - $ref: '#/components/schemas/AddEmailModelManage' + - $ref: '#/components/schemas/ForgotPasswordOrPasswordLessLoginOrAutoLoginModel' + - $ref: '#/components/schemas/DeleteUserModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/GenerateTokenResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + TOKEN_TYPE_REQUIRED: + $ref: '#/components/examples/TOKEN_TYPE_REQUIRED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + EMAILID_OR_USERNAME_REQUIRD: + $ref: '#/components/examples/EMAILID_OR_USERNAME_REQUIRD' + EMAILID_REQUIRD: + $ref: '#/components/examples/EMAILID_REQUIRD' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + EMAIL_TYPE_CAN_NOT_NULL: + $ref: '#/components/examples/EMAIL_TYPE_CAN_NOT_NULL' + EMAIL_TYPE_CAN_NOT_NULL-EMAIL_REQUIRED-UID_REQUIRED: + $ref: '#/components/examples/EMAIL_TYPE_CAN_NOT_NULL-EMAIL_REQUIRED-UID_REQUIRED' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + EMAIL_OR_USER_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_OR_USER_REQUIRED_PARAM' + EMAIL_OR_USER_REQUIRED_PARAM-CLIENT_GUID_REQUIRED: + $ref: '#/components/examples/EMAIL_OR_USER_REQUIRED_PARAM-CLIENT_GUID_REQUIRED' + CLIENT_GUID_REQUIRED-EMAIL_REQUIRED: + $ref: '#/components/examples/CLIENT_GUID_REQUIRED-EMAIL_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + AUTOLOGIN_NOT_ENABLED: + $ref: '#/components/examples/AUTOLOGIN_NOT_ENABLED' + CANNOT_ADD_EMAIL_ADDRESS: + $ref: '#/components/examples/CANNOT_ADD_EMAIL_ADDRESS' + CLIENT_GUID_MUST_BE_UNIQUE: + $ref: '#/components/examples/CLIENT_GUID_MUST_BE_UNIQUE' + EMAIL_ALLREADY_VERIFIED_TOKEN: + $ref: '#/components/examples/EMAIL_ALLREADY_VERIFIED_TOKEN' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + EMAIL_ID_NOT_EXIST_IN_PROFILE: + $ref: '#/components/examples/EMAIL_ID_NOT_EXIST_IN_PROFILE' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + EMAILID_VERIFICATION_DISABLE: + $ref: '#/components/examples/EMAILID_VERIFICATION_DISABLE' + INVALID_TOKEN_TYPE: + $ref: '#/components/examples/INVALID_TOKEN_TYPE' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + NO_REGISTRATION_NOT_ENABLED: + $ref: '#/components/examples/NO_REGISTRATION_NOT_ENABLED' + ONE_CLICK_SIGIN_NOT_ENABLED: + $ref: '#/components/examples/ONE_CLICK_SIGIN_NOT_ENABLED' + PIN_AUTH_NOT_ENABLED: + $ref: '#/components/examples/PIN_AUTH_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + TOKEN_LIMIT_REACHED: + $ref: '#/components/examples/TOKEN_LIMIT_REACHED' + TRIAL_PLAN_USER_LIMIT_REACHED: + $ref: '#/components/examples/TRIAL_PLAN_USER_LIMIT_REACHED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + USER_NAME_AUTHENTICATION_ENABLED: + $ref: '#/components/examples/USER_NAME_AUTHENTICATION_ENABLED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/smsotp/{smsotptype}: + post: + summary: Multipurpose SMS OTP + description: Generates an OTP for the User, applicable for adding a Phone, Phone ID verification, and other SMS-related actions. + operationId: MultipurposeSmsOtpAPI + tags: + - Multipurpose Tokens + parameters: + - $ref: '#/components/parameters/smsOtpType' + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/AddPhoneModel' + - $ref: '#/components/schemas/PhoneIdModel' + - $ref: '#/components/schemas/OneTouchLoginPhoneModel' + - $ref: '#/components/schemas/DeleteUserModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/GenerateTokenResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + TOKEN_TYPE_REQUIRED: + $ref: '#/components/examples/SMS_OTP_TYPE_REQUIRED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + PHONE_REQUIRED_PARAM-UID_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED_PARAM-UID_REQUIRED' + PHONE_REQUIRED_PARAM: + $ref: '#/components/examples/PHONE_REQUIRED_PARAM' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + PHONE_NO_ALREADY_REGISTERED: + $ref: '#/components/examples/PHONE_NO_ALREADY_REGISTERED' + OTP_LIMIT_REACHED: + $ref: '#/components/examples/OTP_LIMIT_REACHED' + PHONE_NUMBER_NOT_EXISTS: + $ref: '#/components/examples/PHONE_NUMBER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PHONE_NUMBER_ALREADY_VERIFIED: + $ref: '#/components/examples/PHONE_NUMBER_ALREADY_VERIFIED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + PIN_AUTH_NOT_ENABLED: + $ref: '#/components/examples/PIN_AUTH_NOT_ENABLED' + NO_REGISTRATION_NOT_ENABLED: + $ref: '#/components/examples/NO_REGISTRATION_NOT_ENABLED' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED' + TRIAL_PLAN_USER_LIMIT_REACHED: + $ref: '#/components/examples/TRIAL_PLAN_USER_LIMIT_REACHED' + USER_NAME_AUTHENTICATION_ENABLED: + $ref: '#/components/examples/USER_NAME_AUTHENTICATION_ENABLED' + AUTOLOGIN_NOT_ENABLED: + $ref: '#/components/examples/AUTOLOGIN_NOT_ENABLED' + PHONE_NOT_VERIFIED: + $ref: '#/components/examples/PHONE_NOT_VERIFIED' + PHONE_DOES_NOT_EXIST: + $ref: '#/components/examples/PHONE_DOES_NOT_EXIST' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/rolecontext: + get: + summary: Retrieve Context by UID + description: | + Retrieves User Roles for all Contexts using the UID. + + This API is supported only for B2C tenants. For improved role and permission management, we recommend migrating to a B2B tenant. Please contact support for assistance with the migration. + operationId: GetRoleContextByUid + tags: + - Roles Management + parameters: + - $ref: '#/components/parameters/UidPathParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/RoleContextResponseModal' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + B2B_FEATURE_ENABLED: + $ref: '#/components/examples/B2B_FEATURE_ENABLED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + put: + summary: Upsert Context by UID + description: | + Creates or updates a Context with a set of Roles using the UID. + + This API is supported only for B2C tenants. For improved role and permission management, we recommend migrating to a B2B tenant. Please contact support for assistance with the migration. + operationId: UpsertRoleContextByUid + tags: + - Roles Management + parameters: + - $ref: '#/components/parameters/UidPathParam' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/XPreventWebhook' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateRoleContextBodyModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/RoleContextResponseModal' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + PUT_BODY_INVALID: + $ref: '#/components/examples/PUT_BODY_INVALID' + PARAMETER_NOT_WELL_FORMATTED_CONTEXT: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_CONTEXT' + PARAMETER_NOT_WELL_FORMATTED_ROLE: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_ROLE' + PARAMETER_NOT_WELL_FORMATTED_ROLE_NULL: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_ROLE_NULL' + INVALID_DATE_ROLES: + $ref: '#/components/examples/INVALID_DATE_ROLES' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + B2B_FEATURE_ENABLED: + $ref: '#/components/examples/B2B_FEATURE_ENABLED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/roleContext/{contextName}: + get: + summary: Retrieve Role Context + description: | + Retrieves the Role Context for a specified Role. + + This API is supported only for B2C tenants. For improved role and permission management, we recommend migrating to a B2B tenant. Please contact support for assistance with the migration. + operationId: GetRoleContextByContextName + tags: + - Roles Management + parameters: + - $ref: '#/components/parameters/ContextName' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/RoleContextProfileResponseModel' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTEXT_NAME_REQUIRED: + $ref: '#/components/examples/CONTEXT_NAME_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_CONTEXT_NOT_VALID: + $ref: '#/components/examples/ROLE_CONTEXT_NOT_VALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + B2B_FEATURE_ENABLED: + $ref: '#/components/examples/B2B_FEATURE_ENABLED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/role: + get: + summary: Retrieve Roles by UID + description: | + Retrieves Roles associated with a specified UID. + + This API is supported only for B2C tenants. For improved role and permission management, we recommend migrating to a B2B tenant. Please contact support for assistance with the migration. + operationId: GetRolesByUid + tags: + - Roles Management + parameters: + - $ref: '#/components/parameters/UidPathParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/UserRolesModel' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + put: + summary: Assign Roles by UID + description: | + Updates and assigns Roles to a User using the UID. + + This API is supported only for B2C tenants. For improved role and permission management, we recommend migrating to a B2B tenant. Please contact support for assistance with the migration. + operationId: SaveRolesByUid + tags: + - Roles Management + parameters: + - $ref: '#/components/parameters/UidPathParam' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserRolesModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/UserRolesModel' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + PUT_BODY_INVALID: + $ref: '#/components/examples/PUT_BODY_INVALID' + ROLES_CAN_NOT_BE_EMPTY: + $ref: '#/components/examples/ROLES_CAN_NOT_BE_EMPTY' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + delete: + summary: Unassign Roles by UID + description: | + Removes specified Roles from a User using the UID. + + This API is supported only for B2C tenants. For improved role and permission management, we recommend migrating to a B2B tenant. Please contact support for assistance with the migration. + operationId: DeleteRolesByUid + tags: + - Roles Management + parameters: + - $ref: '#/components/parameters/UidPathParam' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UserRolesModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + DELETE_BODY_INVALID: + $ref: '#/components/examples/DELETE_BODY_INVALID' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/rolecontext/{contextName}/role: + delete: + summary: Delete Role from Context + description: | + Deletes the specified Role from a Context. + + This API is supported only for B2C tenants. For improved role and permission management, we recommend migrating to a B2B tenant. Please contact support for assistance with the migration. + operationId: DeleteContextRoleByUid + tags: + - Roles Management + parameters: + - $ref: '#/components/parameters/UidPathParam' + - $ref: '#/components/parameters/ContextName' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveRoleContextRoleModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + DELETE_BODY_INVALID: + $ref: '#/components/examples/DELETE_BODY_INVALID' + PARAMETER_NOT_WELL_FORMATTED_ROLE: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_ROLE' + PARAMETER_NOT_WELL_FORMATTED_ROLE_NULL: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_ROLE_NULL' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS' + ROLE_CONTEXT_NOT_VALID: + $ref: '#/components/examples/ROLE_CONTEXT_NOT_VALID' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + B2B_FEATURE_ENABLED: + $ref: '#/components/examples/B2B_FEATURE_ENABLED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/rolecontext/{contextName}/additionalpermission: + delete: + summary: Delete Additional Permissions from Context + description: | + Removes specified additional Permissions from a Context. + + This API is supported only for B2C tenants. For improved role and permission management, we recommend migrating to a B2B tenant. Please contact support for assistance with the migration. + operationId: DeleteRoleContextAdditionalPermissionsByUid + tags: + - Roles Management + parameters: + - $ref: '#/components/parameters/UidPathParam' + - $ref: '#/components/parameters/ContextName' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RemoveRoleContextAdditionalPermissionsModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + DELETE_BODY_INVALID: + $ref: '#/components/examples/DELETE_BODY_INVALID' + PARAMETER_NOT_WELL_FORMATTED_ADDPERMISSION_NULL: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_ADDPERMISSION_NULL' + PARAMETER_NOT_WELL_FORMATTED_ADDPERMISSION: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_ADDPERMISSION' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + CONTENT_TYPE_INVALID: + $ref: '#/components/examples/CONTENT_TYPE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS' + ROLE_CONTEXT_NOT_VALID: + $ref: '#/components/examples/ROLE_CONTEXT_NOT_VALID' + ADDITIONALPERMISSIONS_NOT_EXITS: + $ref: '#/components/examples/ADDITIONALPERMISSIONS_NOT_EXITS' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + B2B_FEATURE_ENABLED: + $ref: '#/components/examples/B2B_FEATURE_ENABLED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/rolecontext/{contextName}: + delete: + summary: Delete Role Context + description: | + Deletes the specified Role Context. + + This API is supported only for B2C tenants. For improved role and permission management, we recommend migrating to a B2B tenant. Please contact support for assistance with the migration. + operationId: DeleteRoleContextByUid + tags: + - Roles Management + parameters: + - $ref: '#/components/parameters/ContextName' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/UidPathParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_CONTEXT_NOT_VALID: + $ref: '#/components/examples/ROLE_CONTEXT_NOT_VALID' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + B2B_FEATURE_ENABLED: + $ref: '#/components/examples/B2B_FEATURE_ENABLED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/passkey: + get: + summary: List Passkeys + description: Retrieves a list of Passkeys configured for a specified User. + operationId: ListPasskeyUser + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidQueryParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/PasskeyListResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + PASSKEY_NOT_CONFIGURED_IN_PROFILE: + $ref: '#/components/examples/PASSKEY_NOT_CONFIGURED_IN_PROFILE' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/passkey/{passkeyId}: + delete: + summary: Delete Passkey + description: Removes configured Passkey for specified User. + operationId: DeletePasskeyByUid + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidQueryParam' + - $ref: '#/components/parameters/passkeyId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + PASSKEY_NOT_ENABLED_IN_APP: + $ref: '#/components/examples/PASSKEY_NOT_ENABLED_IN_APP' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + PASSKEY_NOT_CONFIGURED_IN_PROFILE: + $ref: '#/components/examples/PASSKEY_NOT_CONFIGURED_IN_PROFILE' + INVALID_PASSKEY_ID: + $ref: '#/components/examples/INVALID_PASSKEY_ID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/2fa/passkey: + delete: + summary: Reset MFA Passkey + description: Resets the MFA Passkey for the specified User. + operationId: ResetMfaPasskeyByUid + tags: + - Account Security + parameters: + - $ref: '#/components/parameters/UidQueryParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/2fa/push: + delete: + summary: Reset MFA Push Notification + description: Resets the Push Notification Authenticator for the specified User. + operationId: ResetMfaPushByUid + tags: + - Account Security + parameters: + - $ref: '#/components/parameters/UidQueryParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but is refusing to fulfill it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + TWO_FACTOR_PUSH_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_PUSH_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/2fa/duo: + delete: + summary: Reset Duo + description: Resets the Duo Authenticator for the specified User. + operationId: ResetDuoAuthByUid + tags: + - Account Security + parameters: + - $ref: '#/components/parameters/UidQueryParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The server understood the request, but is refusing to fulfill it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + DUO_AUTH_NOT_ENABLED: + $ref: '#/components/examples/DUO_AUTH_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + TWO_FACTOR_DUO_AUTHENTICATOR_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_DUO_AUTHENTICATOR_NOT_CONFIGURED_ON_PROFILE' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/2fa/email: + delete: + summary: Reset Email OTP + description: Resets the Email OTP Authenticator for the specified User. + operationId: ResetEmailAuthenticatorByUid + tags: + - Account Security + parameters: + - $ref: '#/components/parameters/UidQueryParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The server understood the request, but is refusing to fulfill it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_EmailOTP_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_EmailOTP_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/2fa/backupcode: + get: + summary: Generate Backup Codes + description: Generates a set of backup codes for the specified User. + operationId: mfaGenerateBackupCodesByUid + tags: + - Account Security + parameters: + - $ref: '#/components/parameters/UidQueryParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/MFABackUpCodeResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE' + TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_ALREADY_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_ALREADY_CONFIGURED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/2fa/backupcode/reset: + get: + summary: Reset Backup Codes + description: Resets and generates a new set of backup codes for the specified User. + operationId: mfaResetBackupCodesByUid + tags: + - Account Security + parameters: + - $ref: '#/components/parameters/UidQueryParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/MFABackUpCodeResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/access_token/refresh: + get: + summary: Refresh Access Token + description: Refreshes the Access Token using a Refresh Token. + operationId: refreshAccessToken + tags: + - Account Session + parameters: + - $ref: '#/components/parameters/RefreshToken' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + REFRESH_TOKEN_REQUIRED: + $ref: '#/components/examples/REFRESH_TOKEN_REQUIRED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + REFRESH_TOKEN_INVALID: + $ref: '#/components/examples/REFRESH_TOKEN_INVALID' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/access_token/refresh/revoke: + get: + summary: Revoke Refresh Token + description: Revokes the specified Refresh Token. + operationId: revokeRefreshToken + tags: + - Account Session + parameters: + - $ref: '#/components/parameters/RefreshToken' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + REFRESH_TOKEN_REQUIRED: + $ref: '#/components/examples/REFRESH_TOKEN_REQUIRED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + REFRESH_TOKEN_INVALID: + $ref: '#/components/examples/REFRESH_TOKEN_INVALID' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/access_token/refresh/revoke: + delete: + summary: Revoke refresh tokens + description: Revokes all active refresh tokens for a specified User. + operationId: revokeAllRefreshToken + tags: + - Account Session + parameters: + - $ref: '#/components/parameters/UidPath' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/customobject: + get: + summary: List Custom Objects + tags: + - Account Custom Object + description: Retrieves all Custom Objects associated with the UID. + operationId: GetCustomObjectByUid + parameters: + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/ObjectName' + - $ref: '#/components/parameters/CustomObjectId' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectsResponseModel' + examples: + default: + $ref: '#/components/examples/CUSTOM_OBJECTS_RESPONSE_EXAMPLE' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + CUSTOM_OBJECT_NAME_REQUIRED: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + CUSTOM_OBJECT_NAME_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_NOT_VALID' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + CUSTOM_OBJECT_NOT_CONFIGURED: + $ref: '#/components/examples/CUSTOM_OBJECT_NOT_CONFIGURED' + CUSTOM_OBJECT_RECORD_NOT_EXIST: + $ref: '#/components/examples/CUSTOM_OBJECT_RECORD_NOT_EXIST' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + post: + summary: Create Custom Object + tags: + - Account Custom Object + description: Creates a new Custom Object for the User. + parameters: + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/ObjectName' + - $ref: '#/components/parameters/CustomObjectId' + operationId: CreateCustomObject + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectRequest' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectResponseModel' + examples: + default: + $ref: '#/components/examples/CUSTOM_OBJECT_RESPONSE_EXAMPLE' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + CUSTOM_OBJECT_NAME_REQUIRED: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_REQUIRED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + CUSTOM_OBJECT_NAME_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_NOT_VALID' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + CUSTOM_OBJECT_NOT_CONFIGURED: + $ref: '#/components/examples/CUSTOM_OBJECT_NOT_CONFIGURED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_OIDC' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/customobject/{objectrecordid}: + get: + summary: Retrieve Custom Object + description: Retrieves the Custom Object associated with the specified User using the UID and record ID. + operationId: getCustomObjectByUidAndRecordId + tags: + - Account Custom Object + parameters: + - $ref: '#/components/parameters/ObjectRecordId' + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/ObjectName' + - $ref: '#/components/parameters/CustomObjectId' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectResponseModel' + examples: + default: + $ref: '#/components/examples/CUSTOM_OBJECT_RESPONSE_EXAMPLE' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + CUSTOM_OBJECT_NAME_REQUIRED: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_REQUIRED' + CUSTOM_OBJECT_NAME_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_NOT_VALID' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + CUSTOM_OBJECT_NOT_CONFIGURED: + $ref: '#/components/examples/CUSTOM_OBJECT_NOT_CONFIGURED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + put: + summary: Update Custom Object + description: Updates a Custom Object associated with the authenticated User using the UID and record ID. + operationId: updateCustomObjectByUidAndRecordId + tags: + - Account Custom Object + parameters: + - $ref: '#/components/parameters/ObjectRecordId' + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/UpdateType' + - $ref: '#/components/parameters/ObjectName' + - $ref: '#/components/parameters/CustomObjectId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectRequest' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/CustomObjectResponseModel' + examples: + default: + $ref: '#/components/examples/CUSTOM_OBJECT_RESPONSE_EXAMPLE' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + CUSTOM_OBJECT_NAME_REQUIRED: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_REQUIRED' + CUSTOM_OBJECT_NAME_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_NOT_VALID' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + CUSTOM_OBJECT_JSON_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_JSON_NOT_VALID' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + CUSTOM_OBJECT_NOT_CONFIGURED: + $ref: '#/components/examples/CUSTOM_OBJECT_NOT_CONFIGURED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_OIDC' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + delete: + summary: Delete Custom Object + description: Deletes the Custom Object associated with the specified User using the UID and record ID. + operationId: deleteCustomObjectByUidAndRecordId + tags: + - Account Custom Object + parameters: + - $ref: '#/components/parameters/ObjectRecordId' + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/ObjectName' + - $ref: '#/components/parameters/CustomObjectId' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + CUSTOM_OBJECT_NAME_REQUIRED: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_REQUIRED' + CUSTOM_OBJECT_RECORD_ID_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_RECORD_ID_NOT_VALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + CUSTOM_OBJECT_NAME_NOT_VALID: + $ref: '#/components/examples/CUSTOM_OBJECT_NAME_NOT_VALID' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + CUSTOM_OBJECT_NOT_CONFIGURED: + $ref: '#/components/examples/CUSTOM_OBJECT_NOT_CONFIGURED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_OIDC' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account: + delete: + summary: Delete Account by Email + description: Deletes an Account based on the specified Email. + operationId: DeleteAccountByEmail + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/Email' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + responses: + '200': + description: Account successfully deleted. + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeletedResponseWithCount' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + INVALID_EMAIL: + $ref: '#/components/examples/INVALID_EMAIL' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + EMAIL_ID_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_ID_NOT_EXISTS' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + get: + summary: Retrieve Account + description: Retrieves Account Identity details using Email, Username, Phone, or Query parameter. + operationId: GetAccountIdentity + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/Email' + - $ref: '#/components/parameters/Username' + - $ref: '#/components/parameters/Phone' + - $ref: '#/components/parameters/QParam' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + responses: + '200': + description: Account Identity retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLogins' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Q_REQUIRED: + $ref: '#/components/examples/Q_REQUIRED' + Q_NOT_VALID: + $ref: '#/components/examples/Q_NOT_VALID' + QUERY_KEY_REQUIRED: + $ref: '#/components/examples/QUERY_KEY_REQUIRED' + QUERY_VALUE_REQUIRED: + $ref: '#/components/examples/QUERY_VALUE_REQUIRED' + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + USERNAME_REQUIRED: + $ref: '#/components/examples/USERNAME_REQUIRED' + PHONE_REQUIRED: + $ref: '#/components/examples/PHONE_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + MULTIPLE_QUERY_PARAMETERS: + $ref: '#/components/examples/MULTIPLE_QUERY_PARAMETERS' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + QUERY_KEY_INDEX_NOT_FOUND: + $ref: '#/components/examples/QUERY_KEY_INDEX_NOT_FOUND' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + EMAIL_ID_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_ID_NOT_EXISTS' + USERNAME_NOT_EXISTS: + $ref: '#/components/examples/USERNAME_NOT_EXISTS' + PHONE_NUMBER_NOT_EXISTS: + $ref: '#/components/examples/PHONE_NUMBER_NOT_EXISTS' + PHONE_NUMBER_LOGIN_ENABLED: + $ref: '#/components/examples/PHONE_NUMBER_LOGIN_ENABLED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + post: + summary: Create Account + description: Creates a new Account with the provided details. + operationId: CreateUser + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ManageRegisterModel' + responses: + '200': + description: User account successfully created. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLogins' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + PASSWORD_REQUIRED: + $ref: '#/components/examples/PASSWORD_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + PHONE_OR_EMAIL_REQUIRED_PARAM: + $ref: '#/components/examples/PHONE_OR_EMAIL_REQUIRED_PARAM' + EMAIL_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_REQUIRED_PARAM' + PHONE_REQUIRED_PARAM: + $ref: '#/components/examples/PHONE_REQUIRED_PARAM' + USERNAME_REQUIRED_PARAM: + $ref: '#/components/examples/USERNAME_REQUIRED_PARAM' + EMAIL_VALUE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_VALUE_REQUIRED_PARAM' + EMAIL_TYPE_VALUE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_TYPE_VALUE_REQUIRED_PARAM' + EMAIL_TYPE_REQUIRED: + $ref: '#/components/examples/EMAIL_TYPE_REQUIRED' + EMAIL_ID_CAN_NOT_BE_SAME: + $ref: '#/components/examples/EMAIL_ID_CAN_NOT_BE_SAME' + PRIMARY_EMAIL_CAN_BE_ONLY_ONE: + $ref: '#/components/examples/PRIMARY_EMAIL_CAN_BE_ONLY_ONE' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + ADDRESS_TYPE_REQUIRED: + $ref: '#/components/examples/ADDRESS_TYPE_REQUIRED' + ADDRESS_TYPE_CAN_NOT_BE_SAME: + $ref: '#/components/examples/ADDRESS_TYPE_CAN_NOT_BE_SAME' + BIRTH_DATE_INVALID: + $ref: '#/components/examples/BIRTH_DATE_INVALID' + GENDER_INVALID: + $ref: '#/components/examples/GENDER_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + '401': + description: Unauthorized - The request requires User authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ACTIVE_LOGIN_SESSIONS_NOT_ENABLED: + $ref: '#/components/examples/ACTIVE_LOGIN_SESSIONS_NOT_ENABLED' + PRIVACY_POLICY_NOT_ACCEPTED: + $ref: '#/components/examples/PRIVACY_POLICY_NOT_ACCEPTED' + SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + CUSTOM_FIELD_NOT_VALID: + $ref: '#/components/examples/CUSTOM_FIELD_NOT_VALID' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + AGE_UNDERAGE: + $ref: '#/components/examples/AGE_UNDERAGE' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + PHONE_NO_ALREADY_REGISTERED: + $ref: '#/components/examples/PHONE_NO_ALREADY_REGISTERED' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + WEAK_PASSWORD: + $ref: '#/components/examples/WEAK_PASSWORD' + BREACHED_PASSWORD: + $ref: '#/components/examples/BREACHED_PASSWORD' + PASSWORD_IN_HISTORY: + $ref: '#/components/examples/PASSWORD_IN_HISTORY' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + UID_IS_NOT_VALID: + $ref: '#/components/examples/UID_IS_NOT_VALID' + ACCOUNT_ID_IS_ALREADY_REGISTERED: + $ref: '#/components/examples/ACCOUNT_ID_IS_ALREADY_REGISTERED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + PRIVACY_POLICY_NOT_VALID: + $ref: '#/components/examples/PRIVACY_POLICY_NOT_VALID' + PIN_REQUIRED: + $ref: '#/components/examples/PIN_REQUIRED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}: + get: + summary: Retrieve Account by UID + description: Retrieves Account Identity details using the UID. + operationId: GetAccountIdentityByUID + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + responses: + '200': + description: Account Identity retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLogins' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + delete: + summary: Delete Account by UID + description: Deletes an Account based on the specified UID. + operationId: DeleteAccountByUID + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + responses: + '200': + description: Account successfully deleted. + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeletedResponseWithCount' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + put: + summary: Update Account by UID + description: Updates Account details using the UID. + operationId: UpdateAccountProfileByUID + tags: + - Accounts + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + parameters: + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/NullSupport' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ManageRegisterModel' + responses: + '200': + description: Account profile updated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLogins' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + EMAIL_ID_CAN_NOT_BE_SAME: + $ref: '#/components/examples/EMAIL_ID_CAN_NOT_BE_SAME' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + PRIMARY_EMAIL_CAN_BE_ONLY_ONE: + $ref: '#/components/examples/PRIMARY_EMAIL_CAN_BE_ONLY_ONE' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER' + GENDER_INVALID: + $ref: '#/components/examples/GENDER_INVALID' + BIRTH_DATE_INVALID: + $ref: '#/components/examples/BIRTH_DATE_INVALID' + ADDRESS_TYPE_REQUIRED: + $ref: '#/components/examples/ADDRESS_TYPE_REQUIRED' + ADDRESS_TYPE_CAN_NOT_BE_SAME: + $ref: '#/components/examples/ADDRESS_TYPE_CAN_NOT_BE_SAME' + EMAIL_TYPE_VALUE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_TYPE_VALUE_REQUIRED_PARAM' + EMAIL_VALUE_REQUIRED_PARAM: + $ref: '#/components/examples/EMAIL_VALUE_REQUIRED_PARAM' + EMAIL_TYPE_REQUIRED: + $ref: '#/components/examples/EMAIL_TYPE_REQUIRED' + USERNAME_REQUIRED: + $ref: '#/components/examples/USERNAME_REQUIRED' + PIN_REQUIRED: + $ref: '#/components/examples/PIN_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + UID_IS_NOT_VALID: + $ref: '#/components/examples/UID_IS_NOT_VALID' + ACCOUNT_ID_IS_ALREADY_REGISTERED: + $ref: '#/components/examples/ACCOUNT_ID_IS_ALREADY_REGISTERED' + CUSTOM_FIELD_NOT_VALID: + $ref: '#/components/examples/CUSTOM_FIELD_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED' + SECURITY_QUESTION_NOT_VALID: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_VALID' + SECURITY_QUESTION_OR_ANSWER_INVALID: + $ref: '#/components/examples/SECURITY_QUESTION_OR_ANSWER_INVALID' + PRIVACY_POLICY_NOT_ACCEPTED: + $ref: '#/components/examples/PRIVACY_POLICY_NOT_ACCEPTED' + ACTIVE_LOGIN_SESSIONS_NOT_ENABLED: + $ref: '#/components/examples/ACTIVE_LOGIN_SESSIONS_NOT_ENABLED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + /identity/v2/manage/account/access_token: + get: + summary: Retrieve Impersonation Token + description: Retrieves an Impersonation Token for an Account using the UID. + operationId: GetImpersonationToken + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidQueryParam' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + responses: + '200': + description: Impersonation token retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/AccessToken' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + '401': + description: Unauthorized - The request requires User authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/sott: + get: + summary: Generate SOTT + description: Generates a Secure One Time Token (SOTT) with a given expiration time. + operationId: GenerateSott + tags: + - Accounts + parameters: + - name: timedifference + in: query + required: false + description: The time difference you would like to pass. If no value is passed, the default value is 10 minutes. + schema: + type: string + default: '10' + example: '10' + responses: + '200': + description: SOTT generated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/GenerateSottResponse' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + '401': + description: Unauthorized - The request requires application authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + '500': + description: Internal Server Error - The server encountered an unexpected error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + /identity/v2/manage/account/forgot/token: + post: + summary: Retrieve Forgot Password Token + description: Generates a Forgot Password Token for the User and optionally sends an Email with the token. + operationId: ForgotPasswordTokenAndEmail + tags: + - Multipurpose Tokens + parameters: + - $ref: '#/components/parameters/SendEmail' + - $ref: '#/components/parameters/ResetPasswordUrl' + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/UsernameModel' + - $ref: '#/components/schemas/EmailToValidateServerSide' + responses: + '200': + description: Forgot Password token generated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/ForgotPasswordTokenModel' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + USERNAME_REQUIRED_CORE: + $ref: '#/components/examples/USERNAME_REQUIRED_CORE' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + INVALID_REQUEST_BODY: + $ref: '#/components/examples/INVALID_REQUEST_BODY' + EMAILID_OR_USERNAME_REQUIRD: + $ref: '#/components/examples/EMAILID_OR_USERNAME_REQUIRD' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + SEND_EMAIL_INVALID_PARAMETER: + $ref: '#/components/examples/SEND_EMAIL_INVALID_PARAMETER' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + '401': + description: Unauthorized - The request requires User authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + RESET_PASSWORD_URL_INVALID: + $ref: '#/components/examples/RESET_PASSWORD_URL_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/vtoken: + get: + summary: Retrieve Email Verification Token + description: Retrieves an Email Verification Token for a specified Email. Optionally sends the verification Email to the User when sendemail is set to true. + operationId: GetVerificationToken + tags: + - Multipurpose Tokens + parameters: + - $ref: '#/components/parameters/Email' + - $ref: '#/components/parameters/VType' + - $ref: '#/components/parameters/ExpireIn' + - $ref: '#/components/parameters/SendEmail' + - $ref: '#/components/parameters/VerificationUrl' + - $ref: '#/components/parameters/EmailTemplate' + responses: + '200': + description: Verification token retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/VerificationLinkResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + VERIFICATION_TYPE_REQUIRED: + $ref: '#/components/examples/VERIFICATION_TYPE_REQUIRED' + VTYPE_INVALID: + $ref: '#/components/examples/VTYPE_INVALID' + EXPIRE_IN_INVALID_FORMAT: + $ref: '#/components/examples/EXPIRE_IN_INVALID_FORMAT' + SEND_EMAIL_INVALID_PARAMETER: + $ref: '#/components/examples/SEND_EMAIL_INVALID_PARAMETER' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAILID_VERIFICATION_DISABLE: + $ref: '#/components/examples/EMAILID_VERIFICATION_DISABLE' + USER_NOT_EXISTS: + $ref: '#/components/examples/USER_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + EMAIL_ALLREADY_VERIFIED_TOKEN: + $ref: '#/components/examples/EMAIL_ALLREADY_VERIFIED_TOKEN' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + EMAIL_SENDING_FAIL: + $ref: '#/components/examples/EMAIL_SENDING_FAIL' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/identities: + get: + summary: Retrieve Account by Email + description: Retrieves Account associated with a specified Email. + operationId: GetIdentities + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/Email' + - $ref: '#/components/parameters/Fields' + responses: + '200': + description: User Identities retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentitiesResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAIL_REQUIRED: + $ref: '#/components/examples/EMAIL_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + PHONE_NUMBER_LOGIN_ENABLED: + $ref: '#/components/examples/PHONE_NUMBER_LOGIN_ENABLED' + EMAIL_ID_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_ID_NOT_EXISTS' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/email: + delete: + summary: Delete Email + description: Removes an Email from an Account. + operationId: DeleteEmailFromAccount + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EmailModelManage' + responses: + '200': + description: Email successfully deleted from the Account. + content: + application/json: + schema: + $ref: '#/components/schemas/Identity' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + DELETE_BODY_INVALID: + $ref: '#/components/examples/DELETE_BODY_INVALID' + PARAMETER_NOT_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_FORMATTED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + ONE_EMAILID_IS_REQUIRED: + $ref: '#/components/examples/ONE_EMAILID_IS_REQUIRED' + EMAIL_ID_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_ID_NOT_EXISTS' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + put: + summary: Upsert Email + description: Adds or updates an Email associated with an Account using the UID. + operationId: UpsertEmailForAccount + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpsertEmailModel' + responses: + '200': + description: Email successfully upserted for the Account. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLogins' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + EMAIL_CAN_NOT_NULL: + $ref: '#/components/examples/EMAIL_CAN_NOT_NULL' + EMAIL_TYPE_AND_VALUE_CAN_NOT_NULL: + $ref: '#/components/examples/EMAIL_TYPE_AND_VALUE_CAN_NOT_NULL' + EMAIL_VALUE_CAN_NOT_NULL: + $ref: '#/components/examples/EMAIL_VALUE_CAN_NOT_NULL' + EMAIL_TYPE_CAN_NOT_NULL: + $ref: '#/components/examples/EMAIL_TYPE_CAN_NOT_NULL' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + CANNOT_ADD_EMAIL_ADDRESS: + $ref: '#/components/examples/CANNOT_ADD_EMAIL_ADDRESS' + EMAILID_ALREADY_REGISTERED: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/phoneid: + put: + summary: Update Phone + description: Updates the PhoneID associated with an Account using the UID. + operationId: UpdatePhoneNumber + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PhoneModel' + responses: + '200': + description: Phone number successfully updated for the Account. + content: + application/json: + schema: + $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLogins' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PHONE_NOT_BLANK: + $ref: '#/components/examples/PHONE_NOT_BLANK' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + PHONE_NO_ALREADY_REGISTERED: + $ref: '#/components/examples/PHONE_NO_ALREADY_REGISTERED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/invalidateemail: + put: + summary: Invalidate Email Verification + description: Invalidates the Email Verification status for an Account using the UID. + operationId: InvalidateEmailVerification + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/EmailTemplate' + - $ref: '#/components/parameters/VerificationUrl' + responses: + '200': + description: Email Verification status invalidated successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + CAN_NOT_ENFORCE_EMAIL_INVALIDATION: + $ref: '#/components/examples/CAN_NOT_ENFORCE_EMAIL_INVALIDATION' + EMAIL_ALREADY_UNVERIFIED: + $ref: '#/components/examples/EMAIL_ALREADY_UNVERIFIED' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + VERIFICATION_URL_IS_NOT_VALID: + $ref: '#/components/examples/VERIFICATION_URL_IS_NOT_VALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/invalidatephone: + put: + summary: Invalidate Phone verification + description: Resets the Phone verification status for an Account using the UID. + operationId: ResetPhoneVerification + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidPath' + - $ref: '#/components/parameters/XPreventWebhook' + - $ref: '#/components/parameters/PreventWebhook' + - $ref: '#/components/parameters/SmsTemplate' + - $ref: '#/components/parameters/IsVoiceOtp' + responses: + '200': + description: Phone verification status reset successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + CAN_NOT_ENFORCE_PHONE_INVALIDATION: + $ref: '#/components/examples/CAN_NOT_ENFORCE_PHONE_INVALIDATION' + PHONE_NUMBER_ALREADY_UNVERIFIED: + $ref: '#/components/examples/PHONE_NUMBER_ALREADY_UNVERIFIED' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS' + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + $ref: '#/components/examples/VOICE_SMS_CONFIGURATION_NOT_ENABLED' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/privacypolicy/history: + get: + summary: Retrieve Privacy Policy History + description: Retrieves the Privacy Policy acceptance history for an Account by UID. + operationId: GetPrivacyPolicyHistoryByUid + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidPath' + responses: + '200': + description: Privacy Policy History retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PrivacyPolicyHistoryResponse' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + '401': + description: Unauthorized - The request requires User authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/password: + get: + summary: Retrieve Password + description: Retrieves the Password details for an Account using the UID. + operationId: GetProfilePassword + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidPath' + responses: + '200': + description: Password details retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordResponse' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + put: + summary: Update Password + description: Sets or updates the Password for an Account using the UID. + operationId: SetProfilePassword + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidPath' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordModel' + responses: + '200': + description: Password successfully set for the Account. + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordResponse' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PASSWORD_REQUIRED: + $ref: '#/components/examples/PASSWORD_REQUIRED' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + SERVER_SIDE_VALIDATION_ERROR: + $ref: '#/components/examples/SERVER_SIDE_VALIDATION_ERROR' + '401': + description: Unauthorized - The request requires User authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WEAK_PASSWORD: + $ref: '#/components/examples/WEAK_PASSWORD' + PASSWORD_IN_HISTORY: + $ref: '#/components/examples/PASSWORD_IN_HISTORY' + BREACHED_PASSWORD: + $ref: '#/components/examples/BREACHED_PASSWORD' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/reauth/pin: + post: + summary: Verify PIN MFA Token + description: Validates and verifies the 'SecondFactorValidationToken' generated by the Step-Up Authenticate By PIN API. + operationId: ValidateSecondFactorTokenForPin + tags: + - Account Security + parameters: + - $ref: '#/components/parameters/UidPath' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventBasedSecondFactorToken' + responses: + '200': + description: Second factor token successfully validated for step-up by PIN + content: + application/json: + schema: + $ref: '#/components/schemas/IsValid' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + SECOND_FACTOR_VALIDATION_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_VALIDATION_TOKEN_REQUIRED' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + SECOND_FACTOR_VERIFICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/SECOND_FACTOR_VERIFICATION_TOKEN_NOT_VALID' + PIN_AUTH_NOT_ENABLED: + $ref: '#/components/examples/PIN_AUTH_NOT_ENABLED' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/reauth/password: + post: + summary: Verify Password MFA Token + description: Validates and verifies the 'SecondFactorValidationToken' generated by the Step-Up Authenticate By Password API. + operationId: ValidateSecondFactorTokenForPassword + tags: + - Account Security + parameters: + - $ref: '#/components/parameters/UidPath' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EventBasedSecondFactorToken' + responses: + '200': + description: Second factor token successfully validated for step-up by Password + content: + application/json: + schema: + $ref: '#/components/schemas/IsValid' + '400': + description: Bad Request - Invalid or missing parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID' + SECOND_FACTOR_VALIDATION_TOKEN_REQUIRED: + $ref: '#/components/examples/SECOND_FACTOR_VALIDATION_TOKEN_REQUIRED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: Forbidden - The client is not authorized to perform this action. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID' + ACCESS_TOKEN_INVALID_OR_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT' + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED' + SECOND_FACTOR_VERIFICATION_TOKEN_NOT_VALID: + $ref: '#/components/examples/SECOND_FACTOR_VERIFICATION_TOKEN_NOT_VALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/{uid}/consent/logs: + get: + summary: Retrieve Consent Logs + description: Retrieves Consent Management logs for the specified User. + operationId: GetConsentLogsByUid + tags: + - Accounts + parameters: + - $ref: '#/components/parameters/UidPath' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentLogsResponse' + '400': + description: 'Bad Request: The request was invalid or cannot be served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + '401': + description: 'Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_LOGS_NOT_AVAILABLE: + $ref: '#/components/examples/CONSENT_LOGS_NOT_AVAILABLE' + CONSENT_FORM_NOT_AVAILABLE: + $ref: '#/components/examples/CONSENT_FORM_NOT_AVAILABLE' + CONSENT_FORM_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_FORM_NOT_ENABLED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + REQUEST_EXPIRY_TIME_IS_INVALID: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_IS_INVALID' + IP_ACCESS_DENIED: + $ref: '#/components/examples/IP_ACCESS_DENIED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/2fa/totp: + delete: + tags: + - Account Security + summary: Reset TOTP + description: Resets MFA settings for the specified User. + operationId: MFAResetTotpByUid + parameters: + - $ref: '#/components/parameters/UidQueryParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + DELETE_BODY_INVALID: + $ref: '#/components/examples/DELETE_BODY_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /identity/v2/manage/account/2fa/sms: + delete: + tags: + - Account Security + summary: Reset SMS Authenticator + description: Resets MFA settings for the specified User. + operationId: MFAResetSMSAuthByUid + parameters: + - $ref: '#/components/parameters/UidQueryParam' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED' + API_SECRET_OR_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SECRET_OR_SIGNATURE_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED' + API_SIGNATURE_REQUIRED: + $ref: '#/components/examples/API_SIGNATURE_REQUIRED' + API_SIGNATURE_INVALID: + $ref: '#/components/examples/API_SIGNATURE_INVALID' + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_INVALID_FORMAT' + REQUEST_EXPIRY_TIME_REQUIRED: + $ref: '#/components/examples/REQUEST_EXPIRY_TIME_REQUIRED' + UID_REQUIRED: + $ref: '#/components/examples/UID_REQUIRED' + DELETE_BODY_INVALID: + $ref: '#/components/examples/DELETE_BODY_INVALID' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID' + SECRET_DOESNT_HAVE_ACCESS: + $ref: '#/components/examples/SECRET_DOESNT_HAVE_ACCESS' + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_ENABLED' + RAAS_PROFILE_NOT_EXISTS: + $ref: '#/components/examples/RAAS_PROFILE_NOT_EXISTS' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED_OLD: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED_OLD' + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED' + TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE' + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG: + $ref: '#/components/examples/TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + - Digest: [] + XRequestExpiresTime: [] + /api/v2/access_token/refresh: + get: + summary: Refresh Access Token + description: Refreshes the Access Token using a valid Refresh Token to extend session validity. The resulting token lifetime depends on the `expiresin` parameter and the User's registration profile (see the `expiresin` parameter). + operationId: NativeRefreshAccessToken + tags: + - Account Session + security: + - XLoginRadiusAPISecret: [] + - ApiSecret: [] + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/IsWeb' + - $ref: '#/components/parameters/ExpiresIn' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + GENERIC_REQUIRED: + $ref: '#/components/examples/GENERIC_REQUIRED' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND_NATIVE' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID_NATIVE' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID_NATIVE' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED_NATIVE' + REFRESH_TOKEN_INVALID: + $ref: '#/components/examples/REFRESH_TOKEN_INVALID_NATIVE' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT_NATIVE' + ENDPOINT_NOT_SUPPORTED_BY_CURRENT_PROVIDER: + $ref: '#/components/examples/ENDPOINT_NOT_SUPPORTED_BY_CURRENT_PROVIDER' + PROVIDER_SIDE_ERROR: + $ref: '#/components/examples/PROVIDER_SIDE_ERROR_NATIVE' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST_NATIVE' + /api/v2/access_token: + get: + summary: Retrieve Access Token + description: Translates the Request Token obtained during authentication into an Access Token for use with other API calls. + operationId: GetAccessToken + tags: + - Account Session + security: + - XLoginRadiusAPISecret: [] + - ApiSecret: [] + parameters: + - $ref: '#/components/parameters/Token' + responses: + '200': + description: 'Status Ok: The request was successful' + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenResponse' + '400': + description: 'Status Bad Request: The request was invalid or cannot be otherwise served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND_NATIVE' + '401': + description: 'Status Unauthorized: The request requires User authentication or the provided credentials are invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID_NATIVE' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + REQUEST_TOKEN_NOT_VALID: + $ref: '#/components/examples/REQUEST_TOKEN_NOT_VALID_NATIVE' + REQUEST_TOKEN_EXPIRED: + $ref: '#/components/examples/REQUEST_TOKEN_EXPIRED' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID_NATIVE' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED_NATIVE' + /api/v2/access_token/validate: + get: + summary: Validate Access Token + description: Validates the provided Access Token to ensure its authenticity and validity. + operationId: ValidateAccessToken + tags: + - Account Session + security: + - XLoginRadiusAPISecret: [] + XLoginRadiusAPIKey: [] + - ApiSecret: [] + APIKey: [] + parameters: + - $ref: '#/components/parameters/AccessTokenRequired' + responses: + '200': + description: 'Status Ok: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenResponse' + '400': + description: 'Status Bad Request: The request was invalid or cannot be served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED_NATIVE' + GENERIC_REQUIRED: + $ref: '#/components/examples/GENERIC_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED_NATIVE' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED_NATIVE' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED_NATIVE' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND_NATIVE' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID_NATIVE' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID_NATIVE' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID_NATIVE' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED_NATIVE' + /api/v2/access_token/invalidate: + get: + summary: Invalidate Access Token + description: Invalidates the specified Access Token, terminating its validity. + operationId: NativeInvalidateAccessToken + tags: + - Account Session + parameters: + - $ref: '#/components/parameters/AccessToken' + - $ref: '#/components/parameters/PreventRefresh' + security: + - XLoginRadiusAPISecret: [] + XLoginRadiusAPIKey: [] + - ApiSecret: [] + APIKey: [] + responses: + '200': + description: 'Status Ok: The request was successful' + content: + application/json: + schema: + $ref: '#/components/schemas/IsPostedResponse' + '400': + description: 'Status Bad Request: The request was invalid or cannot be served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED_NATIVE' + GENERIC_REQUIRED: + $ref: '#/components/examples/GENERIC_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED_NATIVE' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED_NATIVE' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED_NATIVE' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND_NATIVE' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID_NATIVE' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID_NATIVE' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID_NATIVE' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED_NATIVE' + /api/v2/access_token/activesession: + get: + summary: Retrieve active session + description: Retrieves details of the current active session for the authenticated User. + operationId: GetActiveSession + tags: + - Account Session + parameters: + - $ref: '#/components/parameters/TokenNotRequired' + - $ref: '#/components/parameters/ProfileId' + - $ref: '#/components/parameters/AccountId' + security: + - XLoginRadiusAPISecret: [] + XLoginRadiusAPIKey: [] + - ApiSecret: [] + APIKey: [] + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ActiveSessionResponse' + '400': + description: 'Status Bad Request: The request was invalid or cannot be served.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED_NATIVE' + GENERIC_REQUIRED: + $ref: '#/components/examples/GENERIC_REQUIRED' + API_SECRET_REQUIRED: + $ref: '#/components/examples/API_SECRET_REQUIRED_NATIVE' + API_SECRET_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_SECRET_NOT_WELL_FORMATTED_NATIVE' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED_NATIVE' + OAUTH_TOKEN_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND_NATIVE' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID_NATIVE' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID_NATIVE' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID_NATIVE' + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED_NATIVE' + PROFILE_ID_MISSING: + $ref: '#/components/examples/PROFILE_ID_MISSING' + USER_ID_NOT_VALID: + $ref: '#/components/examples/USER_ID_NOT_VALID_NATIVE' + ACCOUNT_ID_REQUIRED: + $ref: '#/components/examples/ACCOUNT_ID_REQUIRED' + ACCOUNT_ID_IS_INVALID: + $ref: '#/components/examples/ACCOUNT_ID_IS_INVALID_NATIVE' + ACTIVE_TOKEN_NOT_EXISTS: + $ref: '#/components/examples/ACTIVE_TOKEN_NOT_EXISTS' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED_OIDC' + /api/v2/access_token/{nativeProvider}: + get: + summary: Login via social provider + description: Retrieves an Access Token for authentication through a native social provider. + operationId: NativeProviderAccessToken + tags: + - Login + parameters: + - $ref: '#/components/parameters/NativeProvider' + - $ref: '#/components/parameters/SocialAppName' + - $ref: '#/components/parameters/RedirectUriOptional' + - $ref: '#/components/parameters/RefreshToken' + - $ref: '#/components/parameters/ProviderName' + - $ref: '#/components/parameters/Code' + - $ref: '#/components/parameters/TwitterToken' + - $ref: '#/components/parameters/TwitterSecret' + - $ref: '#/components/parameters/GoogleAuthCode' + - $ref: '#/components/parameters/ClientId' + - $ref: '#/components/parameters/GoogleAccessToken' + - $ref: '#/components/parameters/IdToken' + - $ref: '#/components/parameters/FourSquareAccessToken' + - $ref: '#/components/parameters/LinkedInAccessToken' + - $ref: '#/components/parameters/FacebookAccessToken' + - $ref: '#/components/parameters/InvitationToken' + responses: + '200': + description: 'Status OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + GENERIC_REQUIRED: + $ref: '#/components/examples/GENERIC_REQUIRED' + REFRESH_TOKEN_REQUIRED: + $ref: '#/components/examples/REFRESH_TOKEN_REQUIRED' + JWTAPP_PROVIDER_REQUIRED: + $ref: '#/components/examples/JWTAPP_PROVIDER_REQUIRED' + PROVIDER_NAME_REQUIRED: + $ref: '#/components/examples/PROVIDER_NAME_REQUIRED' + ACCESS_TOKEN_REQUIRED: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED' + SP_JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SP_JWT_CONFIG_NOT_FOUND' + INVALID_PROVIDER_IN_ORGANIZATION: + $ref: '#/components/examples/INVALID_PROVIDER_IN_ORGANIZATION' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED_PROVIDER' + API_KEY_NOT_WELL_FORMATTED: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED_NATIVE' + '401': + description: 'Status Unauthorized: The request requires User authentication.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_SECRET_NOT_VALID: + $ref: '#/components/examples/API_SECRET_NOT_VALID_NATIVE' + '403': + description: 'Status Forbidden: The server understood the request, but refuses to authorize it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID_NATIVE' + PROVIDER_NAME_NOT_VALID: + $ref: '#/components/examples/PROVIDER_NAME_NOT_VALID' + SOMETHING_GOING_WRONG: + $ref: '#/components/examples/SOMETHING_GOING_WRONG' + TRIAL_PLAN_USER_LIMIT_REACHED: + $ref: '#/components/examples/TRIAL_PLAN_USER_LIMIT_REACHED' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED' + PROVIDER_NOT_CONFIGURED: + $ref: '#/components/examples/PROVIDER_NOT_CONFIGURED' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED' + PROVIDER_NOT_SUPPORTED: + $ref: '#/components/examples/PROVIDER_NOT_SUPPORTED' + PROVIDER_NOT_VALID: + $ref: '#/components/examples/PROVIDER_NOT_VALID' + PROVIDER_SIDE_ERROR: + $ref: '#/components/examples/PROVIDER_SIDE_ERROR_NATIVE' + CLIENT_GUID_MUST_BE_UNIQUE: + $ref: '#/components/examples/CLIENT_GUID_MUST_BE_UNIQUE' + EMAIL_DOMAIN_NOT_ALLOWED_IN_ORGANIZATION: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_IN_ORGANIZATION' + AUTOLOOKUP_DOMAIN_NOT_MATCH: + $ref: '#/components/examples/AUTOLOOKUP_DOMAIN_NOT_MATCH' + '500': + description: 'Status Internal Server Error: The server encountered an unexpected condition that prevented it from fulfilling the request.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponseNative' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - APIKey: [] + ApiSecret: [] + - XLoginRadiusAPISecret: [] + XLoginRadiusAPIKey: [] + /v2/manage/invitations/{invitationid}: + get: + summary: Retrieve invitation by ID + operationId: getInvitationByInvitationId + description: Retrieves invitation details by invitation ID. + tags: + - User + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/InvitationId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Invitation' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_ID_REQUIRED: + $ref: '#/components/examples/INVITATION_ID_REQUIRED' + INVALID_INVITATION_ID: + $ref: '#/components/examples/INVALID_INVITATION_ID' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + put: + summary: Update invitation by ID + operationId: updateInvitationByInvitationId + description: Updates invitation details by invitation ID. + tags: + - Organization Invitations + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/InvitationId' + - $ref: '#/components/parameters/InvitationUrl' + requestBody: + required: true + content: + application/json: + schema: + type: object + properties: + RolesIds: + type: array + description: The list of Role IDs associated with the invitation. Each Role ID is typically in the format *role_*, where ** is a string of alphanumeric characters. + items: + type: string + example: + - role_123456 + - role_78901 + ResendEmail: + type: boolean + description: Indicates whether to resend the invitation Email. If set to true, the invitation Email will be resent to the User. + example: true + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Invitation' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_ID_INVALID: + $ref: '#/components/examples/INVITATION_ID_REQUIRED' + INVALID_JSON_BODY: + $ref: '#/components/examples/INVALID_JSON_BODY' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED_PARTNER' + INVITATION_ID_REQUIRED: + $ref: '#/components/examples/INVITATION_ID_REQUIRED' + ROLE_OR_RESEND_EMAIL_REQUIRED: + $ref: '#/components/examples/ROLE_OR_RESEND_EMAIL_REQUIRED' + INVALID_INVITATION_URL: + $ref: '#/components/examples/INVALID_INVITATION_URL' + INVITATION_ACCEPTED: + $ref: '#/components/examples/INVITATION_ACCEPTED' + INVITATION_EXPIRED: + $ref: '#/components/examples/INVITATION_EXPIRED' + INVITATION_REVOKED: + $ref: '#/components/examples/INVITATION_REVOKED' + INVALID_ROLE_ID: + $ref: '#/components/examples/INVALID_ROLE_ID' + INVALID_INVITER_UID: + $ref: '#/components/examples/INVALID_INVITER_UID' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + ROLE_NOT_EXIST: + $ref: '#/components/examples/ROLE_NOT_EXIST' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + delete: + summary: Delete invitation by ID + operationId: deleteInvitationByInvitationId + description: Deletes or revokes an invitation by invitation ID. + tags: + - Organization Invitations + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/InvitationId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Invitation' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_ID_INVALID: + $ref: '#/components/examples/INVITATION_ID_REQUIRED' + Invitation_ID_REQUIRED: + $ref: '#/components/examples/INVITATION_ID_REQUIRED' + INVITATION_ACCEPTED: + $ref: '#/components/examples/INVITATION_ACCEPTED' + INVITATION_EXPIRED: + $ref: '#/components/examples/INVITATION_EXPIRED' + INVITATION_REVOKED: + $ref: '#/components/examples/INVITATION_REVOKED' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/invitations: + get: + summary: List invitations by Organization ID + operationId: getInvitationsByOrgId + description: Lists all invitations by Organization ID. + tags: + - Organization Invitations + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - name: orgid + in: query + required: true + schema: + type: string + description: The ID of the Organization to retrieve invitations for. + example: org_123456789 + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/Invitation' + TotalCount: + type: integer + example: 100 + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_ID_REQUIRED: + $ref: '#/components/examples/ORGANIZATION_ID_REQUIRED' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + post: + summary: Send invitation + operationId: sendInvitation + description: Sends a new invitation. + tags: + - Organization Invitations + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/InvitationUrl' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SendInvitation' + example: + email: user@example.com + roleIds: + - role_12345 + - role_67890 + orgId: org_123456789 + inviterUid: '123456789' + responses: + '200': + description: Invitation sent successfully + content: + application/json: + schema: + $ref: '#/components/schemas/Invitation' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + INVALID_JSON_BODY: + $ref: '#/components/examples/INVALID_JSON_BODY' + SEND_INVITATION_REQUIRED: + $ref: '#/components/examples/SEND_INVITATION_REQUIRED' + INVALID_INVITATION_URL: + $ref: '#/components/examples/INVALID_INVITATION_URL' + INVALID_EMAIL: + $ref: '#/components/examples/INVALID_EMAIL' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + INVALID_ROLE_ID: + $ref: '#/components/examples/INVALID_ROLE_ID' + INVALID_INVITER_UID: + $ref: '#/components/examples/INVALID_INVITER_UID' + INVITATION_ALREADY_ACTIVE: + $ref: '#/components/examples/INVITATION_ALREADY_ACTIVE' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + ROLE_NOT_EXIST: + $ref: '#/components/examples/ROLE_NOT_EXIST' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_EXISTS_IN_ORG: + $ref: '#/components/examples/USER_EXISTS_IN_ORG' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/invitations/{invitationid}/resend: + post: + summary: Resend invitation by ID + operationId: resendInvitationByInvitationId + description: Resends an invitation by invitation ID. + tags: + - Organization Invitations + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/InvitationId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ResendInvitation' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_ID_REQUIRED: + $ref: '#/components/examples/INVITATION_ID_REQUIRED' + INVALID_INVITATION_ID: + $ref: '#/components/examples/INVALID_INVITATION_ID' + INVITATION_ACCEPTED: + $ref: '#/components/examples/INVITATION_ACCEPTED' + INVITATION_EXPIRED: + $ref: '#/components/examples/INVITATION_EXPIRED' + INVITATION_REVOKED: + $ref: '#/components/examples/INVITATION_REVOKED' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVITATION_NOT_FOUND: + $ref: '#/components/examples/INVITATION_NOT_FOUND' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/organizations: + get: + description: Retrieves a list of all Organizations in the Tenant. + operationId: GetAllOrganizations + responses: + '200': + content: + application/json: + schema: + type: object + properties: + Data: + items: + $ref: '#/components/schemas/OrganizationsResponse' + type: array + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: List Organizations + tags: + - Organization + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + post: + description: Creates a new Organization in the Tenant. + operationId: CreateOrganization + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/OrganizationBase' + - type: object + required: + - Name + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationsResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + DOMAIN_DUPLICATE: + $ref: '#/components/examples/DOMAIN_DUPLICATE' + DOMAIN_NAME_INVALID: + $ref: '#/components/examples/DOMAIN_NAME_INVALID' + DOMAIN_NO_VALID_MX_RECORD: + $ref: '#/components/examples/DOMAIN_NO_VALID_MX_RECORD' + DOMAIN_SPAM_OR_GENERIC_DOMAIN: + $ref: '#/components/examples/DOMAIN_SPAM_OR_GENERIC_DOMAIN' + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + NAME_REQUIRED: + $ref: '#/components/examples/NAME_REQUIRED' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + TRIAL_PLAN_ORG_LIMIT_REACHED: + $ref: '#/components/examples/TRIAL_PLAN_ORG_LIMIT_REACHED' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '409': + content: + application/json: + examples: + ORGANIZATION_ALREADY_EXIST: + $ref: '#/components/examples/ORGANIZATION_ALREADY_EXIST' + ORGANIZATION_DOMAIN_ALREADY_EXIST: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_ALREADY_EXIST' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Create Organization + tags: + - Organization + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + /v2/manage/organizations/{orgId}: + delete: + description: Deletes an Organization by its ID. + operationId: DeleteOrganization + parameters: + - $ref: '#/components/parameters/orgId' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Delete Organization + tags: + - Organization + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + get: + description: Retrieves details of a specific Organization by its ID. + operationId: GetOrganization + parameters: + - $ref: '#/components/parameters/orgId' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationsResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Retrieve Organization details + tags: + - Organization + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + put: + description: Updates an Organization by its ID. Supports updating org fields, policies, and status in a single request. + operationId: UpdateOrganization + parameters: + - $ref: '#/components/parameters/orgId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationUpdateRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationsResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + DOMAIN_DUPLICATE: + $ref: '#/components/examples/DOMAIN_DUPLICATE' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED_PARTNER' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + ORGANIZATION_MEMBER_ROLE_NOT_VALID: + $ref: '#/components/examples/ORGANIZATION_MEMBER_ROLE_NOT_VALID' + STATUS_UPDATE_INVALID: + $ref: '#/components/examples/STATUS_UPDATE_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + ORGANIZATION_DOMAIN_CAN_NOT_DELETED: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_CAN_NOT_DELETED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + ORGANIZATION_JIT_POLICY_NOT_ALLOWED: + $ref: '#/components/examples/ORGANIZATION_JIT_POLICY_NOT_ALLOWED' + ORGANIZATION_MFA_ENFORCEMENT_NOT_ALLOWED: + $ref: '#/components/examples/ORGANIZATION_MFA_ENFORCEMENT_NOT_ALLOWED' + ORGANIZATION_MFA_NONE_ENFORCEMENT_NOT_ALLOWED: + $ref: '#/components/examples/ORGANIZATION_MFA_NONE_ENFORCEMENT_NOT_ALLOWED' + ORGANIZATION_MFA_ENFORCEMENT_ONLY_FORCE_ALLOWED: + $ref: '#/components/examples/ORGANIZATION_MFA_ENFORCEMENT_ONLY_FORCE_ALLOWED' + ORGANIZATION_MFA_FORCE_AUTHENTICATORS_DISABLED: + $ref: '#/components/examples/ORGANIZATION_MFA_FORCE_AUTHENTICATORS_DISABLED' + ORGANIZATION_ENABLE_MFA_ENFORCEMENT_NOT_ALLOWED: + $ref: '#/components/examples/ORGANIZATION_ENABLE_MFA_ENFORCEMENT_NOT_ALLOWED' + ORGANIZATION_DISABLE_MFA_ENFORCEMENT_NOT_ALLOWED: + $ref: '#/components/examples/ORGANIZATION_DISABLE_MFA_ENFORCEMENT_NOT_ALLOWED' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '409': + content: + application/json: + examples: + ORGANIZATION_ALREADY_EXIST: + $ref: '#/components/examples/ORGANIZATION_ALREADY_EXIST' + ORGANIZATION_DOMAIN_ALREADY_EXIST: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_ALREADY_EXIST' + CONNECTION_DOMAIN_ALREADY_EXIST: + $ref: '#/components/examples/CONNECTION_DOMAIN_ALREADY_EXIST' + STATUS_UPDATED_ALREADY: + $ref: '#/components/examples/STATUS_UPDATED_ALREADY' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Update Organization + tags: + - Organization + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + /v2/manage/organizations/{orgId}/connections: + get: + description: Lists all Identity Provider connections for an Organization. + operationId: GetAllOrganizationConnections + parameters: + - $ref: '#/components/parameters/orgId' + responses: + '200': + content: + application/json: + schema: + type: object + properties: + Data: + items: + $ref: '#/components/schemas/ConnectionResponse' + type: array + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: List Organization connections + tags: + - Organization Connections + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + post: + description: Creates a new Identity Provider connection for an Organization. + operationId: CreateOrganizationConnection + parameters: + - $ref: '#/components/parameters/orgId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationConnectionCreateRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + CONNECTION_TYPE_INVALID: + $ref: '#/components/examples/CONNECTION_TYPE_INVALID' + CONNECTION_TYPE_REQUIRED: + $ref: '#/components/examples/CONNECTION_TYPE_REQUIRED' + CUSTOM_MAPPING_INVALID: + $ref: '#/components/examples/CUSTOM_MAPPING_INVALID' + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + NAME_INVALID: + $ref: '#/components/examples/NAME_INVALID' + NAME_REQUIRED: + $ref: '#/components/examples/NAME_REQUIRED' + OIDC_IDP_ISSUER_INVALID: + $ref: '#/components/examples/OIDC_IDP_ISSUER_INVALID' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + CONN_SAML_IDP_CERTIFICATE_INVALID: + $ref: '#/components/examples/CONN_SAML_IDP_CERTIFICATE_INVALID' + SAML_METADATA_ENDPOINT_INVALID: + $ref: '#/components/examples/SAML_METADATA_ENDPOINT_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + ORGANIZATION_DOMAIN_NOT_VERIFIED: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_NOT_VERIFIED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_DOMAIN_NOT_EXIST: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_NOT_EXIST' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '409': + content: + application/json: + examples: + CONNECTION_ALREADY_EXIST: + $ref: '#/components/examples/CONNECTION_ALREADY_EXIST' + CONNECTION_DOMAIN_ALREADY_EXIST: + $ref: '#/components/examples/CONNECTION_DOMAIN_ALREADY_EXIST' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Create Organization connection + tags: + - Organization Connections + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + /v2/manage/organizations/{orgId}/connections/{connId}: + delete: + description: Deletes an Identity Provider connection from an Organization. + operationId: DeleteOrganizationConnection + parameters: + - $ref: '#/components/parameters/orgId' + - $ref: '#/components/parameters/connId' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + CONNECTION_ID_INVALID: + $ref: '#/components/examples/CONNECTION_ID_INVALID' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED_PARTNER' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + STATUS_UPDATE_INVALID: + $ref: '#/components/examples/STATUS_UPDATE_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '409': + content: + application/json: + examples: + STATUS_UPDATED_ALREADY: + $ref: '#/components/examples/STATUS_UPDATED_ALREADY' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Delete Organization connection + tags: + - Organization Connections + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + get: + description: Retrieves details of a specific Identity Provider connection. + operationId: GetOrganizationConnection + parameters: + - $ref: '#/components/parameters/orgId' + - $ref: '#/components/parameters/connId' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + CONNECTION_ID_INVALID: + $ref: '#/components/examples/CONNECTION_ID_INVALID' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Retrieve Organization connection + tags: + - Organization Connections + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + put: + description: Updates the configuration of an Identity Provider connection. + operationId: UpdateOrganizationConnection + parameters: + - $ref: '#/components/parameters/orgId' + - $ref: '#/components/parameters/connId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationConnectionRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + CONNECTION_ID_INVALID: + $ref: '#/components/examples/CONNECTION_ID_INVALID' + CUSTOM_MAPPING_INVALID: + $ref: '#/components/examples/CUSTOM_MAPPING_INVALID' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED_PARTNER' + NAME_INVALID: + $ref: '#/components/examples/NAME_INVALID' + OIDC_IDP_ISSUER_INVALID: + $ref: '#/components/examples/OIDC_IDP_ISSUER_INVALID' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + CONN_SAML_IDP_CERTIFICATE_INVALID: + $ref: '#/components/examples/CONN_SAML_IDP_CERTIFICATE_INVALID' + SAML_METADATA_ENDPOINT_INVALID: + $ref: '#/components/examples/SAML_METADATA_ENDPOINT_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + ORGANIZATION_DOMAIN_NOT_VERIFIED: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_NOT_VERIFIED' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_DOMAIN_NOT_EXIST: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_NOT_EXIST' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '409': + content: + application/json: + examples: + CONNECTION_ALREADY_EXIST: + $ref: '#/components/examples/CONNECTION_ALREADY_EXIST' + CONNECTION_DOMAIN_ALREADY_EXIST: + $ref: '#/components/examples/CONNECTION_DOMAIN_ALREADY_EXIST' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Update Organization connection + tags: + - Organization Connections + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + /v2/manage/organizations/{orgId}/connections/{connId}/grouproles: + get: + description: Lists all group-to-role mappings for an Identity Provider connection. + operationId: GetAllConnectionGroupRoles + parameters: + - $ref: '#/components/parameters/orgId' + - $ref: '#/components/parameters/connId' + responses: + '200': + content: + application/json: + schema: + type: object + properties: + Data: + items: + $ref: '#/components/schemas/ConnectionGroupRoleResponse' + type: array + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + CONNECTION_ID_INVALID: + $ref: '#/components/examples/CONNECTION_ID_INVALID' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: List Organization connection group Roles + tags: + - Organization Connection Group Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + post: + description: Creates a new group-to-role mapping for an Identity Provider connection. + operationId: CreateConnectionGroupRole + parameters: + - $ref: '#/components/parameters/connId' + - $ref: '#/components/parameters/orgId' + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/ConnectionGroupRoleRequest' + - type: object + required: + - Name + - GroupId + - RoleId + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionGroupRoleResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + CONNECTION_ID_INVALID: + $ref: '#/components/examples/CONNECTION_ID_INVALID' + GROUP_ROLE_GROUP_ID_REQUIRED: + $ref: '#/components/examples/GROUP_ROLE_GROUP_ID_REQUIRED' + GROUP_ROLE_ROLE_ID_INVALID: + $ref: '#/components/examples/GROUP_ROLE_ROLE_ID_INVALID' + GROUP_ROLE_ROLE_ID_REQUIRED: + $ref: '#/components/examples/GROUP_ROLE_ROLE_ID_REQUIRED' + INVALID_ROLE_ID: + $ref: '#/components/examples/INVALID_ROLE_ID' + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + NAME_INVALID: + $ref: '#/components/examples/NAME_INVALID' + NAME_REQUIRED: + $ref: '#/components/examples/NAME_REQUIRED' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '409': + content: + application/json: + examples: + GROUP_ROLE_NAME_ALREADY_EXIST: + $ref: '#/components/examples/GROUP_ROLE_NAME_ALREADY_EXIST' + GROUP_ROLE_GROUP_ID_ALREADY_EXIST: + $ref: '#/components/examples/GROUP_ROLE_GROUP_ID_ALREADY_EXIST' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Create Organization connection group Role + tags: + - Organization Connection Group Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + /v2/manage/organizations/{orgId}/connections/{connId}/grouproles/{groupRoleId}: + delete: + description: Deletes a specific group-to-role mapping. + operationId: DeleteConnectionGroupRole + parameters: + - $ref: '#/components/parameters/orgId' + - $ref: '#/components/parameters/connId' + - $ref: '#/components/parameters/groupRoleId' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + CONNECTION_ID_INVALID: + $ref: '#/components/examples/CONNECTION_ID_INVALID' + GROUP_ROLE_ID_INVALID: + $ref: '#/components/examples/GROUP_ROLE_ID_INVALID' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + GROUP_ROLE_NOT_EXIST: + $ref: '#/components/examples/GROUP_ROLE_NOT_EXIST' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '409': + content: + application/json: + examples: + GROUP_ROLE_NAME_ALREADY_EXIST: + $ref: '#/components/examples/GROUP_ROLE_NAME_ALREADY_EXIST' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Delete Organization connection group Role + tags: + - Organization Connection Group Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + put: + description: Updates a specific group-to-role mapping. + operationId: UpdateConnectionGroupRole + parameters: + - $ref: '#/components/parameters/connId' + - $ref: '#/components/parameters/groupRoleId' + - $ref: '#/components/parameters/orgId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionGroupRoleRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionGroupRoleResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + CONNECTION_ID_INVALID: + $ref: '#/components/examples/CONNECTION_ID_INVALID' + GROUP_ROLE_GROUP_ID_REQUIRED: + $ref: '#/components/examples/GROUP_ROLE_GROUP_ID_REQUIRED' + GROUP_ROLE_ID_INVALID: + $ref: '#/components/examples/GROUP_ROLE_ID_INVALID' + GROUP_ROLE_ROLE_ID_INVALID: + $ref: '#/components/examples/GROUP_ROLE_ROLE_ID_INVALID' + GROUP_ROLE_ROLE_ID_REQUIRED: + $ref: '#/components/examples/GROUP_ROLE_ROLE_ID_REQUIRED' + INVALID_ROLE_ID: + $ref: '#/components/examples/INVALID_ROLE_ID' + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + NAME_INVALID: + $ref: '#/components/examples/NAME_INVALID' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + GROUP_ROLE_NOT_EXIST: + $ref: '#/components/examples/GROUP_ROLE_NOT_EXIST' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '409': + content: + application/json: + examples: + GROUP_ROLE_NAME_ALREADY_EXIST: + $ref: '#/components/examples/GROUP_ROLE_NAME_ALREADY_EXIST' + GROUP_ROLE_GROUP_ID_ALREADY_EXIST: + $ref: '#/components/examples/GROUP_ROLE_GROUP_ID_ALREADY_EXIST' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Update Organization connection group Role + tags: + - Organization Connection Group Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + /v2/manage/organizations/{orgId}/connections/{connId}/status: + put: + description: Updates the active status of an Identity Provider connection. + operationId: UpdateConnectionStatus + parameters: + - $ref: '#/components/parameters/orgId' + - $ref: '#/components/parameters/connId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionStatusRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectionStatusResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Update Organization connection status + tags: + - Organization Connections + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + /v2/manage/organizations/{orgId}/domains: + get: + description: Lists all domains associated with an Organization. + operationId: GetAllOrganizationDomains + parameters: + - $ref: '#/components/parameters/orgId' + responses: + '200': + content: + application/json: + schema: + type: object + properties: + Data: + items: + $ref: '#/components/schemas/OrganizationsDomainsResponse' + type: array + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: List Organization domains + tags: + - Organization Domains + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + post: + description: Adds a new domain to an Organization. + operationId: AddOrganizationDomain + parameters: + - $ref: '#/components/parameters/orgId' + requestBody: + content: + application/json: + schema: + type: object + properties: + DomainName: + type: string + example: example.com + required: + - DomainName + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationsDomainsResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + DOMAIN_NO_VALID_MX_RECORD: + $ref: '#/components/examples/DOMAIN_NO_VALID_MX_RECORD' + DOMAIN_SPAM_OR_GENERIC_DOMAIN: + $ref: '#/components/examples/DOMAIN_SPAM_OR_GENERIC_DOMAIN' + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + ORGANIZATION_DOMAIN_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_ID_INVALID' + ORGANIZATION_DOMAIN_NAME_INVALID: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_NAME_INVALID' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Add Organization domain + tags: + - Organization Domains + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + /v2/manage/organizations/{orgId}/domains/{domainId}: + delete: + description: Deletes a domain from an Organization. + operationId: DeleteOrganizationDomain + parameters: + - $ref: '#/components/parameters/orgId' + - $ref: '#/components/parameters/domainId' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + ORGANIZATION_DOMAIN_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_ID_INVALID' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + ORGANIZATION_DOMAIN_CAN_NOT_DELETED: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_CAN_NOT_DELETED' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Delete Organization domain + tags: + - Organization Domains + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + get: + description: Retrieves details of a specific Organization domain. + operationId: GetOrganizationDomain + parameters: + - $ref: '#/components/parameters/orgId' + - $ref: '#/components/parameters/domainId' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationsDomainsResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Retrieve Organization domain + tags: + - Organization Domains + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + post: + description: Verifies the ownership of an Organization domain. + operationId: VerifyOrganizationDomain + parameters: + - $ref: '#/components/parameters/domainId' + - $ref: '#/components/parameters/orgId' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OrganizationsDomainsResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + DOMAIN_TXT_RECORD_FAILED: + $ref: '#/components/examples/DOMAIN_TXT_RECORD_FAILED' + ORGANIZATION_DOMAIN_ALREADY_VERIFY: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_ALREADY_VERIFY' + ORGANIZATION_DOMAIN_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_DOMAIN_ID_INVALID' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + content: + application/json: + examples: + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Internal Server Error: The server encountered an unexpected error.' + summary: Verify Organization domain + tags: + - Organization Domains + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + /v2/manage/permissions: + get: + summary: List Permissions + operationId: Permissions + description: Retrieves a list of all Permissions. + tags: + - Permissions + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/Permissions' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + post: + summary: Create Permission + operationId: AddPermission + description: Adds a new Permission. + tags: + - Permissions + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionsPostRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Permissions' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + INVALID_OBJECT_ID: + $ref: '#/components/examples/INVALID_ID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DUPLICATE_PERMISSION_NAME: + $ref: '#/components/examples/DUPLICATE_PERMISSION_NAME' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/permissions/{id}: + get: + summary: Retrieve Permission by ID + operationId: GetPermissionById + description: Retrieves a Permission by its ID. + tags: + - Permissions + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/permissionId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Permissions' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PERMISSION_ID_REQUIRED: + $ref: '#/components/examples/PERMISSION_ID_REQUIRED' + PERMISSION_ID_INVALID: + $ref: '#/components/examples/PERMISSION_ID_INVALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + put: + summary: Update Permission + operationId: UpdateTenantPermission + description: 'Updates a specific Permission. Note: The Name field cannot be modified for non-B2B apps. If a different Name value is provided, the API will return an error.' + tags: + - Permissions + parameters: + - $ref: '#/components/parameters/permissionId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PermissionPutRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Permissions' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED_PARTNER' + PERMISSION_ID_REQUIRED: + $ref: '#/components/examples/PERMISSION_ID_REQUIRED' + PERMISSION_ID_INVALID: + $ref: '#/components/examples/PERMISSION_ID_INVALID' + PARAMETER_NOT_WELL_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + NAME_NOT_ALLOWED_TO_UPDATE: + $ref: '#/components/examples/NAME_NOT_ALLOWED_TO_UPDATE' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DUPLICATE_PERMISSION_NAME: + $ref: '#/components/examples/DUPLICATE_PERMISSION_NAME' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + delete: + summary: Delete Permission + operationId: DeleteTenantPermission + description: Deletes a specific Permission. + tags: + - Permissions + parameters: + - $ref: '#/components/parameters/permissionId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PERMISSION_ID_REQUIRED: + $ref: '#/components/examples/PERMISSION_ID_REQUIRED' + PERMISSION_ID_INVALID: + $ref: '#/components/examples/PERMISSION_ID_INVALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/roles: + get: + description: Lists all Roles within the Tenant. + operationId: GetAllTenantRoles + summary: List Tenant Roles + tags: + - Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/TenantRole' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + post: + description: Creates a Role within the Tenant. + operationId: CreateTenantRole + summary: Create Tenant Role + tags: + - Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RolePostRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/TenantRole' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + PERMISSION_ID_INVALID: + $ref: '#/components/examples/PERMISSION_ID_INVALID' + INVALID_BODY_JSON: + $ref: '#/components/examples/INVALID_BODY_JSON' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DUPLICATE_ROLE_NAME: + $ref: '#/components/examples/DUPLICATE_ROLE_NAME' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/roles/{id}: + get: + description: Retrieves details of a Role by its ID. + operationId: GetRoleById + summary: Retrieve Role by ID + tags: + - Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/roleId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_ID_REQUIRED: + $ref: '#/components/examples/ROLE_ID_REQUIRED' + INVALID_ROLE_ID: + $ref: '#/components/examples/INVALID_ROLE_ID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The requested resource could not be found.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + put: + description: Updates a Role by its ID. + operationId: UpdateRole + summary: Update Role + tags: + - Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/roleId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RolesPutRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED_PARTNER' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + PERMISSION_ID_INVALID: + $ref: '#/components/examples/PERMISSION_ID_INVALID' + ROLE_ID_REQUIRED: + $ref: '#/components/examples/ROLE_ID_REQUIRED' + INVALID_BODY_JSON: + $ref: '#/components/examples/INVALID_BODY_JSON' + INVALID_ROLE_ID: + $ref: '#/components/examples/INVALID_ROLE_ID' + NAME_NOT_ALLOWED_TO_UPDATE: + $ref: '#/components/examples/NAME_NOT_ALLOWED_TO_UPDATE' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + '404': + description: 'Not Found: The requested resource could not be found.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DUPLICATE_ROLE_NAME: + $ref: '#/components/examples/DUPLICATE_ROLE_NAME' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + delete: + description: Deletes a Role by its ID. + operationId: DeleteTenantRole + summary: Delete Role + tags: + - Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/roleId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_ID_REQUIRED: + $ref: '#/components/examples/ROLE_ID_REQUIRED' + INVALID_ROLE_ID: + $ref: '#/components/examples/INVALID_ROLE_ID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DEFAULT_ROLE_CANNOT_BE_DELETED: + $ref: '#/components/examples/DEFAULT_ROLE_CANNOT_BE_DELETED' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + '404': + description: 'Not Found: The requested resource could not be found.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_DOES_NOT_EXISTS: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_PARTNER' + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/roles/{name}/name: + get: + summary: Retrieve Role by name + description: Retrieves details of a Role by its name. + operationId: RoleByName + tags: + - Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - name: name + in: path + description: Role Name + required: true + schema: + type: string + example: Admin + - name: orgid + in: query + description: Organization ID + required: false + schema: + type: string + example: org_2enk23n3 + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/Role' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_ID_REQUIRED: + $ref: '#/components/examples/ROLE_NAME_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/roles/{id}/default: + put: + description: | + Sets a Role as the default for new Users. This API is supported only for B2B tenants. + operationId: SetDefaultRole + summary: Set default Role + tags: + - Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/roleId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DefaultResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_ID_REQUIRED: + $ref: '#/components/examples/ROLE_ID_REQUIRED' + INVALID_ROLE_ID: + $ref: '#/components/examples/INVALID_ROLE_ID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_DOES_NOT_BELONGS_TO_TENANT: + $ref: '#/components/examples/ROLE_DOES_NOT_BELONGS_TO_TENANT' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/account/{uid}/orgcontext: + get: + summary: Retrieve Organization context by UID + description: Retrieves User Roles for all Organizations by UID. + operationId: getOrgContextByUid + tags: + - Organization User Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/Uid' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/UserRole' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/USER_ID_REQUIRED' + USER_DOES_NOT_EXISTS: + $ref: '#/components/examples/USER_DOES_NOT_EXISTS' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + delete: + summary: Delete Organization context by UID + description: Deletes User Roles for all Organizations by UID. + operationId: deleteOrgContextByUid + tags: + - Organization User Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/Uid' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/USER_ID_REQUIRED' + USER_DOES_NOT_EXISTS: + $ref: '#/components/examples/USER_DOES_NOT_EXISTS' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/account/{uid}/orgcontext/{orgId}: + get: + summary: Retrieve Organization Roles by OrgID and UID + description: Retrieves User Roles of an Organization by UID and OrgID. + operationId: getOrgContextByUidAndOrgId + tags: + - Organization User Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/Uid' + - $ref: '#/components/parameters/orgId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/UserRole' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/USER_ID_REQUIRED' + USER_DOES_NOT_EXISTS: + $ref: '#/components/examples/USER_DOES_NOT_EXISTS' + ORGANIZATION_ID_REQUIRED: + $ref: '#/components/examples/ORGANIZATION_ID_REQUIRED' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '404': + description: 'Not Found: The requested resource could not be found.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + delete: + summary: Delete Organization Roles by OrgID and UID + description: Deletes User Roles of an Organization by UID and OrgID. + operationId: deleteOrgContextByUidAndOrgId + tags: + - Organization User Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/Uid' + - $ref: '#/components/parameters/orgId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/USER_ID_REQUIRED' + USER_DOES_NOT_EXISTS: + $ref: '#/components/examples/USER_DOES_NOT_EXISTS' + ORGANIZATION_ID_REQUIRED: + $ref: '#/components/examples/ORGANIZATION_ID_REQUIRED' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + '403': + description: 'Forbidden: The server understood the request, but is refusing to fulfill it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '404': + description: 'Not Found: The requested resource could not be found.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + USER_NOT_FOUND_IN_ORG: + $ref: '#/components/examples/USER_NOT_FOUND_IN_ORG' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/account/{uid}/orgcontext/{orgId}/roles: + put: + summary: Assign Roles in Organization + description: Assigns Roles to a User within a specific Organization. + operationId: assignRolesToUser + tags: + - Organization User Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/Uid' + - $ref: '#/components/parameters/orgId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserRolePutRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/UserRole' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/USER_ID_REQUIRED' + ORGANIZATION_ID_REQUIRED: + $ref: '#/components/examples/ORGANIZATION_ID_REQUIRED' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + INVALID_ROLE_ID: + $ref: '#/components/examples/INVALID_ROLE_ID' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED_PARTNER' + ROLE_DOES_NOT_BELONGS_TO_ORG: + $ref: '#/components/examples/ROLE_DOES_NOT_BELONGS_TO_ORG' + INVALID_BODY_JSON: + $ref: '#/components/examples/INVALID_BODY_JSON' + PARAMETER_NOT_WELL_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + B2B_EMAIL_NOT_AVAILABLE: + $ref: '#/components/examples/B2B_EMAIL_NOT_AVAILABLE' + '403': + description: 'Forbidden: The server understood the request, but is refusing to fulfill it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + ROLE_DOES_NOT_BELONGS_TO_ORG: + $ref: '#/components/examples/ROLE_DOES_NOT_BELONGS_TO_ORG' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '404': + description: 'Not Found: The requested resource could not be found.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + USER_DOES_NOT_EXISTS: + $ref: '#/components/examples/USER_DOES_NOT_EXISTS' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ROLE_ALREADY_EXISTS: + $ref: '#/components/examples/USER_ROLE_ALREADY_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/account/{uid}/orgcontext/roles: + put: + summary: Assign Roles in Tenant + description: Assigns Roles to a User within a Tenant. + operationId: assignRolesToUserInAllOrgs + tags: + - Organization User Roles + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/Uid' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/UserRole' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_ID_REQUIRED: + $ref: '#/components/examples/USER_ID_REQUIRED' + INVALID_ROLE_ID: + $ref: '#/components/examples/INVALID_ROLE_ID' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED_PARTNER' + INVALID_BODY_JSON: + $ref: '#/components/examples/INVALID_BODY_JSON' + PARAMETER_NOT_WELL_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + B2B_EMAIL_NOT_AVAILABLE: + $ref: '#/components/examples/B2B_EMAIL_NOT_AVAILABLE' + '403': + description: 'Forbidden: The server understood the request, but is refusing to fulfill it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ROLE_DOES_NOT_BELONGS_TO_TENANT: + $ref: '#/components/examples/ROLE_DOES_NOT_BELONGS_TO_TENANT' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '404': + description: 'Not Found: The requested resource could not be found.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + USER_DOES_NOT_EXISTS: + $ref: '#/components/examples/USER_DOES_NOT_EXISTS' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DUPLICATE_ROLE_NAME: + $ref: '#/components/examples/USER_ROLE_ALREADY_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/organizations/{orgId}/orgcontext: + get: + summary: Retrieve Organization context + description: Retrieves User Roles for all Organizations by OrgID. + operationId: getOrgContextByOrgId + tags: + - Organization + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - name: orgId + in: path + description: Unique identifier of the Organization. + required: true + schema: + type: string + example: org_fasf432d + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/UserRole' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_ID_REQUIRED: + $ref: '#/components/examples/ORGANIZATION_ID_REQUIRED' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '404': + description: 'Not Found: The requested resource could not be found.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/organizations/{orgId}/roles: + get: + description: Lists all Roles defined within an Organization. + operationId: getOrgRolesByOrgId + summary: List Organization Roles + tags: + - Organization + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/orgId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/Role' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_ID_REQUIRED: + $ref: '#/components/examples/ORGANIZATION_ID_REQUIRED' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '404': + description: 'Not Found: The requested resource could not be found.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + post: + summary: Create Role in Organization + description: Creates a Role within an Organization. + operationId: CreateOrgTenantRole + tags: + - Organization + security: + - APIKey: [] + APISecret: [] + - ClientId: [] + ClientSecret: [] + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/orgId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RolePostRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/Role' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_ID_REQUIRED: + $ref: '#/components/examples/ORGANIZATION_ID_REQUIRED' + ORGANIZATION_ID_INVALID: + $ref: '#/components/examples/ORGANIZATION_ID_INVALID' + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + INVALID_BODY_JSON: + $ref: '#/components/examples/INVALID_BODY_JSON' + PARAMETER_NOT_WELL_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED' + PERMISSION_ID_INVALID: + $ref: '#/components/examples/PERMISSION_ID_INVALID' + ROLE_NAME_REQUIRED: + $ref: '#/components/examples/ROLE_NAME_REQUIRED' + '403': + description: 'Forbidden: The server understood the request, but is refusing to fulfill it.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + B2B_NOT_ENABLED: + $ref: '#/components/examples/B2B_NOT_ENABLED' + '404': + description: 'Not Found: The requested resource could not be found.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ORGANIZATION_NOT_FOUND: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_PARTNER' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DUPLICATE_ROLE_NAME: + $ref: '#/components/examples/DUPLICATE_ROLE_NAME' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/sott: + get: + summary: List SOTTs + operationId: GetAllSOTT + description: Retrieves a list of all Secure One Time Token (SOTT) entries associated with the Tenant. + tags: + - SOTT + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/SottList' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SOTT_NOT_FOUND: + $ref: '#/components/examples/SOTT_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + post: + summary: Generate SOTT + operationId: AddSott + description: Generates a new Secure One Time Token (SOTT) for the Tenant based on specified technology and parameters. + tags: + - SOTT + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SottGenerateTechnology' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SottResponse' + '400': + description: Bad Request - The request could not be understood by the server due to malformed syntax. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + TECHNOLOGY_SELECTION_INVALID: + $ref: '#/components/examples/TECHNOLOGY_SELECTION_INVALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/workflows: + get: + summary: List workflows + operationId: getAllWorkflows + description: Retrieves a list of all workflows configured for the Tenant. + tags: + - Workflows + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/WorkflowConfigWithoutData' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + IDENTITY_ORCHESTRATION_NOT_ENABLED: + $ref: '#/components/examples/IDENTITY_ORCHESTRATION_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WORKFLOW_CONFIG_NOT_FOUND: + $ref: '#/components/examples/WORKFLOW_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + post: + summary: Add workflow + operationId: addWorkflow + description: Adds a new workflow configuration to the Tenant. + tags: + - Workflows + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/AddWorkflowConfig' + examples: + WORKFLOW_PAYLOAD: + $ref: '#/components/examples/WORKFLOW_PAYLOAD' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowConfig' + examples: + WORKFLOW_RESPONSE: + $ref: '#/components/examples/WORKFLOW_RESPONSE' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + POST_BODY_INVALID: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + WORKFLOW_STATE_IS_INVALID: + $ref: '#/components/examples/WORKFLOW_STATE_IS_INVALID' + INVALID_WORKFLOW_NAME: + $ref: '#/components/examples/INVALID_WORKFLOW_NAME' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + IDENTITY_ORCHESTRATION_NOT_ENABLED: + $ref: '#/components/examples/IDENTITY_ORCHESTRATION_NOT_ENABLED' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WORKFLOW_CONFIG_EXISTS: + $ref: '#/components/examples/WORKFLOW_CONFIG_EXISTS_WITH_SAME_NAME' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/workflows/{workflowId}: + get: + summary: Retrieve Workflow + operationId: getWorkflowById + description: Retrieves details of a specific Workflow using its unique identifier. + tags: + - Workflows + parameters: + - $ref: '#/components/parameters/WorkflowId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowConfig' + examples: + WORKFLOW_RESPONSE: + $ref: '#/components/examples/WORKFLOW_RESPONSE' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + IDENTITY_ORCHESTRATION_NOT_ENABLED: + $ref: '#/components/examples/IDENTITY_ORCHESTRATION_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WORKFLOW_CONFIG_NOT_FOUND: + $ref: '#/components/examples/WORKFLOW_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + put: + summary: Update Workflow + operationId: updateWorkflow + description: Updates the configuration of an existing Workflow. + tags: + - Workflows + parameters: + - $ref: '#/components/parameters/WorkflowId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateWorkflowConfig' + examples: + WORKFLOW_PAYLOAD: + $ref: '#/components/examples/WORKFLOW_PAYLOAD' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/WorkflowConfig' + examples: + WORKFLOW_RESPONSE: + $ref: '#/components/examples/WORKFLOW_RESPONSE' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PUT_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + WORKFLOW_STATE_IS_INVALID: + $ref: '#/components/examples/WORKFLOW_STATE_IS_INVALID' + INVALID_WORKFLOW_NAME: + $ref: '#/components/examples/INVALID_WORKFLOW_NAME' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + IDENTITY_ORCHESTRATION_NOT_ENABLED: + $ref: '#/components/examples/IDENTITY_ORCHESTRATION_NOT_ENABLED' + WORKFLOW_CONFIG_UPDATE_EXISTS: + $ref: '#/components/examples/WORKFLOW_CONFIG_EXISTS_WITH_SAME_NAME' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WORKFLOW_CONFIG_NOT_FOUND: + $ref: '#/components/examples/WORKFLOW_CONFIG_NOT_FOUND' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WORKFLOW_CONFIG_UPDATE_EXISTS: + $ref: '#/components/examples/WORKFLOW_CONFIG_EXISTS_WITH_SAME_NAME' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + delete: + summary: Delete Workflow + operationId: deleteWorkflow + description: Deletes an existing Workflow from the system. + tags: + - Workflows + parameters: + - $ref: '#/components/parameters/WorkflowId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + IDENTITY_ORCHESTRATION_NOT_ENABLED: + $ref: '#/components/examples/IDENTITY_ORCHESTRATION_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WORKFLOW_CONFIG_NOT_FOUND: + $ref: '#/components/examples/WORKFLOW_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/workflows/{workflowId}/versions: + get: + summary: List Workflow Versions + description: Returns a list of all available versions for a specified Workflow. + operationId: GetAllWorkflowVersionList + tags: + - Workflows + parameters: + - $ref: '#/components/parameters/WorkflowId' + responses: + '200': + description: List of workflow versions. + content: + application/json: + schema: + $ref: '#/components/schemas/VersionListResponse' + '400': + description: Invalid workflow ID. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVALID_WORKFLOW_ID: + $ref: '#/components/examples/INVALID_WORKFLOW_ID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + IDENTITY_ORCHESTRATION_NOT_ENABLED: + $ref: '#/components/examples/IDENTITY_ORCHESTRATION_NOT_ENABLED' + '404': + description: Workflow not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WORKFLOW_NOT_FOUND: + $ref: '#/components/examples/WORKFLOW_CONFIG_NOT_FOUND' + '500': + description: Internal server error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/workflows/{workflowId}/versions/{version}: + delete: + summary: Delete Workflow Version + description: Deletes a specific version of a Workflow from the system. + operationId: DeleteWorkflowVersion + tags: + - Workflows + parameters: + - $ref: '#/components/parameters/WorkflowId' + - $ref: '#/components/parameters/Version' + responses: + '200': + description: Workflow version deleted successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: Invalid workflow id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVALID_WORKFLOW_ID: + $ref: '#/components/examples/INVALID_WORKFLOW_ID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + IDENTITY_ORCHESTRATION_NOT_ENABLED: + $ref: '#/components/examples/IDENTITY_ORCHESTRATION_NOT_ENABLED' + '404': + description: Workflow version not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WORKFLOW_CONFIG_NOT_FOUND: + $ref: '#/components/examples/WORKFLOW_CONFIG_NOT_FOUND' + WORKFLOW_VERSION_NOT_FOUND: + $ref: '#/components/examples/WORKFLOW_VERSION_NOT_FOUND' + '500': + description: Internal server error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + put: + summary: Restore Workflow Version + description: Restores a specific version of a Workflow to its active state. + operationId: RestoreWorkflowVersion + tags: + - Workflows + parameters: + - $ref: '#/components/parameters/WorkflowId' + - $ref: '#/components/parameters/Version' + responses: + '200': + description: Workflow version restored successfully. + content: + application/json: + schema: + type: object + properties: + Data: + $ref: '#/components/schemas/WorkflowData' + '400': + description: Invalid workflow id. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVALID_WORKFLOW_ID: + $ref: '#/components/examples/INVALID_WORKFLOW_ID' + '403': + description: Unauthorized access to restore workflow version. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + FAILED_TO_RESTORE_WORKFLOW_VERSION: + $ref: '#/components/examples/FAILED_TO_RESTORE_WORKFLOW_VERSION' + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + IDENTITY_ORCHESTRATION_NOT_ENABLED: + $ref: '#/components/examples/IDENTITY_ORCHESTRATION_NOT_ENABLED' + '404': + description: Workflow version not found. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WORKFLOW_CONFIG_NOT_FOUND: + $ref: '#/components/examples/WORKFLOW_CONFIG_NOT_FOUND' + WORKFLOW_VERSION_NOT_FOUND: + $ref: '#/components/examples/WORKFLOW_VERSION_NOT_FOUND' + '500': + description: Internal server error. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/webhooks: + get: + summary: List webhook configurations + operationId: GetAllWebhooksConfigurations + description: Retrieves a list of all configured webhooks for the Tenant, including detailed information about each webhook and its subscribed events. + tags: + - Webhooks + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookSubscriptionResponse' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + WEBHOOK_FEATURE_NOT_ENABLED: + $ref: '#/components/examples/WEBHOOK_FEATURE_NOT_ENABLED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WEBHOOK_CONFIG_NOT_FOUND: + $ref: '#/components/examples/WEBHOOK_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + post: + summary: Create webhook configuration + operationId: CreateWebhookConfiguration + description: Creates a new webhook configuration for the Tenant, allowing registration of a webhook with details such as the Target URL and subscribed events. + tags: + - Webhooks + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookSubscriptionCreateModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookSubscription' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + INVALID_WEBHOOK_EVENT_TYPE: + $ref: '#/components/examples/INVALID_WEBHOOK_EVENT_TYPE' + WEB_HOOK_TARGET_URL_IS_NOT_VALID: + $ref: '#/components/examples/WEB_HOOK_TARGET_URL_IS_NOT_VALID' + WEB_HOOK_TARGET_URL_IS_NOT_REACHABLE: + $ref: '#/components/examples/WEB_HOOK_TARGET_URL_IS_NOT_REACHABLE' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + WEBHOOK_FEATURE_NOT_ENABLED: + $ref: '#/components/examples/WEBHOOK_FEATURE_NOT_ENABLED' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WEB_HOOK_TARGET_URL_IS_ALREADY_SUBSCRIBE: + $ref: '#/components/examples/WEB_HOOK_TARGET_URL_IS_ALREADY_SUBSCRIBE' + WEB_HOOK_NOT_ALLOWED_MORE_THAN_MAX_LIMIT: + $ref: '#/components/examples/WEB_HOOK_NOT_ALLOWED_MORE_THAN_MAX_LIMIT' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/webhooks/{hookId}: + get: + summary: Retrieve webhook configuration + operationId: GetWebhookConfigurationById + description: Retrieves the details of a specific webhook configuration for the Tenant by its unique ID, including the Target URL, subscribed events, and other settings. + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/HookId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookSubscription' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVALID_WEBHOOK_ID: + $ref: '#/components/examples/INVALID_WEBHOOK_ID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + WEBHOOK_FEATURE_NOT_ENABLED: + $ref: '#/components/examples/WEBHOOK_FEATURE_NOT_ENABLED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WEBHOOK_CONFIG_NOT_FOUND: + $ref: '#/components/examples/WEBHOOK_CONFIG_NOT_FOUND' + security: + - M2MBearerToken: [] + put: + summary: Update webhook configuration + operationId: UpdateWebhookConfigurationById + description: Updates an existing webhook configuration for the Tenant by its unique ID, modifying details such as the Target URL, subscribed events, or other settings. + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/HookId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookSubscriptionUpdateModel' + examples: + example1: + summary: Example to update all the fields in webhook + value: + TargetUrl: https://example.com/webhook + Name: Test Webhook + SecretName: xyz + Headers: + x-test-header: qa + QueryParams: + apikey: '123456' + Authentication: + AuthType: Basic + BasicAuth: + Username: admin + Password: password123 + example2: + summary: Example to reset Headers, Query Params and Authentication + value: + Headers: {} + QueryParams: {} + TargetUrl: https://example.com/webhook + Authentication: + AuthType: Basic + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookSubscription' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVALID_WEBHOOK_ID: + $ref: '#/components/examples/INVALID_WEBHOOK_ID' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + WEB_HOOK_TARGET_URL_IS_NOT_VALID: + $ref: '#/components/examples/WEB_HOOK_TARGET_URL_IS_NOT_VALID' + WEB_HOOK_TARGET_URL_IS_NOT_REACHABLE: + $ref: '#/components/examples/WEB_HOOK_TARGET_URL_IS_NOT_REACHABLE' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + WEBHOOK_FEATURE_NOT_ENABLED: + $ref: '#/components/examples/WEBHOOK_FEATURE_NOT_ENABLED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WEBHOOK_CONFIG_NOT_FOUND: + $ref: '#/components/examples/WEBHOOK_CONFIG_NOT_FOUND' + CANNOT_UPDATE_WEBHOOK: + $ref: '#/components/examples/CANNOT_UPDATE_WEBHOOK' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WEB_HOOK_TARGET_URL_IS_ALREADY_SUBSCRIBE: + $ref: '#/components/examples/WEB_HOOK_TARGET_URL_IS_ALREADY_SUBSCRIBE' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + delete: + summary: Delete webhook configuration + operationId: DeleteWebhookConfigurationById + description: Deletes a specific webhook configuration for the Tenant using its unique ID, permanently removing the webhook from receiving further event notifications. + tags: + - Webhooks + parameters: + - $ref: '#/components/parameters/HookId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVALID_WEBHOOK_ID: + $ref: '#/components/examples/INVALID_WEBHOOK_ID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + WEBHOOK_FEATURE_NOT_ENABLED: + $ref: '#/components/examples/WEBHOOK_FEATURE_NOT_ENABLED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + WEBHOOK_CONFIG_NOT_FOUND: + $ref: '#/components/examples/WEBHOOK_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/webhooks/events: + get: + summary: List webhook events + operationId: GetAllEvents + description: Retrieves a list of all available webhook events that can be subscribed to by the Tenant for configuring webhooks to receive notifications for specific activities. + tags: + - Webhooks + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/WebhookEvents' + examples: + WEBHOOK_EVENTS: + $ref: '#/components/examples/WEBHOOK_EVENTS' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + WEBHOOK_FEATURE_NOT_ENABLED: + $ref: '#/components/examples/WEBHOOK_FEATURE_NOT_ENABLED' + security: + - M2MBearerToken: [] + /v2/manage/smstemplates: + get: + summary: List SMS templates + description: Retrieves a list of SMS templates for a specified customer and Tenant. + operationId: GetSmsTemplates + tags: + - SMS Templates + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/SmsTemplate' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + post: + summary: Create SMS template + description: Creates a new SMS template for a specified customer and Tenant. + operationId: CreateSmsTemplate + tags: + - SMS Templates + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SmsTemplate' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsTemplate' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + INVALID_SMS_TYPE: + $ref: '#/components/examples/INVALID_SMS_TYPE' + '403': + description: Forbidden due to invalid request body or SMS configuration details. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SMS_TEMPLATE_EXISTS: + $ref: '#/components/examples/SMS_TEMPLATE_ALREADY_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/sms-templates/{templateType}: + put: + summary: Update SMS template + description: Updates an existing SMS template by its type for a specified customer and Tenant. + operationId: UpdateSmsTemplate + tags: + - SMS Templates + parameters: + - $ref: '#/components/parameters/SmsTemplateType' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateSmsTemplateModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SmsTemplate' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + INVALID_SMS_TYPE: + $ref: '#/components/examples/INVALID_SMS_TYPE' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SMS_TEMPLATE_NOT_FOUND: + $ref: '#/components/examples/SMS_TEMPLATE_NOT_FOUND' + SMS_TEMPLATE_NOT_EXISTS: + $ref: '#/components/examples/SMS_TEMPLATE_NOT_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + delete: + summary: Delete SMS template + description: Deletes an SMS template by its type for a specified customer and Tenant. + operationId: DeleteSmsTemplate + tags: + - SMS Templates + parameters: + - $ref: '#/components/parameters/SmsTemplateType' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteSmsTemplateModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVALID_SMS_TYPE: + $ref: '#/components/examples/INVALID_SMS_TYPE' + JSON_DELETE_BODY_REQUIRED: + $ref: '#/components/examples/JSON_DELETE_BODY_REQUIRED' + '403': + description: Forbidden due to invalid request body or SMS configuration details. + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + DEFAULT_SMS_TEMPLATE_CANNOT_BE_DELETED: + $ref: '#/components/examples/DEFAULT_SMS_TEMPLATE_CANNOT_BE_DELETED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SMS_TEMPLATE_NOT_FOUND: + $ref: '#/components/examples/SMS_TEMPLATE_NOT_FOUND' + SMS_TEMPLATE_NOT_EXISTS: + $ref: '#/components/examples/SMS_TEMPLATE_NOT_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/passkey: + get: + summary: Retrieve Passkey configuration + description: Retrieves the current Passkey configuration settings for the Tenant. + operationId: getPassKeyConfig + tags: + - Passkey Configuration + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/PassKeyConfig' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + PASSKEY_FEATURE_NOT_ENABLED: + $ref: '#/components/examples/PASSKEY_FEATURE_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PASSKEY_NOT_FOUND: + $ref: '#/components/examples/PASSKEY_NOT_FOUND' + security: + - M2MBearerToken: [] + put: + summary: Update Passkey configuration + description: Creates or updates the Passkey configuration settings for the Tenant. + operationId: upsertPassKeyConfig + tags: + - Passkey Configuration + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PassKeyConfig' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/PassKeyConfig' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + INVALID_PASSKEY_SELECTION: + $ref: '#/components/examples/INVALID_PASSKEY_SELECTION' + INVALID_PASSKEY_ATTESTATION: + $ref: '#/components/examples/INVALID_PASSKEY_ATTESTATION' + INVALID_RP_ORIGIN_URL: + $ref: '#/components/examples/INVALID_RP_ORIGIN_URL' + RP_ORIGIN_RPID_MISMATCH: + $ref: '#/components/examples/RP_ORIGIN_RPID_MISMATCH' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + PASSKEY_FEATURE_NOT_ENABLED: + $ref: '#/components/examples/PASSKEY_FEATURE_NOT_ENABLED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/2fa/push-notification-settings: + get: + summary: Retrieve Push Notification settings + description: Retrieves the current Push Notification settings for second factor authentication. + operationId: getPushSettings + tags: + - Push Notification Configuration + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/PushAuthenticator' + examples: + PUSH_AUTHENTICATOR_EXAMPLE: + $ref: '#/components/examples/PUSH_AUTHENTICATOR_EXAMPLE' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED' + PUSH_NOTIFICATIONS_NOT_ENABLED: + $ref: '#/components/examples/PUSH_NOTIFICATIONS_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PUSH_SETTINGS_NOT_FOUND: + $ref: '#/components/examples/PUSH_SETTINGS_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + post: + summary: Create Push Notification settings + description: Creates new Push Notification settings for second factor authentication. + operationId: createPushSettings + tags: + - Push Notification Configuration + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PushAuthenticator' + examples: + PUSH_AUTHENTICATOR_EXAMPLE: + $ref: '#/components/examples/PUSH_AUTHENTICATOR_EXAMPLE' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/PushAuthenticator' + examples: + PUSH_AUTHENTICATOR_EXAMPLE: + $ref: '#/components/examples/PUSH_AUTHENTICATOR_EXAMPLE' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + INVALID_NOTIFICATION_SERVICE_CUSTOM: + $ref: '#/components/examples/INVALID_NOTIFICATION_SERVICE_CUSTOM' + ATLEAST_ANDORID_OR_IOS_ENABLED: + $ref: '#/components/examples/ATLEAST_ANDORID_OR_IOS_ENABLED' + INVALID_NOTIFICATION_SERVICE: + $ref: '#/components/examples/INVALID_NOTIFICATION_SERVICE' + INVALID_IOS_ENVIRONMENT: + $ref: '#/components/examples/INVALID_IOS_ENVIRONMENT' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED' + PUSH_NOTIFICATIONS_NOT_ENABLED: + $ref: '#/components/examples/PUSH_NOTIFICATIONS_NOT_ENABLED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + put: + summary: Update Push Notification settings + description: Updates existing Push Notification settings for second factor authentication. + operationId: updatePushSettings + tags: + - Push Notification Configuration + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PushAuthenticator' + examples: + PUSH_AUTHENTICATOR_EXAMPLE: + $ref: '#/components/examples/PUSH_AUTHENTICATOR_EXAMPLE' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/PushAuthenticator' + examples: + PUSH_AUTHENTICATOR_EXAMPLE: + $ref: '#/components/examples/PUSH_AUTHENTICATOR_EXAMPLE' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + ATLEAST_ANDORID_OR_IOS_ENABLED: + $ref: '#/components/examples/ATLEAST_ANDORID_OR_IOS_ENABLED' + INVALID_NOTIFICATION_SERVICE: + $ref: '#/components/examples/INVALID_NOTIFICATION_SERVICE' + INVALID_IOS_ENVIRONMENT: + $ref: '#/components/examples/INVALID_IOS_ENVIRONMENT' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED' + PUSH_NOTIFICATIONS_NOT_ENABLED: + $ref: '#/components/examples/PUSH_NOTIFICATIONS_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PUSH_SETTINGS_NOT_FOUND: + $ref: '#/components/examples/PUSH_SETTINGS_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/security-questions: + get: + summary: Retrieve security questions + description: Retrieves a list of all available security questions for the Tenant. + tags: + - Security Questions + operationId: getSecurityQuestions + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/SecurityQuestion' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECURITY_QUESTION_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_ENABLED' + security: + - M2MBearerToken: [] + post: + summary: Add security question + description: Adds a new security question to the Tenant's configuration. + tags: + - Security Questions + operationId: addSecurityQuestion + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityQuestionInput' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityQuestion' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECURITY_QUESTION_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_ENABLED' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SECURITY_QUESTION_ALREADY_ADDED: + $ref: '#/components/examples/SECURITY_QUESTION_ALREADY_ADDED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/security-questions/{securityQuestionID}: + put: + summary: Update security question + description: Updates an existing security question by its ID. + tags: + - Security Questions + operationId: updateSecurityQuestion + parameters: + - $ref: '#/components/parameters/SecurityQuestionId' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityQuestionInput' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityQuestion' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + INVALID_QUESTION_ID: + $ref: '#/components/examples/INVALID_QUESTION_ID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECURITY_QUESTION_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SECURITY_QUESTION_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SECURITY_QUESTION_CONFIG_NOT_FOUND' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SECURITY_QUESTION_ALREADY_ADDED: + $ref: '#/components/examples/SECURITY_QUESTION_ALREADY_ADDED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + delete: + summary: Delete security question + description: Deletes a security question by its ID. + tags: + - Security Questions + operationId: deleteSecurityQuestion + parameters: + - $ref: '#/components/parameters/SecurityQuestionId' + responses: + '200': + description: Deletion status + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVALID_QUESTION_ID: + $ref: '#/components/examples/INVALID_QUESTION_ID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECURITY_QUESTION_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SECURITY_QUESTION_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SECURITY_QUESTION_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/security-questions/count: + get: + summary: Retrieve security question count + description: Retrieves the number of security questions to render for a User. + operationId: getSecurityQuestionRenderCount + tags: + - Security Questions + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityQuestionsRender' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECURITY_QUESTION_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SECURITY_QUESTION_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SECURITY_QUESTION_CONFIG_NOT_FOUND' + security: + - M2MBearerToken: [] + put: + summary: Update security question count + description: Updates the number of security questions to render for a User. + operationId: updateSecurityQuestionRenderCount + tags: + - Security Questions + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityQuestionsRender' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SecurityQuestionsRender' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECURITY_QUESTION_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SECURITY_QUESTION_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SECURITY_QUESTION_CONFIG_NOT_FOUND' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SECURITY_QUESTION_RENDER_COUNT_ERROR: + $ref: '#/components/examples/SECURITY_QUESTION_RENDER_COUNT_ERROR' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/restrictions/domain-access: + get: + summary: Retrieve Domain Access Restrictions + operationId: GetDomainAccessRestrictionsByAppID + description: Retrieves the domain access restrictions configured for the Tenant. + tags: + - Domain Access Restrictions + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DomainAccessRestrictions' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + DOMAIN_WHITE_LISTING_NOT_ENABLED: + $ref: '#/components/examples/DOMAIN_WHITE_LISTING_NOT_ENABLED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DOMAIN_RESTRICTION_CONFIG_NOT_FOUND: + $ref: '#/components/examples/DOMAIN_RESTRICTION_CONFIG_NOT_FOUND' + security: + - M2MBearerToken: [] + put: + summary: Update Domain Access Restrictions + operationId: UpdateDomainAccessRestrictionsByAppID + description: Updates the domain access restrictions for the Tenant. + tags: + - Domain Access Restrictions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DomainAccessRestrictions' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DomainAccessRestrictions' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PUT_BODY_INVALID: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + DOMAIN_WHITE_LISTING_NOT_ENABLED: + $ref: '#/components/examples/DOMAIN_WHITE_LISTING_NOT_ENABLED' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SAME_DOMAIN_OR_EMAIL_CANNOT_EXIST_IN_BOTH_LIST: + $ref: '#/components/examples/SAME_DOMAIN_OR_EMAIL_CANNOT_EXIST_IN_BOTH_LIST' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/email-templates: + get: + summary: List Email templates + description: Retrieves all Email templates configured for the Tenant. + operationId: getEmailTemplates + tags: + - Email Templates + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/EmailTemplateResponse' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAIL_TEMPLATE_NOT_CREATED: + $ref: '#/components/examples/EMAIL_TEMPLATE_NOT_CREATED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + post: + summary: Create Email template + description: Adds a new Email template to the Tenant's configuration. + operationId: addEmailTemplate + tags: + - Email Templates + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/EmailTemplateModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailTemplateResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_ALPHANUMERIC: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_ALPHANUMERIC' + PARAMETER_NOT_WELL_FORMATTED_EMAIL: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_EMAIL' + INVALID_FROM_EMAIL_OR_NAME: + $ref: '#/components/examples/INVALID_FROM_EMAIL_OR_NAME' + INVALID_EMAIL_TYPE: + $ref: '#/components/examples/INVALID_EMAIL_TYPE' + INVALID_EMAIL_TEMPLATES_INVALID_EMAIL_TYPE: + $ref: '#/components/examples/INVALID_EMAIL_TEMPLATES_INVALID_EMAIL_TYPE' + INVALID_EMAIL_TEMPLATES_INVALID_TOKEN_TYPE: + $ref: '#/components/examples/INVALID_EMAIL_TEMPLATES_INVALID_TOKEN_TYPE' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAIL_TEMPLATE_EXISTS: + $ref: '#/components/examples/EMAIL_TEMPLATE_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/email-templates/{templateType}: + put: + summary: Update Email Template + description: Updates the Email template for a specified Email template type within a specific Tenant. + operationId: UpdateEmailTemplate + tags: + - Email Templates + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/EmailTemplateType' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateEmailTemplate' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/EmailTemplateResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_ALPHANUMERIC: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_ALPHANUMERIC' + PARAMETER_NOT_WELL_FORMATTED_EMAIL: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_EMAIL' + INVALID_FROM_EMAIL_OR_NAME: + $ref: '#/components/examples/INVALID_FROM_EMAIL_OR_NAME' + INVALID_EMAIL_TYPE: + $ref: '#/components/examples/INVALID_EMAIL_TYPE' + INVALID_EMAIL_TEMPLATES_INVALID_EMAIL_TYPE: + $ref: '#/components/examples/INVALID_EMAIL_TEMPLATES_INVALID_EMAIL_TYPE' + INVALID_EMAIL_TEMPLATES_INVALID_TOKEN_TYPE: + $ref: '#/components/examples/INVALID_EMAIL_TEMPLATES_INVALID_TOKEN_TYPE' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAIL_TEMPLATE_NOT_CREATED: + $ref: '#/components/examples/EMAIL_TEMPLATE_NOT_CREATED' + EMAIL_TEMPLATE_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_TEMPLATE_NOT_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + delete: + summary: Delete Email Template + description: Deletes the Email template for a specified Email template type within a specific Tenant. + operationId: deleteEmailTemplate + tags: + - Email Templates + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/EmailTemplateType' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteEmailTemplate' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + INVALID_EMAIL_TYPE: + $ref: '#/components/examples/INVALID_EMAIL_TYPE' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + DEFAULT_EMAIL_TEMPLATE_CANNOT_BE_DELETED: + $ref: '#/components/examples/DEFAULT_EMAIL_TEMPLATE_CANNOT_BE_DELETED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + EMAIL_TEMPLATE_NOT_EXISTS: + $ref: '#/components/examples/EMAIL_TEMPLATE_NOT_EXISTS' + EMAIL_TEMPLATE_NOT_CREATED: + $ref: '#/components/examples/EMAIL_TEMPLATE_NOT_CREATED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/providers: + get: + summary: List social provider configurations + operationId: GetAllProviderConfigurations + description: Retrieves all social provider configurations available for the Tenant. + tags: + - Social Providers + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/ProviderConfigOptions' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + security: + - M2MBearerToken: [] + put: + summary: Set social provider status + operationId: SetProvidersStatus + description: Sets the status of social providers for the Tenant. + tags: + - Social Providers + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ProviderStatusList' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/Provider' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/providers/{provider}: + get: + summary: Retrieve social provider configuration + operationId: GetSocialProviderByName + description: Retrieves the social provider configuration for a specified provider name for the Tenant. + tags: + - Social Providers + parameters: + - $ref: '#/components/parameters/ProviderNamePath' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AppProvider' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PROVIDER_NOT_CONFIGURED: + $ref: '#/components/examples/PROVIDER_NOT_CONFIGURED_PARTNER' + PROVIDER_NOT_ACTIVE: + $ref: '#/components/examples/PROVIDER_NOT_ACTIVE' + security: + - M2MBearerToken: [] + delete: + summary: Delete social provider configuration + operationId: DeleteSocialProviderByName + description: Deletes the social provider configuration for a specified provider name for the Tenant. + tags: + - Social Providers + parameters: + - $ref: '#/components/parameters/ProviderNamePath' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + PROVIDER_IS_NOT_SUPPORT_CONFIGURATION_SETTINGS: + $ref: '#/components/examples/PROVIDER_IS_NOT_SUPPORT_CONFIGURATION_SETTINGS' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PROVIDER_NOT_CONFIGURED: + $ref: '#/components/examples/PROVIDER_NOT_CONFIGURED_PARTNER' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + put: + summary: Update social provider configuration + operationId: UpdateSocialProviderByName + description: Updates the social provider configuration for a specified provider name for the Tenant. + tags: + - Social Providers + parameters: + - $ref: '#/components/parameters/ProviderNamePath' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/AppProvider' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AppProvider' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + PROVIDER_IS_NOT_SUPPORT_CONFIGURATION_SETTINGS: + $ref: '#/components/examples/PROVIDER_IS_NOT_SUPPORT_CONFIGURATION_SETTINGS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/providers/setorder: + put: + summary: Set social provider order + operationId: SetProvidersOrder + description: Sets the order of social providers for the Tenant to be listed in the UI. + tags: + - Social Providers + requestBody: + content: + application/json: + schema: + properties: + Data: + type: array + items: + type: string + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + type: string + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PROVIDER_IS_NOT_VALID: + $ref: '#/components/examples/PROVIDER_IS_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/providers/active: + get: + summary: Retrieve enabled social providers + operationId: GetEnabledProviders + description: Retrieves a list of all enabled social providers for the Tenant. + tags: + - Social Providers + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/Provider' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + security: + - M2MBearerToken: [] + /v2/manage/2fa/config: + get: + summary: Retrieve second factor configuration + operationId: GetSecondFactorConfiguration + description: Retrieves the second factor authentication configuration for the Tenant. + tags: + - Second Factor Configuration + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/MFASettings' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + security: + - M2MBearerToken: [] + put: + summary: Update second factor configuration + operationId: UpdateSecondFactorConfiguration + description: Updates the second factor authentication configuration for the Tenant. + tags: + - Second Factor Configuration + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/MFASettings' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/MFASettings' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + ATLEAST_ONE_MFA: + $ref: '#/components/examples/ATLEAST_ONE_MFA' + PUSH_NOTIFICATIONS_NOT_ENABLED: + $ref: '#/components/examples/PUSH_NOTIFICATIONS_NOT_ENABLED' + DUO_AUTH_NOT_ENABLED: + $ref: '#/components/examples/DUO_AUTH_NOT_ENABLED_PARTNER' + SECURITY_QUESTION_NOT_ENABLED: + $ref: '#/components/examples/SECURITY_QUESTION_NOT_ENABLED' + PASSKEY_FEATURE_NOT_ENABLED: + $ref: '#/components/examples/PASSKEY_FEATURE_NOT_ENABLED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/2fa/totp-authenticator-settings: + get: + summary: Retrieve TOTP configuration + operationId: GetTOTPConfiguration + description: Retrieves the Time-based One Time Password (TOTP) configuration for a specific Tenant. + tags: + - Second Factor Configuration + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleAuthenticator' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + GOOGLE_AUTHENTICATOR_CONFIG_NOT_FOUND: + $ref: '#/components/examples/GOOGLE_AUTHENTICATOR_CONFIG_NOT_FOUND' + security: + - M2MBearerToken: [] + put: + summary: Update TOTP configuration + operationId: UpdateTOTPConfiguration + description: Updates the Time-based One Time Password (TOTP) configuration for a specific Tenant. + tags: + - Second Factor Configuration + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleAuthenticator' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/GoogleAuthenticator' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/2fa/duo-authenticator-settings: + get: + summary: Retrieve Duo configuration + operationId: GetDuoAuthenticatorConfiguration + description: Retrieves the Duo Authentication configuration for a specific Tenant. + tags: + - Second Factor Configuration + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DuoSecurityAuthenticator' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED' + ENABLE_DUO_SECURITY_AUTHENTICATOR: + $ref: '#/components/examples/DUO_AUTH_NOT_ENABLED_PARTNER' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DUO_AUTH_SETTINGS_NOT_FOUND: + $ref: '#/components/examples/DUO_AUTH_SETTINGS_NOT_FOUND' + security: + - M2MBearerToken: [] + put: + summary: Update Duo configuration + operationId: UpdateDuoAuthenticatorConfiguration + description: Updates the Duo Authentication configuration for a specific Tenant. + tags: + - Second Factor Configuration + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DuoSecurityAuthenticator' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DuoSecurityAuthenticator' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED: + $ref: '#/components/examples/SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED' + ENABLE_DUO_SECURITY_AUTHENTICATOR: + $ref: '#/components/examples/DUO_AUTH_NOT_ENABLED_PARTNER' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/captcha: + get: + summary: Retrieve captcha configuration + operationId: GetCaptchaConfiguration + description: Retrieves the captcha configuration settings for a specific Tenant. + tags: + - Captcha Configuration + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/CaptchaConfig' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + security: + - M2MBearerToken: [] + put: + summary: Update captcha configuration + operationId: UpdateCaptchaConfiguration + description: Updates the captcha configuration settings for a specific Tenant. + tags: + - Captcha Configuration + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CaptchaConfig' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/CaptchaConfig' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_INVALID: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_INVALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + CAPTCHA_CONFIG_VALUE_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_CONFIG_VALUE_NOT_VALID' + CAPTCHA_THRESHOLD_INVALID: + $ref: '#/components/examples/CAPTCHA_THRESHOLD_INVALID' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/restrictions/ip-access: + get: + summary: Retrieve IP Access Restrictions + operationId: GetIPAccessRestrictions + description: Retrieves the IP access restrictions configured for a specific Tenant. + tags: + - IP Access Restrictions + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IPAccessRestrictions' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + IP_AUTHORIZATION_DISABLED: + $ref: '#/components/examples/IP_AUTHORIZATION_DISABLED' + security: + - M2MBearerToken: [] + put: + summary: Update IP Access Restrictions + operationId: UpdateIPAccessRestrictions + description: Updates the IP access restrictions for a specific Tenant. + tags: + - IP Access Restrictions + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/IPAccessRestrictions' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IPAccessRestrictions' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + SPECIAL_CHARACTERS_NOT_ALLOWED: + $ref: '#/components/examples/SPECIAL_CHARACTERS_NOT_ALLOWED' + INVALID_IP_ADDRESS: + $ref: '#/components/examples/INVALID_IP_ADDRESS' + SAME_START_AND_END: + $ref: '#/components/examples/SAME_START_AND_END' + INVALID_IP_ADDRESS_RANGE: + $ref: '#/components/examples/INVALID_IP_ADDRESS_RANGE' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + IP_AUTHORIZATION_DISABLED: + $ref: '#/components/examples/IP_AUTHORIZATION_DISABLED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + delete: + summary: Reset IP Access Restrictions + operationId: ResetIPAccessRestrictions + description: Resets the IP access restrictions to their default state. + tags: + - IP Access Restrictions + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + IP_AUTHORIZATION_DISABLED: + $ref: '#/components/examples/IP_AUTHORIZATION_DISABLED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/integrations/jwt: + get: + summary: List JWT Integrations + operationId: GetAllJwtIntegrations + description: Retrieves a list of all configured JWT-based integrations for the Tenant, including algorithms, mapping, endpoints, and settings used for authentication and federation. + tags: + - JWT Integrations + security: + - M2MBearerToken: [] + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/JwtIntegrationResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/JWT_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + post: + summary: Create JWT Integration + operationId: CreateJwtIntegration + description: Creates a new JWT-based Integration configuration for the Tenant by specifying algorithms, mapping, and endpoint information, enabling authentication and federation with the specified IdP. + tags: + - JWT Integrations + security: + - M2MBearerToken: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/JwtIntegrationCreateCore' + - $ref: '#/components/schemas/JwtIntegrationRequest' + required: true + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/JwtIntegrationResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + SSO_APPNAME_REQUIRED: + $ref: '#/components/examples/SSO_APPNAME_REQUIRED' + SSO_APPNAME_LENGTH_EXCEEDED: + $ref: '#/components/examples/SSO_APPNAME_LENGTH_EXCEEDED' + SSO_APPNAME_INVALID: + $ref: '#/components/examples/SSO_APPNAME_INVALID' + JWT_ALOGITHM_REQUIRED: + $ref: '#/components/examples/JWT_ALOGITHM_REQUIRED' + JWT_ALOGRITHM_INVALID: + $ref: '#/components/examples/JWT_ALOGRITHM_INVALID' + JWT_RESPONSE_MODE_INVALID: + $ref: '#/components/examples/JWT_RESPONSE_MODE_INVALID' + JWT_QUERY_STRING_PARAMETER_INVALID: + $ref: '#/components/examples/JWT_QUERY_STRING_PARAMETER_INVALID' + JWT_LOGIN_URL_INVALID: + $ref: '#/components/examples/JWT_LOGIN_URL_INVALID' + JWT_EXPIRY_TIME_INVALID: + $ref: '#/components/examples/JWT_EXPIRY_TIME_INVALID' + JWT_NOT_BEFORE_INVALID: + $ref: '#/components/examples/JWT_NOT_BEFORE_INVALID' + JWT_NOT_BEFORE_LESS_THAN_EXPIRY: + $ref: '#/components/examples/JWT_NOT_BEFORE_LESS_THAN_EXPIRY' + JWT_SECRET_REQUIRED: + $ref: '#/components/examples/JWT_SECRET_REQUIRED' + JWT_SECRET_INVALID: + $ref: '#/components/examples/JWT_SECRET_INVALID' + JWT_MAPPING_REQUIRED: + $ref: '#/components/examples/JWT_MAPPING_REQUIRED' + JWT_MAPPING_INVALID: + $ref: '#/components/examples/JWT_MAPPING_INVALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JWT_CONFIG_ALREADY_EXIST: + $ref: '#/components/examples/JWT_CONFIG_ALREADY_EXIST' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/integrations/jwt/{jwtApp}: + delete: + summary: Delete JWT Integration configuration + operationId: DeleteJwtIntegration + description: Deletes an existing JWT-based integration configuration for the Tenant using its AppName, permanently disabling authentication and federation with that IdP. + tags: + - JWT Integrations + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/jwtApp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + examples: + JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/JWT_CONFIG_NOT_FOUND' + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + get: + summary: Retrieve JWT Integration configuration + operationId: GetJwtIntegrationByAppName + description: Retrieves the details of a specific JWT-based integration configuration for the Tenant using the AppName, including algorithms, mapping, and endpoints associated with the application. + tags: + - JWT Integrations + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/jwtApp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/JwtIntegrationResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/JWT_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + put: + summary: Update JWT Integration configuration + operationId: UpdateJwtIntegrationByAppName + description: Updates an existing JWT-based integration configuration for the Tenant identified by the AppName, modifying details such as algorithms, mapping, or endpoint information. + tags: + - JWT Integrations + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/jwtApp' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JwtIntegrationBaseModel' + required: true + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/JwtIntegrationResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + JWT_ALOGRITHM_INVALID: + $ref: '#/components/examples/JWT_ALOGRITHM_INVALID' + JWT_RESPONSE_MODE_INVALID: + $ref: '#/components/examples/JWT_RESPONSE_MODE_INVALID' + JWT_QUERY_STRING_PARAMETER_INVALID: + $ref: '#/components/examples/JWT_QUERY_STRING_PARAMETER_INVALID' + JWT_LOGIN_URL_INVALID: + $ref: '#/components/examples/JWT_LOGIN_URL_INVALID' + JWT_EXPIRY_TIME_INVALID: + $ref: '#/components/examples/JWT_EXPIRY_TIME_INVALID' + JWT_NOT_BEFORE_INVALID: + $ref: '#/components/examples/JWT_NOT_BEFORE_INVALID' + JWT_NOT_BEFORE_LESS_THAN_EXPIRY: + $ref: '#/components/examples/JWT_NOT_BEFORE_LESS_THAN_EXPIRY' + JWT_SECRET_INVALID: + $ref: '#/components/examples/JWT_SECRET_INVALID' + JWT_MAPPING_INVALID: + $ref: '#/components/examples/JWT_MAPPING_INVALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/JWT_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/integrations/jwt/algo: + get: + summary: List supported JWT algorithms + operationId: GetJwtIntegrationSupportedAlgoList + tags: + - JWT Integrations + security: + - M2MBearerToken: [] + description: Retrieves a list of all supported cryptographic algorithms that can be used by JWT clients for signing and verification when configuring a JWT-based Identity Provider (IdP) for the Tenant. + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + type: string + /v2/manage/integrations/jwt/data-mapping: + get: + summary: List JWT data mapping fields + operationId: GetJwtIntegrationDataMappingFieldsList + description: Retrieves a list of available data mapping fields that can be used when configuring JWT-based Identity Provider (IdP) integrations for the Tenant, including all supported fields for mapping JWT claims to User profile attributes. + tags: + - JWT Integrations + security: + - M2MBearerToken: [] + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + type: string + /v2/manage/integrations/saml: + get: + summary: List SAML Integrations + description: Retrieves a list of all configured SAML-based Identity Provider integrations for the Tenant, including metadata and settings for authentication. + operationId: GetAllSamlIntegrations + responses: + '200': + content: + application/json: + schema: + properties: + Data: + items: + $ref: '#/components/schemas/SamlIntegrationResponse' + type: array + description: 'OK: The request was successful.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + content: + application/json: + examples: + SAML_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SAML_CONFIG_NOT_FOUND' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Not Found: The server cannot find the requested resource.' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + tags: + - SAML Integrations + security: + - M2MBearerToken: [] + post: + description: Creates a new SAML-based Identity Provider integration for the Tenant, enabling authentication and federation with the specified IdP. + operationId: CreateSamlIntegration + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/SamlIntegrationCreateCore' + - $ref: '#/components/schemas/SamlIntegrationRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SamlIntegrationResponse' + description: 'OK: The request was successful.' + '400': + content: + application/json: + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + SSO_APPNAME_REQUIRED_SAML: + $ref: '#/components/examples/SSO_APPNAME_REQUIRED_SAML' + SSO_APPNAME_LENGTH_EXCEEDED_SAML: + $ref: '#/components/examples/SSO_APPNAME_LENGTH_EXCEEDED_SAML' + SSO_APPNAME_INVALID_SAML: + $ref: '#/components/examples/SSO_APPNAME_INVALID_SAML' + SAML_IDP_LOCATION_BINDING_REQUIRED: + $ref: '#/components/examples/SAML_IDP_LOCATION_BINDING_REQUIRED' + SAML_IDP_BINDING_INVALID: + $ref: '#/components/examples/SAML_IDP_BINDING_INVALID' + SAML_IDP_LOCATION_REQUIRED: + $ref: '#/components/examples/SAML_IDP_LOCATION_REQUIRED' + SAML_IDP_LOCATION_INVALID: + $ref: '#/components/examples/SAML_IDP_LOCATION_INVALID' + SAML_SP_LOGOUT_URI_REQUIRED_IDP: + $ref: '#/components/examples/SAML_SP_LOGOUT_URI_REQUIRED_IDP' + SAML_SP_LOGOUT_INVALID_IDP: + $ref: '#/components/examples/SAML_SP_LOGOUT_INVALID_IDP' + SAML_LOGIN_URI_REQUIRED: + $ref: '#/components/examples/SAML_LOGIN_URI_REQUIRED' + SAML_LOGIN_URI_INVALID: + $ref: '#/components/examples/SAML_LOGIN_URI_INVALID' + SAML_AFTER_LOGOUT_URI_REQUIRED: + $ref: '#/components/examples/SAML_AFTER_LOGOUT_URI_REQUIRED' + SAML_AFTER_LOGOUT_URI_INVALID: + $ref: '#/components/examples/SAML_AFTER_LOGOUT_URI_INVALID' + SAML_SP_CERTIFICATE_INVALID: + $ref: '#/components/examples/SAML_SP_CERTIFICATE_INVALID' + SAML_SP_CERTIFICATE_REQUIRED: + $ref: '#/components/examples/SAML_SP_CERTIFICATE_REQUIRED' + SAML_ATTRIBUTE_FORMAT_REQUIRED: + $ref: '#/components/examples/SAML_ATTRIBUTE_FORMAT_REQUIRED' + SAML_AUDIENCE_REQUIRED: + $ref: '#/components/examples/SAML_AUDIENCE_REQUIRED' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + '409': + content: + application/json: + examples: + SAML_CONFIG_ALREADY_ADDED: + $ref: '#/components/examples/SAML_CONFIG_ALREADY_ADDED' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Conflict: The request could not be completed due to a conflict with the current state of the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Internal Server Error: The server encountered an unexpected error.' + summary: Create SAML IdP Configuration + tags: + - SAML Integrations + security: + - M2MBearerToken: [] + /v2/manage/integrations/saml/{samlApp}: + delete: + description: Deletes the SAML-based Identity Provider configuration for the Tenant identified by the application name, disabling authentication for the specified application. + operationId: DeleteSamlIntegrationByAppName + parameters: + - $ref: '#/components/parameters/samlApp' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: 'OK: The request was successful.' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + examples: + SAML_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SAML_CONFIG_NOT_FOUND' + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Internal Server Error: The server encountered an unexpected error.' + summary: Delete SAML IdP Configuration + tags: + - SAML Integrations + security: + - M2MBearerToken: [] + get: + description: Retrieves the SAML-based Identity Provider configuration details for the Tenant using the application name, including metadata and settings. + operationId: GetSamlIntegrationByAppName + parameters: + - $ref: '#/components/parameters/samlApp' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SamlIntegrationResponse' + description: 'OK: The request was successful.' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + examples: + SAML_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SAML_CONFIG_NOT_FOUND' + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + summary: Retrieve SAML IdP client configuration by app name + tags: + - SAML Integrations + security: + - M2MBearerToken: [] + put: + operationId: UpdateSamlIntegrationByAppName + description: Updates an existing SAML-based Identity Provider configuration for the Tenant identified by the application name, modifying necessary settings. + parameters: + - $ref: '#/components/parameters/samlApp' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SamlIntegrationRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SamlIntegrationResponse' + description: 'OK: The request was successful.' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + SAML_IDP_BINDING_INVALID: + $ref: '#/components/examples/SAML_IDP_BINDING_INVALID' + SAML_IDP_LOCATION_INVALID: + $ref: '#/components/examples/SAML_IDP_LOCATION_INVALID' + SAML_SP_LOGOUT_INVALID_IDP: + $ref: '#/components/examples/SAML_SP_LOGOUT_INVALID_IDP' + SAML_LOGIN_URI_INVALID: + $ref: '#/components/examples/SAML_LOGIN_URI_INVALID' + SAML_AFTER_LOGOUT_URI_INVALID: + $ref: '#/components/examples/SAML_AFTER_LOGOUT_URI_INVALID' + SAML_SP_CERTIFICATE_INVALID: + $ref: '#/components/examples/SAML_SP_CERTIFICATE_INVALID' + SAML_ATTRIBUTE_FORMAT_REQUIRED: + $ref: '#/components/examples/SAML_ATTRIBUTE_FORMAT_REQUIRED' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + examples: + SAML_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SAML_CONFIG_NOT_FOUND' + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + summary: Update SAML IdP client configuration by app name + tags: + - SAML Integrations + security: + - M2MBearerToken: [] + /v2/manage/integrations/saml/{samlApp}/renew-certificate: + post: + description: Renews the SAML Identity Provider certificate to replace an expiring or compromised signing certificate. + operationId: RenewSamlIntegrationCertificate + parameters: + - $ref: '#/components/parameters/samlApp' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SamlIntegrationResponse' + description: 'OK: The request was successful.' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + content: + application/json: + examples: + SAML_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SAML_CONFIG_NOT_FOUND' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Not Found: The server cannot find the requested resource.' + '409': + content: + application/json: + examples: + SAML_CONFIG_ALREADY_ADDED: + $ref: '#/components/examples/SAML_CONFIG_ALREADY_ADDED' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Conflict: The request could not be completed due to a conflict with the current state of the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Internal Server Error: The server encountered an unexpected error.' + summary: Renew SAML IdP Certificate + tags: + - SAML Integrations + security: + - M2MBearerToken: [] + /v2/manage/integrations/oauth: + get: + summary: List OAuth Integrations + operationId: GetAllOAuthIntegrations + description: Retrieves a list of all configured OAuth/OIDC integrations for the Tenant, including redirect URIs, allowed scopes, grant types, claim mappings, and token settings. + tags: + - OAuth Integrations + security: + - M2MBearerToken: [] + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/OAuthIntegrationResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + post: + summary: Create OAuth Integration + operationId: CreateOAuthIntegration + description: Creates a new OAuth/OIDC integration configuration for the Tenant. The response returns the integration's identifier (Id), which is also the {oAuthApp} segment of the runtime OAuth/OIDC endpoints. Only the authorization_code and refresh_token grant types are permitted. + tags: + - OAuth Integrations + security: + - M2MBearerToken: [] + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/OAuthIntegrationCreateCore' + - $ref: '#/components/schemas/OAuthIntegrationBaseModel' + required: true + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthIntegrationResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + OAUTH_INTEGRATION_CONFIG_INVALID: + $ref: '#/components/examples/OAUTH_INTEGRATION_CONFIG_INVALID' + OAUTH_INTEGRATION_WORKFLOW_NOT_FOUND: + $ref: '#/components/examples/OAUTH_INTEGRATION_WORKFLOW_NOT_FOUND' + OAUTH_GRANT_TYPE_INVALID: + $ref: '#/components/examples/OAUTH_GRANT_TYPE_INVALID' + OAUTH_SCOPE_INVALID: + $ref: '#/components/examples/OAUTH_SCOPE_INVALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/integrations/oauth/{integrationId}: + get: + summary: Retrieve OAuth Integration configuration + operationId: GetOAuthIntegrationById + description: Retrieves the details of a specific OAuth/OIDC integration configuration for the Tenant using its Id, including redirect URIs, scopes, grant types, claim mappings, and token settings. + tags: + - OAuth Integrations + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/integrationId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthIntegrationResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_INTEGRATION_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_INTEGRATION_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + put: + summary: Update OAuth Integration configuration + operationId: UpdateOAuthIntegrationById + description: Updates an existing OAuth/OIDC integration configuration for the Tenant identified by its Id. Id and DisplayName are immutable; only configuration fields are updated. Omitting a field leaves its stored value unchanged, as does a token lifetime of 0; passing an explicit empty AllowedScopes array removes all scopes from the integration. + tags: + - OAuth Integrations + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/integrationId' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthIntegrationBaseModel' + required: true + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthIntegrationResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + OAUTH_INTEGRATION_CONFIG_INVALID: + $ref: '#/components/examples/OAUTH_INTEGRATION_CONFIG_INVALID' + OAUTH_INTEGRATION_WORKFLOW_NOT_FOUND: + $ref: '#/components/examples/OAUTH_INTEGRATION_WORKFLOW_NOT_FOUND' + OAUTH_GRANT_TYPE_INVALID: + $ref: '#/components/examples/OAUTH_GRANT_TYPE_INVALID' + OAUTH_SCOPE_INVALID: + $ref: '#/components/examples/OAUTH_SCOPE_INVALID' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_INTEGRATION_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_INTEGRATION_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + delete: + summary: Delete OAuth Integration configuration + operationId: DeleteOAuthIntegration + description: Deletes an existing OAuth/OIDC integration configuration for the Tenant using its Id, permanently removing it. + tags: + - OAuth Integrations + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/integrationId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_INTEGRATION_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_INTEGRATION_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/integrations/oauth/{integrationId}/credentials: + put: + summary: Rotate OAuth Integration client secret + operationId: RotateOAuthIntegrationCredentials + description: Regenerates the client secret for an existing OAuth/OIDC integration identified by its Id. The ClientId and Id are unchanged; only the secret is rotated. The new plaintext ClientSecret is returned once in this response, and only its hash is persisted server-side. + tags: + - OAuth Integrations + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/integrationId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthIntegrationCredentialsResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_INTEGRATION_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_INTEGRATION_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/custom-providers/jwt: + get: + summary: List JWT SP configurations + operationId: GetAllJwtConfigSPConfigurations + description: Retrieves a list of all Service Provider (SP) configurations associated with JWT clients for the Tenant, including endpoints, mapping, and other settings for each SP setup. + tags: + - JWT Custom Providers + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/JwtSpConfig' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/JWT_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + post: + summary: Create JWT SP configuration + operationId: CreateJwtSPClientConfiguration + description: Creates a new Service Provider (SP) configuration for a JWT client in the Tenant, defining details such as endpoints, mapping, and other required settings. + tags: + - JWT Custom Providers + requestBody: + required: true + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/JwtSpConfigCreateCore' + - $ref: '#/components/schemas/JwtSpConfigBaseModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/JwtSpConfig' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + RAAS_UPDATE_FIELDS_INVALID: + $ref: '#/components/examples/RAAS_UPDATE_FIELDS_INVALID' + SSO_MAPPING_INVALID_JWT_SP: + $ref: '#/components/examples/SSO_MAPPING_INVALID_JWT_SP' + ID_MAPPING_REQUIRED: + $ref: '#/components/examples/ID_MAPPING_REQUIRED' + SSO_MAPPING_REQUIRED_JWT_SP: + $ref: '#/components/examples/SSO_MAPPING_REQUIRED_JWT_SP' + JWT_CLOCK_SKEW_INVALID: + $ref: '#/components/examples/JWT_CLOCK_SKEW_INVALID' + JWT_AUDIENCE_REQUIRED: + $ref: '#/components/examples/JWT_AUDIENCE_REQUIRED' + JWT_ISSUER_REQUIRED: + $ref: '#/components/examples/JWT_ISSUER_REQUIRED' + AUTO_LOOKUP_DOMAIN_INVALID: + $ref: '#/components/examples/AUTO_LOOKUP_DOMAIN_INVALID' + DOMAIN_NAME_IS_REQUIRED_JWT_SP: + $ref: '#/components/examples/DOMAIN_NAME_IS_REQUIRED_JWT_SP' + JWT_JWKSURL_INVALID: + $ref: '#/components/examples/JWT_JWKSURL_INVALID' + JWT_KEY_INVALID: + $ref: '#/components/examples/JWT_KEY_INVALID' + JWT_LOGIN_URL_INVALID_JWT_SP: + $ref: '#/components/examples/JWT_LOGIN_URL_INVALID_JWT_SP' + JWT_ALOGRITHM_INVALID: + $ref: '#/components/examples/JWT_ALOGRITHM_INVALID' + JWT_ALGORITHM_REQUIRED: + $ref: '#/components/examples/JWT_ALGORITHM_REQUIRED' + SSO_APPNAME_INVALID_JWT_SP: + $ref: '#/components/examples/SSO_APPNAME_INVALID_JWT_SP' + SSO_APPNAME_REQUIRED_JWT_SP: + $ref: '#/components/examples/SSO_APPNAME_REQUIRED_JWT_SP' + SSO_APPNAME_LENGTH_EXCEEDED_JWT_SP: + $ref: '#/components/examples/SSO_APPNAME_LENGTH_EXCEEDED_JWT_SP' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + MISSING_JWKSURL: + $ref: '#/components/examples/MISSING_JWKSURL' + MISSING_JWT_KEY: + $ref: '#/components/examples/MISSING_JWT_KEY' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JWT_CONFIG_ALREADY_EXIST: + $ref: '#/components/examples/JWT_CONFIG_ALREADY_EXIST' + DOMAIN_NAME_ALREADY_EXISTS: + $ref: '#/components/examples/DOMAIN_NAME_ALREADY_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/custom-providers/jwt/{jwtApp}: + get: + summary: Retrieve JWT SP configuration + operationId: GetJwtSPClientConfigurationByAppName + description: Retrieves the Service Provider (SP) configuration details for a JWT client in the Tenant using the AppName, including endpoints, mapping, and other configured settings. + tags: + - JWT Custom Providers + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/jwtApp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/JwtSpConfig' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/JWT_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + put: + summary: Update JWT SP configuration + operationId: UpdateJwtSPClientConfigurationByAppName + description: Updates an existing Service Provider (SP) configuration for a JWT client in the Tenant identified by the AppName, modifying settings such as endpoints, mapping, or other configuration details. + tags: + - JWT Custom Providers + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/jwtApp' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/JwtSpConfigBaseModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/JwtSpConfig' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + RAAS_UPDATE_FIELDS_INVALID: + $ref: '#/components/examples/RAAS_UPDATE_FIELDS_INVALID' + SSO_MAPPING_INVALID_JWT_SP: + $ref: '#/components/examples/SSO_MAPPING_INVALID_JWT_SP' + ID_MAPPING_REQUIRED: + $ref: '#/components/examples/ID_MAPPING_REQUIRED' + SSO_MAPPING_REQUIRED_JWT_SP: + $ref: '#/components/examples/SSO_MAPPING_REQUIRED_JWT_SP' + JWT_CLOCK_SKEW_INVALID: + $ref: '#/components/examples/JWT_CLOCK_SKEW_INVALID' + JWT_AUDIENCE_REQUIRED: + $ref: '#/components/examples/JWT_AUDIENCE_REQUIRED' + JWT_ISSUER_REQUIRED: + $ref: '#/components/examples/JWT_ISSUER_REQUIRED' + AUTO_LOOKUP_DOMAIN_INVALID: + $ref: '#/components/examples/AUTO_LOOKUP_DOMAIN_INVALID' + DOMAIN_NAME_IS_REQUIRED_JWT_SP: + $ref: '#/components/examples/DOMAIN_NAME_IS_REQUIRED_JWT_SP' + JWT_JWKSURL_INVALID: + $ref: '#/components/examples/JWT_JWKSURL_INVALID' + JWT_KEY_INVALID: + $ref: '#/components/examples/JWT_KEY_INVALID' + JWT_LOGIN_URL_INVALID_JWT_SP: + $ref: '#/components/examples/JWT_LOGIN_URL_INVALID_JWT_SP' + JWT_ALOGRITHM_INVALID: + $ref: '#/components/examples/JWT_ALOGRITHM_INVALID' + JWT_ALGORITHM_REQUIRED: + $ref: '#/components/examples/JWT_ALGORITHM_REQUIRED' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/JWT_CONFIG_NOT_FOUND' + MISSING_JWKSURL: + $ref: '#/components/examples/MISSING_JWKSURL' + MISSING_JWT_KEY: + $ref: '#/components/examples/MISSING_JWT_KEY' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DOMAIN_NAME_ALREADY_EXISTS: + $ref: '#/components/examples/DOMAIN_NAME_ALREADY_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + delete: + summary: Delete JWT SP configuration + operationId: DeleteJwtSPClientConfigurationByAppName + description: Deletes the Service Provider (SP) configuration for a JWT client in the Tenant identified by the AppName, permanently disabling the application's service provider integration. + tags: + - JWT Custom Providers + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/jwtApp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/JWT_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/custom-providers/saml: + get: + summary: List SAML SP Configurations + operationId: GetAllSAMLSPClientConfigurations + description: Retrieves a list of all Service Provider configurations for SAML clients within the Tenant, including details such as datamap, endpoints, and certificates. + tags: + - SAML Custom Providers + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/SamlSpConfig' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + security: + - M2MBearerToken: [] + post: + summary: Create SAML SP Configuration + operationId: CreateSAMLSPClientConfiguration + description: Creates a new Service Provider configuration for a SAML client within the Tenant, defining necessary settings for SAML authentication flows. + tags: + - SAML Custom Providers + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SamlSpConfigModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SamlSpConfig' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + SAML_PROVIDR_NAME_INVALID: + $ref: '#/components/examples/SAML_PROVIDR_NAME_INVALID' + SAML_PROVIDR_NAME_LENGTH_EXCEEDED: + $ref: '#/components/examples/SAML_PROVIDR_NAME_LENGTH_EXCEEDED' + SSO_FRIENDLY_PROVIDER_NAME_INVALID: + $ref: '#/components/examples/SSO_FRIENDLY_PROVIDER_NAME_INVALID' + SAML_IDP_CERTIFICATE_IS_REQUIRED: + $ref: '#/components/examples/SAML_IDP_CERTIFICATE_IS_REQUIRED' + SAML_IDP_CERTIFICATE_INVALID: + $ref: '#/components/examples/SAML_IDP_CERTIFICATE_INVALID' + SSO_MAPPING_INVALID: + $ref: '#/components/examples/SSO_MAPPING_INVALID' + SSO_MAPPING_REQUIRED: + $ref: '#/components/examples/SSO_MAPPING_REQUIRED' + INVALID_DOMAIN_NAME_SP: + $ref: '#/components/examples/INVALID_DOMAIN_NAME_SP' + DOMAIN_NAME_IS_REQUIRED_SP: + $ref: '#/components/examples/DOMAIN_NAME_IS_REQUIRED_SP' + SAML_SP_LOGOUT_INVALID: + $ref: '#/components/examples/SAML_SP_LOGOUT_INVALID' + SAML_SP_LOCATION_INVALID: + $ref: '#/components/examples/SAML_SP_LOCATION_INVALID' + SAML_SP_LOGOUT_REQUIRED: + $ref: '#/components/examples/SAML_SP_LOGOUT_REQUIRED' + SAML_SP_LOCATION_REQUIRED: + $ref: '#/components/examples/SAML_SP_LOCATION_REQUIRED' + SAML_SP_BINDING_INVALID: + $ref: '#/components/examples/SAML_SP_BINDING_INVALID' + SAML_SP_LOCATION_LOGOUT_BINDING_REQUIRED: + $ref: '#/components/examples/SAML_SP_LOCATION_LOGOUT_BINDING_REQUIRED' + SAML_PROVIDR_NAME_REQUIRED: + $ref: '#/components/examples/SAML_PROVIDR_NAME_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SAML_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SAML_CONFIG_NOT_FOUND' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DOMAIN_NAME_ALREADY_EXISTS: + $ref: '#/components/examples/DOMAIN_NAME_ALREADY_EXISTS' + SAML_CONFIG_ALREADY_ADDED: + $ref: '#/components/examples/SAML_CONFIG_ALREADY_ADDED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/custom-providers/saml/keys: + get: + summary: Retrieve SAML SP Mapping Keys + operationId: GetSamlSPClientMappingKeys + description: Retrieves a list of mapping keys available for configuring attribute mappings in SAML Service Provider clients within the Tenant. + tags: + - SAML Custom Providers + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/SamlKeys' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + security: + - M2MBearerToken: [] + /v2/manage/custom-providers/saml/{samlApp}: + get: + summary: Retrieve SAML SP Configuration + operationId: GetSAMLSPClientConfigurationByAppName + description: Retrieves the Service Provider configuration details for a SAML client within the Tenant, identified by the application name. + tags: + - SAML Custom Providers + parameters: + - $ref: '#/components/parameters/samlApp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SamlSpConfig' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SAML_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SAML_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + put: + summary: Update SAML SP Configuration + operationId: UpdateSAMLSPClientConfigurationByAppName + description: Updates an existing Service Provider configuration for a SAML client within the Tenant, identified by the application name. + tags: + - SAML Custom Providers + parameters: + - $ref: '#/components/parameters/samlApp' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/SamlSpConfigModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/SamlSpConfig' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + SSO_FRIENDLY_PROVIDER_NAME_INVALID: + $ref: '#/components/examples/SSO_FRIENDLY_PROVIDER_NAME_INVALID' + SAML_IDP_CERTIFICATE_INVALID: + $ref: '#/components/examples/SAML_IDP_CERTIFICATE_INVALID' + SSO_MAPPING_INVALID: + $ref: '#/components/examples/SSO_MAPPING_INVALID' + INVALID_DOMAIN_NAME_SP: + $ref: '#/components/examples/INVALID_DOMAIN_NAME_SP' + DOMAIN_NAME_IS_REQUIRED_SP: + $ref: '#/components/examples/DOMAIN_NAME_IS_REQUIRED_SP' + SAML_SP_LOGOUT_INVALID: + $ref: '#/components/examples/SAML_SP_LOGOUT_INVALID' + SAML_SP_LOCATION_INVALID: + $ref: '#/components/examples/SAML_SP_LOCATION_INVALID' + SAML_SP_BINDING_INVALID: + $ref: '#/components/examples/SAML_SP_BINDING_INVALID' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SAML_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SAML_CONFIG_NOT_FOUND' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DOMAIN_NAME_ALREADY_EXISTS: + $ref: '#/components/examples/DOMAIN_NAME_ALREADY_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + delete: + summary: Delete SAML SP Configuration + operationId: DeleteSAMLSPClientConfigurationByAppName + description: Deletes the Service Provider configuration for a SAML client within the Tenant, identified by the application name. + tags: + - SAML Custom Providers + parameters: + - $ref: '#/components/parameters/samlApp' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + SAML_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SAML_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/custom-providers/saml/{samlApp}/renew-certificate: + post: + description: Renews the SAML Service Provider certificate to replace an expiring or compromised certificate. + operationId: RenewSAMLSppCertificate + parameters: + - $ref: '#/components/parameters/samlApp' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SamlSpConfig' + description: 'OK: The request was successful.' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + content: + application/json: + examples: + SAML_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SAML_CONFIG_NOT_FOUND' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Not Found: The server cannot find the requested resource.' + '409': + content: + application/json: + examples: + SAML_CONFIG_ALREADY_ADDED: + $ref: '#/components/examples/SAML_CONFIG_ALREADY_ADDED' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Conflict: The request could not be completed due to a conflict with the current state of the resource.' + '500': + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Internal Server Error: The server encountered an unexpected error.' + summary: Renew SAML SP Certificate + tags: + - SAML Custom Providers + security: + - M2MBearerToken: [] + /v2/manage/custom-fields: + get: + summary: List custom fields + operationId: GetAllCustomFields + description: Retrieves all Custom Fields created for the Tenant. + tags: + - Custom Fields + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/RaasCustomField' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + CUSTOM_FIELD_LIMIT_EXCEEDED: + $ref: '#/components/examples/CUSTOM_FIELD_LIMIT_EXCEEDED' + security: + - M2MBearerToken: [] + post: + summary: Create custom field + operationId: CreateCustomField + description: Creates a new Custom Field for the Tenant. + tags: + - Custom Fields + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/RaasCustomFieldModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/RaasCustomField' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + INVALID_NAME: + $ref: '#/components/examples/INVALID_NAME' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOM_FIELD_ALLREADY_EXISTS: + $ref: '#/components/examples/CUSTOM_FIELD_ALLREADY_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + put: + summary: Set custom field + operationId: SetCustomField + description: Updates or sets a Custom Field instance in RAAS to be displayed on forms for the Tenant. + tags: + - Custom Fields + requestBody: + required: true + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/RaasConfigData' + minItems: 1 + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/RaasConfig' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOM_FIELD_NOT_FOUND: + $ref: '#/components/examples/CUSTOM_FIELD_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/custom-fields/{cfname}: + delete: + summary: Delete custom field + operationId: DeleteCustomField + description: Deletes a Custom Field by name for the Tenant. + tags: + - Custom Fields + security: + - M2MBearerToken: [] + parameters: + - $ref: '#/components/parameters/CustomFieldsName' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOM_FIELD_NOT_FOUND: + $ref: '#/components/examples/CUSTOM_FIELD_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/custom-fields/list: + get: + summary: List custom fields + operationId: ListCustomFields + description: Retrieves all custom fields for the Tenant, returned as an array of strings. + tags: + - Custom Fields + security: + - M2MBearerToken: [] + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + type: string + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOMER_REGISTRATION_CUSTOM_DATA_NOT_EXISTS: + $ref: '#/components/examples/CUSTOMER_REGISTRATION_CUSTOM_DATA_NOT_EXISTS' + /v2/manage/custom-fields/active: + get: + summary: List active custom fields + operationId: GetActiveCustomFields + description: Retrieves all custom fields currently active in the registration form for the Tenant. + tags: + - Custom Fields + security: + - M2MBearerToken: [] + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/RaasConfig' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOMER_REGISTRATION_CUSTOM_DATA_NOT_EXISTS: + $ref: '#/components/examples/CUSTOMER_REGISTRATION_CUSTOM_DATA_NOT_EXISTS' + CUSTOM_FIELD_NOT_FOUND: + $ref: '#/components/examples/CUSTOM_FIELD_NOT_FOUND' + /v2/manage/custom-fields/limit: + get: + summary: Retrieve custom field limit + operationId: GetCustomFieldLimit + description: Retrieves the Custom Field Limit configured for the Tenant. + tags: + - Custom Fields + security: + - M2MBearerToken: [] + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/CustomFieldLimitResponse' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /v2/manage/oauth-clients: + get: + description: Retrieves a comprehensive list of OAuth client configurations for the Tenant, including client IDs, redirect URIs, scopes, and other relevant settings. + operationId: GetAllOAuthClientsConfigurations + responses: + '200': + content: + application/json: + schema: + properties: + Data: + items: + $ref: '#/components/schemas/OAuthClientResponse' + type: array + description: 'OK: The request was successful.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '500': + description: 'Status Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + summary: List OAuth clients + tags: + - OAuth Clients + security: + - M2MBearerToken: [] + post: + description: Creates a new OAuth client configuration for the Tenant by specifying redirect URIs, scopes, and other necessary settings to enable OAuth authentication and authorization. + operationId: CreateOAuthClientConfiguration + requestBody: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/OAuthClientCreateCore' + - $ref: '#/components/schemas/OAuthClientRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthClientResponse' + description: 'OK: The request was successful.' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + SSO_APPNAME_REQUIRED_OAUTH: + $ref: '#/components/examples/SSO_APPNAME_REQUIRED_OAUTH' + SSO_APPNAME_LENGTH_EXCEEDED_OAUTH: + $ref: '#/components/examples/SSO_APPNAME_LENGTH_EXCEEDED_OAUTH' + SSO_APPNAME_INVALID_OAUTH: + $ref: '#/components/examples/SSO_APPNAME_INVALID_OAUTH' + OAUTH_AUDIENCE_SCOPES_INVALID: + $ref: '#/components/examples/OAUTH_AUDIENCE_SCOPES_INVALID' + OAUTH_GRANT_TYPE_INVALID: + $ref: '#/components/examples/OAUTH_GRANT_TYPE_INVALID' + OAUTH_SCOPE_INVALID: + $ref: '#/components/examples/OAUTH_SCOPE_INVALID' + OAUTH_CLIENT_TYPE_INVALID: + $ref: '#/components/examples/OAUTH_CLIENT_TYPE_INVALID' + OAUTH_DESCRIPTION_LENGTH_EXCEEDED: + $ref: '#/components/examples/OAUTH_DESCRIPTION_LENGTH_EXCEEDED' + OAUTH_TOKEN_AUTH_METHOD_INVALID: + $ref: '#/components/examples/OAUTH_TOKEN_AUTH_METHOD_INVALID' + OAUTH_GTY_CLIENT_CRED_NOT_ALLOWED_WITH_NONE: + $ref: '#/components/examples/OAUTH_GTY_CLIENT_CRED_NOT_ALLOWED_WITH_NONE' + OAUTH_GTY_TOKEN_EXCH_NOT_ALLOWED_WITH_NONE: + $ref: '#/components/examples/OAUTH_GTY_TOKEN_EXCH_NOT_ALLOWED_WITH_NONE' + OAUTH_JWTCONFIG_TOKEN_TTL_INVALID: + $ref: '#/components/examples/OAUTH_JWTCONFIG_TOKEN_TTL_INVALID' + OAUTH_REFRESH_TOKEN_TTL_INVALID: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_TTL_INVALID' + OAUTH_REFRESH_TOKEN_TTL_MUST_GT_TOKEN_TTL: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_TTL_MUST_GT_TOKEN_TTL' + OAUTH_LOGIN_REDIRECT_URL_INVALID: + $ref: '#/components/examples/OAUTH_LOGIN_REDIRECT_URL_INVALID' + OAUTH_CORS_ORIGIN_INVALID: + $ref: '#/components/examples/OAUTH_CORS_ORIGIN_INVALID' + OAUTH_DEVICE_CODE_BOTH_VERIFICATION_URL_REQUIRED: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_BOTH_VERIFICATION_URL_REQUIRED' + OAUTH_DEVICE_CODE_VERIFICATION_URL_REQUIRED: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_VERIFICATION_URL_REQUIRED' + OAUTH_DEVICE_CODE_AFTER_VERIFICATION_URL_REQUIRED: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_AFTER_VERIFICATION_URL_REQUIRED' + OAUTH_DEVICE_CODE_EXPIRE_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_EXPIRE_INVALID' + OAUTH_DEVICE_CODE_POLLING_INTERVAL_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_POLLING_INTERVAL_INVALID' + OAUTH_DEVICE_CODE_USER_CHAR_SET_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_USER_CHAR_SET_INVALID' + OAUTH_DEVICE_CODE_USER_CODE_MASK_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_USER_CODE_MASK_INVALID' + OAUTH_DEVICE_CODE_VERIFICATION_URL_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_VERIFICATION_URL_INVALID' + OAUTH_DEVICE_CODE_AFTER_VERIFICATION_URL_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_AFTER_VERIFICATION_URL_INVALID' + OAUTH_LOGOUT_REDIRECT_URL_INVALID: + $ref: '#/components/examples/OAUTH_LOGOUT_REDIRECT_URL_INVALID' + OAUTH_CIBA_TOKEN_TTL_INVALID: + $ref: '#/components/examples/OAUTH_CIBA_TOKEN_TTL_INVALID' + OAUTH_CIBA_LOGOUT_URI_INVALID: + $ref: '#/components/examples/OAUTH_CIBA_LOGOUT_URI_INVALID' + OAUTH_CIBA_LOGOUT_URI_REQUIRED: + $ref: '#/components/examples/OAUTH_CIBA_LOGOUT_URI_REQUIRED' + OAUTH_SECRET_FORMAT_INVALID: + $ref: '#/components/examples/OAUTH_SECRET_FORMAT_INVALID' + OAUTH_REFRESH_TOKEN_ROTATION_OVERLAP_INVALID: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_ROTATION_OVERLAP_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + WORKFLOW_NOT_FOUND: + $ref: '#/components/examples/WORKFLOW_NOT_FOUND' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '409': + description: 'Status Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + examples: + OAUTH_CONFIG_ALREADY_EXIST: + $ref: '#/components/examples/OAUTH_CONFIG_ALREADY_EXIST' + schema: + $ref: '#/components/schemas/ErrorResponse' + '500': + description: 'Status Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + summary: Create OAuth client + tags: + - OAuth Clients + security: + - M2MBearerToken: [] + /v2/manage/oauth-clients/{oAuthClientName}: + delete: + description: Deletes the OAuth client configuration for the Tenant identified by the application name. + operationId: DeleteOAuthClient + parameters: + - $ref: '#/components/parameters/oAuthClientName' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: 'OK: The request was successful.' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_CONFIG_NOT_FOUND' + '500': + description: 'Status Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + summary: Delete OAuth Client Configuration + tags: + - OAuth Clients + security: + - M2MBearerToken: [] + get: + description: Retrieves the OAuth client configuration details for the Tenant using the application name. + operationId: GetOAuthClientConfigurationByAppName + parameters: + - $ref: '#/components/parameters/oAuthClientName' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthClientResponse' + description: 'OK: The request was successful.' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_CONFIG_NOT_FOUND' + '500': + description: 'Status Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + summary: Retrieve OAuth Client Configuration + tags: + - OAuth Clients + security: + - M2MBearerToken: [] + put: + description: Updates the OAuth client configuration for the Tenant identified by the application name. + operationId: UpdateOAuthClientConfigurationByAppName + parameters: + - $ref: '#/components/parameters/oAuthClientName' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthClientRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthClientResponse' + description: 'OK: The request was successful.' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + OAUTH_AUDIENCE_SCOPES_INVALID: + $ref: '#/components/examples/OAUTH_AUDIENCE_SCOPES_INVALID' + OAUTH_GRANT_TYPE_INVALID: + $ref: '#/components/examples/OAUTH_GRANT_TYPE_INVALID' + OAUTH_SCOPE_INVALID: + $ref: '#/components/examples/OAUTH_SCOPE_INVALID' + OAUTH_CLIENT_TYPE_INVALID: + $ref: '#/components/examples/OAUTH_CLIENT_TYPE_INVALID' + OAUTH_DESCRIPTION_LENGTH_EXCEEDED: + $ref: '#/components/examples/OAUTH_DESCRIPTION_LENGTH_EXCEEDED' + OAUTH_TOKEN_AUTH_METHOD_INVALID: + $ref: '#/components/examples/OAUTH_TOKEN_AUTH_METHOD_INVALID' + OAUTH_PASSWORD_LESS_LOGIN_FEATURE_DISABLED: + $ref: '#/components/examples/OAUTH_PASSWORD_LESS_LOGIN_FEATURE_DISABLED' + OAUTH_PASSWORD_LESS_EMAIL_LOGIN_DISABLED: + $ref: '#/components/examples/OAUTH_PASSWORD_LESS_EMAIL_LOGIN_DISABLED' + OAUTH_PASSWORD_LESS_SMS_LOGIN_DISABLED: + $ref: '#/components/examples/OAUTH_PASSWORD_LESS_SMS_LOGIN_DISABLED' + OAUTH_GTY_CLIENT_CRED_NOT_ALLOWED_WITH_NONE: + $ref: '#/components/examples/OAUTH_GTY_CLIENT_CRED_NOT_ALLOWED_WITH_NONE' + OAUTH_GTY_TOKEN_EXCH_NOT_ALLOWED_WITH_NONE: + $ref: '#/components/examples/OAUTH_GTY_TOKEN_EXCH_NOT_ALLOWED_WITH_NONE' + OAUTH_JWTCONFIG_TOKEN_TTL_INVALID: + $ref: '#/components/examples/OAUTH_JWTCONFIG_TOKEN_TTL_INVALID' + OAUTH_REFRESH_TOKEN_TTL_INVALID: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_TTL_INVALID' + OAUTH_REFRESH_TOKEN_TTL_MUST_GT_TOKEN_TTL: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_TTL_MUST_GT_TOKEN_TTL' + OAUTH_LOGIN_REDIRECT_URL_INVALID: + $ref: '#/components/examples/OAUTH_LOGIN_REDIRECT_URL_INVALID' + OAUTH_CORS_ORIGIN_INVALID: + $ref: '#/components/examples/OAUTH_CORS_ORIGIN_INVALID' + OAUTH_DEVICE_CODE_BOTH_VERIFICATION_URL_REQUIRED: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_BOTH_VERIFICATION_URL_REQUIRED' + OAUTH_DEVICE_CODE_VERIFICATION_URL_REQUIRED: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_VERIFICATION_URL_REQUIRED' + OAUTH_DEVICE_CODE_AFTER_VERIFICATION_URL_REQUIRED: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_AFTER_VERIFICATION_URL_REQUIRED' + OAUTH_DEVICE_CODE_EXPIRE_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_EXPIRE_INVALID' + OAUTH_DEVICE_CODE_POLLING_INTERVAL_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_POLLING_INTERVAL_INVALID' + OAUTH_DEVICE_CODE_USER_CHAR_SET_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_USER_CHAR_SET_INVALID' + OAUTH_DEVICE_CODE_USER_CODE_MASK_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_USER_CODE_MASK_INVALID' + OAUTH_DEVICE_CODE_VERIFICATION_URL_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_VERIFICATION_URL_INVALID' + OAUTH_DEVICE_CODE_AFTER_VERIFICATION_URL_INVALID: + $ref: '#/components/examples/OAUTH_DEVICE_CODE_AFTER_VERIFICATION_URL_INVALID' + OAUTH_LOGOUT_REDIRECT_URL_INVALID: + $ref: '#/components/examples/OAUTH_LOGOUT_REDIRECT_URL_INVALID' + OAUTH_CIBA_TOKEN_TTL_INVALID: + $ref: '#/components/examples/OAUTH_CIBA_TOKEN_TTL_INVALID' + OAUTH_CIBA_LOGOUT_URI_INVALID: + $ref: '#/components/examples/OAUTH_CIBA_LOGOUT_URI_INVALID' + OAUTH_CIBA_LOGOUT_URI_REQUIRED: + $ref: '#/components/examples/OAUTH_CIBA_LOGOUT_URI_REQUIRED' + OAUTH_SECRET_FORMAT_INVALID: + $ref: '#/components/examples/OAUTH_SECRET_FORMAT_INVALID' + OAUTH_REFRESH_TOKEN_ROTATION_OVERLAP_INVALID: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_ROTATION_OVERLAP_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + WORKFLOW_NOT_FOUND: + $ref: '#/components/examples/WORKFLOW_NOT_FOUND' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_CONFIG_NOT_FOUND' + '500': + description: 'Status Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + summary: Update OAuth Client Configuration + tags: + - OAuth Clients + security: + - M2MBearerToken: [] + /v2/manage/oauth-clients/credentials/{oAuthClientName}: + put: + description: Resets the client secret for the OAuth client configuration identified by the AppName within the Tenant, generating a new client secret and invalidating the previous one to enhance security. + operationId: ResetOAuthClientConfigurationSecretByAppName + parameters: + - $ref: '#/components/parameters/oAuthClientName' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthClientSecretResetResponse' + description: 'OK: The request was successful.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_CONFIG_NOT_FOUND: + $ref: '#/components/examples/OAUTH_CONFIG_NOT_FOUND' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OAUTH_CONFIG_CREDENTIALS_RESET_FAILED: + $ref: '#/components/examples/OAUTH_CONFIG_CREDENTIALS_RESET_FAILED' + '500': + description: 'Status Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + schema: + $ref: '#/components/schemas/ErrorResponse' + summary: Reset OAuth client secret + tags: + - OAuth Clients + security: + - M2MBearerToken: [] + /v2/manage/oauth-clients/connections-metadata: + get: + description: Retrieves metadata for OAuth client connections within the Tenant. + operationId: GetOAuthClientConnectionsMetadata + responses: + '200': + content: + application/json: + schema: + properties: + CustomIdp: + type: array + items: + type: string + Enterprise: + type: array + items: + type: string + SocialLogins: + type: array + items: + type: string + description: 'OK: The request was successful.' + '403': + content: + application/json: + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + schema: + $ref: '#/components/schemas/ErrorResponse' + description: 'Status Forbidden: The client does not have permission to access the resource.' + summary: Retrieve OAuth Client Metadata + tags: + - OAuth Clients + security: + - M2MBearerToken: [] + /v2/manage/custom-providers/oauth: + get: + summary: List custom OAuth providers + operationId: GetAllCustomOAuthProviders + description: Retrieves all custom OAuth providers configured for the Tenant. + tags: + - OAuth Custom Providers + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/OAuth2Provider' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ERROR_UNMARSHALLING_DATA: + $ref: '#/components/examples/ERROR_UNMARSHALLING_DATA' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOM_OAUTH_CONFIG_NOT_FOUND: + $ref: '#/components/examples/CUSTOM_OAUTH_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + post: + summary: Create custom OAuth provider + operationId: CreateCustomProvider + description: Creates a new Custom OAuth provider for the Tenant. + tags: + - OAuth Custom Providers + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CustomOAuth2Model' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuth2Provider' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_INVALID: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_INVALID' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + ERROR_UNMARSHALLING_DATA: + $ref: '#/components/examples/ERROR_UNMARSHALLING_DATA' + INVALID_DOMAIN_NAME: + $ref: '#/components/examples/INVALID_DOMAIN_NAME' + DOMAIN_NAME_IS_REQUIRED: + $ref: '#/components/examples/DOMAIN_NAME_IS_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DOMAIN_NAME_ALREADY_EXISTS: + $ref: '#/components/examples/DOMAIN_NAME_ALREADY_EXISTS' + CUSTOM_OAUTH_PROVIDER_ALREADY_ADDED: + $ref: '#/components/examples/CUSTOM_OAUTH_PROVIDER_ALREADY_ADDED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + put: + summary: Update custom OAuth provider + operationId: UpdateCustomProvider + description: Updates an existing Custom OAuth provider for the Tenant using the provider name specified in the request body. + tags: + - OAuth Custom Providers + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CustomOAuth2UpdateModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuth2Provider' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + ERROR_UNMARSHALLING_DATA: + $ref: '#/components/examples/ERROR_UNMARSHALLING_DATA' + INVALID_DOMAIN_NAME: + $ref: '#/components/examples/INVALID_DOMAIN_NAME' + DOMAIN_NAME_IS_REQUIRED: + $ref: '#/components/examples/DOMAIN_NAME_IS_REQUIRED' + PROVIDER_IS_NOT_VALID: + $ref: '#/components/examples/PROVIDER_IS_NOT_VALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOM_OAUTH_CONFIG_NOT_FOUND: + $ref: '#/components/examples/CUSTOM_OAUTH_CONFIG_NOT_FOUND' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + DOMAIN_NAME_ALREADY_EXISTS: + $ref: '#/components/examples/DOMAIN_NAME_ALREADY_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + delete: + summary: Delete custom OAuth provider + operationId: DeleteCustomProvider + description: Deletes an existing Custom OAuth provider for the Tenant using the provider name specified in the request body. + tags: + - OAuth Custom Providers + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/CustomOAuth2DeleteModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_DELETE_BODY_REQUIRED: + $ref: '#/components/examples/JSON_DELETE_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_REQUIRED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOM_OAUTH_CONFIG_NOT_FOUND: + $ref: '#/components/examples/CUSTOM_OAUTH_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /v2/manage/custom-providers/oauth/keys: + get: + summary: Retrieve custom OAuth provider keys + operationId: GetCustomProviderKeys + description: Retrieves all custom OAuth provider keys for the Tenant. + tags: + - OAuth Custom Providers + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + properties: + Data: + type: array + items: + $ref: '#/components/schemas/CustomProviderKeys' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + ERROR_RAAS_CONFIG_EMPTY: + $ref: '#/components/examples/ERROR_RAAS_CONFIG_EMPTY' + security: + - M2MBearerToken: [] + /v2/manage/password-policies: + get: + summary: Retrieve Password policy + operationId: GetPasswordPolicy + description: Retrieves the Password policy settings for a specific Tenant. + tags: + - Password Policy + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordPolicy' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + put: + summary: Update Password policy + operationId: UpdatePasswordPolicy + description: Updates the Password policy settings for a specific Tenant. + tags: + - Password Policy + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordPolicy' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/PasswordPolicy' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_PUT_BODY_REQUIRED: + $ref: '#/components/examples/JSON_PUT_BODY_REQUIRED' + INVALID_EXPIRATION_FREQUENCY_TYPE: + $ref: '#/components/examples/INVALID_EXPIRATION_FREQUENCY_TYPE' + INVALID_EXPIRATION_FREQUENCY: + $ref: '#/components/examples/INVALID_EXPIRATION_FREQUENCY' + INVALID_MAX_PASSWORD_HISTORY: + $ref: '#/components/examples/INVALID_MAX_PASSWORD_HISTORY' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + '404': + description: 'Not Found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CUSTOMER_REGISTRATION_CONFIG_NOT_FOUND: + $ref: '#/components/examples/CUSTOMER_REGISTRATION_CONFIG_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + security: + - M2MBearerToken: [] + /identity: + get: + summary: Retrieve User's by pagination + description: Retrieves User's data using the specified pagination parameters. + servers: + - url: https://cloud-api.loginradius.com + description: LoginRadius Cloud API Prod Server + tags: + - Identity + operationId: getUserProfilesByPageId + parameters: + - $ref: '#/components/parameters/Next' + - $ref: '#/components/parameters/Region' + responses: + '200': + description: Status Ok - The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileResponse' + '400': + description: Bad Request - Invalid query parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + ApiKeySecretMissing: + $ref: '#/components/examples/ApiKeySecretMissing' + ApiKeyMissing: + $ref: '#/components/examples/ApiKeyMissing' + ApiSecretMissing: + $ref: '#/components/examples/ApiSecretMissing' + ApiKeyInvalid: + $ref: '#/components/examples/ApiKeyInvalid' + ApiSecretInvalid: + $ref: '#/components/examples/ApiSecretInvalid' + NextParamInvalid: + $ref: '#/components/examples/NextParamInvalid' + NextParamNotValid: + $ref: '#/components/examples/NextParamNotValid' + '401': + description: Unauthorized - The request requires User authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + AccessRestriction: + $ref: '#/components/examples/AccessRestriction' + '403': + description: Forbidden - Access to the resource is denied. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + NextParamMissing: + $ref: '#/components/examples/NextParamMissing' + ApiKeyUnauthorized: + $ref: '#/components/examples/ApiKeyUnauthorized' + ApiSecretUnauthorized: + $ref: '#/components/examples/ApiSecretUnauthorized' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + post: + summary: Retrieve User's by query + description: Retrieves User's data based on specified query filters. + servers: + - url: https://cloud-api.loginradius.com + description: LoginRadius Cloud API Prod Server + parameters: + - $ref: '#/components/parameters/Region' + tags: + - Identity + operationId: queryUserProfiles + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileRequestBody' + responses: + '200': + description: Status Ok -The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileScrollResponse' + '400': + description: Bad Request - Invalid query parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + PostBodyInvalid: + $ref: '#/components/examples/PostBodyInvalid' + ApiKeySecretMissing: + $ref: '#/components/examples/ApiKeySecretMissing' + ApiKeyMissing: + $ref: '#/components/examples/ApiKeyMissing' + ApiSecretMissing: + $ref: '#/components/examples/ApiSecretMissing' + ApiKeyInvalid: + $ref: '#/components/examples/ApiKeyInvalid' + ApiSecretInvalid: + $ref: '#/components/examples/ApiSecretInvalid' + ParameterBadFormat: + $ref: '#/components/examples/ParameterBadFormat' + DateRangeMissing: + $ref: '#/components/examples/DateRangeMissing' + DateRangeFromInvalidFormat: + $ref: '#/components/examples/DateRangeFromInvalidFormat' + DateRangeToInvalidFormat: + $ref: '#/components/examples/DateRangeToInvalidFormat' + DateRangeInvalid: + $ref: '#/components/examples/DateRangeInvalid' + QueryFormatInvalid: + $ref: '#/components/examples/QueryFormatInvalid' + QueryInvalid: + $ref: '#/components/examples/QueryInvalid' + '401': + description: Unauthorized - The request requires User authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + AccessRestriction: + $ref: '#/components/examples/AccessRestriction' + '403': + description: Forbidden - Access to the resource is denied. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + ApiKeyUnauthorized: + $ref: '#/components/examples/ApiKeyUnauthorized' + ApiSecretUnauthorized: + $ref: '#/components/examples/ApiSecretUnauthorized' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + /identity/customobject: + get: + summary: Retrieve User's and Custom Object data by pagination + description: Retrieves User's and Custom Object data per User based on the pagination parameters. + servers: + - url: https://cloud-api.loginradius.com + description: LoginRadius Cloud API Prod Server + tags: + - Custom Objects + operationId: getCustomObjectByQuery + parameters: + - $ref: '#/components/parameters/Region' + - $ref: '#/components/parameters/CustomObject' + - $ref: '#/components/parameters/Next' + responses: + '200': + description: Status Ok - The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/userProfileNextResponseWithCustomObject' + '400': + description: Bad Request - Invalid query parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + ApiKeySecretMissing: + $ref: '#/components/examples/ApiKeySecretMissing' + ApiKeyMissing: + $ref: '#/components/examples/ApiKeyMissing' + ApiSecretMissing: + $ref: '#/components/examples/ApiSecretMissing' + ApiKeyInvalid: + $ref: '#/components/examples/ApiKeyInvalid' + ApiSecretInvalid: + $ref: '#/components/examples/ApiSecretInvalid' + CustomObjectNameInvalid: + $ref: '#/components/examples/CustomObjectNameInvalid' + CustomObjectNotAvailable: + $ref: '#/components/examples/CustomObjectNotAvailable' + NextParamInvalid: + $ref: '#/components/examples/NextParamInvalid' + NextParamNotValid: + $ref: '#/components/examples/NextParamNotValid' + '401': + description: Unauthorized - The request requires User authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + AccessRestriction: + $ref: '#/components/examples/AccessRestriction' + '403': + description: Forbidden - The request was valid, but the server is refusing to respond to it. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + NextParamMissing: + $ref: '#/components/examples/NextParamMissing' + ApiKeyUnauthorized: + $ref: '#/components/examples/ApiKeyUnauthorized' + ApiSecretUnauthorized: + $ref: '#/components/examples/ApiSecretUnauthorized' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + post: + summary: Retrieve User's and Custom Object data by query + description: Retrieves User's and Custom Objects data per User based on the query. + servers: + - url: https://cloud-api.loginradius.com + description: LoginRadius Cloud API Prod Server + tags: + - Custom Objects + operationId: postCustomObjectByQuery + parameters: + - $ref: '#/components/parameters/Region' + - $ref: '#/components/parameters/CustomObject' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileRequestBody' + responses: + '200': + description: Status Ok - The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/userProfileScrollResponseWithCustomObject' + '400': + description: Bad Request - Invalid query parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + PostBodyInvalid: + $ref: '#/components/examples/PostBodyInvalid' + ApiKeySecretMissing: + $ref: '#/components/examples/ApiKeySecretMissing' + ApiKeyMissing: + $ref: '#/components/examples/ApiKeyMissing' + ApiSecretMissing: + $ref: '#/components/examples/ApiSecretMissing' + ApiKeyInvalid: + $ref: '#/components/examples/ApiKeyInvalid' + ApiSecretInvalid: + $ref: '#/components/examples/ApiSecretInvalid' + ParameterBadFormat: + $ref: '#/components/examples/ParameterBadFormat' + DateRangeMissing: + $ref: '#/components/examples/DateRangeMissing' + DateRangeFromInvalidFormat: + $ref: '#/components/examples/DateRangeFromInvalidFormat' + DateRangeToInvalidFormat: + $ref: '#/components/examples/DateRangeToInvalidFormat' + DateRangeInvalid: + $ref: '#/components/examples/DateRangeInvalid' + QueryFormatInvalid: + $ref: '#/components/examples/QueryFormatInvalid' + QueryInvalid: + $ref: '#/components/examples/QueryInvalid' + CustomObjectNameInvalid: + $ref: '#/components/examples/CustomObjectNameInvalid' + CustomObjectNotAvailable: + $ref: '#/components/examples/CustomObjectNotAvailable' + '401': + description: Unauthorized - The request requires User authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + AccessRestriction: + $ref: '#/components/examples/AccessRestriction' + '403': + description: Forbidden - The request was valid, but the server is refusing to respond to it + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + ApiKeyUnauthorized: + $ref: '#/components/examples/ApiKeyUnauthorized' + ApiSecretUnauthorized: + $ref: '#/components/examples/ApiSecretUnauthorized' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + /customobject: + get: + summary: Retrieve Custom Object data by pagination + description: Retrieves Custom Object data based on specified pagination parameters. + servers: + - url: https://cloud-api.loginradius.com + description: LoginRadius Cloud API Prod Server + tags: + - Custom Objects + operationId: getAllCustomObjectsByQuery + parameters: + - $ref: '#/components/parameters/CustomObject' + - $ref: '#/components/parameters/Region' + - $ref: '#/components/parameters/Next' + responses: + '200': + description: Status Ok - The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileNextResponse' + '400': + description: Bad Request - Invalid query parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + ApiKeySecretMissing: + $ref: '#/components/examples/ApiKeySecretMissing' + ApiKeyMissing: + $ref: '#/components/examples/ApiKeyMissing' + ApiSecretMissing: + $ref: '#/components/examples/ApiSecretMissing' + ApiKeyInvalid: + $ref: '#/components/examples/ApiKeyInvalid' + ApiSecretInvalid: + $ref: '#/components/examples/ApiSecretInvalid' + CustomObjectNameMissing: + $ref: '#/components/examples/CustomObjectNameMissing' + CustomObjectNameInvalid: + $ref: '#/components/examples/CustomObjectNameInvalid' + CustomObjectSchemaNotSet: + $ref: '#/components/examples/CustomObjectSchemaNotSet' + NextParamInvalid: + $ref: '#/components/examples/NextParamInvalid' + NextParamNotValid: + $ref: '#/components/examples/NextParamNotValid' + QueryInvalid: + $ref: '#/components/examples/QueryInvalid' + '403': + description: Forbidden - The request was valid, but the server is refusing to respond to it. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + NextParamMissing: + $ref: '#/components/examples/NextParamMissing' + ApiKeyUnauthorized: + $ref: '#/components/examples/ApiKeyUnauthorized' + ApiSecretUnauthorized: + $ref: '#/components/examples/ApiSecretUnauthorized' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + post: + summary: Retrieve Custom Object data by query + description: Retrieves Custom Object data based on specified query filters. + servers: + - url: https://cloud-api.loginradius.com + description: LoginRadius Cloud API Prod Server + tags: + - Custom Objects + operationId: postAllCustomObjectsByQuery + parameters: + - $ref: '#/components/parameters/CustomObject' + - $ref: '#/components/parameters/Region' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileRequestBody' + responses: + '200': + description: Status Ok - The request was successful. + content: + application/json: + schema: + $ref: '#/components/schemas/UserProfileScrollResponse' + '400': + description: Bad Request - Invalid query parameters. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + PostBodyInvalid: + $ref: '#/components/examples/PostBodyInvalid' + ApiKeySecretMissing: + $ref: '#/components/examples/ApiKeySecretMissing' + ApiKeyMissing: + $ref: '#/components/examples/ApiKeyMissing' + ApiSecretMissing: + $ref: '#/components/examples/ApiSecretMissing' + ApiKeyInvalid: + $ref: '#/components/examples/ApiKeyInvalid' + ApiSecretInvalid: + $ref: '#/components/examples/ApiSecretInvalid' + ParameterBadFormat: + $ref: '#/components/examples/ParameterBadFormat' + CustomObjectNameMissing: + $ref: '#/components/examples/CustomObjectNameMissing' + CustomObjectNameInvalid: + $ref: '#/components/examples/CustomObjectNameInvalid' + CustomObjectSchemaNotSet: + $ref: '#/components/examples/CustomObjectSchemaNotSet' + DateRangeMissing: + $ref: '#/components/examples/DateRangeMissing' + DateRangeFromInvalidFormat: + $ref: '#/components/examples/DateRangeFromInvalidFormat' + DateRangeToInvalidFormat: + $ref: '#/components/examples/DateRangeToInvalidFormat' + DateRangeInvalid: + $ref: '#/components/examples/DateRangeInvalid' + QueryFormatInvalid: + $ref: '#/components/examples/QueryFormatInvalid' + QueryInvalid: + $ref: '#/components/examples/QueryInvalid' + '401': + description: Unauthorized - The request requires User authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + AccessRestriction: + $ref: '#/components/examples/AccessRestriction' + '403': + description: Forbidden - The request was valid, but the server is refusing to respond to it due to access restrictions. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + ApiKeyUnauthorized: + $ref: '#/components/examples/ApiKeyUnauthorized' + ApiSecretUnauthorized: + $ref: '#/components/examples/ApiSecretUnauthorized' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + /insights/userprofiles: + post: + summary: Retrieve User's data by filters + description: Retrieves users based on specified query parameters. + servers: + - url: https://cloud-api.loginradius.com + description: LoginRadius Cloud API Prod Server + parameters: + - $ref: '#/components/parameters/Region' + tags: + - Insights + operationId: queryUserProfilesInsights + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/requestPayload' + responses: + '200': + description: Successful response with User data. + content: + application/json: + schema: + $ref: '#/components/schemas/InsightsResponse' + '400': + description: Bad Request - The request was invalid or cannot be served. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + ApiKeySecretMissing: + $ref: '#/components/examples/ApiKeySecretMissing' + ApiKeyMissing: + $ref: '#/components/examples/ApiKeyMissing' + ApiSecretMissing: + $ref: '#/components/examples/ApiSecretMissing' + ApiKeyInvalid: + $ref: '#/components/examples/ApiKeyInvalid' + ApiSecretInvalid: + $ref: '#/components/examples/ApiSecretInvalid' + QueryInvalid: + $ref: '#/components/examples/QueryInvalid' + PostBodyInvalid: + $ref: '#/components/examples/PostBodyInvalid' + '401': + description: Unauthorized - The request requires User authentication. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + AccessRestriction: + $ref: '#/components/examples/AccessRestriction' + '403': + description: Forbidden - The request was valid, but the server is refusing to respond to it. + content: + application/json: + schema: + $ref: '#/components/schemas/ApiError' + examples: + ApiKeyUnauthorized: + $ref: '#/components/examples/ApiKeyUnauthorized' + ApiSecretUnauthorized: + $ref: '#/components/examples/ApiSecretUnauthorized' + security: + - APIKey: [] + APISecret: [] + - XLoginRadiusAPIKey: [] + XLoginRadiusAPISecret: [] + /api/jwt/{JwtAppName}/login: + post: + operationId: GetJWTTokenByLoginCredentials + summary: Retrieve JWT token + description: Retrieves a JWT token using login credentials such as Email, Phone, Username, and Password. + parameters: + - $ref: '#/components/parameters/JwtAppName' + - $ref: '#/components/parameters/Nonce' + requestBody: + $ref: '#/components/requestBodies/JWTLoginRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/JWTSignature' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST_SSO' + EMAIL_PAYLOAD_REQUIRED: + $ref: '#/components/examples/EMAIL_PAYLOAD_REQUIRED' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID_SSO' + INVALID_HOST: + $ref: '#/components/examples/INVALID_HOST' + INVALID_PHONE_NUMBER: + $ref: '#/components/examples/INVALID_PHONE_NUMBER_SSO' + INVALID_POST_BODY: + $ref: '#/components/examples/INVALID_POST_BODY' + JWT_APP_NAME_REQUIRED: + $ref: '#/components/examples/JWT_APP_NAME_REQUIRED' + JWT_APP_NOT_MATCHED: + $ref: '#/components/examples/JWT_APP_NOT_MATCHED' + PASSWORD_EMAIL_PAYLOAD_REQUIRED: + $ref: '#/components/examples/PASSWORD_EMAIL_PAYLOAD_REQUIRED' + PASSWORD_PAYLOAD_REQUIRED: + $ref: '#/components/examples/PASSWORD_PAYLOAD_REQUIRED' + PASSWORD_PHONE_PAYLOAD_REQUIRED: + $ref: '#/components/examples/PASSWORD_PHONE_PAYLOAD_REQUIRED' + PASSWORD_USERNAME_PAYLOAD_REQUIRED: + $ref: '#/components/examples/PASSWORD_USERNAME_PAYLOAD_REQUIRED' + PHONE_OR_EMAIL_OR_USER_REQUIRED_PARAM: + $ref: '#/components/examples/PHONE_OR_EMAIL_OR_USER_REQUIRED_PARAM_SSO' + PHONE_PAYLOAD_REQUIRED: + $ref: '#/components/examples/PHONE_PAYLOAD_REQUIRED_SSO' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID_SSO' + USERNAME_PAYLOAD_REQUIRED: + $ref: '#/components/examples/USERNAME_PAYLOAD_REQUIRED' + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/JWT_CONFIG_NOT_FOUND_SSO' + JWT_CONFIG_NOT_VALID: + $ref: '#/components/examples/JWT_CONFIG_NOT_VALID' + USERNAME_OR_PASSWORD_WRONG: + $ref: '#/components/examples/USERNAME_OR_PASSWORD_WRONG_SSO' + USERNAME_OR_PASSWORD_WRONG_FOR_BLOCK_LOCKOUT: + $ref: '#/components/examples/USERNAME_OR_PASSWORD_WRONG_FOR_BLOCK_LOCKOUT' + USERNAME_OR_PASSWORD_WRONG_FOR_SUSPEND_LOCKOUT: + $ref: '#/components/examples/USERNAME_OR_PASSWORD_WRONG_FOR_SUSPEND_LOCKOUT' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR_SSO' + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + ACCOUNT_NOT_ALLOWED_TO_LOGIN: + $ref: '#/components/examples/ACCOUNT_NOT_ALLOWED_TO_LOGIN_SSO' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED_SSO' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID_SSO' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT_SSO' + APP_NOT_EXISTS: + $ref: '#/components/examples/APP_NOT_EXISTS' + BREACHED_PASSWORD_LOGIN: + $ref: '#/components/examples/BREACHED_PASSWORD_LOGIN_SSO' + CAPTCHA_NOT_VALID: + $ref: '#/components/examples/CAPTCHA_NOT_VALID_SSO' + CHANGE_BREACHED_PASSWORD: + $ref: '#/components/examples/CHANGE_BREACHED_PASSWORD' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED_SSO' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED_SSO' + EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/EMAIL_SEND_LIMIT_REACHED' + EMAIl_OR_PHONE_NUMBER_REQUIRED_VERIFIED: + $ref: '#/components/examples/EMAIl_OR_PHONE_NUMBER_REQUIRED_VERIFIED' + LOGIN_DISABLED: + $ref: '#/components/examples/LOGIN_DISABLED_SSO' + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_RECAPTCHA_SSO' + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION_SSO' + LOGIN_WITH_PASSWORD_NOT_ENABLED: + $ref: '#/components/examples/LOGIN_WITH_PASSWORD_NOT_ENABLED_SSO' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_SSO' + OTP_SEND_FAILED: + $ref: '#/components/examples/OTP_SEND_FAILED_SSO' + PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/PHONE_NO_LOGIN_NOT_ENABLED_SSO' + PHONE_NOT_VERIFIED: + $ref: '#/components/examples/PHONE_NOT_VERIFIED_SSO' + PIN_IS_REQUIRED: + $ref: '#/components/examples/PIN_IS_REQUIRED_SSO' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED_SSO' + RBA_ACCOUNT_IS_BLOCKED: + $ref: '#/components/examples/RBA_ACCOUNT_IS_BLOCKED' + RBA_EMAIL_VERIFICATION: + $ref: '#/components/examples/RBA_EMAIL_VERIFICATION' + RBA_SECURITY_ANSWER_VERIFICATION: + $ref: '#/components/examples/RBA_SECURITY_ANSWER_VERIFICATION' + RBA_SMS_VERIFICATION: + $ref: '#/components/examples/RBA_SMS_VERIFICATION' + SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/SMS_CONFIGURATION_NOT_EXISTS_SSO' + SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/SMS_SEND_LIMIT_REACHED_SSO' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED_SSO' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED_SSO' + USER_ID_LOCKED_SSO: + $ref: '#/components/examples/USER_ID_LOCKED_SSO' + USER_ID_LOCKED_WITH_TIMEOUT_SSO: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT_SSO' + USER_NAME_AUTHENTICATION_ENABLED_SSO: + $ref: '#/components/examples/USER_NAME_AUTHENTICATION_ENABLED_SSO' + USER_NOT_EXISTS_SSO: + $ref: '#/components/examples/USER_NOT_EXISTS_SSO' + schema: + $ref: '#/components/schemas/ErrorResponse' + security: + - APIKey: [] + - XLoginRadiusAPIKey: [] + tags: + - JWT + x-order: 2 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/jwt/{JwtAppName}/token: + get: + operationId: GetJWTTokenByAccessToken + summary: Retrieve JWT token by Access Token + description: Retrieves a JWT token using an Access Token obtained after successful login. + parameters: + - $ref: '#/components/parameters/JwtAppName' + - $ref: '#/components/parameters/Nonce' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/JWTSignature' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST_SSO' + EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/EMAILID_ID_FORMAT_NOT_VALID_SSO' + INVALID_HOST: + $ref: '#/components/examples/INVALID_HOST' + INVALID_PROVIDER_IN_ORGANIZATION_SSO: + $ref: '#/components/examples/INVALID_PROVIDER_IN_ORGANIZATION_SSO' + JWT_ACCESS_TOKEN_REQUIRED_SSO: + $ref: '#/components/examples/JWT_ACCESS_TOKEN_REQUIRED' + JWT_APP_NAME_REQUIRED: + $ref: '#/components/examples/JWT_APP_NAME_REQUIRED' + JWT_APP_NOT_MATCHED: + $ref: '#/components/examples/JWT_APP_NOT_MATCHED' + OAUTH_TOKEN_CONFIG_NOT_FOUND_SSO: + $ref: '#/components/examples/OAUTH_TOKEN_CONFIG_NOT_FOUND_SSO' + ORGANIZATION_NOT_FOUND_SSO: + $ref: '#/components/examples/ORGANIZATION_NOT_FOUND_SSO' + SOCIAL_REGISTRATION_NOT_ALLOWED: + $ref: '#/components/examples/SOCIAL_REGISTRATION_NOT_ALLOWED' + USER_ID_LOCKED_WITH_TIMEOUT_SSO: + $ref: '#/components/examples/USER_ID_LOCKED_WITH_TIMEOUT_SSO' + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + JWT_CONFIG_NOT_FOUND: + $ref: '#/components/examples/JWT_CONFIG_NOT_FOUND_SSO' + JWT_CONFIG_NOT_VALID: + $ref: '#/components/examples/JWT_CONFIG_NOT_VALID' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR_SSO' + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/ACCESS_TOKEN_EXPIRED_SSO' + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID_SSO' + ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/ACTIVE_SESSIONS_EXCEEDED_SSO' + AGE_UNDERAGE_SSO: + $ref: '#/components/examples/AGE_UNDERAGE_SSO' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID_SSO' + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT_SSO' + APP_NOT_EXISTS: + $ref: '#/components/examples/APP_NOT_EXISTS' + AUTOLOOKUP_DOMAIN_NOT_MATCH: + $ref: '#/components/examples/AUTOLOOKUP_DOMAIN_NOT_MATCH' + CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/CONSENT_FORM_NOT_SUBMITTED_SSO' + CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/CONSENT_FORM_VALIDATION_FAILED' + EMAIL_DOMAIN_NOT_ALLOWED_IN_ORGANIZATION_SSO: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_IN_ORGANIZATION_SSO' + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER_SSO: + $ref: '#/components/examples/EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER_SSO' + EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/EMAIL_NOT_VERIFIED_SSO' + EMAILID_ALREADY_REGISTERED_SSO: + $ref: '#/components/examples/EMAILID_ALREADY_REGISTERED_SSO' + JWT_SP_TOKEN_INVALID: + $ref: '#/components/examples/JWT_SP_TOKEN_INVALID_SSO' + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_SSO' + ORGANIZATION_NOT_ACTIVE: + $ref: '#/components/examples/ORGANIZATION_NOT_ACTIVE_SSO' + PHONE_NO_ALREADY_REGISTERED: + $ref: '#/components/examples/PHONE_NO_ALREADY_REGISTERED_SSO' + PIN_IS_REQUIRED: + $ref: '#/components/examples/PIN_IS_REQUIRED_SSO' + PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/PRIVACY_POLICY_MISMATCHED_SSO' + PROVIDER_ID_MISSING: + $ref: '#/components/examples/PROVIDER_ID_MISSING_SSO' + PROVIDER_NOT_CONFIGURED: + $ref: '#/components/examples/PROVIDER_NOT_CONFIGURED_SSO' + PROVIDER_NOT_SUPPORTED: + $ref: '#/components/examples/PROVIDER_NOT_SUPPORTED_SSO' + PROVIDER_NOT_VALID: + $ref: '#/components/examples/PROVIDER_NOT_VALID_SSO' + PROVIDER_SIDE_ERROR: + $ref: '#/components/examples/PROVIDER_SIDE_ERROR_SSO' + ROLE_DOES_NOT_EXISTS_SSO: + $ref: '#/components/examples/ROLE_DOES_NOT_EXISTS_SSO' + SIGNUP_NOT_ALLOWED_IN_ORG: + $ref: '#/components/examples/SIGNUP_NOT_ALLOWED_IN_ORG' + SOMETHING_GOING_WRONG_SSO: + $ref: '#/components/examples/SOMETHING_GOING_WRONG_SSO' + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER_SSO: + $ref: '#/components/examples/THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER_SSO' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED_SSO' + TRIAL_PLAN_USER_LIMIT_REACHED_SSO: + $ref: '#/components/examples/TRIAL_PLAN_USER_LIMIT_REACHED_SSO' + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_SSO: + $ref: '#/components/examples/UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_SSO' + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_SSO_IN_EMAIL_VERIFCATION_DISABLED: + $ref: '#/components/examples/UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_IN_EMAIL_VERIFCATION_DISABLED_SSO' + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_PHONE_ID: + $ref: '#/components/examples/UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_PHONE_ID' + USER_ID_BLOCKED: + $ref: '#/components/examples/USER_ID_BLOCKED_SSO' + USER_NOT_EXISTS_SSO: + $ref: '#/components/examples/USER_NOT_EXISTS_SSO' + schema: + $ref: '#/components/schemas/ErrorResponse' + security: + - APIKey: [] + AccessToken: [] + - XLoginRadiusAPIKey: [] + BearerToken: [] + tags: + - JWT + x-order: 1 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oauth/{OAuthAppName}/device: + post: + operationId: GetOAuthDeviceCode + summary: Retrieve OAuth device code + description: Initiates the OAuth 2.0 Device Authorization Grant per RFC 8628. Returns a device_code and user_code that the client displays to the end-user for out-of-band authorization on a secondary device. The client then polls the token endpoint with the device_code until the user completes authorization. + parameters: + - $ref: '#/components/parameters/OAuthAppName' + requestBody: + $ref: '#/components/requestBodies/OAuthDeviceCodeRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthDeviceCodeResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_POST_BODY_INVALID: + $ref: '#/components/examples/OAUTH_POST_BODY_INVALID' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + SCOPE_INVALID: + $ref: '#/components/examples/SCOPE_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + CLIENT_ID_INVALID: + $ref: '#/components/examples/CLIENT_ID_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OAuth + x-order: 1 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oauth/{OAuthAppName}/introspect: + post: + operationId: IntrospectOAuthToken + summary: Introspect OAuth token + description: 'Returns the active state and metadata of an OAuth access or refresh token per RFC 7662 (OAuth 2.0 Token Introspection). The client must authenticate using either HTTP Basic authentication (Authorization: Basic base64(client_id:client_secret)) or by including client_id and client_secret in the POST body, depending on the token_endpoint_auth_method configured for the OAuth application. Returns active: true with associated claims for valid tokens, or active: false for invalid, expired, or revoked tokens.' + parameters: + - $ref: '#/components/parameters/OAuthAppName' + requestBody: + $ref: '#/components/requestBodies/OAuthRevokeRefreshTokenRequest' + responses: + '200': + description: 'OK: Introspection result (active true with claims, or active false).' + content: + application/json: + schema: + $ref: '#/components/schemas/OIDCTokenIntrospectResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CLIENT_SECRET_BASIC_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_BASIC_REQUIRED' + CLIENT_SECRET_POST_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_POST_REQUIRED' + CLIENT_SECRET_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_REQUIRED' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_POST_BODY_INVALID: + $ref: '#/components/examples/OAUTH_POST_BODY_INVALID' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + TOKEN_REQUIRED: + $ref: '#/components/examples/TOKEN_REQUIRED_SSO' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + CLIENT_ID_INVALID: + $ref: '#/components/examples/CLIENT_ID_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + CLIENT_SECRET_INVALID: + $ref: '#/components/examples/CLIENT_SECRET_INVALID' + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OAuth + x-order: 4 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oauth/{OAuthAppName}/revoke: + post: + operationId: RevokeOAuthRefreshToken + summary: Revoke OAuth refresh token + description: Revokes an OAuth refresh token per RFC 7009 (OAuth 2.0 Token Revocation), invalidating it and preventing any further use. The client must authenticate using client_id and client_secret via HTTP Basic or POST body. + parameters: + - $ref: '#/components/parameters/OAuthAppName' + requestBody: + $ref: '#/components/requestBodies/OAuthRevokeRefreshTokenRequest' + responses: + '200': + description: 'OK: The request was successful.' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CLIENT_SECRET_BASIC_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_BASIC_REQUIRED' + CLIENT_SECRET_POST_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_POST_REQUIRED' + CLIENT_SECRET_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_REQUIRED' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_POST_BODY_INVALID: + $ref: '#/components/examples/OAUTH_POST_BODY_INVALID' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + REFRESH_TOKEN_INVALID_SSO: + $ref: '#/components/examples/REFRESH_TOKEN_INVALID_SSO' + TOKEN_REQUIRED: + $ref: '#/components/examples/TOKEN_REQUIRED_SSO' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + CLIENT_ID_INVALID: + $ref: '#/components/examples/CLIENT_ID_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + CLIENT_SECRET_INVALID: + $ref: '#/components/examples/CLIENT_SECRET_INVALID' + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OAuth + x-order: 3 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oauth/{OAuthAppName}/token: + post: + operationId: GetOAuthTokens + summary: Retrieve OAuth tokens + description: Retrieves OAuth tokens for authentication and authorization purposes. + parameters: + - $ref: '#/components/parameters/OAuthAppName' + requestBody: + $ref: '#/components/requestBodies/OAuthTokenRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthTokenResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + ACCESS_TOKEN_INVALID: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_SSO' + ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO' + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CLIENT_SECRET_BASIC_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_BASIC_REQUIRED' + CLIENT_SECRET_POST_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_POST_REQUIRED' + CLIENT_SECRET_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_REQUIRED' + CODE_EXPIRED: + $ref: '#/components/examples/CODE_EXPIRED' + CODE_INVALID: + $ref: '#/components/examples/CODE_INVALID' + CODE_INVALID_OR_EXPIRED: + $ref: '#/components/examples/CODE_INVALID_OR_EXPIRED' + CODE_IS_ALREADY_USED: + $ref: '#/components/examples/CODE_IS_ALREADY_USED' + CODE_REQUIRED: + $ref: '#/components/examples/CODE_REQUIRED' + CODE_VERIFIER_INVALID: + $ref: '#/components/examples/CODE_VERIFIER_INVALID' + CODE_VERIFIER_REQUIRED: + $ref: '#/components/examples/CODE_VERIFIER_REQUIRED' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + DEVICE_AUTHORIZATION_PENDING: + $ref: '#/components/examples/DEVICE_AUTHORIZATION_PENDING' + DEVICE_CODE_INVALID: + $ref: '#/components/examples/DEVICE_CODE_INVALID' + DEVICE_CODE_REQUIRED: + $ref: '#/components/examples/DEVICE_CODE_REQUIRED' + DEVICE_SLOW_DOWN: + $ref: '#/components/examples/DEVICE_SLOW_DOWN' + GRANT_TYPE_INVALID: + $ref: '#/components/examples/GRANT_TYPE_INVALID' + GRANT_TYPE_REQUIRED: + $ref: '#/components/examples/GRANT_TYPE_REQUIRED' + OAUTH_ACCESS_DENIED: + $ref: '#/components/examples/OAUTH_ACCESS_DENIED' + OAUTH_ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/OAUTH_ACCESS_TOKEN_EXPIRED' + OAUTH_ACCOUNT_NOT_ALLOWED_TO_LOGIN: + $ref: '#/components/examples/OAUTH_ACCOUNT_NOT_ALLOWED_TO_LOGIN' + OAUTH_ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/OAUTH_ACTIVE_SESSIONS_EXCEEDED' + OAUTH_APP_NOT_EXISTS: + $ref: '#/components/examples/OAUTH_APP_NOT_EXISTS' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_BREACHED_PASSWORD_LOGIN: + $ref: '#/components/examples/OAUTH_BREACHED_PASSWORD_LOGIN' + OAUTH_CAPTCHA_NOT_VALID: + $ref: '#/components/examples/OAUTH_CAPTCHA_NOT_VALID' + OAUTH_CHANGE_BREACHED_PASSWORD: + $ref: '#/components/examples/OAUTH_CHANGE_BREACHED_PASSWORD' + OAUTH_CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/OAUTH_CONSENT_FORM_NOT_SUBMITTED' + OAUTH_CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/OAUTH_CONSENT_FORM_VALIDATION_FAILED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/OAUTH_EMAIL_NOT_VERIFIED' + OAUTH_EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/OAUTH_EMAIL_SEND_LIMIT_REACHED' + OAUTH_EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/OAUTH_EMAILID_ID_FORMAT_NOT_VALID' + OAUTH_EMAIl_OR_PHONE_NUMBER_REQUIRED_VERIFIED: + $ref: '#/components/examples/OAUTH_EMAIl_OR_PHONE_NUMBER_REQUIRED_VERIFIED' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_INVALID_PHONE_NUMBER: + $ref: '#/components/examples/OAUTH_INVALID_PHONE_NUMBER' + OAUTH_LOGIN_DISABLED: + $ref: '#/components/examples/OAUTH_LOGIN_DISABLED' + OAUTH_LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/OAUTH_LOGIN_IS_LOCKED_FOR_RECAPTCHA' + OAUTH_LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/OAUTH_LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + OAUTH_LOGIN_WITH_PASSWORD_NOT_ENABLED: + $ref: '#/components/examples/OAUTH_LOGIN_WITH_PASSWORD_NOT_ENABLED' + OAUTH_OPERATION_FAILED: + $ref: '#/components/examples/OAUTH_OPERATION_FAILED' + OAUTH_OTP_SEND_FAILED: + $ref: '#/components/examples/OAUTH_OTP_SEND_FAILED' + OAUTH_PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/OAUTH_PHONE_NO_LOGIN_NOT_ENABLED' + OAUTH_PHONE_NOT_VERIFIED: + $ref: '#/components/examples/OAUTH_PHONE_NOT_VERIFIED' + OAUTH_PIN_IS_REQUIRED: + $ref: '#/components/examples/OAUTH_PIN_IS_REQUIRED' + OAUTH_POST_BODY_INVALID: + $ref: '#/components/examples/OAUTH_POST_BODY_INVALID' + OAUTH_PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/OAUTH_PRIVACY_POLICY_MISMATCHED' + OAUTH_RBA_ACCOUNT_IS_BLOCKED: + $ref: '#/components/examples/OAUTH_RBA_ACCOUNT_IS_BLOCKED' + OAUTH_RBA_EMAIL_VERIFICATION: + $ref: '#/components/examples/OAUTH_RBA_EMAIL_VERIFICATION' + OAUTH_RBA_SECURITY_ANSWER_VERIFICATION: + $ref: '#/components/examples/OAUTH_RBA_SECURITY_ANSWER_VERIFICATION' + OAUTH_RBA_SMS_VERIFICATION: + $ref: '#/components/examples/OAUTH_RBA_SMS_VERIFICATION' + OAUTH_REFRESH_TOKEN_ALREADY_USED: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_ALREADY_USED' + OAUTH_REFRESH_TOKEN_EXPIRED: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_EXPIRED' + OAUTH_REFRESH_TOKEN_FORMAT_INVALID: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_FORMAT_INVALID' + OAUTH_REFRESH_TOKEN_FROM_DIFF_CLIENT: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_FROM_DIFF_CLIENT' + OAUTH_REFRESH_TOKEN_INVALID_OR_REVOKED: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_INVALID_OR_REVOKED' + OAUTH_REFRESH_TOKEN_MAX_ACTIVE_SESSION_EXCEED: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_MAX_ACTIVE_SESSION_EXCEED' + OAUTH_REFRESH_TOKEN_REVOKED_ACCOUNT_SECURITY_CHANGE: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_REVOKED_ACCOUNT_SECURITY_CHANGE' + OAUTH_REFRESH_TOKEN_SOMETHING_GOING_WRONG: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_SOMETHING_GOING_WRONG' + OAUTH_REFRESH_TOKEN_USER_NOT_FOUND: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_USER_NOT_FOUND' + OAUTH_SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/OAUTH_SMS_CONFIGURATION_NOT_EXISTS' + OAUTH_SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/OAUTH_SMS_SEND_LIMIT_REACHED' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + OAUTH_USER_ID_BLOCKED: + $ref: '#/components/examples/OAUTH_USER_ID_BLOCKED' + OAUTH_USER_ID_LOCKED_SSO: + $ref: '#/components/examples/OAUTH_USER_ID_LOCKED' + OAUTH_USER_NAME_AUTHENTICATION_ENABLED_SSO: + $ref: '#/components/examples/OAUTH_USER_NAME_AUTHENTICATION_ENABLED' + OAUTH_USER_NOT_EXISTS_SSO: + $ref: '#/components/examples/OAUTH_USER_NOT_EXISTS' + OAUTH_USERNAME_OR_PASSWORD_WRONG: + $ref: '#/components/examples/OAUTH_USERNAME_OR_PASSWORD_WRONG' + OAUTH_USERNAME_OR_PASSWORD_WRONG_FOR_BLOCK_LOCKOUT: + $ref: '#/components/examples/OAUTH_USERNAME_OR_PASSWORD_WRONG_FOR_BLOCK_LOCKOUT' + OAUTH_USERNAME_OR_PASSWORD_WRONG_FOR_SUSPEND_LOCKOUT: + $ref: '#/components/examples/OAUTH_USERNAME_OR_PASSWORD_WRONG_FOR_SUSPEND_LOCKOUT' + PASSWORD_REQUIRED: + $ref: '#/components/examples/PASSWORD_REQUIRED_SSO' + REDIRECT_URI_INVALID: + $ref: '#/components/examples/REDIRECT_URI_INVALID' + REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/REDIRECT_URI_REQUIRED' + REFRESH_TOKEN_INVALID_SSO: + $ref: '#/components/examples/REFRESH_TOKEN_INVALID_SSO' + REFRESH_TOKEN_REQUIRED_SSO: + $ref: '#/components/examples/REFRESH_TOKEN_REQUIRED_SSO' + RESPONSE_TYPE_INVALID: + $ref: '#/components/examples/RESPONSE_TYPE_INVALID' + SCOPE_INVALID: + $ref: '#/components/examples/SCOPE_INVALID' + TOKEN_REQUIRED: + $ref: '#/components/examples/TOKEN_REQUIRED_SSO' + USERNAME_REQUIRED_SSO: + $ref: '#/components/examples/USERNAME_REQUIRED_SSO' + RESOURCE_PERMISSION_NOT_FOUND: + $ref: '#/components/examples/RESOURCE_PERMISSION_NOT_FOUND' + USER_PERMISSION_NOT_FOUND: + $ref: '#/components/examples/USER_PERMISSION_NOT_FOUND' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + CLIENT_ID_INVALID: + $ref: '#/components/examples/CLIENT_ID_INVALID' + /DEVICE_ACCESS_TOKEN_EXPIRED_SSO: + $ref: '#/components/examples/DEVICE_ACCESS_TOKEN_EXPIRED' + OAUTH_REDIRECT_URI_MISMATCH: + $ref: '#/components/examples/OAUTH_REDIRECT_URI_MISMATCH' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR_SSO' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + CLIENT_SECRET_INVALID: + $ref: '#/components/examples/CLIENT_SECRET_INVALID' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OAuth + x-order: 2 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oauth/{OAuthAppName}/par: + post: + operationId: OAuthPushedAuthorizationRequest + summary: OAuth 2.0 Pushed Authorization Request (PAR) + description: Accepts an OAuth 2.0 authorization request and stores it server-side per RFC 9126 (OAuth 2.0 Pushed Authorization Requests). Returns a short-lived request_uri that the client passes as the sole parameter to the authorization endpoint, keeping all sensitive request parameters out of the browser URL. This feature must be explicitly enabled on the OAuth application configuration. + parameters: + - $ref: '#/components/parameters/OAuthAppName' + requestBody: + $ref: '#/components/requestBodies/OAuthPARRequest' + responses: + '201': + description: 'Created: PAR accepted. Use the returned request_uri as the sole parameter to the authorization endpoint within expires_in seconds.' + content: + application/json: + schema: + $ref: '#/components/schemas/PARResponse' + '400': + description: 'Status Bad Request: One or more request parameters are missing or invalid.' + content: + application/json: + examples: + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CLIENT_SECRET_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_REQUIRED' + REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/REDIRECT_URI_REQUIRED' + REDIRECT_URI_NOT_VALID: + $ref: '#/components/examples/REDIRECT_URI_NOT_VALID' + RESPONSE_TYPE_INVALID: + $ref: '#/components/examples/RESPONSE_TYPE_INVALID' + SCOPE_INVALID: + $ref: '#/components/examples/SCOPE_INVALID' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The application or client is not permitted to use this endpoint.' + content: + application/json: + examples: + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT_SSO' + PAR_FEATURE_DISABLED: + $ref: '#/components/examples/PAR_FEATURE_DISABLED' + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OAuth + x-order: 5 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /service/oauth/{OAuthAppName}/.well-known/oauth-authorization-server: + get: + operationId: GetOAuthAuthorizationServerMetadataOAuth + summary: OAuth Authorization Server Metadata (OAuth app) + description: | + Returns OAuth 2.0 Authorization Server Metadata (RFC 8414) for the given OAuth app. + Use this endpoint for OAuth 2.0 client discovery when using the OAuth flow path. + parameters: + - $ref: '#/components/parameters/OAuthAppName' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthAuthorizationServerMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OAuth + x-order: 1 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oidc/{OIDCAppName}/device: + post: + operationId: GetOIDCDeviceCode + summary: Retrieve OIDC device code + description: Initiates the OAuth 2.0 Device Authorization Grant per RFC 8628. Returns a device_code and user_code that the client displays to the end-user for out-of-band authorization on a secondary device. The client then polls the token endpoint with the device_code until the user completes authorization. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + requestBody: + $ref: '#/components/requestBodies/OIDCDeviceCodeRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OIDCDeviceCodeResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_POST_BODY_INVALID: + $ref: '#/components/examples/OAUTH_POST_BODY_INVALID' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + SCOPE_INVALID: + $ref: '#/components/examples/SCOPE_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + CLIENT_ID_INVALID: + $ref: '#/components/examples/CLIENT_ID_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 5 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oidc/{OIDCAppName}/introspect: + post: + operationId: IntrospectOIDCToken + summary: Introspect OIDC token + description: 'Returns the active state and metadata of an OIDC access or refresh token per RFC 7662 (OAuth 2.0 Token Introspection). The client must authenticate using either HTTP Basic authentication (Authorization: Basic base64(client_id:client_secret)) or by including client_id and client_secret in the POST body, depending on the token_endpoint_auth_method configured for the OIDC application. Returns active: true with associated claims for valid tokens, or active: false for invalid, expired, or revoked tokens.' + parameters: + - $ref: '#/components/parameters/OIDCAppName' + requestBody: + $ref: '#/components/requestBodies/OAuthRevokeRefreshTokenRequest' + responses: + '200': + description: 'OK: Introspection result (active true with claims, or active false).' + content: + application/json: + schema: + $ref: '#/components/schemas/OIDCTokenIntrospectResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CLIENT_SECRET_BASIC_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_BASIC_REQUIRED' + CLIENT_SECRET_POST_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_POST_REQUIRED' + CLIENT_SECRET_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_REQUIRED' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_POST_BODY_INVALID: + $ref: '#/components/examples/OAUTH_POST_BODY_INVALID' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + TOKEN_REQUIRED: + $ref: '#/components/examples/TOKEN_REQUIRED_SSO' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + CLIENT_ID_INVALID: + $ref: '#/components/examples/CLIENT_ID_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + CLIENT_SECRET_INVALID: + $ref: '#/components/examples/CLIENT_SECRET_INVALID' + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 6 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oidc/{OIDCAppName}/revoke: + post: + operationId: RevokeOIDCRefreshToken + summary: Revoke OIDC refresh token + description: Revokes an OIDC refresh token per RFC 7009 (OAuth 2.0 Token Revocation), invalidating it and preventing any further use. The client must authenticate using client_id and client_secret via HTTP Basic or POST body. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + requestBody: + $ref: '#/components/requestBodies/OAuthRevokeRefreshTokenRequest' + responses: + '200': + description: 'OK: The request was successful.' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CLIENT_SECRET_BASIC_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_BASIC_REQUIRED' + CLIENT_SECRET_POST_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_POST_REQUIRED' + CLIENT_SECRET_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_REQUIRED' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_POST_BODY_INVALID: + $ref: '#/components/examples/OAUTH_POST_BODY_INVALID' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + REFRESH_TOKEN_INVALID_SSO: + $ref: '#/components/examples/REFRESH_TOKEN_INVALID_SSO' + TOKEN_REQUIRED: + $ref: '#/components/examples/TOKEN_REQUIRED_SSO' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + CLIENT_ID_INVALID: + $ref: '#/components/examples/CLIENT_ID_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + CLIENT_SECRET_INVALID: + $ref: '#/components/examples/CLIENT_SECRET_INVALID' + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 7 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oidc/{OIDCAppName}/token: + post: + operationId: GetOIDCTokens + summary: Retrieve OIDC tokens + description: Retrieves OpenID Connect (OIDC) tokens for User authentication. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + requestBody: + $ref: '#/components/requestBodies/OIDCTokenRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OIDCTokenResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + ACCESS_TOKEN_INVALID: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_SSO' + ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO' + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CLIENT_SECRET_BASIC_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_BASIC_REQUIRED' + CLIENT_SECRET_POST_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_POST_REQUIRED' + CLIENT_SECRET_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_REQUIRED' + CODE_EXPIRED: + $ref: '#/components/examples/CODE_EXPIRED' + CODE_INVALID: + $ref: '#/components/examples/CODE_INVALID' + CODE_INVALID_OR_EXPIRED: + $ref: '#/components/examples/CODE_INVALID_OR_EXPIRED' + CODE_IS_ALREADY_USED: + $ref: '#/components/examples/CODE_IS_ALREADY_USED' + CODE_REQUIRED: + $ref: '#/components/examples/CODE_REQUIRED' + CODE_VERIFIER_INVALID: + $ref: '#/components/examples/CODE_VERIFIER_INVALID' + CODE_VERIFIER_REQUIRED: + $ref: '#/components/examples/CODE_VERIFIER_REQUIRED' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + DEVICE_AUTHORIZATION_PENDING: + $ref: '#/components/examples/DEVICE_AUTHORIZATION_PENDING' + DEVICE_CODE_INVALID: + $ref: '#/components/examples/DEVICE_CODE_INVALID' + DEVICE_CODE_REQUIRED: + $ref: '#/components/examples/DEVICE_CODE_REQUIRED' + DEVICE_SLOW_DOWN: + $ref: '#/components/examples/DEVICE_SLOW_DOWN' + GRANT_TYPE_INVALID: + $ref: '#/components/examples/GRANT_TYPE_INVALID' + GRANT_TYPE_REQUIRED: + $ref: '#/components/examples/GRANT_TYPE_REQUIRED' + OAUTH_ACCESS_DENIED: + $ref: '#/components/examples/OAUTH_ACCESS_DENIED' + OAUTH_ACCESS_TOKEN_EXPIRED: + $ref: '#/components/examples/OAUTH_ACCESS_TOKEN_EXPIRED' + OAUTH_ACCOUNT_NOT_ALLOWED_TO_LOGIN: + $ref: '#/components/examples/OAUTH_ACCOUNT_NOT_ALLOWED_TO_LOGIN' + OAUTH_ACTIVE_SESSIONS_EXCEEDED: + $ref: '#/components/examples/OAUTH_ACTIVE_SESSIONS_EXCEEDED' + OAUTH_APP_NOT_EXISTS: + $ref: '#/components/examples/OAUTH_APP_NOT_EXISTS' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_BREACHED_PASSWORD_LOGIN: + $ref: '#/components/examples/OAUTH_BREACHED_PASSWORD_LOGIN' + OAUTH_CAPTCHA_NOT_VALID: + $ref: '#/components/examples/OAUTH_CAPTCHA_NOT_VALID' + OAUTH_CHANGE_BREACHED_PASSWORD: + $ref: '#/components/examples/OAUTH_CHANGE_BREACHED_PASSWORD' + OAUTH_CONSENT_FORM_NOT_SUBMITTED: + $ref: '#/components/examples/OAUTH_CONSENT_FORM_NOT_SUBMITTED' + OAUTH_CONSENT_FORM_VALIDATION_FAILED: + $ref: '#/components/examples/OAUTH_CONSENT_FORM_VALIDATION_FAILED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_EMAIL_NOT_VERIFIED: + $ref: '#/components/examples/OAUTH_EMAIL_NOT_VERIFIED' + OAUTH_EMAIL_SEND_LIMIT_REACHED: + $ref: '#/components/examples/OAUTH_EMAIL_SEND_LIMIT_REACHED' + OAUTH_EMAILID_ID_FORMAT_NOT_VALID: + $ref: '#/components/examples/OAUTH_EMAILID_ID_FORMAT_NOT_VALID' + OAUTH_EMAIl_OR_PHONE_NUMBER_REQUIRED_VERIFIED: + $ref: '#/components/examples/OAUTH_EMAIl_OR_PHONE_NUMBER_REQUIRED_VERIFIED' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_INVALID_PHONE_NUMBER: + $ref: '#/components/examples/OAUTH_INVALID_PHONE_NUMBER' + OAUTH_LOGIN_DISABLED: + $ref: '#/components/examples/OAUTH_LOGIN_DISABLED' + OAUTH_LOGIN_IS_LOCKED_FOR_RECAPTCHA: + $ref: '#/components/examples/OAUTH_LOGIN_IS_LOCKED_FOR_RECAPTCHA' + OAUTH_LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + $ref: '#/components/examples/OAUTH_LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION' + OAUTH_LOGIN_WITH_PASSWORD_NOT_ENABLED: + $ref: '#/components/examples/OAUTH_LOGIN_WITH_PASSWORD_NOT_ENABLED' + OAUTH_OPERATION_FAILED: + $ref: '#/components/examples/OAUTH_OPERATION_FAILED' + OAUTH_OTP_SEND_FAILED: + $ref: '#/components/examples/OAUTH_OTP_SEND_FAILED' + OAUTH_PHONE_NO_LOGIN_NOT_ENABLED: + $ref: '#/components/examples/OAUTH_PHONE_NO_LOGIN_NOT_ENABLED' + OAUTH_PHONE_NOT_VERIFIED: + $ref: '#/components/examples/OAUTH_PHONE_NOT_VERIFIED' + OAUTH_PIN_IS_REQUIRED: + $ref: '#/components/examples/OAUTH_PIN_IS_REQUIRED' + OAUTH_POST_BODY_INVALID: + $ref: '#/components/examples/OAUTH_POST_BODY_INVALID' + OAUTH_PRIVACY_POLICY_MISMATCHED: + $ref: '#/components/examples/OAUTH_PRIVACY_POLICY_MISMATCHED' + OAUTH_RBA_ACCOUNT_IS_BLOCKED: + $ref: '#/components/examples/OAUTH_RBA_ACCOUNT_IS_BLOCKED' + OAUTH_RBA_EMAIL_VERIFICATION: + $ref: '#/components/examples/OAUTH_RBA_EMAIL_VERIFICATION' + OAUTH_RBA_SECURITY_ANSWER_VERIFICATION: + $ref: '#/components/examples/OAUTH_RBA_SECURITY_ANSWER_VERIFICATION' + OAUTH_RBA_SMS_VERIFICATION: + $ref: '#/components/examples/OAUTH_RBA_SMS_VERIFICATION' + OAUTH_REFRESH_TOKEN_ALREADY_USED: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_ALREADY_USED' + OAUTH_REFRESH_TOKEN_EXPIRED: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_EXPIRED' + OAUTH_REFRESH_TOKEN_FORMAT_INVALID: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_FORMAT_INVALID' + OAUTH_REFRESH_TOKEN_FROM_DIFF_CLIENT: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_FROM_DIFF_CLIENT' + OAUTH_REFRESH_TOKEN_INVALID_OR_REVOKED: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_INVALID_OR_REVOKED' + OAUTH_REFRESH_TOKEN_MAX_ACTIVE_SESSION_EXCEED: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_MAX_ACTIVE_SESSION_EXCEED' + OAUTH_REFRESH_TOKEN_REVOKED_ACCOUNT_SECURITY_CHANGE: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_REVOKED_ACCOUNT_SECURITY_CHANGE' + OAUTH_REFRESH_TOKEN_SOMETHING_GOING_WRONG: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_SOMETHING_GOING_WRONG' + OAUTH_REFRESH_TOKEN_USER_NOT_FOUND: + $ref: '#/components/examples/OAUTH_REFRESH_TOKEN_USER_NOT_FOUND' + OAUTH_SMS_CONFIGURATION_NOT_EXISTS: + $ref: '#/components/examples/OAUTH_SMS_CONFIGURATION_NOT_EXISTS' + OAUTH_SMS_SEND_LIMIT_REACHED: + $ref: '#/components/examples/OAUTH_SMS_SEND_LIMIT_REACHED' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + OAUTH_USER_ID_BLOCKED: + $ref: '#/components/examples/OAUTH_USER_ID_BLOCKED' + OAUTH_USER_ID_LOCKED_SSO: + $ref: '#/components/examples/OAUTH_USER_ID_LOCKED' + OAUTH_USER_NAME_AUTHENTICATION_ENABLED_SSO: + $ref: '#/components/examples/OAUTH_USER_NAME_AUTHENTICATION_ENABLED' + OAUTH_USER_NOT_EXISTS_SSO: + $ref: '#/components/examples/OAUTH_USER_NOT_EXISTS' + OAUTH_USERNAME_OR_PASSWORD_WRONG: + $ref: '#/components/examples/OAUTH_USERNAME_OR_PASSWORD_WRONG' + OAUTH_USERNAME_OR_PASSWORD_WRONG_FOR_BLOCK_LOCKOUT: + $ref: '#/components/examples/OAUTH_USERNAME_OR_PASSWORD_WRONG_FOR_BLOCK_LOCKOUT' + OAUTH_USERNAME_OR_PASSWORD_WRONG_FOR_SUSPEND_LOCKOUT: + $ref: '#/components/examples/OAUTH_USERNAME_OR_PASSWORD_WRONG_FOR_SUSPEND_LOCKOUT' + PASSWORD_REQUIRED: + $ref: '#/components/examples/PASSWORD_REQUIRED_SSO' + REDIRECT_URI_INVALID: + $ref: '#/components/examples/REDIRECT_URI_INVALID' + REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/REDIRECT_URI_REQUIRED' + REFRESH_TOKEN_INVALID_SSO: + $ref: '#/components/examples/REFRESH_TOKEN_INVALID_SSO' + REFRESH_TOKEN_REQUIRED_SSO: + $ref: '#/components/examples/REFRESH_TOKEN_REQUIRED_SSO' + RESPONSE_TYPE_INVALID: + $ref: '#/components/examples/RESPONSE_TYPE_INVALID' + SCOPE_INVALID: + $ref: '#/components/examples/SCOPE_INVALID' + TOKEN_REQUIRED: + $ref: '#/components/examples/TOKEN_REQUIRED_SSO' + USERNAME_REQUIRED_SSO: + $ref: '#/components/examples/USERNAME_REQUIRED_SSO' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + CLIENT_ID_INVALID: + $ref: '#/components/examples/CLIENT_ID_INVALID' + /DEVICE_ACCESS_TOKEN_EXPIRED_SSO: + $ref: '#/components/examples/DEVICE_ACCESS_TOKEN_EXPIRED' + OAUTH_REDIRECT_URI_MISMATCH: + $ref: '#/components/examples/OAUTH_REDIRECT_URI_MISMATCH' + GENERIC_AUTH_ERROR: + $ref: '#/components/examples/GENERIC_AUTH_ERROR_SSO' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + CLIENT_SECRET_INVALID: + $ref: '#/components/examples/CLIENT_SECRET_INVALID' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 6 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oidc/{OIDCAppName}/par: + post: + operationId: OIDCPushedAuthorizationRequest + summary: OIDC Pushed Authorization Request (PAR) + description: Accepts an OIDC authorization request and stores it server-side per RFC 9126 (OAuth 2.0 Pushed Authorization Requests). Returns a short-lived request_uri that the client passes as the sole parameter to the authorization endpoint, keeping all sensitive request parameters out of the browser URL. This feature must be explicitly enabled on the OIDC application configuration. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + requestBody: + $ref: '#/components/requestBodies/OAuthPARRequest' + responses: + '201': + description: 'Created: PAR accepted. Use the returned request_uri as the sole parameter to the authorization endpoint within expires_in seconds.' + content: + application/json: + schema: + $ref: '#/components/schemas/PARResponse' + '400': + description: 'Status Bad Request: One or more request parameters are missing or invalid.' + content: + application/json: + examples: + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CLIENT_SECRET_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_REQUIRED' + REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/REDIRECT_URI_REQUIRED' + REDIRECT_URI_NOT_VALID: + $ref: '#/components/examples/REDIRECT_URI_NOT_VALID' + RESPONSE_TYPE_INVALID: + $ref: '#/components/examples/RESPONSE_TYPE_INVALID' + SCOPE_INVALID: + $ref: '#/components/examples/SCOPE_INVALID' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The application or client is not permitted to use this endpoint.' + content: + application/json: + examples: + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT_SSO' + PAR_FEATURE_DISABLED: + $ref: '#/components/examples/PAR_FEATURE_DISABLED' + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 7 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oidc/{OIDCAppName}/register: + post: + operationId: OIDCDynamicClientRegistration + summary: OIDC dynamic client registration + description: Registers a new OAuth 2.0/OIDC client dynamically per RFC 7591 (OAuth 2.0 Dynamic Client Registration Protocol). The client submits desired metadata (redirect_uris, client_name, grant_types, etc.) and receives the registered client metadata including the assigned client_id and client_secret. This feature must be explicitly enabled on the OIDC application configuration. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/DynamicClientRegistrationRequest' + responses: + '200': + description: 'OK: Returns the registered client metadata.' + content: + application/json: + schema: + $ref: '#/components/schemas/DynamicClientRegistrationResponse' + '400': + description: 'Status Bad Request: Invalid registration request.' + content: + application/json: + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST_SSO' + INVALID_HOST: + $ref: '#/components/examples/INVALID_HOST' + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Status Forbidden: Dynamic client registration is not enabled.' + content: + application/json: + examples: + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT_SSO' + DCR_FEATURE_DISABLED: + $ref: '#/components/examples/DCR_FEATURE_DISABLED' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED_SSO' + schema: + $ref: '#/components/schemas/ErrorResponse' + tags: + - OIDC + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /api/oidc/{OIDCAppName}/register/{clientID}: + get: + operationId: GetDynamicClient + summary: Get a Dynamic Client + description: Retrieves the metadata of a dynamically registered OAuth 2.0/OIDC client per RFC 7592 (OAuth 2.0 Dynamic Client Registration Management Protocol). Requires the registration_access_token issued at registration time. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + - $ref: '#/components/parameters/OAuthDynamicClientId' + security: + - BearerToken: [] + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthDynamicClientResponse' + '400': + description: 'Status Bad Request: The registration_access_token is missing.' + content: + application/json: + examples: + DCR_REGISTRATION_TOKEN_REQUIRED: + $ref: '#/components/examples/DCR_REGISTRATION_TOKEN_REQUIRED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The registration_access_token is invalid or the client was not found.' + content: + application/json: + examples: + DCR_REGISTRATION_TOKEN_INVALID: + $ref: '#/components/examples/DCR_REGISTRATION_TOKEN_INVALID' + DCR_CLIENT_NOT_FOUND: + $ref: '#/components/examples/DCR_CLIENT_NOT_FOUND' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: Dynamic client registration is not enabled on this authorization server.' + content: + application/json: + examples: + DCR_FEATURE_DISABLED: + $ref: '#/components/examples/DCR_FEATURE_DISABLED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 11 + put: + operationId: UpdateDynamicClient + summary: Update a Dynamic Client + description: Updates the metadata of a dynamically registered OAuth 2.0/OIDC client per RFC 7592. Requires the registration_access_token issued at registration time. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + - $ref: '#/components/parameters/OAuthDynamicClientId' + security: + - BearerToken: [] + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthDynamicClientRequest' + responses: + '200': + description: 'OK: The client was successfully updated.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthDynamicClientResponse' + '400': + description: 'Status Bad Request: The client metadata is invalid or the registration_access_token is missing.' + content: + application/json: + examples: + DCR_REGISTRATION_TOKEN_REQUIRED: + $ref: '#/components/examples/DCR_REGISTRATION_TOKEN_REQUIRED' + DCR_CLIENT_NAME_REQUIRED: + $ref: '#/components/examples/DCR_CLIENT_NAME_REQUIRED' + DCR_REDIRECT_URI_REQUIRED: + $ref: '#/components/examples/DCR_REDIRECT_URI_REQUIRED' + DCR_REDIRECT_URI_EMPTY: + $ref: '#/components/examples/DCR_REDIRECT_URI_EMPTY' + DCR_REDIRECT_URI_INVALID: + $ref: '#/components/examples/DCR_REDIRECT_URI_INVALID' + DCR_POST_LOGOUT_REQUEST_URI_INVALID: + $ref: '#/components/examples/DCR_POST_LOGOUT_REQUEST_URI_INVALID' + DCR_BACK_CHANNEL_LOGOUT_URI_INVALID: + $ref: '#/components/examples/DCR_BACK_CHANNEL_LOGOUT_URI_INVALID' + DCR_REQUEST_URI_INVALID: + $ref: '#/components/examples/DCR_REQUEST_URI_INVALID' + DCR_GRANT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/DCR_GRANT_TYPE_NOT_SUPPORTED' + ACCESS_DENIED_GRANT_TYPE_NOT_ALLOWED: + $ref: '#/components/examples/ACCESS_DENIED_GRANT_TYPE_NOT_ALLOWED' + DCR_RESPONSE_TYPE_REQUIRED: + $ref: '#/components/examples/DCR_RESPONSE_TYPE_REQUIRED' + DCR_RESPONSE_TYPE_INVALID: + $ref: '#/components/examples/DCR_RESPONSE_TYPE_INVALID' + DCR_RESPONSE_TYPE_ALLOWED_WITH_GRANT_TYPE: + $ref: '#/components/examples/DCR_RESPONSE_TYPE_ALLOWED_WITH_GRANT_TYPE' + DCR_TOKEN_AUTH_METHOD_NOT_SUPPORTED: + $ref: '#/components/examples/DCR_TOKEN_AUTH_METHOD_NOT_SUPPORTED' + DCR_LOGO_URL_INVALID: + $ref: '#/components/examples/DCR_LOGO_URL_INVALID' + DCR_TOS_URL_INVALID: + $ref: '#/components/examples/DCR_TOS_URL_INVALID' + DCR_POLICY_URL_INVALID: + $ref: '#/components/examples/DCR_POLICY_URL_INVALID' + DCR_CLIENT_URL_INVALID: + $ref: '#/components/examples/DCR_CLIENT_URL_INVALID' + DCR_JWKS_MUTUALLY_EXCLUSIVE: + $ref: '#/components/examples/DCR_JWKS_MUTUALLY_EXCLUSIVE' + DCR_JWKS_URI_INVALID: + $ref: '#/components/examples/DCR_JWKS_URI_INVALID' + DCR_JWKS_INVALID_JSON: + $ref: '#/components/examples/DCR_JWKS_INVALID_JSON' + DCR_JWKS_INVALID_STRUCTURE: + $ref: '#/components/examples/DCR_JWKS_INVALID_STRUCTURE' + DCR_JWKS_INVALID_KEY_PARAMS: + $ref: '#/components/examples/DCR_JWKS_INVALID_KEY_PARAMS' + DCR_JWKS_URI_FETCH_FAILED: + $ref: '#/components/examples/DCR_JWKS_URI_FETCH_FAILED' + DCR_ID_TOKEN_SIGNING_ALG_NOT_SUPPORTED: + $ref: '#/components/examples/DCR_ID_TOKEN_SIGNING_ALG_NOT_SUPPORTED' + DCR_USERINFO_SIGNING_ALG_NOT_SUPPORTED: + $ref: '#/components/examples/DCR_USERINFO_SIGNING_ALG_NOT_SUPPORTED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The registration_access_token is invalid or the client was not found.' + content: + application/json: + examples: + DCR_REGISTRATION_TOKEN_INVALID: + $ref: '#/components/examples/DCR_REGISTRATION_TOKEN_INVALID' + DCR_CLIENT_NOT_FOUND: + $ref: '#/components/examples/DCR_CLIENT_NOT_FOUND' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: Dynamic client registration is not enabled on this authorization server.' + content: + application/json: + examples: + DCR_FEATURE_DISABLED: + $ref: '#/components/examples/DCR_FEATURE_DISABLED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 12 + delete: + operationId: DeleteDynamicClient + summary: Delete a Dynamic Client + description: Deletes a dynamically registered OAuth 2.0/OIDC client per RFC 7592. Requires the registration_access_token issued at registration time. Returns 204 No Content on success. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + - $ref: '#/components/parameters/OAuthDynamicClientId' + security: + - BearerToken: [] + responses: + '204': + description: 'No Content: The client was successfully deleted.' + '400': + description: 'Status Bad Request: The registration_access_token is missing.' + content: + application/json: + examples: + DCR_REGISTRATION_TOKEN_REQUIRED: + $ref: '#/components/examples/DCR_REGISTRATION_TOKEN_REQUIRED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The registration_access_token is invalid or the client was not found.' + content: + application/json: + examples: + DCR_REGISTRATION_TOKEN_INVALID: + $ref: '#/components/examples/DCR_REGISTRATION_TOKEN_INVALID' + DCR_CLIENT_NOT_FOUND: + $ref: '#/components/examples/DCR_CLIENT_NOT_FOUND' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: Dynamic client registration is not enabled on this authorization server.' + content: + application/json: + examples: + DCR_FEATURE_DISABLED: + $ref: '#/components/examples/DCR_FEATURE_DISABLED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 13 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /service/oauth/introspect: + post: + operationId: GetM2MTokenInfo + summary: Retrieve M2M token info + description: Retrieves information about a Machine-to-Machine (M2M) token. + requestBody: + $ref: '#/components/requestBodies/OAuthM2MTokenIntrospectRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthM2MIntrospectResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CLIENT_SECRET_BASIC_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_BASIC_REQUIRED' + CLIENT_SECRET_POST_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_POST_REQUIRED' + CLIENT_SECRET_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_REQUIRED' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_POST_BODY_INVALID: + $ref: '#/components/examples/OAUTH_POST_BODY_INVALID' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + TOKEN_REQUIRED: + $ref: '#/components/examples/TOKEN_REQUIRED_SSO' + TOKEN_TYPE_HINT_INVALID: + $ref: '#/components/examples/TOKEN_TYPE_HINT_INVALID' + TOKEN_TYPE_HINT_REQUIRED: + $ref: '#/components/examples/TOKEN_TYPE_HINT_REQUIRED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + CLIENT_ID_INVALID: + $ref: '#/components/examples/CLIENT_ID_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + CLIENT_SECRET_INVALID: + $ref: '#/components/examples/CLIENT_SECRET_INVALID' + M2M_CONF_NOT_EXIST: + $ref: '#/components/examples/M2M_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OAuth M2M + x-order: 3 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /service/oauth/jwks: + get: + operationId: GetM2MJWKSConfig + summary: Retrieve JSON Web Key Set + description: Retrieves the JSON Web Key Set (JWKS) for verifying token signatures. + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/JWKSResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OAuth M2M + x-order: 1 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /service/oauth/revoke: + post: + operationId: RevokeM2MToken + summary: Revoke M2M token + description: Revokes a Machine-to-Machine (M2M) token to invalidate it. + requestBody: + $ref: '#/components/requestBodies/OAuthM2MTokenRevokeRequest' + responses: + '200': + description: 'OK: The request was successful.' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO' + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CLIENT_SECRET_BASIC_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_BASIC_REQUIRED' + CLIENT_SECRET_POST_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_POST_REQUIRED' + CLIENT_SECRET_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_REQUIRED' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_POST_BODY_INVALID: + $ref: '#/components/examples/OAUTH_POST_BODY_INVALID' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + TOKEN_EXPIRED: + $ref: '#/components/examples/TOKEN_EXPIRED' + TOKEN_INVALID: + $ref: '#/components/examples/TOKEN_INVALID' + TOKEN_REQUIRED: + $ref: '#/components/examples/TOKEN_REQUIRED_SSO' + TOKEN_TYPE_HINT_INVALID: + $ref: '#/components/examples/TOKEN_TYPE_HINT_INVALID' + TOKEN_TYPE_HINT_REQUIRED: + $ref: '#/components/examples/TOKEN_TYPE_HINT_REQUIRED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + CLIENT_ID_INVALID: + $ref: '#/components/examples/CLIENT_ID_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + CLIENT_SECRET_INVALID: + $ref: '#/components/examples/CLIENT_SECRET_INVALID' + M2M_CONF_NOT_EXIST: + $ref: '#/components/examples/M2M_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OAuth M2M + x-order: 4 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /service/oauth/token: + post: + operationId: GenerateM2MToken + summary: Generate M2M token + description: Generates a Machine-to-Machine (M2M) token for application authentication. + requestBody: + $ref: '#/components/requestBodies/OAuthM2MTokenGenerateRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthM2MTokenResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + AUDIENCE_REQUIRED: + $ref: '#/components/examples/AUDIENCE_REQUIRED' + CLIENT_ID_REQUIRED: + $ref: '#/components/examples/CLIENT_ID_REQUIRED' + CLIENT_SECRET_BASIC_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_BASIC_REQUIRED' + CLIENT_SECRET_POST_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_POST_REQUIRED' + CLIENT_SECRET_REQUIRED: + $ref: '#/components/examples/CLIENT_SECRET_REQUIRED' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + GRANT_TYPE_INVALID: + $ref: '#/components/examples/GRANT_TYPE_INVALID' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_POST_BODY_INVALID: + $ref: '#/components/examples/OAUTH_POST_BODY_INVALID' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + RESOURCE_PERMISSION_NOT_FOUND: + $ref: '#/components/examples/RESOURCE_PERMISSION_NOT_FOUND' + USER_PERMISSION_NOT_FOUND: + $ref: '#/components/examples/USER_PERMISSION_NOT_FOUND' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '401': + description: 'Status Unauthorized: The client must authenticate itself to get the requested response.' + content: + application/json: + examples: + CLIENT_ID_INVALID: + $ref: '#/components/examples/CLIENT_ID_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + CLIENT_SECRET_INVALID: + $ref: '#/components/examples/CLIENT_SECRET_INVALID' + M2M_CONF_NOT_EXIST: + $ref: '#/components/examples/M2M_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OAuth M2M + x-order: 2 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /service/oidc/{OIDCAppName}/.well-known/openid-configuration: + get: + operationId: GetOIDCDiscoveryConfig + summary: OpenID Connect Discovery endpoint + description: Returns the OpenID Provider Configuration Information per OpenID Connect Discovery 1.0 (Section 4). Clients use this endpoint to dynamically discover the issuer, supported endpoints, scopes, response types, claims, and signing algorithms. The response includes the authorization_endpoint, token_endpoint, userinfo_endpoint, jwks_uri, and other metadata needed to configure an OIDC Relying Party. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OIDCDiscoveryResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 1 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /service/oidc/{OIDCAppName}/.well-known/oauth-authorization-server: + get: + operationId: GetOAuthAuthorizationServerMetadataOIDC + summary: OAuth Authorization Server Metadata (OIDC app) + description: | + Returns OAuth 2.0 Authorization Server Metadata (RFC 8414) for the given OIDC app. + Use this endpoint for OAuth 2.0 client discovery when using the OIDC flow path. + Response does not include OpenID Connect-specific fields (e.g. userinfo_endpoint, claims_supported). + parameters: + - $ref: '#/components/parameters/OIDCAppName' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthAuthorizationServerMetadata' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: Forbidden + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 2 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /service/oidc/{OIDCAppName}/jwks: + get: + operationId: GetOIDCJWKSConfig + summary: Retrieve JSON Web Key Set + description: Retrieves the JSON Web Key Set (JWKS) for verifying token signatures. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/JWKSResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 2 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /service/oidc/{OIDCAppName}/userinfo: + get: + operationId: GetOIDCUserinfo + summary: Retrieve OIDC User info + description: Retrieves User information using OpenID Connect (OIDC) standards. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OIDCUserinfoResponse' + application/jwt: + schema: + $ref: '#/components/schemas/OIDCUserinfoJWTResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO' + ACCESS_TOKEN_REQUIRED_SSO: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED_SSO' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + TOKEN_EXPIRED: + $ref: '#/components/examples/TOKEN_EXPIRED' + TOKEN_INVALID: + $ref: '#/components/examples/TOKEN_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + OPENID_CONF_INVALID: + $ref: '#/components/examples/OPENID_CONF_INVALID' + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + security: + - AccessToken: [] + - BearerToken: [] + tags: + - OIDC + x-order: 3 + post: + operationId: GetOIDCUserinfoByPost + summary: Retrieve OIDC User info via POST + description: Retrieves User information using OpenID Connect (OIDC) standards via the POST method. + parameters: + - $ref: '#/components/parameters/OIDCAppName' + requestBody: + $ref: '#/components/requestBodies/OIDCUserinfoRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/OIDCUserinfoResponse' + application/jwt: + schema: + $ref: '#/components/schemas/OIDCUserinfoJWTResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO: + $ref: '#/components/examples/ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO' + ACCESS_TOKEN_REQUIRED_SSO: + $ref: '#/components/examples/ACCESS_TOKEN_REQUIRED_SSO' + CONTENT_TYPE_NOT_SUPPORTED: + $ref: '#/components/examples/CONTENT_TYPE_NOT_SUPPORTED' + OAUTH_APP_RESTRICTED: + $ref: '#/components/examples/OAUTH_APP_RESTRICTED' + OAUTH_DANGEROUS_REQUEST: + $ref: '#/components/examples/OAUTH_DANGEROUS_REQUEST' + OAUTH_HOST_NOT_WHITELISTED: + $ref: '#/components/examples/OAUTH_HOST_NOT_WHITELISTED' + OAUTH_TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/OAUTH_TRIAL_PLAN_EXPIRED' + TOKEN_EXPIRED: + $ref: '#/components/examples/TOKEN_EXPIRED' + TOKEN_INVALID: + $ref: '#/components/examples/TOKEN_INVALID' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + OPENID_CONF_INVALID: + $ref: '#/components/examples/OPENID_CONF_INVALID' + OAUTH_CONF_NOT_EXIST: + $ref: '#/components/examples/OAUTH_CONF_NOT_EXIST' + TOKEN_CONF_INVALID: + $ref: '#/components/examples/TOKEN_CONF_INVALID' + TOKEN_CONF_NOT_EXIST: + $ref: '#/components/examples/TOKEN_CONF_NOT_EXIST' + schema: + $ref: '#/components/schemas/OAuthErrorResponse' + tags: + - OIDC + x-order: 4 + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /service/saml/idp/metadata: + get: + operationId: GetSAMLIDPMetadata + summary: Retrieve SAML IDP metadata + description: Retrieves metadata for a SAML Identity Provider (IDP). + parameters: + - $ref: '#/components/parameters/SamlAppName' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/xml: + schema: + $ref: '#/components/schemas/SamlIdpMetadataResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST_SSO' + INVALID_HOST: + $ref: '#/components/examples/INVALID_HOST' + SAML_APP_NAME_REQUIRED: + $ref: '#/components/examples/SAML_APP_NAME_REQUIRED' + SP_SAML_CONFIG_NOT_FOUND: + $ref: '#/components/examples/SP_SAML_CONFIG_NOT_FOUND' + SP_SAML_CONFIG_NOT_VALID: + $ref: '#/components/examples/SP_SAML_CONFIG_NOT_VALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + $ref: '#/components/examples/APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT_SSO' + SAML_METADATA_RESPONSE_INVALID: + $ref: '#/components/examples/SAML_METADATA_RESPONSE_INVALID' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED_SSO' + schema: + $ref: '#/components/schemas/ErrorResponse' + tags: + - SAML + servers: + - description: LoginRadius Prod Tenant Endpoint + url: https://{TenantName}.hub.loginradius.com + variables: + TenantName: + default: TenantName + description: Tenant Name + - description: LoginRadius Prod Custom Domain Endpoint + url: https://{CustomDomain} + variables: + CustomDomain: + default: auth.example.com + description: Tenant Custom Domain Name + /sso/mobile/generate: + get: + operationId: GenerateQRCode + summary: Retrieve QR code + description: Retrieves a QR code for Cross Device SSO. + parameters: + - $ref: '#/components/parameters/CodeExpiryTTL' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/QRCodeResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + API_KEY_NOT_WELL_FORMATTED_SSO: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED_SSO' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED_SSO' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST_SSO' + EXPIRE_IN_INVALID_FORMAT_SSO: + $ref: '#/components/examples/EXPIRE_IN_INVALID_FORMAT_SSO' + MOBILE_EXPIRY_PARAM_INVALID: + $ref: '#/components/examples/MOBILE_EXPIRY_PARAM_INVALID' + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID_SSO' + SOMETHING_GOING_WRONG_SSO: + $ref: '#/components/examples/SOMETHING_GOING_WRONG_SSO' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED_SSO' + schema: + $ref: '#/components/schemas/ErrorResponse' + security: + - APIKey: [] + - XLoginRadiusAPIKey: [] + servers: + - description: LoginRadius Cloud API Endpoint + url: https://cloud-api.loginradius.com + tags: + - Cross Device SSO + x-order: 1 + /sso/mobile/token: + get: + operationId: GetAccessTokenByPing + summary: Retrieve Access Token by ping + description: Retrieves an Access Token by ping after a User scans a QR code during mobile login. + parameters: + - $ref: '#/components/parameters/QRCode' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/AccessTokenByPingQRCodeResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + API_KEY_NOT_WELL_FORMATTED_SSO: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED_SSO' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED_SSO' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST_SSO' + MOBILE_ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO: + $ref: '#/components/examples/MOBILE_ACCESS_TOKEN_INVALID_OR_EXPIRED' + MOBILE_CODE_NOT_VALID_OR_EXPIRED: + $ref: '#/components/examples/MOBILE_CODE_NOT_VALID_OR_EXPIRED' + MOBILE_CODE_REQUIRED: + $ref: '#/components/examples/MOBILE_CODE_REQUIRED' + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID_SSO' + SOMETHING_GOING_WRONG_SSO: + $ref: '#/components/examples/SOMETHING_GOING_WRONG_SSO' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED_SSO' + schema: + $ref: '#/components/schemas/ErrorResponse' + security: + - APIKey: [] + - XLoginRadiusAPIKey: [] + servers: + - description: LoginRadius Cloud API Endpoint + url: https://cloud-api.loginradius.com + tags: + - Cross Device SSO + x-order: 3 + post: + operationId: MapQRCodeToAccessToken + summary: Map QR code to Access Token + description: Maps a scanned QR code to an Access Token during mobile login. + requestBody: + $ref: '#/components/requestBodies/QRCodeMapToTokenRequest' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/QRCodeMapToTokenResponse' + '400': + description: 'Status Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + examples: + API_KEY_NOT_WELL_FORMATTED_SSO: + $ref: '#/components/examples/API_KEY_NOT_WELL_FORMATTED_SSO' + API_KEY_REQUIRED: + $ref: '#/components/examples/API_KEY_REQUIRED_SSO' + CODE_AND_TOKEN_REQUIRED: + $ref: '#/components/examples/CODE_AND_TOKEN_REQUIRED' + DANGEROUS_REQUEST: + $ref: '#/components/examples/DANGEROUS_REQUEST_SSO' + INVALID_POST_BODY: + $ref: '#/components/examples/INVALID_POST_BODY' + MOBILE_CODE_NOT_VALID_OR_EXPIRED: + $ref: '#/components/examples/MOBILE_CODE_NOT_VALID_OR_EXPIRED' + MOBILE_CODE_REQUIRED: + $ref: '#/components/examples/MOBILE_CODE_REQUIRED' + POST_BODY_INVALID: + $ref: '#/components/examples/POST_BODY_INVALID_SSO' + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Status Forbidden: The client does not have permission to access the resource.' + content: + application/json: + examples: + ACCESS_TOKEN_NOT_VALID: + $ref: '#/components/examples/ACCESS_TOKEN_NOT_VALID_SSO' + API_KEY_NOT_VALID: + $ref: '#/components/examples/API_KEY_NOT_VALID_SSO' + SOMETHING_GOING_WRONG_SSO: + $ref: '#/components/examples/SOMETHING_GOING_WRONG_SSO' + TRIAL_PLAN_EXPIRED: + $ref: '#/components/examples/TRIAL_PLAN_EXPIRED_SSO' + schema: + $ref: '#/components/schemas/ErrorResponse' + security: + - APIKey: [] + - XLoginRadiusAPIKey: [] + servers: + - description: LoginRadius Cloud API Endpoint + url: https://cloud-api.loginradius.com + tags: + - Cross Device SSO + x-order: 2 + /bulk/upsert: + post: + summary: Batch upload Users + operationId: BatchUpload + description: Uploads an array of Users with optional Password and migration configuration. + tags: + - User Migration + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BatchUpload' + examples: + b2cBatchUplaod: + $ref: '#/components/examples/b2cBatchUplaod' + b2cBatchUplaodWithPasswordConfig: + $ref: '#/components/examples/b2cBatchUplaodWithPasswordConfig' + b2cDeltaBatchUplaod: + $ref: '#/components/examples/b2cDeltaBatchUplaod' + b2bBatchUplaod: + $ref: '#/components/examples/b2bBatchUplaod' + b2bBatchUplaodWithPasswordConfig: + $ref: '#/components/examples/b2bBatchUplaodWithPasswordConfig' + b2bDeltaBatchUplaod: + $ref: '#/components/examples/b2bDeltaBatchUplaod' + b2bBatchUplaodOnlyOrgs: + $ref: '#/components/examples/b2bBatchUplaodOnlyOrgs' + b2bBatchUplaodOnlyRoles: + $ref: '#/components/examples/b2bBatchUplaodOnlyRoles' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/BatchUploadResponse' + examples: + success: + $ref: '#/components/examples/batchUploadSuccess' + partial_success: + $ref: '#/components/examples/batchUploadPartialSuccess' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/BatchUploadErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + SUBKEYLENGTH_RANGE: + $ref: '#/components/examples/SUBKEYLENGTH_RANGE' + SALTKEYLENGTH_RANGE: + $ref: '#/components/examples/SALTKEYLENGTH_RANGE' + INVALID_PASSWORD_HASH_CONFIG: + $ref: '#/components/examples/INVALID_PASSWORD_HASH_CONFIG' + INITIAL_PROFILE_BODY_VALIDATIONS: + $ref: '#/components/examples/ValidateIdentity' + B2B_ORG_AND_ROLE_VALIDATION: + $ref: '#/components/examples/B2B_ORG_AND_ROLE_VALIDATION' + IDENTITY_VALIDATION_ERRORS: + $ref: '#/components/examples/IDENTITY_VALIDATION_ERRORS' + BATCH_MIGRATION_TOO_MANY_RECORDS: + $ref: '#/components/examples/BATCH_MIGRATION_TOO_MANY_RECORDS' + BATCH_MIGRATION_NO_RECORDS: + $ref: '#/components/examples/BATCH_MIGRATION_NO_RECORDS' + MISSING_UNIQUE_INDEX: + $ref: '#/components/examples/MISSING_UNIQUE_INDEX' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + MIGRATION_FAILED: + $ref: '#/components/examples/MIGRATION_FAILED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + servers: + - description: LoginRadius Migration Endpoint + url: https://migration.loginradius.com/v2 + security: + - APIKey: [] + APISecret: [] + /consent/options: + get: + summary: Retrieve Consent Options + operationId: GetConsentOptions + description: Lists all consent options available for a specific Tenant. + security: + - M2MBearerToken: [] + tags: + - Consent + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/ConsentOptions' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + CONSENT_MANAGEMENT_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_MANAGEMENT_NOT_ENABLED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + post: + summary: Create Consent Option + operationId: CreateConsentOption + security: + - M2MBearerToken: [] + description: Creates a new consent option for a specific Tenant. + tags: + - Consent + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentOptionModel' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentOptions' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + CONSENT_MANAGEMENT_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_MANAGEMENT_NOT_ENABLED' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_OPTION_ID_ALREADY_EXISTS: + $ref: '#/components/examples/CONSENT_OPTION_ID_ALREADY_EXISTS' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /consent/options/{optionId}: + delete: + summary: Delete Consent Option + operationId: DeleteConsentOption + description: Deletes the consent option identified by the option ID for the Tenant. + security: + - M2MBearerToken: [] + tags: + - Consent + parameters: + - $ref: '#/components/parameters/OptionId' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + CONSENT_MANAGEMENT_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_MANAGEMENT_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_OPTION_NOT_FOUND: + $ref: '#/components/examples/CONSENT_OPTION_NOT_FOUND' + '409': + description: 'Conflict: The request could not be completed due to a conflict with the current state of the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_OPTION_IN_USE: + $ref: '#/components/examples/CONSENT_OPTION_IN_USE' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /consent/forms: + get: + summary: Retrieve Consent Forms + description: Retrieves all Consent Forms configured for the Tenant. + operationId: GetConsentForms + security: + - M2MBearerToken: [] + tags: + - Consent + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/ConsentForm' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + CONSENT_MANAGEMENT_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_MANAGEMENT_NOT_ENABLED' + '500': + description: 'Internal Server Error: An unexpected error occurred.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + post: + summary: Add Consent Form + description: Adds a new Consent Form for the Tenant. + operationId: AddConsentForm + security: + - M2MBearerToken: [] + tags: + - Consent + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentFormModel' + responses: + '200': + description: 'Created: The Consent Form was successfully created.' + content: + application/json: + schema: + $ref: '#/components/schemas/ConsentForm' + '400': + description: 'Bad Request: The request was invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + JSON_POST_BODY_REQUIRED: + $ref: '#/components/examples/JSON_POST_BODY_REQUIRED' + PARAMETER_NOT_WELL_FORMATTED: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED' + CONSENT_OPTION_INVALID: + $ref: '#/components/examples/CONSENT_OPTION_INVALID' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + CONSENT_MANAGEMENT_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_MANAGEMENT_NOT_ENABLED' + '409': + description: 'Conflict: The Consent Form already exists.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_FORM_ALREADY_EXISTS_FOR_EVENT_START_DATE: + $ref: '#/components/examples/CONSENT_FORM_ALREADY_EXISTS_FOR_EVENT_START_DATE' + '500': + description: 'Internal Server Error: An unexpected error occurred.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /consent/forms/{version}: + delete: + summary: Delete Consent Form + operationId: DeleteConsentForm + description: Deletes the Consent Form identified by the form version for the Tenant. + security: + - M2MBearerToken: [] + tags: + - Consent + parameters: + - $ref: '#/components/parameters/FormVersion' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + $ref: '#/components/schemas/IsDeleted' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + PARAMETER_NOT_WELL_FORMATTED_INVALID_VERSION: + $ref: '#/components/examples/PARAMETER_NOT_WELL_FORMATTED_INVALID_VERSION' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + CONSENT_MANAGEMENT_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_MANAGEMENT_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_FORM_NOT_FOUND: + $ref: '#/components/examples/CONSENT_FORM_NOT_FOUND' + '410': + description: 'Gone: The resource requested is no longer available and will not be available again.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_FORM_ALREADY_DELETED: + $ref: '#/components/examples/CONSENT_FORM_ALREADY_DELETED' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /consent/forms/active: + get: + summary: Retrieve Active Consent Forms + operationId: GetActiveConsentForms + description: Retrieves a list of active Consent Forms configured for the Tenant. + security: + - M2MBearerToken: [] + tags: + - Consent + parameters: + - $ref: '#/components/parameters/Event' + responses: + '200': + description: 'OK: The request was successful.' + content: + application/json: + schema: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/ConsentForm' + '403': + description: 'Forbidden: The client does not have permission to access the resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + UNAUTHORIZED_ACCESS: + $ref: '#/components/examples/UNAUTHORIZED_ACCESS' + CONSENT_MANAGEMENT_NOT_ENABLED: + $ref: '#/components/examples/CONSENT_MANAGEMENT_NOT_ENABLED' + '404': + description: 'Not found: The server cannot find the requested resource.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + CONSENT_FORMS_NOT_FOUND: + $ref: '#/components/examples/CONSENT_FORMS_NOT_FOUND' + '500': + description: 'Internal Server Error: The server encountered an unexpected error.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + OPERATION_FAILED: + $ref: '#/components/examples/OPERATION_FAILED_PARTNER' + /sso/bigcommerce/auth: + get: + summary: BigCommerce OAuth Authorization + operationId: BigCommerceAuth + description: Handles BigCommerce OAuth authorization callbacks. Accepts either an authorization code (for install flow) or a signed_payload (for load/uninstall callbacks). Returns an HTML page on success. + tags: + - BigCommerce SSO + servers: + - url: https://{domain}.hub.loginradius.com + description: LoginRadius Hosted Plugins Server + variables: + domain: + default: example + description: LoginRadius Tenant Name + parameters: + - $ref: '#/components/parameters/BigCommerceCode' + - $ref: '#/components/parameters/BigCommerceSignedPayload' + responses: + '200': + description: 'OK: Authorization successful, returns HTML page.' + content: + text/html: + schema: + type: string + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + security: [] + /sso/bigcommerce/api/token: + get: + summary: Generate BigCommerce Login URL (GET) + operationId: GetBigCommerceLoginUrl + description: Generates a BigCommerce customer login URL using the provided LoginRadius access token. If the customer does not exist in BigCommerce, it creates one. Returns a login URL that can be used to authenticate the user into BigCommerce. + tags: + - BigCommerce SSO + servers: + - url: https://{domain}.hub.loginradius.com + description: LoginRadius Hosted Plugins Server + variables: + domain: + default: example + description: LoginRadius Tenant Name + parameters: + - $ref: '#/components/parameters/AccessTokenRequired' + - $ref: '#/components/parameters/BigCommerceStore' + - $ref: '#/components/parameters/PasswordQuery' + - $ref: '#/components/parameters/ReturnUrl' + responses: + '200': + description: 'OK: BigCommerce login URL generated successfully.' + content: + application/json: + schema: + $ref: '#/components/schemas/BigCommerceLoginUrlResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: 'Unauthorized: The API key or access token is missing or invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Forbidden: The request is not allowed.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + security: + - APIKey: [] + - XLoginRadiusAPIKey: [] + post: + summary: Generate BigCommerce Login URL (POST) + operationId: PostBigCommerceLoginUrl + description: Generates a BigCommerce customer login URL using the provided LoginRadius access token sent in the request body. If the customer does not exist in BigCommerce, it creates one. Returns a login URL that can be used to authenticate the user into BigCommerce. + tags: + - BigCommerce SSO + servers: + - url: https://{domain}.hub.loginradius.com + description: LoginRadius Hosted Plugins Server + variables: + domain: + default: example + description: LoginRadius Tenant Name + parameters: + - $ref: '#/components/parameters/BigCommerceStore' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BigCommerceTokenPostRequest' + responses: + '200': + description: 'OK: BigCommerce login URL generated successfully.' + content: + application/json: + schema: + $ref: '#/components/schemas/BigCommerceLoginUrlResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: 'Unauthorized: The API key or access token is missing or invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Forbidden: The request is not allowed.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + security: + - APIKey: [] + - XLoginRadiusAPIKey: [] + /sso/bigcommerce/api/validatepassword: + post: + summary: Validate BigCommerce Customer Password + operationId: ValidateBigCommercePassword + description: Validates a BigCommerce customer's password by checking the provided email and password against the BigCommerce store's customer records. + tags: + - BigCommerce SSO + servers: + - url: https://{domain}.hub.loginradius.com + description: LoginRadius Hosted Plugins Server + variables: + domain: + default: example + description: LoginRadius Tenant Name + parameters: + - $ref: '#/components/parameters/BigCommerceStore' + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/BigCommerceValidatePasswordRequest' + responses: + '200': + description: 'OK: Password validation result returned.' + content: + application/json: + schema: + $ref: '#/components/schemas/BigCommerceValidatePasswordResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: 'Unauthorized: The API key is missing or invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Forbidden: The request is not allowed.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + security: + - APIKey: [] + - XLoginRadiusAPIKey: [] + /sso/shopify/api/token: + get: + summary: Generate Shopify Multipass Login URL + operationId: GetShopifyLoginUrl + description: Generates a Shopify Multipass login URL using the provided LoginRadius access token. Uses Shopify's Multipass feature to create a single sign-on URL that authenticates the user into the Shopify store. + tags: + - Shopify SSO + servers: + - url: https://{domain}.hub.loginradius.com + description: LoginRadius Hosted Plugins Server + variables: + domain: + default: example + description: LoginRadius Tenant Name + parameters: + - $ref: '#/components/parameters/AccessTokenRequired' + - $ref: '#/components/parameters/ShopifyStore' + - $ref: '#/components/parameters/ReturnUrl' + responses: + '200': + description: 'OK: Shopify Multipass login URL generated successfully.' + content: + application/json: + schema: + $ref: '#/components/schemas/ShopifyLoginUrlResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: 'Unauthorized: The API key or access token is missing or invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Forbidden: The request is not allowed.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + security: + - APIKey: [] + - XLoginRadiusAPIKey: [] + /sso/perfectmind/session: + get: + summary: Generate PerfectMind Login Session + operationId: GetPerfectMindSession + description: Generates a PerfectMind login session using the provided LoginRadius access token. Returns a session ID and URL that can be used to authenticate the user into the PerfectMind platform. + tags: + - PerfectMind SSO + servers: + - url: https://{domain}.hub.loginradius.com + description: LoginRadius Hosted Plugins Server + variables: + domain: + default: example + description: LoginRadius Tenant Name + parameters: + - $ref: '#/components/parameters/AccessTokenRequired' + - $ref: '#/components/parameters/PerfectMindSiteName' + responses: + '200': + description: 'OK: PerfectMind session generated successfully.' + content: + application/json: + schema: + $ref: '#/components/schemas/PerfectMindSessionResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: 'Unauthorized: The API key or access token is missing or invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Forbidden: The request is not allowed.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + security: + - APIKey: [] + - XLoginRadiusAPIKey: [] + /sso/perfectmind/contact: + get: + summary: Get PerfectMind Contact IDs + operationId: GetPerfectMindContact + description: Retrieves PerfectMind contact IDs associated with the user's email address. Uses the LoginRadius access token to look up the user and match them against PerfectMind contacts using email and birth date. + tags: + - PerfectMind SSO + servers: + - url: https://{domain}.hub.loginradius.com + description: LoginRadius Hosted Plugins Server + variables: + domain: + default: example + description: LoginRadius Tenant Name + parameters: + - $ref: '#/components/parameters/AccessTokenRequired' + - $ref: '#/components/parameters/PerfectMindSiteName' + - $ref: '#/components/parameters/BirthDate' + - $ref: '#/components/parameters/PerfectScanID' + responses: + '200': + description: 'OK: PerfectMind contact information retrieved successfully.' + content: + application/json: + schema: + $ref: '#/components/schemas/PerfectMindContactResponse' + '400': + description: 'Bad Request: The request could not be understood by the server due to malformed syntax.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '401': + description: 'Unauthorized: The API key or access token is missing or invalid.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + '403': + description: 'Forbidden: The request is not allowed.' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + security: + - APIKey: [] + - XLoginRadiusAPIKey: [] +components: + securitySchemes: + AccessToken: + description: Access Token in QueryString + in: query + name: access_token + type: apiKey + BearerToken: + type: http + scheme: bearer + description: Bearer token for user authentication + APIKey: + type: apiKey + name: apikey + in: query + description: Tenant API Key for authentication + APISecret: + type: apiKey + name: apisecret + in: query + description: Tenant API Secret for authentication + ClientId: + type: apiKey + name: client_id + in: query + description: Application Client ID for authentication + ClientSecret: + type: apiKey + name: client_secret + in: query + description: Application Client Secret for authentication + M2MBearerToken: + type: http + scheme: bearer + bearerFormat: JWT + description: M2M Token for authentication + Digest: + type: apiKey + name: digest + in: header + description: Request Signing Digest for authentication + XRequestExpiresTime: + type: apiKey + name: X-Request-Expires + in: header + description: Request expiry time for API authentication + ApiSecret: + type: apiKey + in: query + name: secret + XLoginRadiusAPISecret: + type: apiKey + in: header + name: X-LoginRadius-ApiSecret + XLoginRadiusAPIKey: + type: apiKey + in: header + name: X-LoginRadius-ApiKey + parameters: + GoogleRecaptchaResponse: + name: g-recaptcha-response + in: query + required: false + schema: + type: string + description: Google reCAPTCHA response parameter which will be sent to the server for verification. + example: 03AGdBq24e1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5m6n7o8p9q0r1s2t3u4v5w6x7y8z9 + GoogleRecaptchaResponseAlt: + name: g_recaptcha_response + in: query + required: false + schema: + type: string + description: Google reCAPTCHA Response + example: 03AGdBq24e1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5m6n7o8p9q0r1s2t3u4v5w6x7y8z9 + PreventWebhook: + name: prevent_webhook + in: query + required: false + schema: + type: boolean + description: When true, suppresses webhook events for this operation. + example: true + XPreventWebhook: + name: X-PreventWebhook + in: header + required: false + schema: + type: boolean + description: When true, suppresses webhook events for this operation. + example: true + HCaptchaResponse: + name: h-captcha-response + in: query + required: false + schema: + type: string + description: hCaptcha Response + example: 03AGdBq24e1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5m6n7o8p9q0r1s2t3u4v5w6x7y8z9 + QQCaptchaTicket: + name: qq_captcha_ticket + in: query + required: false + schema: + type: string + description: QQ Captcha ticket (required if Bot Protection is enabled) + example: 03AGdBq24eJ9O8dpLsw0Pr0OTtWfkmK34K0jQde + QQCaptchaRandstr: + name: qq_captcha_randstr + in: query + required: false + schema: + type: string + description: QQ Captcha rand string (required if Bot Protection is enabled) + example: 03AGdBq24eJ9O8dpLsw0Pr0OTtWfkmK34K0jQde + EmailTemplate: + name: emailtemplate + in: query + required: false + schema: + type: string + description: Name of the Email template to use for this notification. + example: Email-Template + ResetPasswordUrl: + name: resetpasswordurl + in: query + required: false + schema: + type: string + description: Callback URL for the Password Reset link in the Email. + example: https://example.com/resetpassword + QQRecaptchaTicket: + name: qq_captcha_ticket + in: query + required: false + schema: + type: string + description: QQ reCAPTCHA Response + example: 03AGdBq24e1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5m6n7o8p9q0r1s2t3u4v5w6x7y8z9 + QQRecaptchaRandstr: + name: qq_captcha_randstr + in: query + required: false + schema: + type: string + description: QQ reCAPTCHA Response + example: 03AGdBq24e1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5m6n7o8p9q0r1s2t3u4v5w6x7y8z9 + AccessToken: + name: access_token + in: query + description: Access Token of the User + required: false + style: form + explode: true + schema: + type: string + example: 493318dd-487a-439b-8302-5e27f1110244 + SmsTemplate: + name: smstemplate + in: query + required: false + schema: + type: string + description: SMS Template + example: SMS-Template + IsVoiceOtp: + name: isvoiceotp + in: query + required: false + schema: + type: boolean + description: Boolean flag to enforce sending SMS content via Voice. + example: true + VerificationUrl: + name: verificationurl + in: query + required: false + schema: + type: string + description: Verification URL for the User which will be included in the Email template.. + example: https://example.com/verify?token=123456 + Sott: + name: sott + in: query + required: false + schema: + type: string + description: SOTT should be generated from the server side and passed here or in the X-LoginRadius-Sott header. + example: UIsmfxExgK9McHpzD+rGVaV7UtZkZiptaz5WVYqY9W9nzW1JJ2J/vYbeQZJPNMzOs1o1gLfd+Ays87hyphDWsqFBzJv3wBNfNLVZJdAK/HE=*b8ca7b7afcca0254b8cfdce843dc6253 + WelcomeEmailTemplate: + name: welcomeemailtemplate + in: query + required: false + schema: + type: string + description: Welcome Email Template + example: Welcome-Email-Template + Fields: + name: fields + in: query + description: Comma-separated list of profile fields to include in the response. + required: false + style: form + explode: true + schema: + type: string + example: Email,username + X-LoginRadius-Sott: + name: X-LoginRadius-Sott + in: header + schema: + type: string + description: SOTT should be generated from the server side and passed here or in sott query parameter. + example: UIsmfxExgK9McHpzD+rGVaV7UtZkZiptaz5WVYqY9W9nzW1JJ2J/vYbeQZJPNMzOs1o1gLfd+Ays87hyphDWsqFBzJv3wBNfNLVZJdAK/HE=*b8ca7b7afcca0254b8cfdce843dc6253 + Options: + name: options + in: query + required: false + schema: + type: string + description: Options value will be passed when don't want to send the Email to the User for the verification, i.e. preventverificationemail + example: preventverificationemail + InvitationToken: + name: invitation_token + in: query + required: false + schema: + type: string + description: Invitation token of an organization + example: f7e7e0c9-cd54-426f-97a7-5ebd846ddcc5 + PasskeyIdentifier: + name: identifier + in: query + description: Email of the User + required: true + style: form + schema: + type: string + example: test@example.com + LoginUrl: + name: loginurl + in: query + required: false + schema: + type: string + description: Login URL for the User which will come in the login logs from where the User logged in. + example: https://example.com/login + BreachedPasswordEmailTemplate: + name: breachedpasswordemailtemplate + in: query + required: false + schema: + type: string + description: Email template name for breached Password notifications. + example: Breached-PasswordEmail-Template + BreachedPasswordSmsTemplate: + name: breachedpasswordsmstemplate + in: query + required: false + schema: + type: string + description: SMS template name for breached Password notifications. + example: Breached-PasswordSMS-Template + RbaBrowserEmailTemplate: + name: rbabrowseremailtemplate + in: query + required: false + schema: + type: string + description: RBA browser Email template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when RBA with browser option is enabled for the Tenant. + example: RBA-Browser-Email-Template + RbaOneClickEmailTemplate: + name: rbaoneclickemailtemplate + in: query + required: false + schema: + type: string + description: RBA one click Email template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when RBA is enabled for the Tenant with one click sign in as a MFA option. + example: RBA-One-Click-Email-Template + RbaCityEmailTemplate: + name: rbacityemailtemplate + in: query + required: false + schema: + type: string + description: RBA city Email template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when RBA with city option is enabled for the Tenant. + example: RBA-City-Email-Template + RbaCountryEmailTemplate: + name: rbacountryemailtemplate + in: query + required: false + schema: + type: string + description: RBA country Email template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when RBA with country option is enabled for the Tenant. + example: RBA-Country-Email-Template + RbaIPEmailTemplate: + name: rbaipemailtemplate + in: query + required: false + schema: + type: string + description: RBA IP Email template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when RBA with IP option is enabled for the Tenant. + example: RBA-IP-Email-Template + RbaDeviceEmailTemplate: + name: rbadeviceemailtemplate + in: query + required: false + schema: + type: string + description: RBA device Email template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when RBA with device option is enabled for the Tenant. + example: RBA-Device-Email-Template + RbaOtpSMSTemplate: + name: rbaotpsmstemplate + in: query + required: false + schema: + type: string + description: RBA OTP SMS template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when a User has logged in via Phone. + example: RBA-OTP-SMS-Template + RbaBrowserSMSTemplate: + name: rbabrowsersmstemplate + in: query + required: false + schema: + type: string + description: RBA browser SMS template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when a User has logged in via Phone. + example: RBA-Browser-SMS-Template + RbaCitySMSTemplate: + name: rbacitysmstemplate + in: query + required: false + schema: + type: string + description: RBA city SMS template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when a User has logged in via Phone. + example: RBA-City-SMS-Template + RbaCountrySMSTemplate: + name: rbacountrysmstemplate + in: query + required: false + schema: + type: string + description: RBA country SMS template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when a User has logged in via Phone. + example: RBA-Country-SMS-Template + RbaIPSMSTemplate: + name: rbaipsmstemplate + in: query + required: false + schema: + type: string + description: RBA IP SMS template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when a User has logged in via Phone. + example: RBA-IP-SMS-Template + RbaDeviceSMSTemplate: + name: rbadevicesmstemplate + in: query + required: false + schema: + type: string + description: RBA device SMS template name which will be sent to the User when any risk is detected while logging in to the Tenant. It will only be used when a User has logged in via Phone. + example: RBA-Device-SMS-Template + EmailTemplate2FA: + name: emailtemplate2fa + in: query + required: false + schema: + type: string + description: Name of the 2FA Email template to use for this notification. + example: Email-Template + DuoRedirectUri: + name: duoredirecturi + in: query + required: false + schema: + type: string + description: Duo auth redirection url. + example: https://example.com/duo/callback + Email: + name: email + in: query + required: false + schema: + type: string + format: email + description: Email address of the associated Account. + example: test@gmail.com + Username: + name: username + in: query + required: false + schema: + type: string + description: Username of the associated Account. + example: testuser + VerificationToken: + name: verificationtoken + in: query + required: false + schema: + type: string + description: Verification token received in the Email. + example: '123456' + Otp: + name: otp + in: query + required: false + schema: + type: string + description: One-time passcode sent to the User's Email. + example: '123456' + Uuid: + name: uuid + in: query + required: false + schema: + type: string + description: Email template for the welcome Email. + example: Welcome-Email-Template + Url: + name: url + in: query + required: false + schema: + type: string + description: URL to log the main domain in the database. + example: https://example.com + SecondFactorToken: + name: secondfactorauthenticationtoken + in: query + required: true + schema: + type: string + description: Second factor token + example: 4asdf575-5678-4065-b717-fa0n7i5ca81a + ClientGuid: + name: clientguid + in: query + required: false + schema: + type: string + description: Client GUID for the request. + example: 12345678-1234-1234-1234-123456789012 + DeleteToken: + name: deletetoken + in: query + required: false + schema: + type: string + description: This is required if the OTP is not passed in the query parameter. + example: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + PreventRefresh: + name: preventRefresh + in: query + required: false + schema: + type: boolean + description: Whether to prevent the token from being refreshed (true/false). + example: true + NullSupport: + name: nullsupport + in: query + description: Bool flag, if this flag is sent as true then the fields which are send in payload as null then in the profile as well that will be saved as null only + required: false + style: form + explode: true + schema: + type: boolean + example: true + DeleteUrl: + name: deleteurl + in: query + description: DeleteUrl URL which is being sent in the Email + required: false + style: form + explode: true + schema: + type: string + example: https://example.com/deleteurl + passkeyId: + name: passkeyId + in: path + description: Id asscociated with the Passkey + required: true + schema: + type: string + example: 133f5cf974b94726a6a7cebec917765c + EmailId: + name: emailid + in: query + required: false + schema: + type: string + format: email + description: The Email address of User + example: test@gmail.com + ResetPasskeyUrl: + name: resetpasskeyurl + in: query + required: false + schema: + type: string + description: Reset Passkey URL + example: https://example.com/resetpasskey + VToken: + name: vtoken + in: query + required: false + schema: + type: string + description: Verification token received in the Email. + example: '123456' + RedirectUrl: + name: redirecturl + in: query + required: false + schema: + type: string + description: The URL to which the User will be redirected after completing the operation, such as login or verification. + example: https://example.com/redirect + OneTouchLoginEmailTemplate: + name: onetouchloginemailtemplate + in: query + required: false + schema: + type: string + description: One Touch Login Email Template + example: One-Touch-Login-Email-Template + SMSTemplate2FA: + name: smstemplate2fa + in: query + required: false + schema: + type: string + description: SMS template name to be used for sending the 2FA code to the User. + example: SMS-Template + ReAuthType: + name: type + in: path + required: true + schema: + type: string + enum: + - backupcode + - otp + - googleauthenticatorcode + - authenticatorcode + description: The method of ReAuth MFA verification to use. + example: otp + Phone: + name: phone + in: query + required: false + schema: + type: string + format: phone + description: Phone ID of the associated Account. + example: '+1234567890' + SmartLoginEmailTemplate: + name: smartloginemailtemplate + in: query + required: false + schema: + type: string + description: The template name for the smart login Email. + example: Smart-Login-Email-Template + ClientGuidRequired: + name: clientguid + in: query + required: true + schema: + type: string + description: Client GUID for the request. + example: 12345678-1234-1234-1234-123456789012 + PasswordlessLoginTemplate: + name: passwordlesslogintemplate + in: query + required: false + schema: + type: string + description: Passwordless Login Template + example: Passwordless-Login-Template + SessionTokenQuery: + name: session_token + in: query + required: true + schema: + type: string + description: Session Token for PIN Auth + example: 4asdf575-5678-4065-b717-fa0n7i5ca81a + CustomObjectId: + name: customobjectid + in: query + description: Unique identifier for the Custom Object record + required: false + schema: + type: string + example: customObject12 + ObjectName: + name: objectname + in: query + description: Name of the Custom Object to be used in the request. The name should match the Custom Object configured in your LoginRadius account. + required: false + schema: + type: string + example: customObjectName1 + ObjectRecordId: + name: objectrecordid + in: path + description: Unique identifier for the Custom Object record. The ID is used to target a specific Custom Object. + required: true + schema: + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + UpdateType: + name: updateType + description: | + The type of update to be performed on the Custom Object. This parameter is used to specify whether the update should be a full update or a partial update. + in: query + required: true + schema: + type: string + enum: + - partialreplace + - replace + - default + example: partialreplace + PinAuthTokenQuery: + name: pinauthtoken + in: query + required: true + schema: + type: string + description: Pin auth token to set the PIN on account + example: 6******2-3**8-4**5-8**d-3**********9 + ResetPinURL: + name: resetpinurl + in: query + required: false + schema: + type: string + description: Reset PIN URL + example: https://example.com/resetpin + ConsentToken: + name: consenttoken + in: query + required: true + schema: + type: string + description: The consent token for the User. + example: 8f2e1c3a-ab10-498c-8b12-a5b7c9e18dfc + Event: + name: event + in: query + description: Event type to filter consent verification (e.g., `login`). + required: true + schema: + type: string + example: login + IsCustom: + name: iscustom + in: query + description: This field value is used to filter the consent verification by custom events. The iscustom value should be a boolean. If true, it filters for custom events; if false, it filters for standard events. + required: true + schema: + type: boolean + example: true + InvitationTokenPath: + name: invitation_token + in: path + required: true + description: The token of the invitation to retrieve. + schema: + type: string + example: inv_aH840_snjODabaji + tokenType: + name: tokentype + in: path + description: 'Token purpose: `emailverification`, `forgotpin`, `addemail`, `deleteuser`, `onetouchlogin`, or `autologin`.' + required: true + schema: + type: string + enum: + - emailverification + - forgotpin + - addemail + - deleteuser + - onetouchlogin + - autologin + example: emailverification + smsOtpType: + name: smsotptype + in: path + description: 'OTP purpose: `addphone`, `phoneidverification`, `forgotpassword`, `forgotpin`, `onetouchlogin`, `smartlogin`, `passwordlesslogin`, or `deleteuser`.' + required: true + schema: + type: string + enum: + - addphone + - phoneidverification + - forgotpassword + - forgotpin + - onetouchlogin + - smartlogin + - passwordlesslogin + - deleteuser + example: addphone + UidPathParam: + name: uid + in: path + description: UID of the User + required: true + schema: + type: string + example: 680fada271a140ebc0716144 + ContextName: + name: contextName + in: path + description: Name of the Role Context + required: true + schema: + type: string + example: Home + UidQueryParam: + name: uid + in: query + description: The UID associated with the User + required: true + schema: + type: string + example: 43e4417bd2de4a1fa82445274f864203 + RefreshToken: + name: refresh_token + description: Refresh Token + in: query + required: true + schema: + type: string + description: The refresh token is a long-lived token that can be used to obtain a new Access Token without requiring the User to re-authenticate. It is typically issued alongside the Access Token during the initial authentication process and can be used to refresh the Access Token when it expires. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + UidPath: + name: uid + in: path + description: The UID associated with the User + required: true + schema: + type: string + example: 43e4417bd2de4a1fa82445274f864203 + QParam: + name: q + in: query + required: false + schema: + type: string + description: Query filter in `key:value` format. The key must be an indexed profile field. + example: ID:1234567890 + SendEmail: + name: sendemail + in: query + required: false + schema: + type: string + enum: + - 'true' + - 'false' + description: Indicates whether to send an Email with the forgot Password token. + example: 'true' + VType: + name: vtype + in: query + required: true + schema: + type: string + enum: + - email + description: The type of verification. Currently, only "Email" is supported. + example: email + ExpireIn: + name: expires_in + in: query + required: false + schema: + type: string + description: The expiration time for the token in seconds. + example: '3600' + IsWeb: + name: isweb + in: query + description: Indicates if the request is from a web client + required: false + schema: + type: string + example: 'true' + ExpiresIn: + name: expiresin + in: query + description: |- + Overrides the default lifetime of the Access Token. The unit and the default applied when this parameter is omitted depend on the User's registration profile: + * Email profiles: the value is interpreted in minutes. When omitted, + the Access Token uses the application's configured token expiry. + + * Social login profiles: the value is interpreted in seconds. When omitted, + the Access Token adopts the expiry returned by the social provider, falling + back to the application's configured token expiry if the provider returns none. + required: false + style: form + explode: true + schema: + type: integer + format: int32 + example: 43333 + Token: + name: token + in: query + required: true + schema: + type: string + description: Access Token of the User. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + AccessTokenRequired: + name: access_token + in: query + description: Access Token of the User + required: true + schema: + type: string + example: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + TokenNotRequired: + name: token + in: query + required: false + schema: + type: string + description: Access Token of the User. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + ProfileId: + name: profileid + in: query + description: Account ID of the User + required: false + schema: + type: string + example: 1234567890abcdef + AccountId: + name: accountid + in: query + description: Account ID of the User + required: false + schema: + type: string + example: 1234567890abcdef + NativeProvider: + name: nativeProvider + in: path + description: Indicates the provider for the native application. This parameter is used to specify the authentication provider for the native app. + required: true + schema: + type: string + enum: + - applejwt + - applert + - facebookjwt + - apple + - jwt + - facebook + - foursquare + - google + - googlejwt + - linkedin + - twitter + - wechat + - qq + example: google + SocialAppName: + name: socialappname + in: query + description: Indicates the name of the social application. This parameter is used to specify the social app for which the Access Token is being requested. + required: false + schema: + type: string + example: facebook_1 + RedirectUriOptional: + description: Redirect URI for the OAuth/OIDC callback + example: https://example.com/callback + in: query + name: redirect_uri + required: false + schema: + type: string + format: uri + ProviderName: + name: providername + in: query + description: The name of the provider. This parameter is used to specify the provider for authentication. + required: false + schema: + type: string + example: google + Code: + name: code + in: query + description: The authorization code received from the apple, wechat, qq provider. The parameter is used to exchange the authorization code for an Access Token. + required: false + schema: + type: string + format: uuid + example: 683987c4-9249-4165-b1f1-925f0b84021e + TwitterToken: + name: tw_access_token + in: query + description: The Access Token used for Twitter authentication. The parameter is used to authenticate the User with Twitter. + required: false + schema: + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + TwitterSecret: + name: tw_token_secret + in: query + description: The secret token used for Twitter authentication. The parameter is used to authenticate the User with Twitter. + required: false + schema: + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + GoogleAuthCode: + name: google_authcode + in: query + description: The authorization code received from Google. This parameter is used to exchange the authorization code for an Access Token. + required: false + schema: + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + ClientId: + name: client_id + in: query + required: false + schema: + type: string + description: OIDC application Client ID for request authentication. + example: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + GoogleAccessToken: + name: google_access_token + in: query + description: The Access Token received from Google. The parameter is used to authenticate the User with Google services. + required: false + schema: + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + IdToken: + name: id_token + in: query + description: The ID token used for googlejwt, facebookjwt, applejwt authentication. The parameter is used to verify the User's identity. + required: false + schema: + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + FourSquareAccessToken: + name: fs_access_token + in: query + description: The Access Token used for Foursquare authentication. The parameter is used to authenticate the User with Foursquare. + required: false + schema: + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + LinkedInAccessToken: + name: ln_access_token + in: query + description: The Access Token used for LinkedIn authentication. The parameter is used to authenticate the User with LinkedIn. + required: false + schema: + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + FacebookAccessToken: + name: fb_access_token + in: query + description: The Access Token used for Facebook authentication. The parameter is used to authenticate the User with Facebook. + required: false + schema: + type: string + format: uuid + example: 123e4567-e89b-12d3-a456-426614174000 + InvitationId: + name: invitationid + in: path + required: true + schema: + type: string + example: inv_123456789 + description: The ID of the invitation. The ID is typically in the format *inv_*, where ** is a string of alphanumeric characters. + InvitationUrl: + name: invitation_url + in: query + schema: + type: string + example: https://example.com/accept-invite + description: The URL to which the User will be redirected after accepting the invitation. This URL should be a valid URL and can include query parameters if needed. + orgId: + description: Organization ID + in: path + name: orgId + required: true + schema: + type: string + example: org_1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + connId: + description: Organization Connection ID + in: path + name: connId + required: true + schema: + type: string + example: conn_1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + groupRoleId: + description: Organization Connection Group Role ID + in: path + name: groupRoleId + required: true + schema: + type: string + example: group_role_1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + domainId: + description: Organization Domain ID + in: path + name: domainId + required: true + schema: + type: string + example: org_domain_1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + permissionId: + name: id + in: path + description: The unique identifier for the Permission + required: true + schema: + type: string + example: perm_2enk23n3 + roleId: + name: id + in: path + description: Role ID + required: true + schema: + type: string + example: role_2enk23n3 + Uid: + name: uid + in: path + description: UID of the User + required: true + schema: + type: string + example: '123456789' + WorkflowId: + name: workflowId + in: path + required: true + description: The ID of the workflow. + schema: + type: string + example: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + Version: + name: version + in: path + required: true + schema: + type: string + description: The version identifier to delete. + example: v1.0.0 + HookId: + name: hookId + in: path + required: true + schema: + type: string + description: Webhook ID + example: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + SmsTemplateType: + name: templateType + in: path + required: true + description: The type of SMS template to delete. + schema: + type: string + enum: + - verification + - forgotpassword + - welcome + - changephoneno + - onetimepasscode + - secondfactorauthentication + - noregistrationpasswordlesslogin + - resetpassword + - suspicious_ip_sms_to_user + - suspicious_city_sms_to_user + - suspicious_country_sms_to_user + - suspicious_browser_sms_to_user + - suspicious_device_sms_to_user + - forgotpin + - deleteuser + - breached_password + example: verification + SecurityQuestionId: + name: securityQuestionID + in: path + required: true + schema: + type: string + example: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + EmailTemplateType: + name: templateType + in: path + required: true + description: The type of Email template to delete. + schema: + type: string + enum: + - registration + - forgotpassword + - forgotprovider + - deleteaccount + - add_email + - welcome + - oneclicksignin + - autologin + - noregistrationpasswordlesslogin + - resetpassword + - suspicious_ip_email_to_user + - suspicious_city_email_to_user + - suspicious_country_email_to_user + - suspicious_browser_email_to_user + - risk_identified_to_admin + - forgotpin + - secondfactorauthentication + - invite_user_to_organization + - suspicious_device_email_to_user + - breached_password + - admin_notification_breached_password + - add_passkey + - delete_passkey + - forget_passkey + example: registration + ProviderNamePath: + name: provider + in: path + required: true + schema: + type: string + enum: + - FACEBOOK + - GOOGLE + - YAHOO + - LIVE + - TWITTER + - LINKEDIN + - FOURSQUARE + - QQ + - GITHUB + - PAYPAL + - SINAWEIBO + - WECHAT + - APPLE + - SALESFORCE + - AMAZON + description: Provider Name + example: FACEBOOK + jwtApp: + name: jwtApp + in: path + description: The jwt App identifier + required: true + schema: + type: string + example: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + samlApp: + name: samlApp + in: path + description: The SAML App identifier + required: true + schema: + type: string + example: my-saml-app + integrationId: + name: integrationId + in: path + description: The OAuth integration identifier. It is the integration's OAuth application name, so the same value is the {oAuthApp} path segment of the runtime OAuth/OIDC endpoints (e.g. /api/oidc/{integrationId}/token). + required: true + schema: + type: string + example: 9f2c14b7a83d4e6bb0517c8e2d3a6f45 + CustomFieldsName: + name: cfname + in: path + required: true + schema: + type: string + example: custom_field_name + description: Custom Fields Name + example: custom_field_name + oAuthClientName: + description: Name of the OAuth Client + in: path + name: oAuthClientName + required: true + schema: + type: string + example: my-oauth-client + Next: + name: next + in: query + description: | + Scroll or pagination token for fetching the next set of results. This token is used to retrieve the next page of results in a paginated response. + If not provided, the API will return the first page of results. + schema: + type: string + example: DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAABXcWem... + required: false + examples: + example1: + value: DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAABXcWem... + Region: + name: region + in: query + description: The region to filter results by. + schema: + type: string + example: us-east-1 + required: false + examples: + us-east-1: + value: us-east-1 + CustomObject: + name: customobject + in: query + description: | + Custom Object identifier for filtering results. This parameter allows you to specify a Custom Object to filter the results returned by the API. + schema: + type: string + required: false + example: customObject123,customObject456 + JwtAppName: + description: JWT App Name + example: example_jwt_app + in: path + name: JwtAppName + required: true + schema: + type: string + Nonce: + description: random nonce claim + example: 3f444945100b4730810bf4598841769d + in: query + name: Nonce + schema: + type: string + OAuthAppName: + description: OAuth App Name + example: example_oauth_app + in: path + name: OAuthAppName + required: true + schema: + type: string + OIDCAppName: + description: OIDC App Name + example: example_oidc_app + in: path + name: OIDCAppName + required: true + schema: + type: string + OAuthDynamicClientId: + name: clientID + in: path + required: true + description: The client_id of the dynamically registered OAuth client. + schema: + type: string + example: abc123def456 + SamlAppName: + description: Saml App Name + example: example_saml_app + in: query + name: appName + required: true + schema: + type: string + CodeExpiryTTL: + description: Code Expiry time (in second) in second, Min:0, Max:300 + example: '30' + in: query + name: expiry + schema: + type: string + default: '60' + QRCode: + description: QR Code By Generate QR Code API + example: MzUwOTczMDAtODM0MC00Y2FkLWE3MDgtNmY2ZDRiMDA4NjZlIzIwMjEtMTItMjlUMTc6NDk6MjIuNDY0Wg== + in: query + name: code + schema: + type: string + OptionId: + name: optionId + in: path + required: true + schema: + type: string + description: The ID of the Consent option to delete. + example: sms_consent_12 + FormVersion: + name: version + in: path + required: true + schema: + type: string + description: The version of the Consent form to delete. + example: '3' + BigCommerceCode: + name: code + in: query + description: BigCommerce OAuth authorization code + required: false + schema: + type: string + example: abc123def456 + BigCommerceSignedPayload: + name: signed_payload + in: query + description: BigCommerce signed payload for load/uninstall callbacks + required: false + schema: + type: string + example: eyJhbGciOiJIUzI1NiJ9... + BigCommerceStore: + name: store + in: query + description: BigCommerce store hash identifier + required: true + schema: + type: string + example: abc123 + PasswordQuery: + name: password + in: query + description: User's password + required: false + schema: + type: string + example: MyPassword123 + ReturnUrl: + name: return_url + in: query + description: URL to redirect the user to after login + required: false + schema: + type: string + example: https://example.com/dashboard + ShopifyStore: + name: store + in: query + description: Shopify store domain (e.g., mystore.myshopify.com) + required: true + schema: + type: string + example: mystore.myshopify.com + PerfectMindSiteName: + name: perfectmindsitename + in: query + description: PerfectMind site name identifier + required: true + schema: + type: string + example: mysite + BirthDate: + name: birthdate + in: query + description: User's birth date for PerfectMind contact lookup + required: false + schema: + type: string + example: '1990-01-15' + PerfectScanID: + name: perfectScanID + in: query + description: PerfectMind scan ID for contact lookup + required: false + schema: + type: string + example: scan123 + schemas: + CaptchaModel: + type: object + properties: + g-recaptcha-response: + type: string + description: The Google reCAPTCHA response which is sent to the server for verification. + nullable: true + example: 03AGdBq24... + qq_captcha_ticket: + type: string + description: The QQ Captcha ticket which is sent to the server for verification. + example: 03AGdBq24... + nullable: true + qq_captcha_randstr: + type: string + description: The QQ Captcha random string which is sent to the server for verification. + example: 03AGdBq24... + nullable: true + h-captcha-response: + type: string + description: The hCaptcha response which is sent to the server for verification. + example: 03AGdBq24... + nullable: true + ResetPasswordByResetTokenCore: + type: object + properties: + ResetToken: + type: string + description: The reset token received via Email. + example: xxxxxxxxxxxxxxxxxxxx + Password: + type: string + description: The new Password for the Account. + example: new_secure_password + welcomeemailtemplate: + type: string + description: Optional welcome Email template. + example: welcome_template + ResetPasswordEmailTemplate: + type: string + description: Optional reset Password Email template. + example: reset_password_template + SecurityAnswer: + type: object + additionalProperties: + type: string + nullable: true + description: A map of security question keys and their corresponding answers. + required: + - ResetToken + - Password + ResetPasswordByEmailOtpCore: + type: object + properties: + otp: + type: string + description: One-time passcode sent to the User's Email. + example: '123456' + email: + type: string + format: email + description: User's Email address. + example: user@example.com + Password: + type: string + description: The new Password for the Account. + example: new_secure_password + welcomeemailtemplate: + type: string + description: Optional welcome Email template. + example: welcome_template + ResetPasswordEmailTemplate: + type: string + description: Optional reset Password Email template. + example: reset_password_template + SecurityAnswer: + type: object + additionalProperties: + type: string + nullable: true + description: A map of security question keys and their corresponding answers. + required: + - otp + - email + - Password + ResetPasswordByUsernameOtpCore: + type: object + properties: + otp: + type: string + description: One-Time Password for verification. + example: '123456' + username: + type: string + description: Username of the Account. + example: user123 + Password: + type: string + description: The new Password for the Account. + example: new_secure_password + welcomeemailtemplate: + type: string + description: Optional welcome Email template. + example: welcome_template + ResetPasswordEmailTemplate: + type: string + description: Optional reset Password Email template. + example: reset_password_template + SecurityAnswer: + type: object + additionalProperties: + type: string + nullable: true + description: A map of security question keys and their corresponding answers. + required: + - otp + - username + - Password + ResetPassword: + oneOf: + - allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/ResetPasswordByResetTokenCore' + - allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/ResetPasswordByEmailOtpCore' + - allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/ResetPasswordByUsernameOtpCore' + SocialIdentity: + type: object + properties: + TokenSignSecret: + type: integer + example: 12345 + FirstLogin: + type: boolean + example: true + IsProtected: + type: boolean + example: false + Hireable: + type: boolean + example: true + FollowersCount: + type: integer + example: 1250 + FriendsCount: + type: integer + example: 458 + TotalStatusesCount: + type: integer + example: 2341 + NumRecommenders: + type: integer + example: 15 + TotalPrivateRepository: + type: integer + example: 8 + PublicGists: + type: integer + example: 23 + PrivateGists: + type: integer + example: 5 + PinsCount: + type: integer + example: 67 + BoardsCount: + type: integer + example: 12 + LikesCount: + type: integer + example: 892 + SessionLimit: + type: integer + example: 10 + ID: + type: string + example: usr_12345abc + Provider: + type: string + example: facebook + FullName: + type: string + nullable: true + example: John Robert Smith + FirstName: + type: string + example: John + LastName: + type: string + example: Smith + PhoneId: + type: string + example: +1-555-123-4567 + Prefix: + type: string + example: Mr. + MiddleName: + type: string + example: Robert + Suffix: + type: string + example: Jr. + NickName: + type: string + example: Johnny + ProfileName: + type: string + example: johnsmith + BirthDate: + type: string + example: '1990-05-15' + Gender: + type: string + example: male + Website: + type: string + example: https://www.johnsmith.com + ThumbnailImageUrl: + type: string + example: https://example.com/thumbnails/john.jpg + ImageUrl: + type: string + example: https://example.com/images/john.jpg + Favicon: + type: string + example: https://example.com/favicon.ico + ProfileUrl: + type: string + example: https://example.com/profile/johnsmith + HomeTown: + type: string + example: Boston + State: + type: string + example: Massachusetts + City: + type: string + example: Cambridge + Industry: + type: string + example: Technology + About: + type: string + example: Passionate software developer with 10+ years of experience + TimeZone: + type: string + example: America/New_York + LocalLanguage: + type: string + example: en-US + CoverPhoto: + type: string + example: https://example.com/cover/john.jpg + TagLine: + type: string + example: Building the future through code + Language: + type: string + example: English + Verified: + type: string + example: 'true' + UpdatedTime: + type: string + example: '2024-03-20T15:30:00Z' + IsGeoEnabled: + type: string + example: 'true' + Associations: + type: string + example: IEEE, ACM + Honors: + type: string + example: Best Developer Award 2023 + HttpsImageUrl: + type: string + example: https://example.com/secure/images/john.jpg + MainAddress: + type: string + example: 123 Tech Street, Cambridge, MA 02142 + Created: + type: string + example: '2020-01-15T10:00:00Z' + LocalCity: + type: string + example: Cambridge + ProfileCity: + type: string + example: Cambridge + LocalCountry: + type: string + example: United States + ProfileCountry: + type: string + example: United States + RelationshipStatus: + type: string + example: Married + Quota: + type: string + example: '1000' + Quote: + type: string + example: Stay hungry, stay foolish + Religion: + type: string + example: Private + Political: + type: string + example: Private + PublicRepository: + type: string + example: '25' + RepositoryUrl: + type: string + example: https://github.com/johnsmith + Age: + type: string + example: '33' + ProfessionalHeadline: + type: string + example: Senior Software Engineer at Tech Corp + LRUserID: + type: string + example: LR123456 + Currency: + type: string + example: USD + StarredUrl: + type: string + example: https://github.com/johnsmith?tab=stars + GistsUrl: + type: string + example: https://gist.github.com/johnsmith + Company: + type: string + example: Tech Corp + GravatarImageUrl: + type: string + example: https://gravatar.com/avatar/123456 + CreatedDate: + type: string + format: date-time + example: '2020-01-15T10:00:00Z' + ModifiedDate: + type: string + format: date-time + example: '2024-03-20T15:30:00Z' + ProfileModifiedDate: + type: string + format: date-time + example: '2024-03-19T12:00:00Z' + LastLoginDate: + type: string + format: date-time + example: '2024-03-20T16:45:00Z' + SignupDate: + type: string + format: date-time + example: '2020-01-15T10:00:00Z' + Country: + type: object + nullable: true + properties: + Name: + type: string + example: United States + Code: + type: string + example: US + AgeRange: + type: object + nullable: true + properties: + Min: + type: integer + example: 30 + Max: + type: integer + example: 35 + KloutScore: + type: object + nullable: true + properties: + KloutId: + type: string + example: klout123456 + Score: + type: integer + example: 75 + Suggestions: + type: object + nullable: true + properties: + SuggestedFriends: + type: array + nullable: true + items: + type: string + example: + - user123 + - user456 + - user789 + Subscription: + type: object + nullable: true + properties: + Name: + type: string + example: Pro Plan + Space: + type: string + example: 100GB + PrivateRepos: + type: string + example: '50' + Collaborators: + type: string + example: '10' + ProviderAccessCredential: + type: object + nullable: true + properties: + AccessToken: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + TokenSecret: + type: string + example: abc123def456... + ProfileImageUrls: + type: object + nullable: true + additionalProperties: + type: string + example: + small: https://example.com/images/small.jpg + medium: https://example.com/images/medium.jpg + large: https://example.com/images/large.jpg + WebProfiles: + type: object + nullable: true + additionalProperties: + type: string + example: + linkedin: https://linkedin.com/in/johnsmith + twitter: https://twitter.com/johnsmith + PreviousUids: + type: array + nullable: true + items: + type: string + example: + - old_id_123 + - old_id_456 + InterestedIn: + type: array + nullable: true + items: + type: string + example: + - Technology + - Innovation + - AI + Positions: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Position: + type: string + example: Senior Software Engineer + Summary: + type: string + example: Leading backend development team + StartDate: + type: string + format: date-time + example: '2022-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2024-03-20T00:00:00Z' + IsCurrent: + type: boolean + example: true + Company: + type: object + nullable: true + properties: + Name: + type: string + example: Tech Corp + Type: + type: string + example: Public Company + Industry: + type: string + example: Software Development + Comapny: + type: object + nullable: true + properties: + Name: + type: string + example: Tech Corp + Type: + type: string + example: Public Company + Industry: + type: string + example: Software Development + Educations: + type: array + nullable: true + items: + type: object + nullable: true + properties: + School: + type: string + example: MIT + Year: + type: string + example: '2012' + Type: + type: string + example: Bachelor's + Notes: + type: string + example: Computer Science Major + Activities: + type: string + example: Robotics Club, Coding Competition + Degree: + type: string + example: BS Computer Science + FieldOfStudy: + type: string + example: Computer Science + StartDate: + type: string + format: date-time + example: '2008-09-01T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2012-05-30T00:00:00Z' + PhoneNumbers: + type: array + nullable: true + items: + type: object + nullable: true + properties: + PhoneType: + type: string + example: Mobile + PhoneNumber: + type: string + example: +1-555-123-4567 + op: + type: string + example: add + IMAccounts: + type: array + nullable: true + items: + type: object + nullable: true + properties: + AccountType: + type: string + example: Skype + AccountName: + type: string + example: johnsmith_skype + Addresses: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Type: + type: string + example: Home + AddressType: + type: string + example: Primary + Address1: + type: string + example: 123 Tech Street + Address2: + type: string + example: Apt 4B + City: + type: string + example: Cambridge + State: + type: string + example: MA + PostalCode: + type: string + example: '02142' + Region: + type: string + example: New England + Op: + type: string + example: add + Country: + type: string + example: USA + Interests: + type: array + nullable: true + items: + type: object + nullable: true + properties: + InterestType: + type: string + example: Professional + InterestName: + type: string + example: Software Architecture + Sports: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: sport_123 + Name: + type: string + example: Basketball + InspirationalPeople: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Name: + type: string + example: Linus Torvalds + Id: + type: string + example: person_123 + Awards: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: award_123 + Name: + type: string + example: Best Developer Award + Issuer: + type: string + example: Tech Conference 2023 + Skills: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: skill_123 + Name: + type: string + example: Python Programming + CurrentStatus: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: status_123 + Text: + type: string + example: Working on exciting new project + Source: + type: string + example: LinkedIn + CreatedDate: + type: string + format: date-time + example: '2024-03-20T15:30:00Z' + Certifications: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: cert_123 + Name: + type: string + example: AWS Certified Solutions Architect + Authority: + type: string + example: Amazon Web Services + Number: + type: string + example: CERT123456 + StartDate: + type: string + format: date-time + example: '2023-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2026-01-15T00:00:00Z' + Courses: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: course_123 + Name: + type: string + example: Advanced Machine Learning + Number: + type: string + example: CS701 + Volunteer: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Organization: + type: string + example: Code for America + Role: + type: string + example: Technical Mentor + Cause: + type: string + example: Education + Id: + type: string + example: vol_123 + RecommendationsReceived: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: rec_123 + Recommender: + type: string + example: Jane Doe + RecommendationText: + type: string + example: Excellent team player and technical leader + RecommendationType: + type: string + example: Professional + Languages: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: lang_123 + Name: + type: string + example: English + Proficiency: + type: string + example: Native + op: + type: string + example: add + Projects: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: proj_123 + Name: + type: string + example: AI-Powered Analytics Platform + Summary: + type: string + example: Led development of machine learning analytics solution + StartDate: + type: string + format: date-time + example: '2023-01-01T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2024-01-01T00:00:00Z' + IsCurrent: + type: string + example: 'true' + With: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: user_123 + Name: + type: string + example: Jane Doe + Games: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: game_123 + Category: + type: string + example: Strategy + Name: + type: string + example: Chess + CreatedDate: + type: string + format: date-time + example: '2024-01-15T10:30:00Z' + Family: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: fam_123 + Name: + type: string + example: Jane Smith + Relationship: + type: string + example: Spouse + TelevisionShow: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: show_123 + Category: + type: string + example: Science Fiction + Name: + type: string + example: Black Mirror + CreatedDate: + type: string + format: date-time + example: '2024-01-15T10:30:00Z' + MutualFriends: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: friend_123 + Name: + type: string + example: Alice Johnson + FirstName: + type: string + example: Alice + LastName: + type: string + example: Johnson + Birthday: + type: string + format: date-time + example: '1992-05-15T00:00:00Z' + Hometown: + type: string + example: Chicago + Link: + type: string + example: https://example.com/profile/alice + Gender: + type: string + example: female + Movies: + type: array + nullable: true + items: + type: object + nullable: true + properties: + MovieName: + type: string + example: The Matrix + Genre: + type: string + example: Science Fiction + Books: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: book_123 + Category: + type: string + example: Technology + Name: + type: string + example: Clean Code + CreatedDate: + type: string + example: '2024-01-15' + Patents: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: pat_123 + Title: + type: string + example: Novel Machine Learning Algorithm + Date: + type: string + example: '2023-06-15' + FavoriteThings: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: fav_123 + Name: + type: string + example: Programming + Type: + type: string + example: Hobby + RelatedProfileViews: + type: array + nullable: true + items: + type: object + nullable: true + properties: + FirstName: + type: string + example: Sarah + LastName: + type: string + example: Connor + Id: + type: string + example: view_123 + PlacesLived: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Name: + type: string + example: San Francisco + Operation: + type: string + example: add + IsPrimary: + type: boolean + example: true + Publications: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Title: + type: string + example: Modern Software Architecture + Publisher: + type: string + example: Tech Publishing House + Date: + type: string + format: date-time + example: '2023-08-15T00:00:00Z' + Id: + type: string + example: pub_123 + Url: + type: string + example: https://example.com/publications/123 + Summary: + type: string + example: A comprehensive guide to modern software architecture + Authors: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Id: + type: string + example: author_123 + Name: + type: string + example: John Smith + JobBookmarks: + type: array + nullable: true + items: + type: object + nullable: true + properties: + IsApplied: + type: boolean + example: true + IsSaved: + type: boolean + example: true + ApplyTimestamp: + type: string + format: date-time + example: '2024-02-15T14:30:00Z' + SavedTimestamp: + type: string + format: date-time + example: '2024-02-14T10:00:00Z' + Job: + type: object + nullable: true + properties: + Active: + type: boolean + example: true + Id: + type: string + example: job_123 + DescriptionSnippet: + type: string + example: Senior Role in cloud architecture + PostingTimestamp: + type: string + format: date-time + example: '2024-02-01T09:00:00Z' + Compony: + type: object + nullable: true + properties: + Id: + type: string + example: comp_123 + Name: + type: string + example: Tech Corp + Position: + type: object + nullable: true + properties: + Title: + type: string + example: Senior Cloud Architect + Badges: + type: array + nullable: true + items: + type: object + nullable: true + properties: + BadgeId: + type: string + example: badge_123 + BageId: + type: string + example: badge_123 + Name: + type: string + example: Top Contributor + BadgeMessage: + type: string + example: Awarded for exceptional contributions + BageMessage: + type: string + example: Awarded for exceptional contributions + Description: + type: string + example: Recognition for community support + ImageUrl: + type: string + example: https://example.com/badges/top-contributor.png + MemberUrlResources: + type: array + nullable: true + items: + type: object + nullable: true + properties: + UrlName: + type: string + example: Portfolio + Url: + type: string + example: https://johnsmith.dev + Email: + type: array + nullable: true + items: + type: object + nullable: true + properties: + Type: + type: string + example: Primary + Value: + type: string + example: john.smith@example.com + Profile: + type: object + properties: + IsPasswordBreached: + type: boolean + description: Indicates if the Password has been breached. + example: false + IsActive: + type: boolean + description: Indicates if the User Account is active. + example: true + IsDeleted: + type: boolean + description: Indicates if the User Account is deleted. + example: false + EmailVerified: + type: boolean + description: Indicates if the User's Email is verified. + example: true + IsLoginLocked: + type: boolean + description: Indicates if the User's login is locked. + example: false + IsRequiredFieldsFilledOnce: + type: boolean + description: Indicates if required fields have been filled at least once. + example: true + FirstLogin: + type: boolean + description: Indicates if this is the User's first login. + example: true + nullable: true + IsProtected: + type: boolean + description: Indicates if the User Account is protected. + example: false + Hireable: + type: boolean + description: Indicates if the User is hireable. + example: true + IsSecurePassword: + type: boolean + description: Indicates if the Password is secure. + nullable: true + example: true + IsCustomUid: + type: boolean + description: Indicates if the UID is custom. + example: false + PhoneIdVerified: + type: boolean + description: Indicates if the Phone ID is verified. + example: true + IsEmailSubscribed: + type: boolean + description: Indicates if the User is subscribed to emails. + example: true + NoOfLogins: + type: integer + description: Number of logins by the User. + example: 10 + FollowersCount: + type: integer + description: Number of followers the User has. + example: 1250 + FriendsCount: + type: integer + description: Number of friends the User has. + example: 458 + TotalStatusesCount: + type: integer + description: Total number of statuses posted by the User. + example: 2341 + NumRecommenders: + type: integer + description: Number of recommenders for the User. + example: 15 + TotalPrivateRepository: + type: integer + description: Total number of private repositories. + example: 8 + PublicGists: + type: integer + description: Total number of public gists. + example: 23 + PrivateGists: + type: integer + description: Total number of private gists. + example: 5 + PinsCount: + type: integer + description: Total number of PINs. + example: 67 + BoardsCount: + type: integer + description: Total number of boards. + example: 12 + LikesCount: + type: integer + description: Total number of likes. + example: 892 + SessionLimit: + type: integer + example: 5 + ID: + type: string + description: Unique identifier for the User Profile. + example: usr_12345abc + Password: + type: string + example: '********' + LoginLockedType: + type: string + example: None + Provider: + type: string + description: Provider of the User Profile. + example: facebook + LastPasswordChangeToken: + type: string + example: tkn_abc123xyz + FullName: + type: string + description: Full name of the User. + nullable: true + example: John Robert Smith + FirstName: + type: string + nullable: true + description: First name of the User. + example: John + LastName: + type: string + nullable: true + description: Last name of the User. + example: Smith + RegistrationProvider: + type: string + example: google + RegistrationSource: + type: string + example: web + LastLoginLocation: + type: string + example: New York, USA + ExternalUserLoginId: + type: string + example: ext_789xyz + PhoneId: + type: string + description: Phone ID of the User. + example: +1-555-123-4567 + nullable: true + UserName: + type: string + nullable: true + description: The Username of the User. + example: john_doe + Prefix: + type: string + nullable: true + description: The prefix for the User's name. + example: Mr. + MiddleName: + type: string + description: The middle name of the User. + example: Robert + nullable: true + Suffix: + type: string + nullable: true + description: The suffix for the User's name. + example: Jr. + NickName: + type: string + nullable: true + description: The nickname of the User. + example: Johnny + ProfileName: + type: string + nullable: true + description: The profile name of the User. + example: johnsmith + BirthDate: + type: string + nullable: true + description: The birth date of the User. + example: '1990-05-15' + Gender: + type: string + nullable: true + description: The gender of the User. + example: male + Website: + type: string + nullable: true + description: The website of the User. + example: https://www.johnsmith.com + ThumbnailImageUrl: + type: string + nullable: true + description: The URL of the User's thumbnail image. + example: https://example.com/thumbnails/john.jpg + ImageUrl: + type: string + nullable: true + description: The URL of the User's profile image. + example: https://example.com/images/john.jpg + Favicon: + type: string + nullable: true + description: The URL of the User's favicon. + example: https://example.com/favicon.ico + ProfileUrl: + type: string + nullable: true + description: The URL of the User's profile. + example: https://example.com/profile/johnsmith + HomeTown: + type: string + nullable: true + description: The hometown of the User. + example: Boston + State: + type: string + nullable: true + description: The state of the User. + example: Massachusetts + City: + type: string + nullable: true + description: The city of the User. + example: Cambridge + Industry: + type: string + nullable: true + description: The industry of the User. + example: Technology + About: + type: string + nullable: true + description: A brief description about the User. + example: Passionate software developer with 10+ years of experience + TimeZone: + type: string + nullable: true + description: The time zone of the User. + example: America/New_York + LocalLanguage: + type: string + nullable: true + description: The local language of the User. + example: en-US + CoverPhoto: + type: string + nullable: true + description: The URL of the User's cover photo. + example: https://example.com/cover/john.jpg + TagLine: + type: string + nullable: true + description: The tagline of the User. + example: Building the future through code + Language: + type: string + nullable: true + description: The language of the User. + example: English + Verified: + type: string + description: Indicates if the User is verified. + example: 'true' + nullable: true + UpdatedTime: + type: string + nullable: true + description: The last updated time of the User's profile. + example: '2024-03-20T15:30:00Z' + IsGeoEnabled: + type: string + nullable: true + description: Indicates if geolocation is enabled for the User. + example: 'true' + Associations: + type: string + nullable: true + description: The associations of the User. + example: IEEE, ACM + Honors: + type: string + nullable: true + description: The honors received by the User. + example: Best Developer Award 2023 + HttpsImageUrl: + type: string + nullable: true + description: The HTTPS URL of the User's profile image. + example: https://example.com/secure/images/john.jpg + MainAddress: + nullable: true + type: string + description: The main address of the User. + example: 123 Tech Street, Cambridge, MA 02142 + Created: + nullable: true + type: string + description: The creation date of the User's account. + example: '2020-01-15T10:00:00Z' + LocalCity: + nullable: true + type: string + description: The local city of the User. + example: Cambridge + ProfileCity: + nullable: true + type: string + description: The profile city of the User. + example: Cambridge + LocalCountry: + type: string + nullable: true + description: The local country of the User. + example: United States + ProfileCountry: + type: string + nullable: true + description: The profile country of the User. + example: United States + RelationshipStatus: + type: string + nullable: true + description: The relationship status of the User. + example: Married + Quota: + type: string + nullable: true + description: The quota assigned to the User. + example: '1000' + Quote: + type: string + nullable: true + description: A quote associated with the User. + example: Stay hungry, stay foolish + Religion: + type: string + nullable: true + description: The religion of the User. + example: Private + Political: + type: string + nullable: true + description: The political views of the User. + example: Private + PublicRepository: + type: string + nullable: true + description: The number of public repositories owned by the User. + example: '25' + RepositoryUrl: + type: string + nullable: true + description: The URL of the User's repository. + example: https://github.com/johnsmith + Age: + type: string + description: The age of the User. + example: '33' + nullable: true + ProfessionalHeadline: + type: string + nullable: true + description: The professional headline of the User. + example: Senior Software Engineer at Tech Corp + LRUserID: + type: string + nullable: true + description: The LoginRadius User ID. + example: LR123456 + Currency: + type: string + nullable: true + description: The preferred currency of the User. + example: USD + StarredUrl: + type: string + nullable: true + description: The URL of the User's starred items. + example: https://github.com/johnsmith?tab=stars + GistsUrl: + type: string + nullable: true + description: The URL of the User's gists. + example: https://gist.github.com/johnsmith + Company: + type: string + nullable: true + description: The company the User is associated with. + example: Tech Corp + GravatarImageUrl: + type: string + nullable: true + description: The URL of the User's Gravatar image. + example: https://gravatar.com/avatar/123456 + LastPasswordChangeDate: + nullable: true + type: string + format: date-time + description: The date of the last Password change. + example: '2024-03-15T10:00:00Z' + PasswordExpirationDate: + type: string + format: date-time + nullable: true + description: The expiration date of the Password. + example: '2024-06-15T10:00:00Z' + CreatedDate: + type: string + format: date-time + description: The date the Account was created. + example: '2020-01-15T10:00:00Z' + ModifiedDate: + type: string + format: date-time + description: The date the Account was last modified. + example: '2024-03-20T15:30:00Z' + ProfileModifiedDate: + type: string + format: date-time + nullable: true + description: The date the Profile was last modified. + example: '2024-03-19T12:00:00Z' + LastLoginDate: + nullable: true + type: string + format: date-time + description: The date of the last login. + example: '2024-03-20T16:45:00Z' + SignupDate: + type: string + format: date-time + description: The date the User signed up. + example: '2020-01-15T10:00:00Z' + PrivacyPolicy: + type: object + nullable: true + properties: + Version: + type: string + description: The version of the Privacy Policy. + example: '1.0' + AcceptSource: + type: string + description: The source of the Privacy Policy acceptance. + example: Web + AcceptDateTime: + type: string + format: date-time + description: The date and time of Privacy Policy acceptance. + example: '2024-03-20T15:30:00Z' + Country: + type: object + nullable: true + properties: + Code: + type: string + description: The country code. + example: US + Name: + type: string + description: The country name. + example: United States + AgeRange: + type: object + nullable: true + properties: + Min: + type: integer + description: The minimum age in the range. + example: 18 + Max: + type: integer + description: The maximum age in the range. + example: 35 + KloutScore: + type: object + nullable: true + properties: + KloutId: + type: string + description: The Klout ID. + example: klout_12345 + Score: + type: number + format: float + description: The Klout score. + example: 75.5 + Suggestions: + type: object + nullable: true + properties: + CompaniesToFollow: + type: array + description: List of companies suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The unique identifier. + example: company_12345 + Name: + type: string + nullable: true + description: The name of the company. + example: Tech Corp + IndustriesToFollow: + type: array + description: List of industries suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The unique identifier. + example: industry_12345 + Name: + type: string + nullable: true + description: The name of the industry. + example: Software Development + NewssourceToFollow: + type: array + description: List of news sources suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The unique identifier. + example: news_12345 + Name: + type: string + nullable: true + description: The name of the news source. + example: Tech News Daily + PeopleToFollow: + type: array + description: List of people suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The unique identifier. + example: person_12345 + Name: + type: string + nullable: true + description: The name of the person. + example: John Doe + Subscription: + type: object + nullable: true + properties: + Name: + type: string + description: The name of the subscription. + example: Pro Plan + Space: + type: string + description: The allocated space for the subscription. + example: 100GB + PrivateRepos: + type: string + description: The number of private repositories allowed. + example: '50' + Collaborators: + type: string + description: The number of collaborators allowed. + example: '10' + PIN: + type: object + nullable: true + properties: + Skipped: + type: boolean + description: Indicates if the PIN setup was skipped. + example: false + PIN: + type: string + description: The PIN value. + example: '1234' + LastPINChangeToken: + type: string + description: The token for the last PIN change. + example: token_12345 + nullable: true + LastPINChangeDate: + nullable: true + type: string + format: date-time + description: The date of the last PIN change. + example: '2024-03-15T10:00:00Z' + SkippedDate: + nullable: true + type: string + format: date-time + description: The date the PIN setup was skipped. + example: '2024-03-10T10:00:00Z' + ConsentProfile: + type: object + nullable: true + description: Consent profile details. + properties: + AcceptedConsentVersions: + type: array + nullable: true + items: + type: object + properties: + IsCustom: + type: boolean + description: Indicates if the Consent version is custom. + example: false + Version: + type: integer + description: The version of the Consent. + example: 1 + Event: + type: string + description: The event associated with the Consent. + example: Signup + Consents: + type: array + nullable: true + items: + type: object + properties: + ConsentOptionId: + type: string + description: The ID of the Consent option. + example: 123e4567e89b12d3a456426614174000 + AcceptOnDate: + nullable: true + type: string + format: date-time + description: The date the Consent was accepted. + example: '2024-03-20T15:30:00Z' + RegistrationData: + type: object + nullable: true + description: Registration data details. + properties: + Data: + type: array + nullable: true + items: + type: object + properties: + DataSource: + type: string + description: The source of the registration data. + example: Web + Value: + type: object + properties: + Id: + type: string + description: The ID of the registration data value. + example: data_12345 + ProviderAccessCredential: + type: object + nullable: true + description: Provider access credential details. + properties: + AccessToken: + type: string + description: Access Token for the provider. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + TokenSecret: + type: string + description: Token secret for the provider. + example: abc123def456... + CustomFields: + type: object + nullable: true + additionalProperties: + type: string + description: Custom fields associated with the User. + example: + hobby: Photography + favorite_color: Blue + ProfileImageUrls: + type: object + nullable: true + additionalProperties: + type: string + description: URLs of the User's profile images. + example: + small: https://example.com/small.jpg + large: https://example.com/large.jpg + WebProfiles: + type: object + nullable: true + additionalProperties: + type: string + description: The User's web profiles. + example: + linkedin: https://linkedin.com/in/johndoe + github: https://github.com/johndoe + Roles: + type: array + nullable: true + items: + type: string + description: Roles assigned to the User. + example: + - Admin + - User + Uid: + type: string + example: 577fabca-a33e-4a08-96e6-0ade8d846613 + description: the unique id which belongs to the Account + PreviousUids: + type: array + nullable: true + items: + type: string + description: Previous UIDs associated with the Account. + example: + - old_UID_123 + - old_UID_456 + InterestedIn: + type: array + nullable: true + items: + type: string + description: Interests of the User. + example: + - Technology + - Music + ExternalIds: + type: array + nullable: true + items: + type: object + properties: + Operation: + type: string + description: The operation performed on the external ID. + example: add + Source: + type: string + description: The source of the external ID. + example: LinkedIn + SourceId: + type: string + description: The source ID of the external ID. + example: source_12345 + UnverifiedEmail: + type: array + nullable: true + items: + type: object + properties: + Type: + type: string + description: The type of the Email. + example: Primary + Value: + type: string + description: The Email address. + example: john.doe@example.com + Positions: + type: array + nullable: true + description: List of positions held by the User. + items: + type: object + properties: + Position: + type: string + description: The position held by the User. + example: Senior Software Engineer + Summary: + type: string + description: A summary of the position. + example: Leading backend development team. + StartDate: + type: string + format: date-time + description: The start date of the position. + example: '2022-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the position. + example: '2024-03-20T00:00:00Z' + IsCurrent: + type: string + description: Indicates if the position is current. + example: 'true' + Location: + type: string + description: The location of the position. + example: New York + Company: + type: object + properties: + Name: + type: string + description: The name of the company. + example: Tech Corp + Type: + type: string + description: The type of the company. + example: Public Company + Industry: + type: string + description: The industry of the company. + example: Software Development + Educations: + type: array + nullable: true + description: List of educational qualifications of the User. + items: + type: object + properties: + School: + type: string + description: The name of the school. + example: MIT + Year: + type: string + description: The year of graduation. + example: '2012' + Type: + type: string + description: The type of degree. + example: Bachelor's + Notes: + type: string + description: Additional notes about the education. + example: Computer Science Major + Activities: + type: string + description: Activities participated in during education. + example: Robotics Club, Coding Competition + Degree: + type: string + description: The degree obtained. + example: BS Computer Science + FieldOfStudy: + type: string + description: The field of study. + example: Computer Science + StartDate: + type: string + format: date-time + description: The start date of the education. + example: '2008-09-01T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the education. + example: '2012-05-30T00:00:00Z' + PhoneNumbers: + type: array + nullable: true + description: List of Phone numbers associated with the User. + items: + type: object + properties: + PhoneType: + type: string + description: The type of Phone (e.g., Mobile, Home). + example: Mobile + PhoneNumber: + type: string + description: The Phone number. + example: +1-555-123-4567 + Operation: + type: string + description: The operation performed on the Phone number. + example: add + IMAccounts: + type: array + nullable: true + description: List of instant messaging accounts associated with the User. + items: + type: object + properties: + AccountType: + type: string + description: The type of instant messaging account. + example: Skype + AccountName: + type: string + description: The name of the instant messaging account. + example: johnsmith_skype + Addresses: + type: array + nullable: true + description: List of addresses associated with the User. + items: + type: object + properties: + Type: + type: string + description: The type of address (e.g., Home, Work). + example: Home + Address1: + type: string + description: The first line of the address. + example: 123 Tech Street + Address2: + type: string + description: The second line of the address. + example: Apt 4B + City: + type: string + description: The city of the address. + example: Cambridge + State: + type: string + description: The state of the address. + example: MA + PostalCode: + type: string + description: The postal code of the address. + example: '02142' + Region: + type: string + description: The region of the address. + example: New England + Country: + type: string + description: The country of the address. + example: USA + Operation: + type: string + description: The operation performed on the address. + example: add + Interests: + type: array + nullable: true + description: List of interests of the User. + items: + type: object + properties: + InterestedType: + type: string + description: The type of interest (e.g., Professional, Personal). + example: Professional + InterestedName: + type: string + description: The name of the interest. + example: Software Architecture + Sports: + type: array + nullable: true + description: List of sports the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the sport. + example: sport_123 + Name: + type: string + description: The name of the sport. + example: Basketball + InspirationalPeople: + type: array + nullable: true + description: List of inspirational people for the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the person. + example: person_123 + Name: + type: string + description: The name of the person. + example: Linus Torvalds + Awards: + type: array + nullable: true + description: List of awards received by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the award. + example: award_123 + Name: + type: string + description: The name of the award. + example: Best Developer Award + Issuer: + type: string + description: The issuer of the award. + example: Tech Conference 2023 + Skills: + type: array + nullable: true + description: List of skills possessed by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the skill. + example: skill_123 + Name: + type: string + description: The name of the skill. + example: Python Programming + CurrentStatus: + type: array + nullable: true + description: List of current statuses of the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the status. + example: status_123 + Text: + type: string + description: The text of the status. + example: Working on exciting new project + Source: + type: string + description: The source of the status. + example: LinkedIn + CreatedDate: + type: string + format: date-time + description: The date the status was created. + example: '2024-03-20T15:30:00Z' + Certifications: + type: array + nullable: true + description: List of certifications obtained by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the certification. + example: cert_123 + Name: + type: string + description: The name of the certification. + example: AWS Certified Solutions Architect + Authority: + type: string + description: The authority issuing the certification. + example: Amazon Web Services + Number: + type: string + description: The certification number. + example: CERT123456 + StartDate: + type: string + format: date-time + description: The start date of the certification. + example: '2023-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the certification. + example: '2026-01-15T00:00:00Z' + Courses: + type: array + nullable: true + description: List of courses completed by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the course. + example: course_123 + Name: + type: string + description: The name of the course. + example: Advanced Machine Learning + Number: + type: string + description: The course number. + example: CS701 + Volunteer: + type: array + nullable: true + description: List of volunteer activities by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the volunteer activity. + example: vol_123 + Role: + type: string + description: The Role in the volunteer activity. + example: Technical Mentor + Organization: + type: string + description: The organization for the volunteer activity. + example: Code for America + Cause: + type: string + description: The cause of the volunteer activity. + example: Education + RecommendationsReceived: + type: array + nullable: true + description: List of recommendations received by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the recommendation. + example: rec_123 + RecommendationType: + type: string + description: The type of recommendation. + example: Professional + RecommendationText: + type: string + description: The text of the recommendation. + example: Excellent team player and technical leader + Recommender: + type: string + description: The name of the recommender. + example: Jane Doe + Languages: + type: array + nullable: true + description: List of languages known by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the language. + example: lang_123 + Name: + type: string + description: The name of the language. + example: English + Proficiency: + type: string + description: The proficiency level in the language. + example: Native + Projects: + type: array + nullable: true + description: List of projects undertaken by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the project. + example: proj_123 + Name: + type: string + description: The name of the project. + example: AI-Powered Analytics Platform + Summary: + type: string + description: A summary of the project. + example: Led development of machine learning analytics solution + StartDate: + type: string + format: date-time + description: The start date of the project. + example: '2023-01-01T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the project. + example: '2024-01-01T00:00:00Z' + IsCurrent: + type: string + description: Indicates if the project is current. + example: 'true' + Games: + type: array + nullable: true + description: List of games the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the game. + example: game_123 + Category: + type: string + description: The category of the game. + example: Strategy + Name: + type: string + description: The name of the game. + example: Chess + CreatedDate: + type: string + format: date-time + description: The date the game was added. + example: '2024-01-15T10:30:00Z' + Family: + type: array + nullable: true + description: List of family members of the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the family member. + example: fam_123 + Relationship: + type: string + description: The relationship with the family member. + example: Spouse + Name: + type: string + description: The name of the family member. + example: Jane Smith + TelevisionShow: + type: array + nullable: true + description: List of television shows the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the television show. + example: show_123 + Category: + type: string + description: The category of the television show. + example: Science Fiction + Name: + type: string + description: The name of the television show. + example: Black Mirror + CreatedDate: + type: string + format: date-time + description: The date the television show was added. + example: '2024-01-15T10:30:00Z' + MutualFriends: + type: array + nullable: true + description: List of mutual friends of the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the mutual friend. + example: friend_123 + Name: + type: string + description: The name of the mutual friend. + example: Alice Johnson + FirstName: + type: string + description: The first name of the mutual friend. + example: Alice + LastName: + type: string + description: The last name of the mutual friend. + example: Johnson + Birthday: + type: string + format: date-time + description: The birthday of the mutual friend. + example: '1992-05-15T00:00:00Z' + Hometown: + type: string + description: The hometown of the mutual friend. + example: Chicago + Link: + type: string + description: The profile link of the mutual friend. + example: https://example.com/profile/alice + Gender: + type: string + description: The gender of the mutual friend. + example: female + Movies: + type: array + nullable: true + description: List of movies the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the movie. + example: movie_123 + Category: + type: string + description: The category of the movie. + example: Science Fiction + Name: + type: string + description: The name of the movie. + example: The Matrix + Books: + type: array + nullable: true + description: List of books the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the book. + example: book_123 + Category: + type: string + description: The category of the book. + example: Technology + Name: + type: string + description: The name of the book. + example: Clean Code + CreatedDate: + type: string + format: date-time + description: The date the book was added. + example: '2023-10-01T00:00:00Z' + Patents: + type: array + nullable: true + description: List of patents owned by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the patent. + example: pat_123 + Title: + type: string + description: The title of the patent. + example: Novel Machine Learning Algorithm + Date: + type: string + format: date-time + description: The date the patent was filed. + example: '2023-10-01T00:00:00Z' + FavoriteThings: + type: array + nullable: true + description: List of favorite things of the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the favorite thing. + example: fav_123 + Name: + type: string + description: The name of the favorite thing. + example: Programming + Type: + type: string + description: The type of the favorite thing. + example: Hobby + RelatedProfileViews: + type: array + nullable: true + description: List of related profile views of the User. + items: + type: object + properties: + FirstName: + type: string + description: The first name of the related profile. + example: Sarah + LastName: + type: string + description: The last name of the related profile. + example: Connor + Id: + type: string + description: The ID of the related profile. + example: view_123 + PlacesLived: + type: array + nullable: true + description: List of places the User has lived. + items: + type: object + properties: + Name: + type: string + description: The name of the place. + example: San Francisco + Operation: + type: string + description: The operation performed on the place. + example: add + IsPrimary: + type: boolean + description: Indicates if the place is the primary residence. + example: true + Publications: + type: array + nullable: true + description: List of publications by the User. + items: + type: object + properties: + Title: + type: string + description: The title of the publication. + example: Modern Software Architecture + Publisher: + type: string + description: The publisher of the publication. + example: Tech Publishing House + Date: + type: string + format: date-time + description: The date the publication was released. + example: '2023-08-15T00:00:00Z' + Id: + type: string + description: The ID of the publication. + example: pub_123 + Url: + type: string + description: The URL of the publication. + example: https://example.com/publications/123 + Summary: + type: string + description: A summary of the publication. + example: A comprehensive guide to modern software architecture + Authors: + type: array + nullable: true + items: + type: object + properties: + Id: + type: string + description: The ID of the author. + example: author_123 + Name: + type: string + description: The name of the author. + example: John Smith + JobBookmarks: + type: array + nullable: true + description: List of job bookmarks by the User. + items: + type: object + properties: + IsApplied: + type: boolean + description: Indicates if the job has been applied for. + example: true + IsSaved: + type: boolean + description: Indicates if the job has been saved. + example: true + ApplyTimestamp: + type: string + format: date-time + description: The timestamp of the job application. + example: '2024-02-15T14:30:00Z' + SavedTimestamp: + type: string + format: date-time + description: The timestamp of the job being saved. + example: '2024-02-14T10:00:00Z' + Job: + type: object + properties: + Active: + type: boolean + description: Indicates if the job is active. + example: true + Id: + type: string + description: The ID of the job. + example: job_123 + DescriptionSnippet: + type: string + description: A snippet of the job description. + example: Senior Role in cloud architecture + PostingTimestamp: + type: string + format: date-time + description: The timestamp of the job posting. + example: '2024-02-01T09:00:00Z' + Badges: + type: array + nullable: true + description: List of badges earned by the User. + items: + type: object + properties: + BadgeId: + type: string + description: The ID of the badge. + example: badge_123 + Name: + type: string + description: The name of the badge. + example: Top Contributor + BadgeMessage: + type: string + description: The message associated with the badge. + example: Awarded for exceptional contributions + Description: + type: string + description: A description of the badge. + example: Recognition for community support + ImageUrl: + type: string + description: The URL of the badge image. + example: https://example.com/badges/top-contributor.png + MemberUrlResources: + type: array + nullable: true + description: List of member URL resources. + items: + type: object + properties: + Url: + type: string + description: The URL of the resource. + example: https://johnsmith.dev + UrlName: + type: string + description: The name of the URL resource. + example: Portfolio + Organizations: + type: array + nullable: true + description: List of organizations associated with the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the organization. + example: org_123 + Name: + type: string + description: The name of the organization. + example: Acme Corp + LogoURL: + type: string + description: The logo URL of the organization. + example: https://cdn.example.com/orgs/acme/logo.png + Email: + type: array + nullable: true + description: List of Email addresses associated with the User. + items: + type: object + properties: + Type: + type: string + description: The type of the Email (e.g., Primary, Secondary). + example: Primary + Value: + type: string + description: The Email address. + example: john.doe@example.com + PasskeyLogin: + type: object + nullable: true + description: Passkey login details for the User. + properties: + ProgressiveFlag: + type: boolean + example: true + LocalEnrollmentFlag: + type: boolean + example: false + ProgressiveEnrollmentDate: + nullable: true + type: string + format: date-time + description: The date of progressive enrollment. + example: '2024-03-15T10:00:00Z' + Identities: + type: array + nullable: true + items: + $ref: '#/components/schemas/SocialIdentity' + AuthResponse: + type: object + properties: + Profile: + $ref: '#/components/schemas/Profile' + access_token: + type: string + example: 68***-91**-****-b**b-e**********9 + description: Bearer token for authenticating API requests. + refresh_token: + type: string + example: 68***-91**-****-b**b-e**********9 + description: Long-lived token for obtaining new Access Tokens. + expires_in: + type: string + format: date-time + example: '2023-10-01T12:00:00Z' + description: Expiration time of the Access Token in seconds. + ResetPasswordResponse: + properties: + IsPosted: + type: boolean + Data: + $ref: '#/components/schemas/AuthResponse' + ApiError: + type: object + properties: + ErrorCode: + type: integer + format: int32 + description: The error code + Message: + type: string + description: The error message + Description: + type: string + description: A detailed description of the error + EmailUserNameModel: + type: object + properties: + Email: + type: string + description: The Email address of the User + example: test@gmail.com + format: email + UserName: + type: string + description: The Username of the User + example: testuser + IsPostedResponse: + type: object + properties: + IsPosted: + type: boolean + description: Indicates whether the item is posted + ChangePasswordCore: + type: object + required: + - OldPassword + - NewPassword + properties: + OldPassword: + type: string + description: User's current password + example: xxxxxxx + NewPassword: + type: string + description: User's new password + example: xxxxxxxxxxx + SecurityAnswer: + type: object + additionalProperties: + type: string + description: Optional map of security question IDs/keys to answers, used to unlock an account that is locked pending security-question verification. + example: + mother_maiden_name: Smith + changePassword: + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/ChangePasswordCore' + ErrorResponse: + type: object + properties: + Message: + type: string + description: Brief message describing the error. + Description: + type: string + description: Detailed description of the error. + ErrorCode: + type: integer + description: Error code for identifying the error type. + Code: + type: integer + description: HTTP status code associated with the error. + nullable: true + ResetPasswordWithOTPCore: + type: object + description: Reset Password by Phone and otp + properties: + resetpasswordemailtemplate: + type: string + description: Email template for Password reset (optional) + example: reset_template_v1 + resetPasswordSmsTemplate: + type: string + description: SMS template for Password reset (optional) + example: sms_reset_v1 + smstemplate: + type: string + description: SMS template (optional) + example: otp_template_v1 + SecurityAnswer: + type: object + description: Map of security question answers + additionalProperties: + type: string + example: + What is your pet's name?: Fluffy + What is your mother's maiden name?: Smith + Password: + type: string + description: New password + example: StrongP@ssw0rd! + otp: + type: string + description: One-Time Password received via SMS/email + example: '123456' + phone: + type: string + description: Phone number for OTP delivery + example: '+919999999999' + required: + - Password + - otp + - phone + ResetPasswordWithOTP: + allOf: + - $ref: '#/components/schemas/ResetPasswordWithOTPCore' + - $ref: '#/components/schemas/CaptchaModel' + ForgotPasswordPhoneModel: + type: object + properties: + Phone: + type: string + description: Phone number associated with the Account for Password reset. + example: '+1234567890' + g-recaptcha-response: + type: string + nullable: true + example: 03AGdBq24... + qq_captcha_ticket: + type: string + nullable: true + example: 03AGdBq24eJ9O8dpLsw0Pr0OTtWfkmK34K0jQde + qq_captcha_randstr: + type: string + nullable: true + example: 03AGdBq24eJ9O8dpLsw0Pr0OTtWfkmK34K0jQde + h-captcha-response: + type: string + nullable: true + example: 03AGdBq24e1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7a8b9c0d1e2f3g4h5i6j7k8l9m0n1o2p3q4r5s6t7u8v9w0x1y2z3a4b5c6d7e8f9g0h1i2j3k4l5m6n7o8p9q0r1s2t3u4v5w6x7y8z9 + required: + - Phone + SMSResponseData: + type: object + description: SMS response data details + required: + - Sid + properties: + AccountSid: + type: string + nullable: true + description: The unique identifier for the Account + example: ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + Sid: + type: string + description: The unique identifier for the SMS message + example: SMXXXXXXXXXXXXXXXX + SMSResponse: + type: object + required: + - IsPosted + - Data + properties: + IsPosted: + type: boolean + description: Indicates whether the SMS was successfully posted + example: true + Data: + $ref: '#/components/schemas/SMSResponseData' + ResetPasswordBySecurityAnswer: + type: object + required: + - SecurityAnswer + - password + properties: + SecurityAnswer: + type: object + additionalProperties: + type: string + description: A map of question IDs or keys to answers + example: + mother_maiden_name: Smith + ResetPasswordEmailTemplate: + type: string + description: Optional Email template to use for Password reset + example: reset-password-template + password: + type: string + description: New Password to set + example: MySecureP@ssw0rd + Phone: + type: string + description: User's Phone number + example: '+919876543210' + Email: + type: string + description: User's Email address + example: user@example.com + UserName: + type: string + description: Optional username + example: john_doe + userid: + type: string + description: Optional User ID + example: abc123 + EmailModel: + type: object + properties: + email: + type: string + format: email + description: The User's Email address + example: xyz@example.com + required: + - email + ProfileRequestModel: + type: object + properties: + UserName: + type: string + example: johndoe123 + PhoneId: + type: string + example: '15555551234' + Gender: + type: string + example: M + BirthDate: + type: string + example: '1990-01-01' + Prefix: + type: string + example: Mr. + FirstName: + type: string + example: John + MiddleName: + type: string + example: Robert + LastName: + type: string + example: Doe + Suffix: + type: string + example: Jr. + NickName: + type: string + example: Johnny + ProfileName: + type: string + example: John R. Doe + About: + type: string + example: Software developer passionate about creating great User experiences + Company: + type: string + example: Tech Corp Inc. + ImageUrl: + type: string + example: https://example.com/images/profile.jpg + TimeZone: + type: string + example: America/New_York + Website: + type: string + example: https://johndoe.com + ThumbnailImageUrl: + type: string + example: https://example.com/images/thumbnail.jpg + Favicon: + type: string + example: https://example.com/favicon.ico + ProfileUrl: + type: string + example: https://example.com/profile/johndoe + HomeTown: + type: string + example: Boston + State: + type: string + example: Massachusetts + City: + type: string + example: Cambridge + Industry: + type: string + example: Technology + LocalLanguage: + type: string + example: en-US + Language: + type: string + example: English + CoverPhoto: + type: string + example: https://example.com/images/cover.jpg + TagLine: + type: string + example: Building the future of technology + MainAddress: + type: string + example: 123 Tech Street + LocalCity: + type: string + example: Cambridge + ProfileCity: + type: string + example: Cambridge + LocalCountry: + type: string + example: United States + ProfileCountry: + type: string + example: United States + Quota: + type: string + example: premium + Religion: + type: string + example: Prefer not to say + Political: + type: string + example: Independent + RelationshipStatus: + type: string + example: Married + HttpsImageUrl: + type: string + example: https://example.com/images/secure/profile.jpg + IsGeoEnabled: + type: string + example: 'true' + Associations: + type: string + example: IEEE, ACM + Honors: + type: string + example: Best Developer Award 2023 + PublicRepository: + type: string + example: '10' + RepositoryUrl: + type: string + example: https://github.com/johndoe + ProfessionalHeadline: + type: string + example: Senior Software Engineer + Currency: + type: string + example: USD + StarredUrl: + type: string + example: https://github.com/johndoe?tab=stars + GistsUrl: + type: string + example: https://gist.github.com/johndoe + GravatarImageUrl: + type: string + example: https://gravatar.com/avatar/123456 + ExternalUserLoginId: + type: string + example: github|12345 + InterestedIn: + type: array + items: + type: string + example: + - Technology + - AI + - Machine Learning + FollowersCount: + type: integer + example: 1000 + FriendsCount: + type: integer + example: 500 + TotalStatusesCount: + type: integer + example: 250 + NumRecommenders: + type: integer + example: 50 + TotalPrivateRepository: + type: integer + example: 5 + PublicGists: + type: integer + example: 15 + PrivateGists: + type: integer + example: 10 + SessionLimit: + type: integer + example: 5 + CustomFields: + type: object + additionalProperties: + type: string + example: + skill_level: expert + availability: full-time + ProfileImageUrls: + type: object + additionalProperties: + type: string + example: + small: https://example.com/images/small.jpg + medium: https://example.com/images/medium.jpg + large: https://example.com/images/large.jpg + WebProfiles: + type: object + additionalProperties: + type: string + example: + linkedin: https://linkedin.com/in/johndoe + twitter: https://twitter.com/johndoe + SecurityQuestionAnswer: + type: object + additionalProperties: + type: string + example: + First pet's name?: Spot + Mother's maiden name?: Smith + Country: + type: object + properties: + Name: + type: string + example: United States + Code: + type: string + example: US + ProviderAccessCredential: + type: object + properties: + AccessToken: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + RefreshToken: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + ExpiresIn: + type: integer + example: 3600 + Suggestions: + type: object + properties: + CompaniesToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: comp_123 + Name: + type: string + example: Microsoft + IndustriesToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: ind_456 + Name: + type: string + example: Software Development + NewssourceToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: news_789 + Name: + type: string + example: TechCrunch + PeopleToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: user_101 + Name: + type: string + example: Jane Smith + Subscription: + type: object + properties: + Name: + type: string + example: Premium Plan + Space: + type: string + example: 50GB + PrivateRepos: + type: string + example: Unlimited + Collaborators: + type: string + example: '10' + AgeRange: + type: object + properties: + Min: + type: integer + example: 25 + Max: + type: integer + example: 34 + PrivacyPolicy: + type: object + properties: + Version: + type: string + example: 2.1.0 + PINInfo: + type: object + properties: + PIN: + type: string + example: '123456' + Skipped: + type: boolean + example: false + Addresses: + type: array + items: + type: object + properties: + Type: + type: string + example: Home + AddressType: + type: string + example: Primary + Address1: + type: string + example: 123 Main Street + Address2: + type: string + example: Apt 4B + City: + type: string + example: Boston + State: + type: string + example: MA + PostalCode: + type: string + example: '02108' + Region: + type: string + example: New England + Op: + type: string + example: add + Country: + type: string + example: USA + Positions: + type: array + items: + type: object + properties: + Position: + type: string + example: Senior Software Engineer + Summary: + type: string + example: Leading the frontend development team + StartDate: + type: string + format: date-time + example: '2020-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2023-06-30T00:00:00Z' + IsCurrent: + type: boolean + nullable: true + example: true + Company: + type: object + properties: + Name: + type: string + example: Tech Solutions Inc + Type: + type: string + example: Private + Industry: + type: string + example: Information Technology + Educations: + type: array + items: + type: object + properties: + School: + type: string + example: MIT + Year: + type: string + example: '2019' + Type: + type: string + example: University + Notes: + type: string + example: Graduated with honors + Activities: + type: string + example: Robotics Club, Chess Team + Degree: + type: string + example: Bachelor of Science + FieldOfStudy: + type: string + example: Computer Science + StartDate: + type: string + format: date-time + example: '2015-09-01T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2019-05-30T00:00:00Z' + PhoneNumbers: + type: array + items: + type: object + properties: + PhoneType: + type: string + example: Mobile + PhoneNumber: + type: string + example: +1-555-555-0123 + op: + type: string + example: add + IMAccounts: + type: array + items: + type: object + properties: + AccountType: + type: string + example: Skype + AccountName: + type: string + example: john.doe.123 + Interests: + type: array + items: + type: object + properties: + InterestType: + type: string + example: Professional + InterestName: + type: string + example: Artificial Intelligence + Sports: + type: array + items: + type: object + properties: + Id: + type: string + example: sport_123 + Name: + type: string + example: Basketball + InspirationalPeople: + type: array + items: + type: object + properties: + Name: + type: string + example: Ada Lovelace + Id: + type: string + example: insp_789 + Awards: + type: array + items: + type: object + properties: + Id: + type: string + example: award_456 + Name: + type: string + example: Innovation Excellence Award + Issuer: + type: string + example: Tech Industry Association + Skills: + type: array + items: + type: object + properties: + Id: + type: string + example: skill_123 + Name: + type: string + example: React.js + CurrentStatus: + type: array + items: + type: object + properties: + Id: + type: string + example: status_789 + Text: + type: string + example: Working on an exciting new project! + Source: + type: string + example: LinkedIn + CreatedDate: + type: string + format: date-time + example: '2023-12-01T09:00:00Z' + Certifications: + type: array + items: + type: object + properties: + Id: + type: string + example: cert_456 + Name: + type: string + example: AWS Certified Solutions Architect + Authority: + type: string + example: Amazon Web Services + Number: + type: string + example: CERT123456 + StartDate: + type: string + format: date-time + example: '2023-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2026-01-14T23:59:59Z' + Courses: + type: array + items: + type: object + properties: + Id: + type: string + example: course_789 + Name: + type: string + example: Advanced Machine Learning + Number: + type: string + example: CS501 + Volunteer: + type: array + items: + type: object + properties: + Organization: + type: string + example: Code for Good + Role: + type: string + example: Technical Mentor + Cause: + type: string + example: Education + Id: + type: string + example: vol_123 + RecommendationsReceived: + type: array + items: + type: object + properties: + Id: + type: string + example: rec_456 + Recommender: + type: string + example: Jane Smith + RecommendationText: + type: string + example: John is an exceptional developer with great leadership skills + RecommendationType: + type: string + example: Professional + Languages: + type: array + items: + type: object + properties: + Id: + type: string + example: lang_789 + Name: + type: string + example: Spanish + Proficiency: + type: string + example: Advanced + op: + type: string + example: add + Projects: + type: array + items: + type: object + properties: + Id: + type: string + example: proj_123 + Name: + type: string + example: AI-Powered Analytics Platform + Summary: + type: string + example: Developed a machine learning platform for business analytics + StartDate: + type: string + format: date-time + example: '2023-03-01T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2023-11-30T00:00:00Z' + IsCurrent: + type: string + example: 'false' + With: + type: array + items: + type: object + properties: + Id: + type: string + example: user_456 + Name: + type: string + example: Sarah Johnson + Games: + type: array + items: + type: object + properties: + Id: + type: string + example: game_789 + Category: + type: string + example: Strategy + Name: + type: string + example: Chess + CreatedDate: + type: string + format: date-time + example: '2023-01-01T00:00:00Z' + Family: + type: array + items: + type: object + properties: + Id: + type: string + example: fam_123 + Name: + type: string + example: Jane Doe + Relationship: + type: string + example: Spouse + TeleVisionShow: + type: array + items: + type: object + properties: + Id: + type: string + example: show_456 + Category: + type: string + example: Science Fiction + Name: + type: string + example: Black Mirror + CreatedDate: + type: string + format: date-time + example: '2023-06-15T00:00:00Z' + MutualFriends: + type: array + items: + type: object + properties: + Id: + type: string + example: friend_789 + Name: + type: string + example: Mike Wilson + FirstName: + type: string + example: Mike + LastName: + type: string + example: Wilson + Birthday: + type: string + format: date-time + example: '1992-04-15T00:00:00Z' + Hometown: + type: string + example: Chicago + Link: + type: string + example: https://example.com/profile/mikewilson + Gender: + type: string + example: M + Movies: + type: array + items: + type: object + properties: + Id: + type: string + example: movie_123 + Category: + type: string + example: Drama + Name: + type: string + example: The Social Network + CreatedDate: + type: string + format: date-time + example: '2023-07-20T00:00:00Z' + Books: + type: array + items: + type: object + properties: + Id: + type: string + example: book_456 + Category: + type: string + example: Technology + Name: + type: string + example: Clean Code + CreatedDate: + type: string + example: '2023-08-01' + Patents: + type: array + items: + type: object + properties: + Id: + type: string + example: pat_789 + Title: + type: string + example: Method for Efficient Data Processing + Date: + type: string + example: '2023-09-15' + FavoriteThings: + type: array + items: + type: object + properties: + Id: + type: string + example: fav_123 + Name: + type: string + example: Coffee + Type: + type: string + example: Beverage + RelatedProfileViews: + type: array + items: + type: object + properties: + FirstName: + type: string + example: Alice + LastName: + type: string + example: Brown + Id: + type: string + example: view_456 + PlacesLived: + type: array + items: + type: object + properties: + Name: + type: string + example: San Francisco, CA + Operation: + type: string + example: add + IsPrimary: + type: boolean + example: true + Publications: + type: array + items: + type: object + properties: + Title: + type: string + example: Modern Web Development Practices + Publisher: + type: string + example: Tech Publishing House + Date: + type: string + format: date-time + example: '2023-10-01T00:00:00Z' + Id: + type: string + example: pub_789 + Url: + type: string + example: https://example.com/publications/modern-web-dev + Summary: + type: string + example: A comprehensive guide to modern web development techniques + Authors: + type: array + items: + type: object + properties: + Id: + type: string + example: author_123 + Name: + type: string + example: John Doe + JobBookmarks: + type: array + items: + type: object + properties: + IsApplied: + type: boolean + example: true + IsSaved: + type: boolean + example: true + ApplyTimestamp: + type: string + format: date-time + example: '2023-11-15T14:30:00Z' + SavedTimestamp: + type: string + format: date-time + example: '2023-11-14T10:00:00Z' + Job: + type: object + properties: + Active: + type: boolean + example: true + Id: + type: string + example: job_456 + DescriptionSnippet: + type: string + example: Senior developer position for an innovative startup + PostingTimestamp: + type: string + format: date-time + example: '2023-11-10T09:00:00Z' + Compony: + type: object + properties: + Id: + type: string + example: comp_789 + Name: + type: string + example: Innovation Tech + Position: + type: object + properties: + Title: + type: string + example: Senior Full Stack Developer + Badges: + type: array + items: + type: object + properties: + BadgeId: + type: string + example: badge_123 + BageId: + type: string + example: badge_123 + Name: + type: string + example: Top Contributor + BadgeMessage: + type: string + example: Awarded for exceptional contributions + BageMessage: + type: string + example: Awarded for exceptional contributions + Description: + type: string + example: This badge is awarded to top 1% contributors + ImageUrl: + type: string + example: https://example.com/badges/top-contributor.png + MemberUrlResources: + type: array + items: + type: object + properties: + UrlName: + type: string + example: Portfolio + Url: + type: string + example: https://johndoe.dev + ExternalIds: + type: array + items: + type: object + properties: + Operation: + type: string + example: add + Source: + type: string + example: GitHub + SourceId: + type: string + example: gh_123456 + IsEmailSubscribed: + type: boolean + example: true + IsProtected: + type: boolean + example: false + Hireable: + type: boolean + example: true + IsTwoFactorAuthenticationEnabled: + type: boolean + example: true + DisableLogin: + type: boolean + example: false + AcceptPrivacyPolicy: + type: boolean + example: true + recaptcha_response_field: + type: string + example: 03AGdBq24PGRwz... + recaptcha_challenge_field: + type: string + example: challenge_xyz789 + CaptchaModel: + type: object + properties: + CaptchaId: + type: string + example: cap_123456 + CaptchaValue: + type: string + example: 7X4K9 + RegistrationSource: + type: string + example: Website + FullName: + type: string + nullable: true + example: John Robert Doe Jr. + Consents: + type: object + properties: + Events: + type: array + items: + type: object + properties: + IsCustom: + type: boolean + example: false + Event: + type: string + example: marketing_emails + Data: + type: array + items: + type: object + properties: + IsAccepted: + type: boolean + example: true + ConsentOptionId: + type: string + example: 123e4567e89b12d3a456426614174000 + Password: + type: string + example: SecureP@ssw0rd123 + Email: + type: array + items: + type: object + properties: + Type: + type: string + example: Primary + Value: + type: string + example: john.doe@example.com + ProfileWithoutIdentities: + type: object + properties: + IsPasswordBreached: + type: boolean + example: false + IsActive: + type: boolean + example: true + IsDeleted: + type: boolean + example: false + EmailVerified: + type: boolean + example: true + IsLoginLocked: + type: boolean + example: false + IsRequiredFieldsFilledOnce: + type: boolean + example: true + FirstLogin: + type: boolean + example: false + IsProtected: + type: boolean + example: false + Hireable: + type: boolean + example: true + IsSecurePassword: + type: boolean + nullable: true + example: true + IsCustomUid: + type: boolean + example: false + PhoneIdVerified: + type: boolean + example: true + IsEmailSubscribed: + type: boolean + example: true + NoOfLogins: + type: integer + example: 42 + FollowersCount: + type: integer + example: 150 + FriendsCount: + type: integer + example: 89 + TotalStatusesCount: + type: integer + example: 234 + NumRecommenders: + type: integer + example: 12 + TotalPrivateRepository: + type: integer + example: 5 + PublicGists: + type: integer + example: 8 + PrivateGists: + type: integer + example: 3 + PinsCount: + type: integer + example: 25 + BoardsCount: + type: integer + example: 6 + LikesCount: + type: integer + example: 342 + SessionLimit: + type: integer + example: 5 + ID: + type: string + example: usr_12345 + Password: + type: string + example: '********' + LoginLockedType: + type: string + example: None + Provider: + type: string + example: email + LastPasswordChangeToken: + type: string + example: tkn_abc123xyz + FullName: + type: string + nullable: true + example: John Michael Doe + FirstName: + type: string + example: John + LastName: + type: string + example: Doe + Uid: + type: string + example: u123456789 + RegistrationProvider: + type: string + example: google + RegistrationSource: + type: string + example: web + LastLoginLocation: + type: string + example: New York, USA + ExternalUserLoginId: + type: string + example: ext_789xyz + PhoneId: + type: string + example: '+1234567890' + UserName: + type: string + example: johndoe + Prefix: + type: string + example: Mr + MiddleName: + type: string + example: Michael + Suffix: + type: string + example: Jr + NickName: + type: string + example: Johnny + ProfileName: + type: string + example: John.Doe + BirthDate: + type: string + example: '1980-01-01' + Gender: + type: string + example: male + Website: + type: string + example: https://johndoe.com + ThumbnailImageUrl: + type: string + example: https://example.com/thumb/profile.jpg + ImageUrl: + type: string + example: https://example.com/profile.jpg + Favicon: + type: string + example: https://example.com/favicon.ico + ProfileUrl: + type: string + example: https://example.com/johndoe + HomeTown: + type: string + example: Boston + State: + type: string + example: Massachusetts + City: + type: string + example: Boston + Industry: + type: string + example: Technology + About: + type: string + example: Software developer passionate about creating great User experiences + TimeZone: + type: string + example: America/New_York + LocalLanguage: + type: string + example: en-US + CoverPhoto: + type: string + example: https://example.com/cover.jpg + TagLine: + type: string + example: Building the future of tech + Language: + type: string + example: English + Verified: + type: string + example: 'true' + UpdatedTime: + type: string + example: '2024-03-20T15:30:00Z' + IsGeoEnabled: + type: string + example: 'true' + Associations: + type: string + example: IEEE, ACM + Honors: + type: string + example: Best Developer Award 2023 + HttpsImageUrl: + type: string + example: https://example.com/secure/profile.jpg + MainAddress: + type: string + example: 123 Tech Street + Created: + type: string + example: '2023-01-01T10:00:00Z' + LocalCity: + type: string + example: Boston + ProfileCity: + type: string + example: Boston + LocalCountry: + type: string + example: United States + ProfileCountry: + type: string + example: United States + RelationshipStatus: + type: string + example: Single + Quota: + type: string + example: '1000' + Quote: + type: string + example: Code is poetry + Religion: + type: string + example: Prefer not to say + Political: + type: string + example: Independent + PublicRepository: + type: string + example: '15' + RepositoryUrl: + type: string + example: https://github.com/johndoe + Age: + type: string + example: '35' + ProfessionalHeadline: + type: string + example: Senior Software Engineer + LRUserID: + type: string + example: lr_123456 + Currency: + type: string + example: USD + StarredUrl: + type: string + example: https://github.com/johndoe?tab=stars + GistsUrl: + type: string + example: https://gist.github.com/johndoe + Company: + type: string + example: Tech Corp Inc. + GravatarImageUrl: + type: string + example: https://gravatar.com/avatar/123 + LastPasswordChangeDate: + type: string + format: date-time + example: '2024-02-15T14:30:00Z' + PasswordExpirationDate: + type: string + format: date-time + example: '2024-05-15T14:30:00Z' + CreatedDate: + type: string + format: date-time + example: '2023-01-01T10:00:00Z' + ModifiedDate: + type: string + format: date-time + example: '2024-03-20T15:30:00Z' + ProfileModifiedDate: + type: string + format: date-time + example: '2024-03-15T12:30:00Z' + LastLoginDate: + type: string + format: date-time + example: '2024-03-20T09:30:00Z' + SignupDate: + type: string + format: date-time + example: '2023-01-01T10:00:00Z' + PrivacyPolicy: + type: object + properties: + Version: + type: string + example: '2.0' + AcceptSource: + type: string + example: web + AcceptDateTime: + type: string + format: date-time + example: '2023-01-01T10:00:00Z' + Country: + type: object + properties: + Name: + type: string + example: United States + Code: + type: string + example: US + AgeRange: + type: object + properties: + Min: + type: integer + example: 25 + Max: + type: integer + example: 34 + KloutScore: + type: object + properties: + KloutId: + type: string + example: klout_123 + Score: + type: integer + example: 63 + Suggestions: + type: object + properties: + CompaniesToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: comp_123 + Name: + type: string + example: Tech Corp + IndustriesToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: ind_123 + Name: + type: string + example: Software Development + NewssourceToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: news_123 + Name: + type: string + example: Tech Daily + PeopleToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: usr_789 + Name: + type: string + example: Jane Smith + Subscription: + type: object + properties: + Name: + type: string + example: Pro Plan + Space: + type: string + example: 50GB + PrivateRepos: + type: string + example: '10' + Collaborators: + type: string + example: '5' + PIN: + type: object + properties: + Skipped: + type: boolean + example: false + LastPINChangeToken: + type: string + example: pin_token_123 + LastPINChangeDate: + type: string + format: date-time + example: '2024-02-01T12:00:00Z' + SkippedDate: + type: string + format: date-time + example: '2024-01-01T10:00:00Z' + PINHashingConfig: + type: string + example: sha256 + PIN: + type: string + example: '****' + IsPINSet: + type: boolean + example: true + ConsentProfile: + type: object + properties: + Consents: + type: array + items: + type: object + properties: + ConsentOptionId: + type: string + example: 123e4567e89b12d3a456426614174000 + AcceptedOn: + type: string + format: date-time + example: '2024-03-20T15:30:00Z' + AcceptedConsentVersions: + type: array + items: + type: object + properties: + IsCustom: + type: boolean + example: false + Event: + type: string + example: signup + Version: + type: string + example: '1.0' + RegistrationData: + type: object + properties: + Data: + type: array + items: + type: object + properties: + DataSource: + type: string + example: web_form + Value: + type: object + properties: + Id: + type: string + example: reg_123 + ProviderAccessCredential: + type: object + properties: + AccessToken: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + TokenSecret: + type: string + example: secret_token_xyz + CustomFields: + type: object + additionalProperties: + type: string + example: custom_value + ProfileImageUrls: + type: object + additionalProperties: + type: string + example: https://example.com/images/profile_small.jpg + WebProfiles: + type: object + additionalProperties: + type: string + example: https://linkedin.com/in/johndoe + Roles: + type: array + items: + type: string + example: admin + example: + - admin + - user + PreviousUids: + type: array + items: + type: string + example: old_UID_123 + example: + - old_UID_123 + - old_UID_456 + InterestedIn: + type: array + items: + type: string + example: software development + example: + - technology + - sports + ExternalIds: + type: array + items: + type: object + properties: + Operation: + type: string + example: link + Source: + type: string + example: github + SourceId: + type: string + example: gh_123456 + UnverifiedEmail: + type: array + items: + type: object + properties: + Type: + type: string + example: work + Value: + type: string + example: john.doe@company.com + Positions: + type: array + items: + type: object + properties: + Position: + type: string + example: Senior Software Engineer + Summary: + type: string + example: Leading backend development team + StartDate: + type: string + format: date-time + example: '2022-01-01T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2024-03-20T00:00:00Z' + IsCurrent: + type: boolean + example: true + Company: + type: object + properties: + Name: + type: string + example: Tech Corp Inc. + Type: + type: string + example: Public Company + Industry: + type: string + example: Information Technology + Educations: + type: array + items: + type: object + properties: + School: + type: string + example: MIT + Year: + type: string + example: '2020' + Type: + type: string + example: University + Notes: + type: string + example: Dean's List + Activities: + type: string + example: Robotics Club, Coding Competition + Degree: + type: string + example: Master of Science + FieldOfStudy: + type: string + example: Computer Science + StartDate: + type: string + format: date-time + example: '2018-09-01T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2020-05-30T00:00:00Z' + PhoneNumbers: + type: array + items: + type: object + properties: + PhoneType: + type: string + example: mobile + PhoneNumber: + type: string + example: +1-555-123-4567 + op: + type: string + example: add + IMAccounts: + type: array + items: + type: object + properties: + AccountType: + type: string + example: skype + AccountName: + type: string + example: john.doe.123 + Addresses: + type: array + items: + type: object + properties: + Type: + type: string + example: home + AddressType: + type: string + example: primary + Address1: + type: string + example: 123 Tech Street + Address2: + type: string + example: Apt 4B + City: + type: string + example: San Francisco + State: + type: string + example: CA + PostalCode: + type: string + example: '94105' + Region: + type: string + example: Bay Area + Op: + type: string + example: add + Country: + type: string + example: United States + Interests: + type: array + items: + type: object + properties: + InterestType: + type: string + example: professional + InterestName: + type: string + example: Artificial Intelligence + Sports: + type: array + items: + type: object + properties: + Id: + type: string + example: sport_123 + Name: + type: string + example: Basketball + InspirationalPeople: + type: array + items: + type: object + properties: + Name: + type: string + example: Ada Lovelace + Id: + type: string + example: insp_123 + Awards: + type: array + items: + type: object + properties: + Id: + type: string + example: award_123 + Name: + type: string + example: Innovation Award + Issuer: + type: string + example: Tech Association + Skills: + type: array + items: + type: object + properties: + Id: + type: string + example: skill_123 + Name: + type: string + example: Python Programming + CurrentStatus: + type: array + items: + type: object + properties: + Id: + type: string + example: status_123 + Text: + type: string + example: Working on exciting AI project + Source: + type: string + example: linkedin + CreatedDate: + type: string + format: date-time + example: '2024-03-20T15:30:00Z' + Certifications: + type: array + items: + type: object + properties: + Id: + type: string + example: cert_123 + Name: + type: string + example: AWS Certified Solutions Architect + Authority: + type: string + example: Amazon Web Services + Number: + type: string + example: CERT-123-45678 + StartDate: + type: string + format: date-time + example: '2023-01-01T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2026-01-01T00:00:00Z' + Courses: + type: array + items: + type: object + properties: + Id: + type: string + example: course_123 + Name: + type: string + example: Advanced Machine Learning + Number: + type: string + example: CS-401 + Volunteer: + type: array + items: + type: object + properties: + Organization: + type: string + example: Code for Good + Role: + type: string + example: Technical Mentor + Cause: + type: string + example: Education + Id: + type: string + example: vol_123 + RecommendationsReceived: + type: array + items: + type: object + properties: + Id: + type: string + example: rec_123 + Recommender: + type: string + example: Jane Smith + RecommendationText: + type: string + example: Excellent team player and technical leader + RecommendationType: + type: string + example: professional + Languages: + type: array + items: + type: object + properties: + Id: + type: string + example: lang_123 + Name: + type: string + example: Spanish + Proficiency: + type: string + example: fluent + op: + type: string + example: add + Projects: + type: array + items: + type: object + properties: + Id: + type: string + example: proj_123 + Name: + type: string + example: AI-Powered Analytics Platform + Summary: + type: string + example: Led development of machine learning pipeline + StartDate: + type: string + format: date-time + example: '2023-06-01T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2024-02-28T00:00:00Z' + IsCurrent: + type: string + example: 'false' + With: + type: array + items: + type: object + properties: + Id: + type: string + example: user_789 + Name: + type: string + example: Sarah Johnson + Games: + type: array + items: + type: object + properties: + Id: + type: string + example: game_123 + Category: + type: string + example: Strategy + Name: + type: string + example: Chess + CreatedDate: + type: string + format: date-time + example: '2024-01-15T10:30:00Z' + Family: + type: array + items: + type: object + properties: + Id: + type: string + example: fam_123 + Name: + type: string + example: Jane Doe + Relationship: + type: string + example: Spouse + TelevisionShow: + type: array + items: + type: object + properties: + Id: + type: string + example: show_123 + Category: + type: string + example: Science Fiction + Name: + type: string + example: Black Mirror + CreatedDate: + type: string + format: date-time + example: '2024-02-01T12:00:00Z' + MutualFriends: + type: array + items: + type: object + properties: + Id: + type: string + example: friend_123 + Name: + type: string + example: Alice Smith + FirstName: + type: string + example: Alice + LastName: + type: string + example: Smith + Birthday: + type: string + format: date-time + example: '1985-03-15T00:00:00Z' + Hometown: + type: string + example: Chicago + Link: + type: string + example: https://example.com/alice.smith + Gender: + type: string + example: female + Movies: + type: array + items: + type: object + properties: + MovieName: + type: string + example: The Matrix + Genre: + type: string + example: Science Fiction + Books: + type: array + items: + type: object + properties: + Id: + type: string + example: book_123 + Category: + type: string + example: Non-fiction + Name: + type: string + example: Clean Code + CreatedDate: + type: string + example: '2024-01-01' + Patents: + type: array + items: + type: object + properties: + Id: + type: string + example: pat_123 + Title: + type: string + example: AI-Based Data Processing System + Date: + type: string + example: '2023-06-15' + FavoriteThings: + type: array + items: + type: object + properties: + Id: + type: string + example: fav_123 + Name: + type: string + example: Photography + Type: + type: string + example: Hobby + RelatedProfileViews: + type: array + items: + type: object + properties: + FirstName: + type: string + example: Robert + LastName: + type: string + example: Johnson + Id: + type: string + example: view_123 + PlacesLived: + type: array + items: + type: object + properties: + Name: + type: string + example: Seattle, WA + Operation: + type: string + example: add + IsPrimary: + type: boolean + example: true + Publications: + type: array + items: + type: object + properties: + Title: + type: string + example: Modern Software Architecture + Publisher: + type: string + example: Tech Publishing House + Date: + type: string + format: date-time + example: '2023-08-15T00:00:00Z' + Id: + type: string + example: pub_123 + Url: + type: string + example: https://example.com/publication/123 + Summary: + type: string + example: A comprehensive guide to modern software architecture patterns + Authors: + type: array + items: + type: object + properties: + Id: + type: string + example: auth_123 + Name: + type: string + example: John Doe + JobBookmarks: + type: array + items: + type: object + properties: + IsApplied: + type: boolean + example: true + IsSaved: + type: boolean + example: true + ApplyTimestamp: + type: string + format: date-time + example: '2024-02-15T14:30:00Z' + SavedTimestamp: + type: string + format: date-time + example: '2024-02-10T09:15:00Z' + Job: + type: object + properties: + Active: + type: boolean + example: true + Id: + type: string + example: job_123 + DescriptionSnippet: + type: string + example: Senior Software Engineer position + PostingTimestamp: + type: string + format: date-time + example: '2024-02-01T00:00:00Z' + Compony: + type: object + properties: + Id: + type: string + example: comp_123 + Name: + type: string + example: Tech Corp Inc. + Position: + type: object + properties: + Title: + type: string + example: Senior Software Engineer + Badges: + type: array + items: + type: object + properties: + BadgeId: + type: string + example: badge_123 + BageId: + type: string + example: badge_123 + Name: + type: string + example: Top Contributor + BadgeMessage: + type: string + example: Awarded for exceptional contributions + BageMessage: + type: string + example: Awarded for exceptional contributions + Description: + type: string + example: Recognition for outstanding community support + ImageUrl: + type: string + example: https://example.com/badges/top-contributor.png + MemberUrlResources: + type: array + items: + type: object + properties: + UrlName: + type: string + example: Portfolio + Url: + type: string + example: https://johndoe.com + Organizations: + type: array + items: + type: object + properties: + Id: + type: string + example: org_123 + Name: + type: string + example: Acme Corp + LogoURL: + type: string + example: https://cdn.example.com/orgs/acme/logo.png + Email: + type: array + items: + type: object + properties: + Type: + type: string + example: work + Value: + type: string + example: john.doe@company.com + PasskeyLogin: + type: object + nullable: true + properties: + ProgressiveFlag: + type: boolean + example: true + LocalEnrollmentFlag: + type: boolean + example: false + ProgressiveEnrollmentDate: + type: string + format: date-time + example: '2024-03-01T12:00:00Z' + AuthResponseWithoutIdentites: + properties: + Profile: + $ref: '#/components/schemas/ProfileWithoutIdentities' + access_token: + type: string + example: 684920ba-917b-4168-b59b-eae70b430209 + description: Bearer token for authenticating API requests. + refresh_token: + type: string + example: 684920ba-917b-4168-b59b-eae70b430209 + description: Long-lived token for obtaining new Access Tokens. + expires_in: + type: string + example: '3600' + description: Expiration time of the Access Token in seconds. + RegistrationResponse: + properties: + IsPosted: + type: boolean + Data: + $ref: '#/components/schemas/AuthResponseWithoutIdentites' + PublicKeyCredentialCreationOptions: + type: object + description: | + The parameters for creating a new public key credential. + This contains all the necessary information for the client to generate + a new credential and for the authenticator to attest to that credential. + required: + - rp + - user + - challenge + - pubKeyCredParams + properties: + rp: + type: object + description: | + Information about the Relying Party (the website or service) requesting + the credential creation. + required: + - name + - id + properties: + id: + type: string + description: | + The domain name of the Relying Party. This is used by the authenticator + to ensure credentials are created for the correct domain. + example: example.com + name: + type: string + description: | + The human-readable name of the Relying Party, which may be displayed + to the User by the authenticator. + example: Example Corporation + icon: + type: string + description: | + Optional. A URL pointing to an image resource for the Relying Party, + which may be displayed to the User by the authenticator. + example: https://example.com/icon.png + user: + type: object + description: | + Information about the User for whom the credential is being created. + This information will be stored in the authenticator. + required: + - id + - name + - displayName + properties: + id: + type: string + description: | + A unique identifier for the User. This should be opaque but stable + across different sessions for the same User. + example: MIIBkzCCATigAwIBAjCCAZMwggE4oAMCAQIwggGTMII= + name: + type: string + description: | + The User's Username or Email address, which may be displayed to the User + by the authenticator. + example: user@example.com + displayName: + type: string + description: | + The User's display name, which may be shown to the User by the authenticator + during credential creation. + example: John Doe + icon: + type: string + description: | + Optional. A URL pointing to an image resource for the User, which may be + displayed to the User by the authenticator. + example: https://example.com/user-icon.png + challenge: + type: string + description: | + A cryptographically random challenge generated by the Relying Party server. + This is used to prevent replay attacks and ensure the credential creation + is fresh. + example: Vu8M80YRTOBz3wMFXFJJKCrDf6pfuOQTlPp1GH_8-Jc + pubKeyCredParams: + type: array + description: | + An array of acceptable public key credential types and cryptographic algorithms. + The client will select one from this list based on the capabilities of the + authenticator. + items: + type: object + required: + - type + - alg + properties: + type: + type: string + description: | + The type of credential to be created. For WebAuthn this is always "public-key". + enum: + - public-key + example: public-key + alg: + type: integer + description: | + The COSE identifier for the cryptographic algorithm to be used. + Common values are -7 (ES256), -257 (RS256), -8 (EdDSA). + example: -7 + timeout: + type: integer + description: | + Optional. The time, in milliseconds, that the User has to respond to the + credential creation request before it times out. + example: 60000 + excludeCredentials: + type: array + description: | + Optional. An array of credentials that should not be created again. + This is used to prevent a User from registering the same credential + multiple times. + items: + type: object + required: + - id + - type + properties: + id: + type: string + description: | + The credential ID of the credential to exclude. + example: LFdoCFJTyB82ZzSJUHc-c72yraRc_1mPvGX8ToE8su39xX26Jcqd31LUP5iRLBop + type: + type: string + description: | + The type of credential to exclude. For WebAuthn this is always "public-key". + enum: + - public-key + example: public-key + transports: + type: array + description: | + Optional. Hints as to how the client might communicate with the + authenticator of the credential to exclude. + items: + type: string + enum: + - usb + - nfc + - ble + - internal + - hybrid + - smart-card + example: + - internal + - usb + authenticatorSelection: + type: object + description: | + Optional. Specifies requirements for the authenticator to be used for + credential creation. + properties: + authenticatorAttachment: + type: string + description: | + Optional. Specifies whether the authenticator should be a platform + authenticator (like TouchID, Windows Hello) or a cross-platform + authenticator (like a security key). + enum: + - platform + - cross-platform + example: platform + requireResidentKey: + type: boolean + description: | + Optional. Indicates whether the authenticator must be capable of + storing the credential on the device (resident key / discoverable credential). + example: true + residentKey: + type: string + description: | + Optional. Specifies the Relying Party's requirements for client-side + discoverable credentials (resident keys). + enum: + - discouraged + - preferred + - required + example: preferred + userVerification: + type: string + description: | + Optional. Specifies whether User verification is required, preferred, + or discouraged for credential creation. + enum: + - required + - preferred + - discouraged + example: preferred + attestation: + type: string + description: | + Optional. Specifies whether the authenticator should attach attestation + information to the credential. + enum: + - none + - indirect + - direct + - enterprise + example: direct + extensions: + type: object + description: Optional WebAuthn extensions to influence authenticator behavior + properties: + credProps: + type: boolean + description: Requests information about the credential’s properties (e.g., if it's discoverable) + example: true + exampleExtension: + type: string + description: Placeholder for other extension values (can be vendor-specific) + example: some-value + PasskeyCredentialCreationResponse: + type: object + description: | + CredentialCreationResponse represents the response from a client when creating new credentials. + It is the result of the navigator.credentials.create() call on the client side and is + sent to the server for verification during the registration process. + required: + - id + - rawId + - response + - type + properties: + id: + type: string + description: | + Base64URL-encoded string representing the ID of the newly created credential. + This is typically the same as rawId, but encoded as a string. + example: AUiVKBdB9M_87caeOwmagMqNO0zrQwV3yV74qnGzDiA4ky6d9OHmQQGHN0kCogAiHeuMKJKoNJ6xwTXM6xjQwx3fEKfW3yQb4P8mJ2iQPgTOdHweeDGHUF8_UWTUyoxJ + rawId: + type: string + description: | + Base64URL-encoded ArrayBuffer containing the credential ID. This ID is used by the + Relying Party to identify the credential for future authentications. + example: c29tZS1leGFtcGxlLXJhd0lk + response: + type: object + description: | + The authenticator's response to the client's request to create a credential. + Contains attestation information that can be used to verify the credential's origin. + required: + - clientDataJSON + - attestationObject + properties: + clientDataJSON: + type: string + description: | + Base64URL-encoded JSON serialized client data. Contains information about the + credential creation like the challenge, origin, and type of credential. + example: c29tZS1leGFtcGxlLXJhd0lk + attestationObject: + type: string + description: | + Base64URL-encoded attestation object. Contains the attestation statement and + authenticator data used to verify the credential's provenance. + example: c29tZS1leGFtcGxlLXJhd0lk + transports: + type: array + items: + type: string + enum: + - usb + - nfc + - ble + - internal + - hybrid + description: | + List of transports supported by the authenticator for this credential. + May be included by the client or extracted from attestation metadata. + example: + - usb + - nfc + type: + type: string + description: | + String describing the credential type. For WebAuthn, this is always "public-key". + enum: + - public-key + example: public-key + clientExtensionResults: + type: object + description: Results of any WebAuthn extensions processed by the client. + properties: + credProps: + type: object + description: Credential Properties Extension results. + properties: + rk: + type: boolean + authenticatorAttachment: + type: string + description: | + Indicates the authenticator attachment modality used during credential creation. This helps + identify the type of authenticator used, either a platform authenticator integrated into the + device or a roaming authenticator that can be connected to different devices. + enum: + - platform + - cross-platform + example: platform + PasskeyRegisterFinishCore: + type: object + properties: + PasskeyCredential: + $ref: '#/components/schemas/PasskeyCredentialCreationResponse' + ProfileRequestEmailOnly: + type: object + properties: + Gender: + type: string + example: M + BirthDate: + type: string + example: '1990-01-01' + Prefix: + type: string + example: Mr. + FirstName: + type: string + example: John + MiddleName: + type: string + example: Robert + LastName: + type: string + example: Doe + Suffix: + type: string + example: Jr. + NickName: + type: string + example: Johnny + ProfileName: + type: string + example: John R. Doe + About: + type: string + example: Software developer passionate about creating great User experiences + Company: + type: string + example: Tech Corp Inc. + ImageUrl: + type: string + example: https://example.com/images/profile.jpg + TimeZone: + type: string + example: America/New_York + Website: + type: string + example: https://johndoe.com + ThumbnailImageUrl: + type: string + example: https://example.com/images/thumbnail.jpg + Favicon: + type: string + example: https://example.com/favicon.ico + ProfileUrl: + type: string + example: https://example.com/profile/johndoe + HomeTown: + type: string + example: Boston + State: + type: string + example: Massachusetts + City: + type: string + example: Cambridge + Industry: + type: string + example: Technology + LocalLanguage: + type: string + example: en-US + Language: + type: string + example: English + CoverPhoto: + type: string + example: https://example.com/images/cover.jpg + TagLine: + type: string + example: Building the future of technology + MainAddress: + type: string + example: 123 Tech Street + LocalCity: + type: string + example: Cambridge + ProfileCity: + type: string + example: Cambridge + LocalCountry: + type: string + example: United States + ProfileCountry: + type: string + example: United States + Quota: + type: string + example: premium + Religion: + type: string + example: Prefer not to say + Political: + type: string + example: Independent + RelationshipStatus: + type: string + example: Married + HttpsImageUrl: + type: string + example: https://example.com/images/secure/profile.jpg + IsGeoEnabled: + type: string + example: 'true' + Associations: + type: string + example: IEEE, ACM + Honors: + type: string + example: Best Developer Award 2023 + PublicRepository: + type: string + example: '10' + RepositoryUrl: + type: string + example: https://github.com/johndoe + ProfessionalHeadline: + type: string + example: Senior Software Engineer + Currency: + type: string + example: USD + StarredUrl: + type: string + example: https://github.com/johndoe?tab=stars + GistsUrl: + type: string + example: https://gist.github.com/johndoe + GravatarImageUrl: + type: string + example: https://gravatar.com/avatar/123456 + ExternalUserLoginId: + type: string + example: github|12345 + InterestedIn: + type: array + items: + type: string + example: + - Technology + - AI + - Machine Learning + FollowersCount: + type: integer + example: 1000 + FriendsCount: + type: integer + example: 500 + TotalStatusesCount: + type: integer + example: 250 + NumRecommenders: + type: integer + example: 50 + TotalPrivateRepository: + type: integer + example: 5 + PublicGists: + type: integer + example: 15 + PrivateGists: + type: integer + example: 10 + SessionLimit: + type: integer + example: 5 + CustomFields: + type: object + additionalProperties: + type: string + example: + skill_level: expert + availability: full-time + ProfileImageUrls: + type: object + additionalProperties: + type: string + example: + small: https://example.com/images/small.jpg + medium: https://example.com/images/medium.jpg + large: https://example.com/images/large.jpg + WebProfiles: + type: object + additionalProperties: + type: string + example: + linkedin: https://linkedin.com/in/johndoe + twitter: https://twitter.com/johndoe + SecurityQuestionAnswer: + type: object + additionalProperties: + type: string + example: + First pet's name?: Spot + Mother's maiden name?: Smith + Country: + type: object + properties: + Name: + type: string + example: United States + Code: + type: string + example: US + Suggestions: + type: object + properties: + CompaniesToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: comp_123 + Name: + type: string + example: Microsoft + IndustriesToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: ind_456 + Name: + type: string + example: Software Development + NewssourceToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: news_789 + Name: + type: string + example: TechCrunch + PeopleToFollow: + type: array + items: + type: object + properties: + Id: + type: string + example: user_101 + Name: + type: string + example: Jane Smith + Subscription: + type: object + properties: + Name: + type: string + example: Premium Plan + Space: + type: string + example: 50GB + PrivateRepos: + type: string + example: Unlimited + Collaborators: + type: string + example: '10' + AgeRange: + type: object + properties: + Min: + type: integer + example: 25 + Max: + type: integer + example: 34 + PrivacyPolicy: + type: object + properties: + Version: + type: string + example: 2.1.0 + PINInfo: + type: object + properties: + PIN: + type: string + example: '123456' + Skipped: + type: boolean + example: false + Addresses: + type: array + items: + type: object + properties: + Type: + type: string + example: Home + AddressType: + type: string + example: Primary + Address1: + type: string + example: 123 Main Street + Address2: + type: string + example: Apt 4B + City: + type: string + example: Boston + State: + type: string + example: MA + PostalCode: + type: string + example: '02108' + Region: + type: string + example: New England + Op: + type: string + example: add + Country: + type: string + example: USA + Positions: + type: array + items: + type: object + properties: + Position: + type: string + example: Senior Software Engineer + Summary: + type: string + example: Leading the frontend development team + StartDate: + type: string + format: date-time + example: '2020-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2023-06-30T00:00:00Z' + IsCurrent: + type: boolean + nullable: true + example: true + Company: + type: object + properties: + Name: + type: string + example: Tech Solutions Inc + Type: + type: string + example: Private + Industry: + type: string + example: Information Technology + Educations: + type: array + items: + type: object + properties: + School: + type: string + example: MIT + Year: + type: string + example: '2019' + Type: + type: string + example: University + Notes: + type: string + example: Graduated with honors + Activities: + type: string + example: Robotics Club, Chess Team + Degree: + type: string + example: Bachelor of Science + FieldOfStudy: + type: string + example: Computer Science + StartDate: + type: string + format: date-time + example: '2015-09-01T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2019-05-30T00:00:00Z' + PhoneNumbers: + type: array + items: + type: object + properties: + PhoneType: + type: string + example: Mobile + PhoneNumber: + type: string + example: +1-555-555-0123 + op: + type: string + example: add + IMAccounts: + type: array + items: + type: object + properties: + AccountType: + type: string + example: Skype + AccountName: + type: string + example: john.doe.123 + Interests: + type: array + items: + type: object + properties: + InterestType: + type: string + example: Professional + InterestName: + type: string + example: Artificial Intelligence + Sports: + type: array + items: + type: object + properties: + Id: + type: string + example: sport_123 + Name: + type: string + example: Basketball + InspirationalPeople: + type: array + items: + type: object + properties: + Name: + type: string + example: Ada Lovelace + Id: + type: string + example: insp_789 + Awards: + type: array + items: + type: object + properties: + Id: + type: string + example: award_456 + Name: + type: string + example: Innovation Excellence Award + Issuer: + type: string + example: Tech Industry Association + Skills: + type: array + items: + type: object + properties: + Id: + type: string + example: skill_123 + Name: + type: string + example: React.js + CurrentStatus: + type: array + items: + type: object + properties: + Id: + type: string + example: status_789 + Text: + type: string + example: Working on an exciting new project! + Source: + type: string + example: LinkedIn + CreatedDate: + type: string + format: date-time + example: '2023-12-01T09:00:00Z' + Certifications: + type: array + items: + type: object + properties: + Id: + type: string + example: cert_456 + Name: + type: string + example: AWS Certified Solutions Architect + Authority: + type: string + example: Amazon Web Services + Number: + type: string + example: CERT123456 + StartDate: + type: string + format: date-time + example: '2023-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2026-01-14T23:59:59Z' + Courses: + type: array + items: + type: object + properties: + Id: + type: string + example: course_789 + Name: + type: string + example: Advanced Machine Learning + Number: + type: string + example: CS501 + Volunteer: + type: array + items: + type: object + properties: + Organization: + type: string + example: Code for Good + Role: + type: string + example: Technical Mentor + Cause: + type: string + example: Education + Id: + type: string + example: vol_123 + RecommendationsReceived: + type: array + items: + type: object + properties: + Id: + type: string + example: rec_456 + Recommender: + type: string + example: Jane Smith + RecommendationText: + type: string + example: John is an exceptional developer with great leadership skills + RecommendationType: + type: string + example: Professional + Languages: + type: array + items: + type: object + properties: + Id: + type: string + example: lang_789 + Name: + type: string + example: Spanish + Proficiency: + type: string + example: Advanced + op: + type: string + example: add + Projects: + type: array + items: + type: object + properties: + Id: + type: string + example: proj_123 + Name: + type: string + example: AI-Powered Analytics Platform + Summary: + type: string + example: Developed a machine learning platform for business analytics + StartDate: + type: string + format: date-time + example: '2023-03-01T00:00:00Z' + EndDate: + type: string + format: date-time + example: '2023-11-30T00:00:00Z' + IsCurrent: + type: string + example: 'false' + With: + type: array + items: + type: object + properties: + Id: + type: string + example: user_456 + Name: + type: string + example: Sarah Johnson + Games: + type: array + items: + type: object + properties: + Id: + type: string + example: game_789 + Category: + type: string + example: Strategy + Name: + type: string + example: Chess + CreatedDate: + type: string + format: date-time + example: '2023-01-01T00:00:00Z' + Family: + type: array + items: + type: object + properties: + Id: + type: string + example: fam_123 + Name: + type: string + example: Jane Doe + Relationship: + type: string + example: Spouse + TeleVisionShow: + type: array + items: + type: object + properties: + Id: + type: string + example: show_456 + Category: + type: string + example: Science Fiction + Name: + type: string + example: Black Mirror + CreatedDate: + type: string + format: date-time + example: '2023-06-15T00:00:00Z' + MutualFriends: + type: array + items: + type: object + properties: + Id: + type: string + example: friend_789 + Name: + type: string + example: Mike Wilson + FirstName: + type: string + example: Mike + LastName: + type: string + example: Wilson + Birthday: + type: string + format: date-time + example: '1992-04-15T00:00:00Z' + Hometown: + type: string + example: Chicago + Link: + type: string + example: https://example.com/profile/mikewilson + Gender: + type: string + example: M + Movies: + type: array + items: + type: object + properties: + Id: + type: string + example: movie_123 + Category: + type: string + example: Drama + Name: + type: string + example: The Social Network + CreatedDate: + type: string + format: date-time + example: '2023-07-20T00:00:00Z' + Books: + type: array + items: + type: object + properties: + Id: + type: string + example: book_456 + Category: + type: string + example: Technology + Name: + type: string + example: Clean Code + CreatedDate: + type: string + example: '2023-08-01' + Patents: + type: array + items: + type: object + properties: + Id: + type: string + example: pat_789 + Title: + type: string + example: Method for Efficient Data Processing + Date: + type: string + example: '2023-09-15' + FavoriteThings: + type: array + items: + type: object + properties: + Id: + type: string + example: fav_123 + Name: + type: string + example: Coffee + Type: + type: string + example: Beverage + RelatedProfileViews: + type: array + items: + type: object + properties: + FirstName: + type: string + example: Alice + LastName: + type: string + example: Brown + Id: + type: string + example: view_456 + PlacesLived: + type: array + items: + type: object + properties: + Name: + type: string + example: San Francisco, CA + Operation: + type: string + example: add + IsPrimary: + type: boolean + example: true + Publications: + type: array + items: + type: object + properties: + Title: + type: string + example: Modern Web Development Practices + Publisher: + type: string + example: Tech Publishing House + Date: + type: string + format: date-time + example: '2023-10-01T00:00:00Z' + Id: + type: string + example: pub_789 + Url: + type: string + example: https://example.com/publications/modern-web-dev + Summary: + type: string + example: A comprehensive guide to modern web development techniques + Authors: + type: array + items: + type: object + properties: + Id: + type: string + example: author_123 + Name: + type: string + example: John Doe + JobBookmarks: + type: array + items: + type: object + properties: + IsApplied: + type: boolean + example: true + IsSaved: + type: boolean + example: true + ApplyTimestamp: + type: string + format: date-time + example: '2023-11-15T14:30:00Z' + SavedTimestamp: + type: string + format: date-time + example: '2023-11-14T10:00:00Z' + Job: + type: object + properties: + Active: + type: boolean + example: true + Id: + type: string + example: job_456 + DescriptionSnippet: + type: string + example: Senior developer position for an innovative startup + PostingTimestamp: + type: string + format: date-time + example: '2023-11-10T09:00:00Z' + Compony: + type: object + properties: + Id: + type: string + example: comp_789 + Name: + type: string + example: Innovation Tech + Position: + type: object + properties: + Title: + type: string + example: Senior Full Stack Developer + Badges: + type: array + items: + type: object + properties: + BadgeId: + type: string + example: badge_123 + BageId: + type: string + example: badge_123 + Name: + type: string + example: Top Contributor + BadgeMessage: + type: string + example: Awarded for exceptional contributions + BageMessage: + type: string + example: Awarded for exceptional contributions + Description: + type: string + example: This badge is awarded to top 1% contributors + ImageUrl: + type: string + example: https://example.com/badges/top-contributor.png + MemberUrlResources: + type: array + items: + type: object + properties: + UrlName: + type: string + example: Portfolio + Url: + type: string + example: https://johndoe.dev + ExternalIds: + type: array + items: + type: object + properties: + Operation: + type: string + example: add + Source: + type: string + example: GitHub + SourceId: + type: string + example: gh_123456 + IsEmailSubscribed: + type: boolean + example: true + IsProtected: + type: boolean + example: false + Hireable: + type: boolean + example: true + DisableLogin: + type: boolean + example: false + AcceptPrivacyPolicy: + type: boolean + example: true + RegistrationSource: + type: string + example: Website + FullName: + type: string + example: John Robert Doe Jr. + Consents: + type: object + properties: + Events: + type: array + items: + type: object + properties: + IsCustom: + type: boolean + example: false + Event: + type: string + example: marketing_emails + Data: + type: array + items: + type: object + properties: + IsAccepted: + type: boolean + example: true + ConsentOptionId: + type: string + example: 123e4567e89b12d3a456426614174000 + Email: + type: array + items: + type: object + properties: + Type: + type: string + example: Primary + Value: + type: string + example: john.doe@example.com + PasskeyRegisterFinish: + allOf: + - $ref: '#/components/schemas/PasskeyRegisterFinishCore' + - $ref: '#/components/schemas/ProfileRequestEmailOnly' + LoginByEmailRequestCore: + type: object + properties: + SecurityAnswer: + type: object + additionalProperties: + type: string + description: The security answers which is set for the User, this will be used when the User is blocked for the security question. + nullable: true + Email: + type: string + description: The Email address of the User + Password: + type: string + description: The Password of the User + LoginByEmailRequest: + type: object + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/LoginByEmailRequestCore' + LoginByUsernameRequestCore: + type: object + required: + - username + - password + properties: + username: + type: string + description: The Username of the User + password: + type: string + format: password + description: The Password of the User + securityAnswer: + type: string + description: The security answer which is set for the User, this will be used when the User is blocked for the security question. + LoginByUsernameRequest: + type: object + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/LoginByUsernameRequestCore' + LoginByPhoneCore: + type: object + required: + - phone + - password + properties: + phone: + type: string + description: The Phone number of the User + password: + type: string + format: password + description: The Password of the User + securityAnswer: + type: string + description: The security answer which is set for the User, this will be used when the User is blocked for the security question. + LoginByPhone: + type: object + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/LoginByPhoneCore' + AuthResponseOptionalMfa: + type: object + allOf: + - $ref: '#/components/schemas/AuthResponse' + properties: + SecondFactorAuthentication: + type: object + description: The two-factor authentication method response, if the User has 2FA enabled. + nullable: true + TwoFactorAuthenticationTokenObjectCore: + type: object + properties: + SecondFactorAuthenticationToken: + type: string + description: Token for second factor authentication + example: 684920ba-917b-4168-b59b-eae70b430209 + ExpireIn: + type: string + format: date-time + description: Expiration time of the token + example: '2021-04-06T08:36:53.3005592Z' + EmailOTPStatus: + type: object + properties: + Email: + type: string + example: u**r@e*****e.c*m + SecurityQuestions: + type: object + properties: + QuestionId: + type: string + example: db7****8a73e4******bd9****8c20 + Question: + type: string + example: What is your pet's name? + TwoFactorAuthenticationSettings: + type: object + description: This holds the second factor authentication settings excluding SecondFactorAuthentication token + properties: + QRCode: + type: string + nullable: true + example: data:image/png;base64,... + PushQRCode: + type: string + nullable: true + example: https://devapi.lrinternal.com/identity/v2/auth/qr-code?apikey=xxx&token=xxxxx&size=150 + ManualEntryCode: + type: string + nullable: true + example: HBRWENLDHEZGIMBYHFTDINJSMVRDANDBHE4WINJTMYZTCYZSGFRA + DuoAuthEndpoint: + type: string + nullable: true + example: https://api.duosecurity.com/auth + IsGoogleAuthenticatorVerified: + type: boolean + IsPushDeviceRegistered: + type: boolean + IsAuthenticatorVerified: + type: boolean + IsEmailOtpAuthenticatorVerified: + type: boolean + IsOTPAuthenticatorVerified: + type: boolean + IsDuoAuthenticatorVerified: + type: boolean + IsPasskeyAuthenticatorVerified: + type: boolean + OTPPhoneNo: + type: string + nullable: true + example: '+1234567890' + OTPStatus: + $ref: '#/components/schemas/SMSResponseData' + Email: + type: array + items: + type: string + format: email + example: + - user@example.com + EmailOTPStatus: + $ref: '#/components/schemas/EmailOTPStatus' + IsSecurityQuestionAuthenticatorVerified: + type: boolean + SecurityQuestions: + type: array + items: + $ref: '#/components/schemas/SecurityQuestions' + TwoFactorAuthenticationTokenObject: + type: object + description: This holds the second factor authentication settings including SecondFactorAuthentication token + allOf: + - $ref: '#/components/schemas/TwoFactorAuthenticationTokenObjectCore' + - $ref: '#/components/schemas/TwoFactorAuthenticationSettings' + AuthResponseRequiredMfaCore: + type: object + properties: + access_token: + type: string + example: 00000000-0000-0000-0000-000000000000 + description: Empty access_token + expires_in: + type: string + format: date-time + example: '0001-01-01T00:00:00Z' + description: Empty expires_in + AuthResponseRequiredMfa: + type: object + allOf: + - $ref: '#/components/schemas/TwoFactorAuthenticationTokenObject' + - $ref: '#/components/schemas/AuthResponseRequiredMfaCore' + IsExist: + properties: + IsExist: + type: boolean + description: Indicates whether the Email exists in the system. + AuthResponseEmailVerification: + properties: + IsPosted: + type: boolean + Data: + type: object + properties: + Email: + type: string + example: test@gmail.com + VerifyEmailModel: + type: object + required: + - otp + properties: + otp: + type: string + description: One-time passcode sent to the User's Email. [required if 'email' or 'uuid' is passed] + email: + type: string + description: User's Email address (required if `uuid` or `username` is not passed). + username: + type: string + description: Username of the associated Account (required if `email` or `uuid` is not passed). Cannot be combined with `email`. + UUID: + type: string + description: UUID received in the response of the Auth send verification Email API (required if `email` or `username` is not passed). + verificationtoken: + type: string + description: Verification token received in Email (required if `email` is not passed). + securityanswer: + type: object + description: JSON object with unique security question IDs and answers. + AuthResponseForgotReset: + type: object + properties: + IsPosted: + type: boolean + Data: + $ref: '#/components/schemas/AuthResponse' + AddEmailModel: + type: object + required: + - email + properties: + email: + type: string + description: email + type: + type: string + description: type + AccessTokenInBody: + type: object + properties: + access_token: + type: string + description: Access Token for authentication + DeleteEmailRequest: + type: object + required: + - email + properties: + email: + type: string + IsDeleted: + type: object + properties: + IsDeleted: + type: boolean + description: Indicates if the item is deleted + PublicKeyCredentialRequestOptions: + type: object + description: | + Represents the options for a WebAuthn credential assertion (authentication). This object is typically generated by the server and sent to the client to initiate the authentication ceremony using `navigator.credentials.get()`. + required: + - challenge + - rpId + - allowCredentials + - timeout + properties: + challenge: + type: string + description: | + A cryptographic challenge that the authenticator signs over. This is a base64url-encoded string generated by the server to prevent replay attacks. + example: F8e3QHkHo-vlv-3R09qOfmBDY8A9GrqYK9hVujdjGHE + rpId: + type: string + description: | + The relying party identifier (usually the domain of the website) that the credential should be scoped to. + example: login2website.com + allowCredentials: + type: array + description: | + A list of descriptors for credentials acceptable to the server. This allows the server to guide the client to use a particular credential. + items: + type: object + required: + - type + - id + properties: + type: + type: string + description: The type of public key credential. + example: public-key + id: + type: string + description: | + The base64url-encoded identifier of the credential. This corresponds to the ID of a previously registered credential. + example: bzsKo52E6_sh5mCC3FjB_w + transports: + type: array + description: | + An array of transport methods supported by the authenticator for this credential. Values can include "usb", "nfc", "ble", or "internal". + items: + type: string + example: + - internal + timeout: + type: integer + description: | + Time, in milliseconds, that the caller is willing to wait for the authentication operation to complete. + example: 60000 + userVerification: + type: string + description: | + Specifies the preferred level of User verification for the authentication. Options are "required", "preferred", or "discouraged". + enum: + - required + - preferred + - discouraged + example: preferred + extensions: + type: object + description: | + Additional parameters requesting specific processing by the client or authenticator. These are optional and can be used to enable advanced features. + properties: + appid: + type: string + description: | + Used for backwards compatibility with FIDO U2F authenticators. Indicates the AppID for which the credential should be scoped. + example: https://example.com + exampleExtension: + type: string + description: | + Placeholder for other extension values (can be vendor-specific). + example: some-value + PasskeyCredentialAssertionResponse: + type: object + description: | + CredentialAssertionResponse represents the response from a client when asserting credentials. + It is the result of the navigator.credentials.get() call on the client side and is + sent to the server for verification during the authentication process. + required: + - id + - rawId + - response + - type + properties: + id: + type: string + description: | + Base64URL-encoded string representing the ID of the credential used for the authentication assertion. + This is typically the same as rawId, but encoded as a string. + example: LFdoCFJTyB82ZzSJUHc-c72yraRc_1mPvGX8ToE8su39xX26Jcqd31LUP5iRLBop + type: + type: string + description: | + String describing the credential type. For WebAuthn, this is always "public-key". + enum: + - public-key + example: public-key + rawId: + type: string + format: byte + description: | + Base64URL-encoded ArrayBuffer containing the credential ID. This ID is used by the + Relying Party to identify the credential used for the authentication assertion. + example: c29tZS1leGFtcGxlLXJhd0lk + authenticatorAttachment: + type: string + description: | + Indicates the authenticator attachment modality used during assertion. This helps identify + the type of authenticator used, either a platform authenticator integrated into the device + or a roaming authenticator that can be connected to different devices. + enum: + - platform + - cross-platform + example: platform + response: + type: object + description: | + The authenticator's response to the client's request to generate an assertion. + Contains information about the authentication like the signature and client data. + required: + - clientDataJSON + - authenticatorData + - signature + properties: + clientDataJSON: + type: string + format: byte + description: | + Base64URL-encoded JSON serialized client data. Contains information about the + authentication like the challenge, origin, and type of credential. + example: c29tZS1leGFtcGxlLXJhd0lk + authenticatorData: + type: string + format: byte + description: | + Base64URL-encoded authenticator data. Contains information about the authentication + such as the RP ID hash, User presence/verification flags, counter, and extensions. + example: c29tZS1leGFtcGxlLXJhd0lk + signature: + type: string + format: byte + description: | + Base64URL-encoded signature. This is the actual assertion signature produced by + the authenticator using its private key. + example: c29tZS1leGFtcGxlLXJhd0lk + userHandle: + type: string + format: byte + description: | + Optional. Base64URL-encoded User handle (user.id). Allows the Relying Party to + link the assertion to a specific User account. It might be empty if the authenticator + doesn't store it. + example: c29tZS1leGFtcGxlLXJhd0lk + PasskeyLoginFinishCore: + type: object + description: Response payload after a User attempts to authenticate using a Passkey + properties: + SecurityAnswer: + type: object + additionalProperties: + type: string + description: The security answers + nullable: true + email: + type: string + description: Email address of the User attempting authentication + example: mymy@yopmail.com + PasskeyCredential: + $ref: '#/components/schemas/PasskeyCredentialAssertionResponse' + PasskeyLoginFinish: + allOf: + - $ref: '#/components/schemas/PasskeyLoginFinishCore' + - $ref: '#/components/schemas/CaptchaModel' + PasskeyLoginAutofillRequestCore: + type: object + properties: + SecurityAnswer: + type: object + additionalProperties: + type: string + description: The security answers + nullable: true + PasskeyCredential: + $ref: '#/components/schemas/PasskeyCredentialAssertionResponse' + PasskeyLoginAutofillRequest: + type: object + description: Response payload after a User attempts to authenticate using a Passkey + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/PasskeyLoginAutofillRequestCore' + DuoVerifyRequest: + type: object + properties: + State: + type: string + description: The state which is received from Duo authenticator. + example: k93jf0291fj29f3j29fj2309f + Code: + type: string + description: The code which is received from Duo authenticator. + example: DI.1S2dYGJUL5YF4WxLE_M...OXYAHTkw + required: + - State + - Code + TwoFAAuthByBackupCode: + type: object + properties: + backupcode: + type: string + description: The backup code to verify MFA + required: + - backupcode + example: + backupcode: AD45XH56 + ReAuthModelByEmailOtp: + type: object + required: + - emailid + - otp + properties: + emailid: + type: string + description: User's Email address. + otp: + type: string + description: One-Time Password sent to the User's Email. + SendEmailVerificationResponse: + type: object + properties: + IsPosted: + type: boolean + description: Indicates if the Email was successfully posted. + example: true + UUID: + type: string + description: Unique identifier for the request. + example: 6******7-4**5-a**b-c******1 + VerifyDeleteAccountOtp: + type: object + properties: + SecurityAnswer: + type: object + additionalProperties: + type: string + description: Security answers for Account verification + nullable: true + otp: + type: string + description: One-Time Password for Account deletion + minLength: 1 + g-recaptcha-response: + type: string + description: Google reCAPTCHA response + nullable: true + qq_captcha_ticket: + type: string + description: QQ captcha ticket + nullable: true + qq_captcha_randstr: + type: string + description: QQ captcha random string + nullable: true + h-captcha-response: + type: string + description: hCaptcha response + nullable: true + required: + - otp + PrivacyPolicyHistoryResponse: + type: object + properties: + Uid: + type: string + nullable: true + description: The unique identifier (UID) of the User. + example: 123e4567-e89b-12d3-a456-426614174000 + Current: + type: object + nullable: true + description: The current accepted Privacy Policy. + properties: + Version: + type: string + nullable: true + description: The version of the Privacy Policy. + example: '1.0' + AcceptSource: + type: string + nullable: true + description: The source from which the Privacy Policy was accepted. + example: Web + AcceptDateTime: + type: string + format: date-time + nullable: true + description: The date and time when the Privacy Policy was accepted. + example: '2024-03-20T15:30:00Z' + History: + type: array + nullable: true + description: The history of accepted privacy policies. + items: + type: object + properties: + Version: + type: string + nullable: true + description: The version of the Privacy Policy. + example: '1.0' + AcceptSource: + type: string + nullable: true + description: The source from which the Privacy Policy was accepted. + example: Mobile App + AcceptDateTime: + type: string + format: date-time + nullable: true + description: The date and time when the Privacy Policy was accepted. + example: '2023-05-15T10:00:00Z' + SetUserNameRequest: + type: object + required: + - username + properties: + username: + type: string + description: The Username to change of the User + title: Set Or Change UserName Request + description: Structure of the request body for set or change username + Identity: + type: object + properties: + IsPasswordBreached: + type: boolean + description: Indicates if the Password has been breached. + example: false + IsActive: + type: boolean + description: Indicates if the User Account is active. + example: true + IsDeleted: + type: boolean + description: Indicates if the User Account is deleted. + example: false + EmailVerified: + type: boolean + description: Indicates if the User's Email is verified. + example: true + IsLoginLocked: + type: boolean + description: Indicates if the User's login is locked. + example: false + IsRequiredFieldsFilledOnce: + type: boolean + description: Indicates if required fields have been filled at least once. + example: true + FirstLogin: + type: boolean + description: Indicates if this is the User's first login. + example: true + nullable: true + IsProtected: + type: boolean + description: Indicates if the User Account is protected. + example: false + Hireable: + type: boolean + description: Indicates if the User is hireable. + example: true + IsSecurePassword: + type: boolean + description: Indicates if the Password is secure. + nullable: true + example: true + IsCustomUid: + type: boolean + description: Indicates if the UID is custom. + example: false + PhoneIdVerified: + type: boolean + description: Indicates if the Phone ID is verified. + example: true + IsEmailSubscribed: + type: boolean + description: Indicates if the User is subscribed to emails. + example: true + NoOfLogins: + type: integer + description: Number of logins by the User. + example: 10 + FollowersCount: + type: integer + description: Number of followers the User has. + example: 1250 + FriendsCount: + type: integer + description: Number of friends the User has. + example: 458 + TotalStatusesCount: + type: integer + description: Total number of statuses posted by the User. + example: 2341 + NumRecommenders: + type: integer + description: Number of recommenders for the User. + example: 15 + TotalPrivateRepository: + type: integer + description: Total number of private repositories. + example: 8 + PublicGists: + type: integer + description: Total number of public gists. + example: 23 + PrivateGists: + type: integer + description: Total number of private gists. + example: 5 + PinsCount: + type: integer + description: Total number of PINs. + example: 67 + BoardsCount: + type: integer + description: Total number of boards. + example: 12 + LikesCount: + type: integer + description: Total number of likes. + example: 892 + ID: + type: string + description: Unique identifier for the User Profile. + example: usr_12345abc + Provider: + type: string + description: Provider of the User Profile. + example: facebook + FullName: + type: string + description: Full name of the User. + nullable: true + example: John Robert Smith + FirstName: + type: string + nullable: true + description: First name of the User. + example: John + LastName: + type: string + nullable: true + description: Last name of the User. + example: Smith + PhoneId: + type: string + description: Phone ID of the User. + example: +1-555-123-4567 + nullable: true + UserName: + type: string + nullable: true + description: The Username of the User. + example: john_doe + Prefix: + type: string + nullable: true + description: The prefix for the User's name. + example: Mr. + MiddleName: + type: string + description: The middle name of the User. + example: Robert + nullable: true + Suffix: + type: string + nullable: true + description: The suffix for the User's name. + example: Jr. + NickName: + type: string + nullable: true + description: The nickname of the User. + example: Johnny + ProfileName: + type: string + nullable: true + description: The profile name of the User. + example: johnsmith + BirthDate: + type: string + nullable: true + description: The birth date of the User. + example: '1990-05-15' + Gender: + type: string + nullable: true + description: The gender of the User. + example: male + Website: + type: string + nullable: true + description: The website of the User. + example: https://www.johnsmith.com + ThumbnailImageUrl: + type: string + nullable: true + description: The URL of the User's thumbnail image. + example: https://example.com/thumbnails/john.jpg + ImageUrl: + type: string + nullable: true + description: The URL of the User's profile image. + example: https://example.com/images/john.jpg + Favicon: + type: string + nullable: true + description: The URL of the User's favicon. + example: https://example.com/favicon.ico + ProfileUrl: + type: string + nullable: true + description: The URL of the User's profile. + example: https://example.com/profile/johnsmith + HomeTown: + type: string + nullable: true + description: The hometown of the User. + example: Boston + State: + type: string + nullable: true + description: The state of the User. + example: Massachusetts + City: + type: string + nullable: true + description: The city of the User. + example: Cambridge + Industry: + type: string + nullable: true + description: The industry of the User. + example: Technology + About: + type: string + nullable: true + description: A brief description about the User. + example: Passionate software developer with 10+ years of experience + TimeZone: + type: string + nullable: true + description: The time zone of the User. + example: America/New_York + LocalLanguage: + type: string + nullable: true + description: The local language of the User. + example: en-US + CoverPhoto: + type: string + nullable: true + description: The URL of the User's cover photo. + example: https://example.com/cover/john.jpg + TagLine: + type: string + nullable: true + description: The tagline of the User. + example: Building the future through code + Language: + type: string + nullable: true + description: The language of the User. + example: English + Verified: + type: string + description: Indicates if the User is verified. + example: 'true' + nullable: true + UpdatedTime: + type: string + nullable: true + description: The last updated time of the User's profile. + example: '2024-03-20T15:30:00Z' + IsGeoEnabled: + type: string + nullable: true + description: Indicates if geolocation is enabled for the User. + example: 'true' + Associations: + type: string + nullable: true + description: The associations of the User. + example: IEEE, ACM + Honors: + type: string + nullable: true + description: The honors received by the User. + example: Best Developer Award 2023 + HttpsImageUrl: + type: string + nullable: true + description: The HTTPS URL of the User's profile image. + example: https://example.com/secure/images/john.jpg + MainAddress: + nullable: true + type: string + description: The main address of the User. + example: 123 Tech Street, Cambridge, MA 02142 + Created: + nullable: true + type: string + description: The creation date of the User's account. + example: '2020-01-15T10:00:00Z' + LocalCity: + nullable: true + type: string + description: The local city of the User. + example: Cambridge + ProfileCity: + nullable: true + type: string + description: The profile city of the User. + example: Cambridge + LocalCountry: + type: string + nullable: true + description: The local country of the User. + example: United States + ProfileCountry: + type: string + nullable: true + description: The profile country of the User. + example: United States + RelationshipStatus: + type: string + nullable: true + description: The relationship status of the User. + example: Married + Quota: + type: string + nullable: true + description: The quota assigned to the User. + example: '1000' + Quote: + type: string + nullable: true + description: A quote associated with the User. + example: Stay hungry, stay foolish + Religion: + type: string + nullable: true + description: The religion of the User. + example: Private + Political: + type: string + nullable: true + description: The political views of the User. + example: Private + PublicRepository: + type: string + nullable: true + description: The number of public repositories owned by the User. + example: '25' + RepositoryUrl: + type: string + nullable: true + description: The URL of the User's repository. + example: https://github.com/johnsmith + Age: + type: string + description: The age of the User. + example: '33' + nullable: true + ProfessionalHeadline: + type: string + nullable: true + description: The professional headline of the User. + example: Senior Software Engineer at Tech Corp + LRUserID: + type: string + nullable: true + description: The LoginRadius User ID. + example: LR123456 + Currency: + type: string + nullable: true + description: The preferred currency of the User. + example: USD + StarredUrl: + type: string + nullable: true + description: The URL of the User's starred items. + example: https://github.com/johnsmith?tab=stars + GistsUrl: + type: string + nullable: true + description: The URL of the User's gists. + example: https://gist.github.com/johnsmith + Company: + type: string + nullable: true + description: The company the User is associated with. + example: Tech Corp + GravatarImageUrl: + type: string + nullable: true + description: The URL of the User's Gravatar image. + example: https://gravatar.com/avatar/123456 + LastPasswordChangeDate: + nullable: true + type: string + format: date-time + description: The date of the last Password change. + example: '2024-03-15T10:00:00Z' + PasswordExpirationDate: + type: string + format: date-time + nullable: true + description: The expiration date of the Password. + example: '2024-06-15T10:00:00Z' + CreatedDate: + type: string + format: date-time + description: The date the Account was created. + example: '2020-01-15T10:00:00Z' + ModifiedDate: + type: string + format: date-time + description: The date the Account was last modified. + example: '2024-03-20T15:30:00Z' + ProfileModifiedDate: + type: string + format: date-time + nullable: true + description: The date the Profile was last modified. + example: '2024-03-19T12:00:00Z' + LastLoginDate: + nullable: true + type: string + format: date-time + description: The date of the last login. + example: '2024-03-20T16:45:00Z' + SignupDate: + type: string + format: date-time + description: The date the User signed up. + example: '2020-01-15T10:00:00Z' + PrivacyPolicy: + type: object + nullable: true + properties: + Version: + type: string + description: The version of the Privacy Policy. + example: '1.0' + AcceptSource: + type: string + description: The source of the Privacy Policy acceptance. + example: Web + AcceptDateTime: + type: string + format: date-time + description: The date and time of Privacy Policy acceptance. + example: '2024-03-20T15:30:00Z' + Country: + type: object + nullable: true + properties: + Code: + type: string + description: The country code. + example: US + Name: + type: string + description: The country name. + example: United States + AgeRange: + type: object + nullable: true + properties: + Min: + type: integer + description: The minimum age in the range. + example: 18 + Max: + type: integer + description: The maximum age in the range. + example: 35 + KloutScore: + type: object + nullable: true + properties: + KloutId: + type: string + description: The Klout ID. + example: klout_12345 + Score: + type: number + format: float + description: The Klout score. + example: 75.5 + Suggestions: + type: object + nullable: true + properties: + CompaniesToFollow: + type: array + description: List of companies suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The unique identifier. + example: company_12345 + Name: + type: string + nullable: true + description: The name of the company. + example: Tech Corp + IndustriesToFollow: + type: array + description: List of industries suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The unique identifier. + example: industry_12345 + Name: + type: string + nullable: true + description: The name of the industry. + example: Software Development + NewssourceToFollow: + type: array + description: List of news sources suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The unique identifier. + example: news_12345 + Name: + type: string + nullable: true + description: The name of the news source. + example: Tech News Daily + PeopleToFollow: + type: array + description: List of people suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The unique identifier. + example: person_12345 + Name: + type: string + nullable: true + description: The name of the person. + example: John Doe + Subscription: + type: object + nullable: true + properties: + Name: + type: string + description: The name of the subscription. + example: Pro Plan + Space: + type: string + description: The allocated space for the subscription. + example: 100GB + PrivateRepos: + type: string + description: The number of private repositories allowed. + example: '50' + Collaborators: + type: string + description: The number of collaborators allowed. + example: '10' + PIN: + type: object + nullable: true + properties: + Skipped: + type: boolean + description: Indicates if the PIN setup was skipped. + example: false + PIN: + type: string + description: The PIN value. + example: '1234' + LastPINChangeToken: + type: string + description: The token for the last PIN change. + example: token_12345 + nullable: true + LastPINChangeDate: + nullable: true + type: string + format: date-time + description: The date of the last PIN change. + example: '2024-03-15T10:00:00Z' + SkippedDate: + nullable: true + type: string + format: date-time + description: The date the PIN setup was skipped. + example: '2024-03-10T10:00:00Z' + ConsentProfile: + type: object + nullable: true + description: Consent profile details. + properties: + AcceptedConsentVersions: + type: array + nullable: true + items: + type: object + properties: + IsCustom: + type: boolean + description: Indicates if the Consent version is custom. + example: false + Version: + type: integer + description: The version of the Consent. + example: 1 + Event: + type: string + description: The event associated with the Consent. + example: Signup + Consents: + type: array + nullable: true + items: + type: object + properties: + ConsentOptionId: + type: string + description: The ID of the Consent option. + example: 123e4567e89b12d3a456426614174000 + AcceptOnDate: + nullable: true + type: string + format: date-time + description: The date the Consent was accepted. + example: '2024-03-20T15:30:00Z' + RegistrationData: + type: object + nullable: true + description: Registration data details. + properties: + Data: + type: array + nullable: true + items: + type: object + properties: + DataSource: + type: string + description: The source of the registration data. + example: Web + Value: + type: object + properties: + Id: + type: string + description: The ID of the registration data value. + example: data_12345 + ProviderAccessCredential: + type: object + nullable: true + description: Provider access credential details. + properties: + AccessToken: + type: string + description: Access Token for the provider. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + TokenSecret: + type: string + description: Token secret for the provider. + example: abc123def456... + CustomFields: + type: object + nullable: true + additionalProperties: + type: string + description: Custom fields associated with the User. + example: + hobby: Photography + favorite_color: Blue + ProfileImageUrls: + type: object + nullable: true + additionalProperties: + type: string + description: URLs of the User's profile images. + example: + small: https://example.com/small.jpg + large: https://example.com/large.jpg + WebProfiles: + type: object + nullable: true + additionalProperties: + type: string + description: The User's web profiles. + example: + linkedin: https://linkedin.com/in/johndoe + github: https://github.com/johndoe + Roles: + type: array + nullable: true + items: + type: string + description: Roles assigned to the User. + example: + - Admin + - User + Uid: + type: string + example: 577fabca-a33e-4a08-96e6-0ade8d846613 + description: the unique id which belongs to the Account + PreviousUids: + type: array + nullable: true + items: + type: string + description: Previous UIDs associated with the Account. + example: + - old_UID_123 + - old_UID_456 + InterestedIn: + type: array + nullable: true + items: + type: string + description: Interests of the User. + example: + - Technology + - Music + ExternalIds: + type: array + nullable: true + items: + type: object + properties: + Operation: + type: string + description: The operation performed on the external ID. + example: add + Source: + type: string + description: The source of the external ID. + example: LinkedIn + SourceId: + type: string + description: The source ID of the external ID. + example: source_12345 + UnverifiedEmail: + type: array + nullable: true + items: + type: object + properties: + Type: + type: string + description: The type of the Email. + example: Primary + Value: + type: string + description: The Email address. + example: john.doe@example.com + Positions: + type: array + nullable: true + description: List of positions held by the User. + items: + type: object + properties: + Position: + type: string + description: The position held by the User. + example: Senior Software Engineer + Summary: + type: string + description: A summary of the position. + example: Leading backend development team. + StartDate: + type: string + format: date-time + description: The start date of the position. + example: '2022-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the position. + example: '2024-03-20T00:00:00Z' + IsCurrent: + type: string + description: Indicates if the position is current. + example: 'true' + Location: + type: string + description: The location of the position. + example: New York + Company: + type: object + properties: + Name: + type: string + description: The name of the company. + example: Tech Corp + Type: + type: string + description: The type of the company. + example: Public Company + Industry: + type: string + description: The industry of the company. + example: Software Development + Educations: + type: array + nullable: true + description: List of educational qualifications of the User. + items: + type: object + properties: + School: + type: string + description: The name of the school. + example: MIT + Year: + type: string + description: The year of graduation. + example: '2012' + Type: + type: string + description: The type of degree. + example: Bachelor's + Notes: + type: string + description: Additional notes about the education. + example: Computer Science Major + Activities: + type: string + description: Activities participated in during education. + example: Robotics Club, Coding Competition + Degree: + type: string + description: The degree obtained. + example: BS Computer Science + FieldOfStudy: + type: string + description: The field of study. + example: Computer Science + StartDate: + type: string + format: date-time + description: The start date of the education. + example: '2008-09-01T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the education. + example: '2012-05-30T00:00:00Z' + PhoneNumbers: + type: array + nullable: true + description: List of Phone numbers associated with the User. + items: + type: object + properties: + PhoneType: + type: string + description: The type of Phone (e.g., Mobile, Home). + example: Mobile + PhoneNumber: + type: string + description: The Phone number. + example: +1-555-123-4567 + Operation: + type: string + description: The operation performed on the Phone number. + example: add + IMAccounts: + type: array + nullable: true + description: List of instant messaging accounts associated with the User. + items: + type: object + properties: + AccountType: + type: string + description: The type of instant messaging account. + example: Skype + AccountName: + type: string + description: The name of the instant messaging account. + example: johnsmith_skype + Addresses: + type: array + nullable: true + description: List of addresses associated with the User. + items: + type: object + properties: + Type: + type: string + description: The type of address (e.g., Home, Work). + example: Home + Address1: + type: string + description: The first line of the address. + example: 123 Tech Street + Address2: + type: string + description: The second line of the address. + example: Apt 4B + City: + type: string + description: The city of the address. + example: Cambridge + State: + type: string + description: The state of the address. + example: MA + PostalCode: + type: string + description: The postal code of the address. + example: '02142' + Region: + type: string + description: The region of the address. + example: New England + Country: + type: string + description: The country of the address. + example: USA + Operation: + type: string + description: The operation performed on the address. + example: add + Interests: + type: array + nullable: true + description: List of interests of the User. + items: + type: object + properties: + InterestedType: + type: string + description: The type of interest (e.g., Professional, Personal). + example: Professional + InterestedName: + type: string + description: The name of the interest. + example: Software Architecture + Sports: + type: array + nullable: true + description: List of sports the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the sport. + example: sport_123 + Name: + type: string + description: The name of the sport. + example: Basketball + InspirationalPeople: + type: array + nullable: true + description: List of inspirational people for the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the person. + example: person_123 + Name: + type: string + description: The name of the person. + example: Linus Torvalds + Awards: + type: array + nullable: true + description: List of awards received by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the award. + example: award_123 + Name: + type: string + description: The name of the award. + example: Best Developer Award + Issuer: + type: string + description: The issuer of the award. + example: Tech Conference 2023 + Skills: + type: array + nullable: true + description: List of skills possessed by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the skill. + example: skill_123 + Name: + type: string + description: The name of the skill. + example: Python Programming + CurrentStatus: + type: array + nullable: true + description: List of current statuses of the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the status. + example: status_123 + Text: + type: string + description: The text of the status. + example: Working on exciting new project + Source: + type: string + description: The source of the status. + example: LinkedIn + CreatedDate: + type: string + format: date-time + description: The date the status was created. + example: '2024-03-20T15:30:00Z' + Certifications: + type: array + nullable: true + description: List of certifications obtained by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the certification. + example: cert_123 + Name: + type: string + description: The name of the certification. + example: AWS Certified Solutions Architect + Authority: + type: string + description: The authority issuing the certification. + example: Amazon Web Services + Number: + type: string + description: The certification number. + example: CERT123456 + StartDate: + type: string + format: date-time + description: The start date of the certification. + example: '2023-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the certification. + example: '2026-01-15T00:00:00Z' + Courses: + type: array + nullable: true + description: List of courses completed by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the course. + example: course_123 + Name: + type: string + description: The name of the course. + example: Advanced Machine Learning + Number: + type: string + description: The course number. + example: CS701 + Volunteer: + type: array + nullable: true + description: List of volunteer activities by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the volunteer activity. + example: vol_123 + Role: + type: string + description: The Role in the volunteer activity. + example: Technical Mentor + Organization: + type: string + description: The organization for the volunteer activity. + example: Code for America + Cause: + type: string + description: The cause of the volunteer activity. + example: Education + RecommendationsReceived: + type: array + nullable: true + description: List of recommendations received by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the recommendation. + example: rec_123 + RecommendationType: + type: string + description: The type of recommendation. + example: Professional + RecommendationText: + type: string + description: The text of the recommendation. + example: Excellent team player and technical leader + Recommender: + type: string + description: The name of the recommender. + example: Jane Doe + Languages: + type: array + nullable: true + description: List of languages known by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the language. + example: lang_123 + Name: + type: string + description: The name of the language. + example: English + Proficiency: + type: string + description: The proficiency level in the language. + example: Native + Projects: + type: array + nullable: true + description: List of projects undertaken by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the project. + example: proj_123 + Name: + type: string + description: The name of the project. + example: AI-Powered Analytics Platform + Summary: + type: string + description: A summary of the project. + example: Led development of machine learning analytics solution + StartDate: + type: string + format: date-time + description: The start date of the project. + example: '2023-01-01T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the project. + example: '2024-01-01T00:00:00Z' + IsCurrent: + type: string + description: Indicates if the project is current. + example: 'true' + Games: + type: array + nullable: true + description: List of games the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the game. + example: game_123 + Category: + type: string + description: The category of the game. + example: Strategy + Name: + type: string + description: The name of the game. + example: Chess + CreatedDate: + type: string + format: date-time + description: The date the game was added. + example: '2024-01-15T10:30:00Z' + Family: + type: array + nullable: true + description: List of family members of the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the family member. + example: fam_123 + Relationship: + type: string + description: The relationship with the family member. + example: Spouse + Name: + type: string + description: The name of the family member. + example: Jane Smith + TelevisionShow: + type: array + nullable: true + description: List of television shows the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the television show. + example: show_123 + Category: + type: string + description: The category of the television show. + example: Science Fiction + Name: + type: string + description: The name of the television show. + example: Black Mirror + CreatedDate: + type: string + format: date-time + description: The date the television show was added. + example: '2024-01-15T10:30:00Z' + MutualFriends: + type: array + nullable: true + description: List of mutual friends of the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the mutual friend. + example: friend_123 + Name: + type: string + description: The name of the mutual friend. + example: Alice Johnson + FirstName: + type: string + description: The first name of the mutual friend. + example: Alice + LastName: + type: string + description: The last name of the mutual friend. + example: Johnson + Birthday: + type: string + format: date-time + description: The birthday of the mutual friend. + example: '1992-05-15T00:00:00Z' + Hometown: + type: string + description: The hometown of the mutual friend. + example: Chicago + Link: + type: string + description: The profile link of the mutual friend. + example: https://example.com/profile/alice + Gender: + type: string + description: The gender of the mutual friend. + example: female + Movies: + type: array + nullable: true + description: List of movies the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the movie. + example: movie_123 + Category: + type: string + description: The category of the movie. + example: Science Fiction + Name: + type: string + description: The name of the movie. + example: The Matrix + Books: + type: array + nullable: true + description: List of books the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the book. + example: book_123 + Category: + type: string + description: The category of the book. + example: Technology + Name: + type: string + description: The name of the book. + example: Clean Code + CreatedDate: + type: string + format: date-time + description: The date the book was added. + example: '2023-10-01T00:00:00Z' + Patents: + type: array + nullable: true + description: List of patents owned by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the patent. + example: pat_123 + Title: + type: string + description: The title of the patent. + example: Novel Machine Learning Algorithm + Date: + type: string + format: date-time + description: The date the patent was filed. + example: '2023-10-01T00:00:00Z' + FavoriteThings: + type: array + nullable: true + description: List of favorite things of the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the favorite thing. + example: fav_123 + Name: + type: string + description: The name of the favorite thing. + example: Programming + Type: + type: string + description: The type of the favorite thing. + example: Hobby + RelatedProfileViews: + type: array + nullable: true + description: List of related profile views of the User. + items: + type: object + properties: + FirstName: + type: string + description: The first name of the related profile. + example: Sarah + LastName: + type: string + description: The last name of the related profile. + example: Connor + Id: + type: string + description: The ID of the related profile. + example: view_123 + PlacesLived: + type: array + nullable: true + description: List of places the User has lived. + items: + type: object + properties: + Name: + type: string + description: The name of the place. + example: San Francisco + Operation: + type: string + description: The operation performed on the place. + example: add + IsPrimary: + type: boolean + description: Indicates if the place is the primary residence. + example: true + Publications: + type: array + nullable: true + description: List of publications by the User. + items: + type: object + properties: + Title: + type: string + description: The title of the publication. + example: Modern Software Architecture + Publisher: + type: string + description: The publisher of the publication. + example: Tech Publishing House + Date: + type: string + format: date-time + description: The date the publication was released. + example: '2023-08-15T00:00:00Z' + Id: + type: string + description: The ID of the publication. + example: pub_123 + Url: + type: string + description: The URL of the publication. + example: https://example.com/publications/123 + Summary: + type: string + description: A summary of the publication. + example: A comprehensive guide to modern software architecture + Authors: + type: array + nullable: true + items: + type: object + properties: + Id: + type: string + description: The ID of the author. + example: author_123 + Name: + type: string + description: The name of the author. + example: John Smith + JobBookmarks: + type: array + nullable: true + description: List of job bookmarks by the User. + items: + type: object + properties: + IsApplied: + type: boolean + description: Indicates if the job has been applied for. + example: true + IsSaved: + type: boolean + description: Indicates if the job has been saved. + example: true + ApplyTimestamp: + type: string + format: date-time + description: The timestamp of the job application. + example: '2024-02-15T14:30:00Z' + SavedTimestamp: + type: string + format: date-time + description: The timestamp of the job being saved. + example: '2024-02-14T10:00:00Z' + Job: + type: object + properties: + Active: + type: boolean + description: Indicates if the job is active. + example: true + Id: + type: string + description: The ID of the job. + example: job_123 + DescriptionSnippet: + type: string + description: A snippet of the job description. + example: Senior Role in cloud architecture + PostingTimestamp: + type: string + format: date-time + description: The timestamp of the job posting. + example: '2024-02-01T09:00:00Z' + Badges: + type: array + nullable: true + description: List of badges earned by the User. + items: + type: object + properties: + BadgeId: + type: string + description: The ID of the badge. + example: badge_123 + Name: + type: string + description: The name of the badge. + example: Top Contributor + BadgeMessage: + type: string + description: The message associated with the badge. + example: Awarded for exceptional contributions + Description: + type: string + description: A description of the badge. + example: Recognition for community support + ImageUrl: + type: string + description: The URL of the badge image. + example: https://example.com/badges/top-contributor.png + MemberUrlResources: + type: array + nullable: true + description: List of member URL resources. + items: + type: object + properties: + Url: + type: string + description: The URL of the resource. + example: https://johnsmith.dev + UrlName: + type: string + description: The name of the URL resource. + example: Portfolio + Organizations: + type: array + nullable: true + description: List of organizations associated with the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the organization. + example: org_123 + Name: + type: string + description: The name of the organization. + example: Acme Corp + LogoURL: + type: string + description: The logo URL of the organization. + example: https://cdn.example.com/orgs/acme/logo.png + ObjectId: + type: string + description: The object ID of the User. + example: 507f1f77bcf86cd799439011 + Email: + type: array + nullable: true + description: List of Email addresses associated with the User. + items: + type: object + properties: + Type: + type: string + description: The type of the Email (e.g., Primary, Secondary). + example: Primary + Value: + type: string + description: The Email address. + example: john.doe@example.com + PasskeyLogin: + type: object + nullable: true + description: Passkey login details for the User. + properties: + ProgressiveEnrollmentDate: + nullable: true + type: string + format: date-time + description: The date of progressive enrollment. + example: '2024-03-15T10:00:00Z' + IdentityResponseWithSocialWithoutLoginsCore: + type: object + properties: + Identities: + type: array + nullable: true + description: List of identities with social information but without login details. + items: + $ref: '#/components/schemas/SocialIdentity' + IdentityResponseWithSocialWithoutLogins: + type: object + allOf: + - $ref: '#/components/schemas/Identity' + - $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLoginsCore' + UpdateByTokenResponse: + properties: + IsPosted: + type: boolean + Data: + $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLogins' + IsDeleteRequestAccepted: + description: Indicates if the item delete request is accepted + type: object + properties: + IsDeleteRequestAccepted: + type: boolean + AuthenticatorCodeRequest: + type: object + description: >- + Body for the TOTP verification endpoints. LoginRadius has two + authenticator generations and they do NOT share a field name: a tenant + on Google Authenticator must send `googleauthenticatorcode`, while the + newer generic authenticator uses `authenticatorcode`. Sending the wrong + one returns ErrorCode 908 ("The googleauthenticatorcode is a required + parameter." / "The authenticatorcode is a required parameter."), so both + are declared here and callers populate whichever their tenant expects. + DO NOT drop `googleauthenticatorcode` when refreshing this file from an + external copy — tools/verify-spec-invariants.mjs will fail the build. + properties: + googleauthenticatorcode: + type: string + description: >- + The Google Authenticator (TOTP) code. Required by tenants configured + for Google Authenticator. + authenticatorcode: + type: string + description: >- + The Authenticator code for multi-factor authentication. Used by + tenants on the newer generic authenticator configuration. + PasskeyCredentialObject: + type: object + description: A single credential object + properties: + Id: + type: string + description: Unique identifier for the Passkey credential, typically a hashed or encoded key ID. + example: 43e4417bd2de4a1fa82445274f864203 + Authenticator: + type: string + description: (Optional) Name of the authenticator used to register the Passkey, such as iCloud Keychain or Windows Hello. May be null or omitted if not available. + example: iCloud Keychain + Identifier: + type: string + description: User-provided identifier associated with the Passkey, usually an unique id. + example: efdc233182cd4f578432d2134ea75081 + CreatedAt: + type: string + format: date-time + description: Timestamp indicating when the Passkey credential was created. + example: '2024-06-03T08:40:58.088Z' + PasskeyListResponse: + type: object + description: Response containing a list of registered Passkey credentials + properties: + Credentials: + type: array + description: List of Passkey credentials associated with the User + items: + $ref: '#/components/schemas/PasskeyCredentialObject' + MFABackUpCodeResponse: + type: object + properties: + BackUpCodes: + type: array + items: + type: string + description: List of Backup Codes generated for MFA + required: + - BackUpCodes + example: + BackUpCodes: + - ABC123DEF + - XYZ789GHI + - JKL456MNO + - PQR987STU + - VWX654YZA + ReAuthResponse: + type: object + properties: + SecondFactorValidationToken: + type: string + description: The token used for second factor validation. + example: 68***-91**-****-b**b-e**********9 + ExpireIn: + type: string + format: date-time + description: Expiry timestamp for the token. + example: '2023-10-01T12:00:00Z' + required: + - SecondFactorValidationToken + - ExpireIn + PasskeyForgotCore: + type: object + properties: + email: + type: string + description: Email address of the User requesting a Passkey reset + example: xyz@example.com + PasskeyForgot: + type: object + description: Request to reset the Passkey associated with a User account due to loss or inability to access the current Passkey + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/PasskeyForgotCore' + AccessTokenResponse: + type: object + properties: + access_token: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: Bearer token for authenticating API requests. + refresh_token: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c + description: Long-lived token for obtaining new Access Tokens. + expires_in: + type: string + example: '3600' + description: Expiration time of the Access Token in seconds. + AccessTokenInfo: + type: object + properties: + provider: + type: string + description: The provider for which the Access Token is issued. + example: facebook + access_token: + type: string + description: The Access Token associated with the provider. + example: '********-****-****-****-************' + isrememberme: + type: boolean + description: Indicates whether the "Remember Me" option was selected during login. + example: true + UnlockAccountRequestCore: + type: object + required: + - SecurityAnswer + properties: + SecurityAnswer: + type: object + description: Security answer's of the User if the User is locked by security questions + CandidateTokenModel: + type: object + properties: + candidatetoken: + type: string + description: The candidate token + required: + - candidatetoken + UnlinkSocialIdentityRequest: + type: object + required: + - provider + - providerid + properties: + provider: + type: string + providerid: + type: string + access_token: + type: string + title: Unlink social identities request + description: Structure of the request body for unlinking the social identities from profile + ClientGuidBodyModel: + properties: + clientgUID: + type: string + description: The client's gUID to link social identity + access_token: + type: string + description: The Access Token of the User + title: Link social identity with gUID + description: Structure of the request body to link social identity + IsRegistered: + type: object + properties: + IsRegistered: + type: boolean + description: Indicates if the Push Notification device is registered + example: true + OneTouchLoginByEmail: + type: object + properties: + Email: + type: string + format: email + description: The Email address for the one-touch login. + example: user@example.com + Name: + type: string + description: The name of the User. + example: John Doe + ClientGuid: + type: string + description: The client GUID for the one-touch login process. + example: 123e4567-e89b-12d3-a456-426614174000 + GoogleRecaptchaResponse: + type: string + description: Google reCAPTCHA response. + example: 03AGdBq26... + QQCaptchaTicket: + type: string + description: QQ Captcha ticket. + example: ticket123 + QQCaptchaRandomString: + type: string + description: QQ Captcha random string. + example: random123 + HCaptchaResponse: + type: string + description: hCaptcha response. + example: hCaptcha123 + required: + - Email + - ClientGuid + OneTouchLoginByPhone: + type: object + properties: + Phone: + type: string + description: The Phone number for the one-touch login. + example: '+1234567890' + Name: + type: string + description: The name of the User. + example: John Doe + GoogleRecaptchaResponse: + type: string + description: Google reCAPTCHA response. + example: 03AGdBq26... + QQCaptchaTicket: + type: string + description: QQ Captcha ticket. + example: ticket123 + QQCaptchaRandomString: + type: string + description: QQ Captcha random string. + example: random123 + HCaptchaResponse: + type: string + description: hCaptcha response. + example: hCaptcha123 + required: + - Phone + VerifyOtpPhoneModel: + type: object + properties: + SecurityAnswer: + type: object + additionalProperties: + type: string + description: Optional security answers for additional verification. + example: + question1: answer1 + question2: answer2 + Phone: + type: string + description: The Phone number for OTP verification. + example: '+1234567890' + GoogleRecaptchaResponse: + type: string + description: Google reCAPTCHA response. + example: 03AGdBq26... + QQCaptchaTicket: + type: string + description: QQ Captcha ticket. + example: ticket123 + QQCaptchaRandomString: + type: string + description: QQ Captcha random string. + example: random123 + HCaptchaResponse: + type: string + description: hCaptcha response. + example: hCaptcha123 + required: + - Phone + IsPostedVerified: + type: object + properties: + IsPosted: + type: boolean + description: Indicates if the item is posted. + example: true + IsVerified: + type: boolean + description: Indicates if the item is verified. + example: true + PinReauthRequest: + type: object + required: + - pin + properties: + pin: + type: string + description: The PIN code to reauthenticate the User. + example: '123456' + PasswordReauthRequestCore: + type: object + properties: + SecurityAnswer: + type: object + additionalProperties: + type: string + description: The security answers which is set for the User, this will be used when the User is blocked for the security question. + nullable: true + Password: + type: string + description: The Password of the User + PasswordReauthRequest: + type: object + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/PasswordReauthRequestCore' + example: + password: MySecurePassword123! + SecurityAnswer: + 9d1f4208bda845d885eab43266d6543f: Smith + g-recaptcha-response: 03AGdBq24... + qq_captcha_ticket: ticket-example + qq_captcha_randstr: randstr-example + h-captcha-response: 10000000-aaaa-bbbb-cccc-000000000001 + ReAuthTwoFAModelCore: + type: object + properties: + googleauthenticatorcode: + type: string + otp: + type: string + backupcode: + type: string + authenticatorcode: + type: string + securityAnswer: + type: object + additionalProperties: + type: string + oneOf: + - required: + - googleauthenticatorcode + - required: + - otp + - required: + - backupcode + - required: + - authenticatorcode + ReAuthTwoFAModel: + type: object + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/ReAuthTwoFAModelCore' + example: + otp: '1234' + g-recaptcha-response: 03AGdBq24... + TwoFAAuthBySecQuesAuthModel: + type: object + required: + - securityquestionanswer + properties: + securityquestionanswer: + type: array + description: List of security question answers (required, not blank) + items: + type: object + required: + - QuestionId + - Answer + properties: + QuestionId: + type: string + description: ID of the security question (required, not blank) + example: 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + Answer: + type: string + description: Answer to the security question (required, not blank) + example: cat + PhoneOTPModelCore: + type: object + properties: + OTP: + type: string + description: The one-time Password (OTP). + example: '123456' + Phone: + type: string + description: The Phone number associated with the OTP. + example: '+1234567890' + SecurityAnswer: + type: object + additionalProperties: + type: string + description: Optional security answers for additional verification. + required: + - OTP + - Phone + PhoneOTPModel: + type: object + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/PhoneOTPModelCore' + PasswordLessUserNameOTPModelCore: + type: object + properties: + SecurityAnswer: + type: object + additionalProperties: + type: string + description: The security answers which is set for the User, this will be used when the User is blocked for the security question. + nullable: true + WelcomeEmailTemplate: + type: string + description: The template for the welcome Email. + example: WelcomeTemplate + Otp: + type: string + description: The one-time Password (OTP) for verification. + example: '123456' + UserName: + type: string + description: The Username associated with the Account. + example: john_doe + required: + - Otp + - UserName + PasswordLessUserNameOTPModel: + type: object + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/PasswordLessUserNameOTPModelCore' + PasswordLessEmailOTPModelCore: + type: object + properties: + SecurityAnswer: + type: object + additionalProperties: + type: string + description: The security answers which is set for the User, this will be used when the User is blocked for the security question. + nullable: true + WelcomeEmailTemplate: + type: string + description: The template for the welcome Email. + example: WelcomeTemplate + Otp: + type: string + description: The one-time Password (OTP) for verification. + example: '123456' + Email: + type: string + description: The Email associated with the Account. + example: hello@example.com + required: + - Otp + - Email + PasswordLessEmailOTPModel: + type: object + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/PasswordLessEmailOTPModelCore' + PINLoginModel: + type: object + required: + - pin + properties: + pin: + type: string + description: PIN used to log in the User. + g-recaptcha-response: + type: string + description: Google reCAPTCHA response. + nullable: true + qq_captcha_ticket: + type: string + description: QQ captcha ticket. + nullable: true + qq_captcha_randstr: + type: string + description: QQ captcha random string. + nullable: true + h-captcha-response: + type: string + description: hCaptcha response. + nullable: true + example: + pin: '7890' + CustomObjectResponseModel: + type: object + properties: + IsActive: + type: boolean + example: true + IsDeleted: + type: boolean + example: false + CustomObject: + type: object + additionalProperties: true + example: + key1: value1 + key2: 123 + Id: + type: string + example: abc123 + Uid: + type: string + example: user456 + DateCreated: + type: string + format: date-time + example: '2024-05-28T12:34:56Z' + DateModified: + type: string + format: date-time + example: '2024-05-29T09:10:11Z' + CustomObjectsResponseModel: + type: object + properties: + Count: + type: integer + example: 2 + data: + type: array + items: + $ref: '#/components/schemas/CustomObjectResponseModel' + CustomObjectRequest: + type: object + additionalProperties: true + example: + firstName: John + lastName: Doe + age: 30 + address: + street: 123 Main St + city: Metropolis + isActive: true + PhoneIdModel: + type: object + properties: + phone: + type: string + description: The Phone number of the User. + required: + - phone + example: + phone: '+1234567890' + description: This model is used in changing the Phone number. + PhoneIdModelOptional: + type: object + properties: + phone: + type: string + description: The Phone number of the User. + example: + phone: '+1234567890' + description: This model is used while resending the OTP to Phone number. + ChangePinCore: + type: object + required: + - oldpin + - newpin + properties: + oldpin: + type: string + example: '7547' + newpin: + type: string + example: '4321' + SecurityAnswer: + type: object + additionalProperties: + type: string + description: Optional map of security question IDs/keys to answers, used to unlock an account that is locked pending security-question verification. + example: + mother_maiden_name: Smith + ChangePin: + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/ChangePinCore' + PINModel: + type: object + required: + - pin + properties: + pin: + type: string + description: New PIN to be set by the User. + example: + pin: '7890' + ForgotPinByEmail: + type: object + properties: + email: + type: string + description: The Email of the User. + required: + - email + example: + email: test@example.com + description: This model is used in forgot PIN by Email API + ForgotPinByUsername: + type: object + properties: + username: + type: string + description: The Username of the User. + required: + - username + example: + username: jamesbond + description: This model is used in forgot PIN by Username API + ForgotPinByPhone: + type: object + properties: + phone: + type: string + description: The Phone number of the User. + required: + - phone + example: + phone: '+1234567890' + description: This model is used in forgot PIN by Phone API + ResetPINByOTP: + type: object + required: + - otp + - pin + properties: + otp: + type: string + description: One-Time Password received by the User for verification. + pin: + type: string + description: New PIN to be set by the User. + phone: + type: string + description: Phone number associated with the User's account. + username: + type: string + description: Username of the User. + email: + type: string + format: email + description: Email address associated with the User's account. + g-recaptcha-response: + type: string + description: Google reCAPTCHA response. + nullable: true + qq_captcha_ticket: + type: string + description: QQ captcha ticket. + nullable: true + qq_captcha_randstr: + type: string + description: QQ captcha random string. + nullable: true + h-captcha-response: + type: string + description: hCaptcha response. + nullable: true + oneOf: + - required: + - phone + - required: + - email + - required: + - username + example: + otp: '123456' + pin: '7890' + username: johndoe + ResetPINByToken: + type: object + required: + - resettoken + - pin + properties: + resettoken: + type: string + description: The reset token received via Email. + pin: + type: string + description: New PIN to be set by the User. + example: + pin: '7890' + resettoken: xxxxxxxxxxxxxxxxxxxx + MFAPhoneUpdateModel: + type: object + properties: + phoneno2fa: + type: string + description: The Phone number of the User. + required: + - phoneno2fa + example: + phoneno2fa: '+1234567890' + description: This model is used in changing the Phone number. + MFAVerifyPhoneOtpModelCore: + type: object + required: + - otp + properties: + SecurityAnswer: + type: object + additionalProperties: + type: string + description: Optional security answers for additional verification. + example: + 9d1f4208bda845d885eab43266d6543f: Fluffy + 9d1f4208bda845d885eab43266d65500: Smith + otp: + type: string + description: The one-time Password (OTP). + example: '123456' + MFAVerifyPhoneOtpModel: + type: object + allOf: + - $ref: '#/components/schemas/CaptchaModel' + - $ref: '#/components/schemas/MFAVerifyPhoneOtpModelCore' + ConsentData: + type: object + properties: + consentoptionid: + type: string + example: marketing_emails + isaccepted: + type: boolean + example: true + required: + - consentoptionid + - isaccepted + ConsentUpdate: + type: object + properties: + consents: + type: array + items: + $ref: '#/components/schemas/ConsentData' + example: + - consentoptionid: marketing_emails + isaccepted: true + required: + - consents + ConsentVersion: + type: object + properties: + IsCustom: + type: boolean + example: true + Version: + type: integer + example: 1 + Event: + type: string + example: newsletter_signup + ConsentOption: + type: object + properties: + ConsentOptionId: + type: string + example: 123e4567e89b12d3a456426614174000 + AcceptOnDate: + type: string + format: date-time + example: '2023-10-01T12:00:00Z' + ConsentProfile: + type: object + properties: + AcceptedConsentVersions: + type: array + items: + $ref: '#/components/schemas/ConsentVersion' + example: + - IsCustom: true + Version: 1 + Event: newsletter_signup + Consents: + type: array + items: + $ref: '#/components/schemas/ConsentOption' + example: + - ConsentOptionId: 123e4567e89b12d3a456426614174000 + AcceptOnDate: '2023-10-01T12:00:00Z' + ConsentEvent: + type: object + properties: + event: + type: string + example: newsletter_signup + iscustom: + type: boolean + example: false + required: + - event + - iscustom + ConsentSubmit: + type: object + properties: + events: + type: array + items: + $ref: '#/components/schemas/ConsentEvent' + example: + - event: newsletter_signup + iscustom: false + data: + type: array + items: + $ref: '#/components/schemas/ConsentData' + example: + - consentoptionid: marketing_emails + isaccepted: true + required: + - events + - data + ConsentResponse: + type: object + properties: + Profile: + $ref: '#/components/schemas/Profile' + access_token: + type: string + description: The Access Token string + refresh_token: + type: string + description: The refresh token string + expires_in: + type: string + description: Expiration time of the Access Token + ConsentProfileLog: + type: object + properties: + ConsentId: + type: string + description: Unique identifier for the consent option + example: 123e4567e89b12d3a456426614174000 + Event: + type: string + description: Event associated with this consent log entry + example: newsletter_signup + ConsentLog: + type: object + properties: + UpdateType: + type: string + description: Type of update performed + example: consent-update + nullable: true + UserAgent: + type: string + description: User agent string + example: Mozilla/5.0 + nullable: true + IP: + type: string + description: IP address of the User + example: 192.168.1.1 + nullable: true + Host: + type: string + description: Host information + example: loginradius.com + nullable: true + LoggedOnDate: + type: string + format: date-time + description: Date and time when the log was created + example: '2025-07-15T12:34:56Z' + nullable: true + CurrentConsentFormsVersions: + type: array + items: + $ref: '#/components/schemas/ConsentVersion' + description: List of current consent form versions + ConsentLogs: + type: array + items: + $ref: '#/components/schemas/ConsentProfileLog' + nullable: true + description: List of consent profile logs + Id: + type: string + description: ObjectId (MongoDB) of the log entry + example: 60c72b2f9b1e8d3f4c8b4567 + ConsentLogsResponse: + type: object + properties: + Uid: + type: string + description: User identifier + nullable: true + ConsentLogs: + type: array + items: + $ref: '#/components/schemas/ConsentLog' + description: List of consent logs + nullable: true + VerifyConsent: + type: object + properties: + ConsentProfile: + $ref: '#/components/schemas/ConsentProfile' + IsValid: + type: boolean + description: Indicates if the consent is valid + InvitationToken: + type: object + properties: + Email: + type: string + description: The Email address of the User to whom the invitation is sent. + example: test@example.com + Status: + type: string + enum: + - Accepted + - Revoked + - Expired + - Invited + description: The status of the invitation. Possible values are *invited*, *accepted*, *expired*, and *revoked*. + example: Invited + IsEmailExist: + type: boolean + description: Indicates whether the Email address is already associated with an existing User account. + example: true + EmailVerificationOrForgotPINModel: + type: object + properties: + email: + type: string + format: email + description: The Email address of the User + example: john.doe@gmail.com + required: + - email + description: This model is used to verify the Email address of a User or send the forgot PIN request. It requires the Email address of the User. + AddEmailModelManage: + type: object + properties: + email: + type: string + format: email + description: Email to add to the User's Account. + type: + type: string + description: Email type (e.g., primary or secondary). + uid: + type: string + description: The UID of the User. + required: + - email + - type + - uid + description: The model is used to add an Email address to a User account. It requires the Email address, the type of Email (e.g., primary or secondary), and the User's unique identifier (UID). + example: + email: user@example.com + type: secondary + uid: abc123 + ForgotPasswordOrPasswordLessLoginOrAutoLoginModel: + type: object + properties: + email: + type: string + format: email + description: The Email address of the User. + example: user@example.com + username: + type: string + example: johndoe + description: The Username of the User. + anyOf: + - required: + - email + - required: + - username + DeleteUserModel: + type: object + properties: + uid: + type: string + example: abc123 + description: The UID of the User. + required: + - uid + GenerateTokenResponse: + type: object + properties: + Token: + type: string + example: e3c12e4f2c134f2ba2c6f623e1d3be7f + description: The generated token for the specific request. + ExpiresIn: + type: string + format: date-time + example: '2025-12-31T23:59:59Z' + description: The expiration date and time of the token. + IdentityProviders: + type: array + items: + type: string + nullable: true + description: The identity providers associated with the specified token, it will display a list of identity providers from where the User is already authenticated. + example: + - google + - facebook + AddPhoneModel: + type: object + properties: + phone: + type: string + description: Phone number to add to the User's Account. + uid: + type: string + description: The UID of the User. + required: + - phone + - uid + description: This model is used to add a Phone number to a User account. It requires the Phone number and the User's unique identifier (UID). + example: + phone: '+1234567890' + uid: abc123 + OneTouchLoginPhoneModel: + type: object + properties: + phone: + type: string + description: The Phone number of the User. + name: + type: string + description: The name of the User. + required: + - phone + example: + phone: '+1234567890' + name: john doe + TimeStamp: + type: string + format: date-time + description: Timestamp in ISO 8601 format with milliseconds and timezone. + example: '2024-05-14T12:34:56.789Z' + RoleContext: + type: object + properties: + Context: + type: string + nullable: true + description: The Context name. + example: school + Roles: + type: array + items: + type: string + description: List of Roles in this Context. + example: + - Admin + - Student + AdditionalPermissions: + type: array + items: + type: string + description: Additional Permissions for this Context. + example: + - read + - write + Expiration: + $ref: '#/components/schemas/TimeStamp' + RoleContextResponseModal: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/RoleContext' + description: List of Role Contexts. + required: + - Data + RoleContextBodyModel: + type: object + properties: + Roles: + type: array + items: + type: string + description: List of Roles for the Context. + example: + - Admin + - Student + AdditionalPermissions: + type: array + items: + type: string + description: Additional Permissions for the Context. + example: + - read + - write + Expiration: + type: string + format: date-time + nullable: true + description: Expiration date/time in ISO 8601 format. + example: '2025-05-14T12:34:56.789Z' + Context: + type: string + description: The Context name or identifier. + example: school + required: + - Roles + - AdditionalPermissions + - Context + UpdateRoleContextBodyModel: + type: object + properties: + rolecontext: + type: array + items: + $ref: '#/components/schemas/RoleContextBodyModel' + description: List of Role Context objects. + required: + - rolecontext + RoleContextBody: + type: object + properties: + Context: + type: string + nullable: true + example: school + Roles: + type: array + items: + type: string + example: + - Admin + - Student + AdditionalPermissions: + type: array + items: + type: string + example: + - read + - write + Expiration: + $ref: '#/components/schemas/TimeStamp' + SecondFactorAuthenticator: + type: object + properties: + IsVerified: + type: boolean + example: true + IsEnabled: + type: boolean + example: true + SecondFactor: + type: string + nullable: true + example: TOTP + PushDevice: + type: object + properties: + deviceName: + type: string + example: Pixel 7 + deviceType: + type: string + example: Android + deviceToken: + type: string + example: abcdef123456 + publicKey: + type: string + example: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAn... + createdAt: + type: string + format: date-time + example: '2025-05-14T12:34:56.789Z' + SecondFactorAuthenticationPushDevice: + type: object + properties: + IsVerified: + type: boolean + example: true + IsEnabled: + type: boolean + example: true + PushDevice: + $ref: '#/components/schemas/PushDevice' + CredentialObj: + type: object + properties: + Id: + type: string + description: Unique credential identifier. + example: a1b2c3d4e5f6 + Authenticator: + type: string + description: Authenticator type. + example: FIDO2 + Identifier: + type: string + description: Credential identifier (e.g., Username or email). + example: user@example.com + CreatedAt: + type: string + format: date-time + description: Credential creation time. + example: '2025-05-14T12:34:56.789Z' + SecondFactorAuthenticationPasskeyCredential: + type: object + properties: + IsVerified: + type: boolean + example: true + IsEnabled: + type: boolean + example: true + PasskeyCredential: + $ref: '#/components/schemas/CredentialObj' + GenericSecondFactorAuthentication: + type: object + properties: + GoogleAuthenticator: + $ref: '#/components/schemas/SecondFactorAuthenticator' + OTPAuthenticator: + $ref: '#/components/schemas/SecondFactorAuthenticator' + EmailOTPAuthenticator: + $ref: '#/components/schemas/SecondFactorAuthenticator' + BackUpCodes: + type: array + items: + type: string + example: + - '123456' + - '654321' + - '789012' + Authenticator: + $ref: '#/components/schemas/SecondFactorAuthenticator' + PushAuthenticator: + $ref: '#/components/schemas/SecondFactorAuthenticationPushDevice' + DuoSecurityAuthenticator: + $ref: '#/components/schemas/SecondFactorAuthenticator' + PasskeyAuthenticator: + $ref: '#/components/schemas/SecondFactorAuthenticationPasskeyCredential' + SecondFactorAuthenticationCore: + type: object + properties: + SecurityQuestionAuthenticator: + $ref: '#/components/schemas/SecondFactorAuthenticator' + SecondFactorAuthentication: + allOf: + - $ref: '#/components/schemas/GenericSecondFactorAuthentication' + - $ref: '#/components/schemas/SecondFactorAuthenticationCore' + Email: + type: object + properties: + Type: + type: string + description: The type of the Email (e.g., primary, secondary). + example: primary + Value: + type: string + format: email + description: The Email address. + example: user@example.com + required: + - Type + - Value + RoleContextProfileModel: + type: object + properties: + RoleContext: + $ref: '#/components/schemas/RoleContextBody' + Uid: + type: string + nullable: true + description: Unique identifier for the User. + example: '12345' + LastLoginDate: + type: string + format: date-time + nullable: true + description: Last login date in ISO 8601 format. + example: '2025-05-14T12:34:56.789Z' + FullName: + type: string + nullable: true + description: Full name of the User. + example: John Doe + ImageUrl: + type: string + nullable: true + description: URL to the User's image. + example: https://example.com/avatar.jpg + SecondFactorAuthentication: + $ref: '#/components/schemas/SecondFactorAuthentication' + Email: + type: array + items: + $ref: '#/components/schemas/Email' + required: + - RoleContext + - Email + RoleContextProfileResponseModel: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/RoleContextProfileModel' + description: List of Role Context profiles. + required: + - Data + UserRolesModel: + type: object + properties: + Roles: + type: array + items: + type: string + description: List of User Roles. + example: + - Admin + - User + DeleteResponse: + type: object + properties: + IsDeleted: + type: boolean + description: Indicates if the resource was deleted + RemoveRoleContextRoleModel: + type: object + properties: + roles: + type: array + items: + type: string + description: List of Roles to remove. + example: + - Admin + - Student + required: + - roles + RemoveRoleContextAdditionalPermissionsModel: + type: object + properties: + additionalpermissions: + type: array + items: + type: string + description: List of Additional Permissions to remove. + example: + - read + - write + required: + - additionalpermissions + ManageRegisterModel: + type: object + properties: + Uid: + type: string + nullable: true + description: The unique identifier (UID) of the User. + example: 123e4567-e89b-12d3-a456-426614174000 + UserName: + type: string + nullable: true + description: The Username of the User. + example: john_doe + PhoneId: + type: string + nullable: true + description: The Phone ID of the User. + example: +1-555-123-4567 + Gender: + type: string + nullable: true + description: The gender of the User. + example: male + BirthDate: + type: string + nullable: true + description: The birth date of the User. + example: '1990-05-15' + Prefix: + type: string + nullable: true + description: The prefix for the User's name. + example: Mr. + FirstName: + type: string + nullable: true + description: The first name of the User. + example: John + MiddleName: + type: string + nullable: true + description: The middle name of the User. + example: Robert + LastName: + type: string + nullable: true + description: The last name of the User. + example: Smith + Suffix: + type: string + nullable: true + description: The suffix for the User's name. + example: Jr. + NickName: + type: string + nullable: true + description: The nickname of the User. + example: Johnny + ProfileName: + type: string + nullable: true + description: The profile name of the User. + example: johnsmith + About: + type: string + nullable: true + description: A brief description about the User. + example: Passionate software developer with 10+ years of experience + Company: + type: string + nullable: true + description: The company the User is associated with. + example: Tech Corp + ImageUrl: + type: string + nullable: true + description: The URL of the User's profile image. + example: https://example.com/images/john.jpg + TimeZone: + type: string + nullable: true + description: The time zone of the User. + example: America/New_York + Website: + type: string + nullable: true + description: The website of the User. + example: https://www.johnsmith.com + ThumbnailImageUrl: + type: string + nullable: true + description: The URL of the User's thumbnail image. + example: https://example.com/thumbnails/john.jpg + Favicon: + type: string + nullable: true + description: The URL of the User's favicon. + example: https://example.com/favicon.ico + ProfileUrl: + type: string + nullable: true + description: The URL of the User's profile. + example: https://example.com/profile/johnsmith + HomeTown: + type: string + nullable: true + description: The hometown of the User. + example: Boston + State: + type: string + nullable: true + description: The state of the User. + example: Massachusetts + City: + type: string + nullable: true + description: The city of the User. + example: Cambridge + Industry: + type: string + nullable: true + description: The industry of the User. + example: Technology + LocalLanguage: + type: string + nullable: true + description: The local language of the User. + example: en-US + Language: + type: string + nullable: true + description: The language of the User. + example: English + CoverPhoto: + type: string + nullable: true + description: The URL of the User's cover photo. + example: https://example.com/cover/john.jpg + TagLine: + type: string + nullable: true + description: The tagline of the User. + example: Building the future through code + MainAddress: + type: string + nullable: true + description: The main address of the User. + example: 123 Tech Street, Cambridge, MA 02142 + LocalCity: + type: string + nullable: true + description: The local city of the User. + example: Cambridge + ProfileCity: + type: string + nullable: true + description: The profile city of the User. + example: Cambridge + LocalCountry: + type: string + nullable: true + description: The local country of the User. + example: United States + ProfileCountry: + type: string + nullable: true + description: The profile country of the User. + example: United States + Quota: + type: string + nullable: true + description: The quota assigned to the User. + example: '1000' + Religion: + type: string + nullable: true + description: The religion of the User. + example: Private + Political: + type: string + nullable: true + description: The political views of the User. + example: Private + RelationshipStatus: + type: string + nullable: true + description: The relationship status of the User. + example: Married + HttpsImageUrl: + type: string + nullable: true + description: The HTTPS URL of the User's profile image. + example: https://example.com/secure/images/john.jpg + IsGeoEnabled: + type: string + nullable: true + description: Indicates if geolocation is enabled for the User. + example: 'true' + Associations: + type: string + nullable: true + description: The associations of the User. + example: IEEE, ACM + Honors: + type: string + nullable: true + description: The honors received by the User. + example: Best Developer Award 2023 + PublicRepository: + type: string + nullable: true + description: The number of public repositories owned by the User. + example: '25' + RepositoryUrl: + type: string + nullable: true + description: The URL of the User's repository. + example: https://github.com/johnsmith + ProfessionalHeadline: + type: string + nullable: true + description: The professional headline of the User. + example: Senior Software Engineer at Tech Corp + Currency: + type: string + nullable: true + description: The preferred currency of the User. + example: USD + StarredUrl: + type: string + nullable: true + description: The URL of the User's starred items. + example: https://github.com/johnsmith?tab=stars + GistsUrl: + type: string + nullable: true + description: The URL of the User's gists. + example: https://gist.github.com/johnsmith + GravatarImageUrl: + type: string + nullable: true + description: The URL of the User's Gravatar image. + example: https://gravatar.com/avatar/123456 + ExternalUserLoginId: + type: string + nullable: true + description: The external User login ID. + example: external_12345 + InterestedIn: + type: array + items: + type: string + nullable: true + description: Interests of the User. + example: + - Technology + - Innovation + - AI + FollowersCount: + type: integer + nullable: true + description: The number of followers the User has. + example: 1250 + FriendsCount: + type: integer + nullable: true + description: The number of friends the User has. + example: 458 + TotalStatusesCount: + type: integer + nullable: true + description: The total number of statuses posted by the User. + example: 2341 + NumRecommenders: + type: integer + nullable: true + description: The number of recommenders for the User. + example: 15 + TotalPrivateRepository: + type: integer + nullable: true + description: The total number of private repositories owned by the User. + example: 8 + PublicGists: + type: integer + nullable: true + description: The total number of public gists owned by the User. + example: 23 + PrivateGists: + type: integer + nullable: true + description: The total number of private gists owned by the User. + example: 5 + SessionLimit: + type: integer + nullable: true + description: The session limit for the User. + example: 10 + CustomFields: + type: object + additionalProperties: + type: string + nullable: true + description: Custom fields associated with the User. + example: + hobby: Photography + favorite_color: Blue + ProfileImageUrls: + type: object + additionalProperties: + type: string + nullable: true + description: URLs of the User's profile images. + example: + small: https://example.com/small.jpg + large: https://example.com/large.jpg + WebProfiles: + type: object + additionalProperties: + type: string + nullable: true + description: The User's web profiles. + example: + linkedin: https://linkedin.com/in/johndoe + github: https://github.com/johndoe + SecurityQuestionAnswer: + type: object + additionalProperties: + type: string + nullable: true + description: Security question answers for the User. + example: + What is your pet's name?: Fluffy + Country: + type: object + description: The country details of the User. + properties: + Code: + type: string + description: The country code. + example: US + Name: + type: string + description: The country name. + example: United States + ProviderAccessCredential: + type: object + description: The provider access credentials of the User. + properties: + AccessToken: + type: string + nullable: true + description: The Access Token for the provider. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + TokenSecret: + type: string + nullable: true + description: The token secret for the provider. + example: abc123def456... + Suggestions: + type: object + description: Suggestions for the User to follow. + properties: + CompaniesToFollow: + type: array + description: List of companies suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The ID of the company. + example: company_123 + Name: + type: string + nullable: true + description: The name of the company. + example: Tech Corp + IndustriesToFollow: + type: array + description: List of industries suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The ID of the industry. + example: industry_123 + Name: + type: string + nullable: true + description: The name of the industry. + example: Software Development + NewssourceToFollow: + type: array + description: List of news sources suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The ID of the news source. + example: news_123 + Name: + type: string + nullable: true + description: The name of the news source. + example: Tech News Daily + PeopleToFollow: + type: array + description: List of people suggested to follow. + items: + type: object + properties: + Id: + type: string + nullable: true + description: The ID of the person. + example: person_123 + Name: + type: string + nullable: true + description: The name of the person. + example: John Doe + Subscription: + type: object + description: Subscription details of the User. + properties: + Name: + type: string + nullable: true + description: The name of the subscription. + example: Pro Plan + Space: + type: string + nullable: true + description: The allocated space for the subscription. + example: 100GB + PrivateRepos: + type: string + nullable: true + description: The number of private repositories allowed. + example: '50' + Collaborators: + type: string + nullable: true + description: The number of collaborators allowed. + example: '10' + AgeRange: + type: object + description: The age range of the User. + properties: + Min: + type: integer + nullable: true + description: The minimum age in the range. + example: 18 + Max: + type: integer + nullable: true + description: The maximum age in the range. + example: 35 + PrivacyPolicy: + type: object + description: The Privacy Policy details of the User. + properties: + Version: + type: string + nullable: true + description: The version of the Privacy Policy. + example: '1.0' + PINInfo: + type: object + description: PIN information of the User. + properties: + PIN: + type: string + nullable: true + description: The PIN of the User. + example: '1234' + Skipped: + type: boolean + nullable: true + description: Indicates if the PIN setup was skipped. + example: false + IsValid: + type: boolean + nullable: true + description: Indicates if the PIN is valid. + example: true + IOValidationRequired: + type: boolean + description: Indicates if IO validation is required. + example: false + Addresses: + type: array + description: List of addresses associated with the User. + items: + type: object + properties: + Type: + type: string + description: The type of address (e.g., Home, Work). + example: Home + Address1: + type: string + description: The first line of the address. + example: 123 Tech Street + City: + type: string + description: The city of the address. + example: Cambridge + State: + type: string + description: The state of the address. + example: MA + Country: + type: string + description: The country of the address. + example: USA + Positions: + type: array + description: List of positions held by the User. + items: + type: object + properties: + Position: + type: string + description: The position held by the User. + example: Senior Software Engineer + Company: + type: string + description: The company where the position was held. + example: Tech Corp + StartDate: + type: string + format: date-time + description: The start date of the position. + example: '2022-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the position. + example: '2024-03-20T00:00:00Z' + IsCurrent: + type: boolean + description: Indicates if the position is current. + example: true + Educations: + type: array + description: List of educational qualifications of the User. + items: + type: object + properties: + School: + type: string + description: The name of the school. + example: MIT + Degree: + type: string + description: The degree obtained. + example: BS Computer Science + FieldOfStudy: + type: string + description: The field of study. + example: Computer Science + StartDate: + type: string + format: date-time + description: The start date of the education. + example: '2008-09-01T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the education. + example: '2012-05-30T00:00:00Z' + PhoneNumbers: + type: array + description: List of Phone numbers associated with the User. + items: + type: object + properties: + PhoneType: + type: string + description: The type of Phone (e.g., Mobile, Home). + example: Mobile + PhoneNumber: + type: string + description: The Phone number. + example: +1-555-123-4567 + Operation: + type: string + description: The operation performed on the Phone number. + example: add + IMAccounts: + type: array + description: List of instant messaging accounts associated with the User. + items: + type: object + properties: + AccountType: + type: string + description: The type of instant messaging account. + example: Skype + AccountName: + type: string + description: The name of the instant messaging account. + example: johnsmith_skype + Interests: + type: array + description: List of interests of the User. + items: + type: object + properties: + InterestedType: + type: string + description: The type of interest (e.g., Professional, Personal). + example: Professional + InterestedName: + type: string + description: The name of the interest. + example: Software Architecture + Sports: + type: array + description: List of sports the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the sport. + example: sport_123 + Name: + type: string + description: The name of the sport. + example: Basketball + InspirationalPeople: + type: array + description: List of inspirational people for the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the person. + example: person_123 + Name: + type: string + description: The name of the person. + example: Linus Torvalds + Awards: + type: array + description: List of awards received by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the award. + example: award_123 + Name: + type: string + description: The name of the award. + example: Best Developer Award + Issuer: + type: string + description: The issuer of the award. + example: Tech Conference 2023 + Skills: + type: array + description: List of skills possessed by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the skill. + example: skill_123 + Name: + type: string + description: The name of the skill. + example: Python Programming + CurrentStatus: + type: array + description: List of current statuses of the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the status. + example: status_123 + Text: + type: string + description: The text of the status. + example: Working on exciting new project + Source: + type: string + description: The source of the status. + example: LinkedIn + CreatedDate: + type: string + format: date-time + description: The date the status was created. + example: '2024-03-20T15:30:00Z' + Certifications: + type: array + description: List of certifications obtained by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the certification. + example: cert_123 + Name: + type: string + description: The name of the certification. + example: AWS Certified Solutions Architect + Authority: + type: string + description: The authority that issued the certification. + example: Amazon Web Services + StartDate: + type: string + format: date-time + description: The start date of the certification. + example: '2023-01-15T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the certification. + example: '2026-01-15T00:00:00Z' + Courses: + type: array + description: List of courses completed by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the course. + example: course_123 + Name: + type: string + description: The name of the course. + example: Introduction to Machine Learning + Number: + type: string + description: The course number. + example: ML101 + Volunteer: + type: array + description: List of volunteer experiences of the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the volunteer experience. + example: volunteer_123 + Role: + type: string + description: The Role of the User in the volunteer experience. + example: Volunteer Developer + Organization: + type: string + description: The organization where the User volunteered. + example: Open Source Initiative + Cause: + type: string + description: The cause supported by the volunteer experience. + example: Education + RecommendationsReceived: + type: array + description: List of recommendations received by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the recommendation. + example: recommendation_123 + RecommendationType: + type: string + description: The type of recommendation. + example: Professional + RecommendationText: + type: string + description: The text of the recommendation. + example: John is an exceptional software engineer. + Recommender: + type: string + description: The name of the person who gave the recommendation. + example: Jane Doe + Languages: + type: array + description: List of languages known by the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the language. + example: lang_123 + Name: + type: string + description: The name of the language. + example: English + Proficiency: + type: string + description: The proficiency level in the language. + example: Fluent + Projects: + type: array + description: List of projects associated with the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the project. + example: project_123 + Name: + type: string + description: The name of the project. + example: AI Research + Summary: + type: string + description: A brief summary of the project. + example: Developed an AI model for image recognition. + StartDate: + type: string + format: date-time + description: The start date of the project. + example: '2022-01-01T00:00:00Z' + EndDate: + type: string + format: date-time + description: The end date of the project. + example: '2023-01-01T00:00:00Z' + IsCurrent: + type: boolean + description: Indicates if the project is ongoing. + example: true + Games: + type: array + description: List of games the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the game. + example: game_123 + Category: + type: string + description: The category of the game. + example: Strategy + Name: + type: string + description: The name of the game. + example: Chess + CreatedDate: + type: string + format: date-time + description: The date the game was added. + example: '2023-05-15T10:00:00Z' + Family: + type: array + description: List of family members associated with the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the family member. + example: family_123 + Relationship: + type: string + description: The relationship with the family member. + example: Brother + Name: + type: string + description: The name of the family member. + example: John Doe + TelevisionShow: + type: array + description: List of television shows the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the television show. + example: tv_123 + Category: + type: string + description: The category of the television show. + example: Drama + Name: + type: string + description: The name of the television show. + example: Breaking Bad + CreatedDate: + type: string + format: date-time + description: The date the television show was added. + example: '2023-05-15T10:00:00Z' + MutualFriends: + type: array + description: List of mutual friends associated with the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the mutual friend. + example: friend_123 + Name: + type: string + description: The name of the mutual friend. + example: Jane Doe + FirstName: + type: string + description: The first name of the mutual friend. + example: Jane + LastName: + type: string + description: The last name of the mutual friend. + example: Doe + Birthday: + type: string + format: date + description: The birthday of the mutual friend. + example: '1990-05-15' + Hometown: + type: string + description: The hometown of the mutual friend. + example: Boston + Link: + type: string + description: The profile link of the mutual friend. + example: https://example.com/janedoe + Gender: + type: string + description: The gender of the mutual friend. + example: female + Movies: + type: array + description: List of movies the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the movie. + example: movie_123 + Category: + type: string + description: The category of the movie. + example: Action + Name: + type: string + description: The name of the movie. + example: Inception + CreatedDate: + type: string + format: date-time + description: The date the movie was added. + example: '2023-05-15T10:00:00Z' + Books: + type: array + description: List of books the User is interested in. + items: + type: object + properties: + Id: + type: string + description: The ID of the book. + example: book_123 + Category: + type: string + description: The category of the book. + example: Fiction + Name: + type: string + description: The name of the book. + example: The Great Gatsby + CreatedDate: + type: string + format: date-time + description: The date the book was added. + example: '2023-05-15T10:00:00Z' + Patents: + type: array + description: List of patents associated with the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the patent. + example: patent_123 + Title: + type: string + description: The title of the patent. + example: AI-Based Image Recognition + Date: + type: string + format: date + description: The date the patent was filed. + example: '2023-05-15' + FavoriteThings: + type: array + description: List of favorite things of the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the favorite thing. + example: fav_123 + Name: + type: string + description: The name of the favorite thing. + example: Photography + Type: + type: string + description: The type of the favorite thing. + example: Hobby + RelatedProfileViews: + type: array + description: List of related profile views for the User. + items: + type: object + properties: + FirstName: + type: string + description: The first name of the related profile. + example: John + LastName: + type: string + description: The last name of the related profile. + example: Doe + Id: + type: string + description: The ID of the related profile. + example: profile_123 + PlacesLived: + type: array + description: List of places the User has lived. + items: + type: object + properties: + IsPrimary: + type: boolean + description: Indicates if the place is the primary residence. + example: true + Name: + type: string + description: The name of the place. + example: New York + Operation: + type: string + description: The operation performed on the place. + example: add + Publications: + type: array + description: List of publications associated with the User. + items: + type: object + properties: + Id: + type: string + description: The ID of the publication. + example: pub_123 + Title: + type: string + description: The title of the publication. + example: AI Research Paper + Publisher: + type: string + description: The publisher of the publication. + example: Tech Journal + Date: + type: string + format: date + description: The date the publication was published. + example: '2023-05-15' + Url: + type: string + format: uri + description: The URL of the publication. + example: https://example.com/publication + Summary: + type: string + description: A brief summary of the publication. + example: This paper discusses AI advancements in image recognition. + Authors: + type: array + description: List of authors of the publication. + items: + type: object + properties: + Id: + type: string + description: The ID of the author. + example: author_123 + Name: + type: string + description: The name of the author. + example: John Doe + JobBookmarks: + type: array + description: List of job bookmarks associated with the User. + items: + type: object + properties: + IsApplied: + type: boolean + description: Indicates if the job has been applied for. + example: true + IsSaved: + type: boolean + description: Indicates if the job has been saved. + example: true + ApplyTimestamp: + type: string + format: date-time + description: The timestamp when the job was applied for. + example: '2023-05-15T10:00:00Z' + SavedTimestamp: + type: string + format: date-time + description: The timestamp when the job was saved. + example: '2023-05-10T10:00:00Z' + Job: + type: object + description: Details of the job. + properties: + Id: + type: string + description: The ID of the job. + example: job_123 + Title: + type: string + description: The title of the job. + example: Software Engineer + Company: + type: string + description: The company offering the job. + example: Tech Corp + Badges: + type: array + description: List of badges associated with the User. + items: + type: object + properties: + BadgeId: + type: string + description: The ID of the badge. + example: badge_123 + Name: + type: string + description: The name of the badge. + example: Top Contributor + BadgeMessage: + type: string + description: A message associated with the badge. + example: Awarded for outstanding contributions. + Description: + type: string + description: A description of the badge. + example: This badge is awarded to users who contribute significantly to the community. + ImageUrl: + type: string + description: The URL of the badge image. + example: https://example.com/badges/top-contributor.png + MemberUrlResources: + type: array + description: List of member URL resources associated with the User. + items: + type: object + properties: + Url: + type: string + format: uri + description: The URL of the resource. + example: https://example.com/resource + UrlName: + type: string + description: The name of the resource URL. + example: Personal Website + ExternalIds: + type: array + description: List of external IDs associated with the User. + items: + type: object + properties: + Operation: + type: string + description: The operation performed on the external ID. + example: add + Source: + type: string + description: The source of the external ID. + example: LinkedIn + SourceId: + type: string + description: The source ID of the external ID. + example: source_12345 + IsEmailSubscribed: + type: boolean + nullable: true + description: Indicates if the User is subscribed to emails. + example: true + IsProtected: + type: boolean + nullable: true + description: Indicates if the User Account is protected. + example: false + Hireable: + type: boolean + nullable: true + description: Indicates if the User is hireable. + example: true + IsTwoFactorAuthenticationEnabled: + type: boolean + nullable: true + description: Indicates if two-factor authentication is enabled for the User. + example: true + IsActive: + type: boolean + nullable: true + description: Indicates if the User Account is active. + example: true + IsDeleted: + type: boolean + nullable: true + description: Indicates if the User Account is deleted. + example: false + EmailVerified: + type: boolean + nullable: true + description: Indicates if the User's Email is verified. + example: true + PhoneIdVerified: + type: boolean + nullable: true + description: Indicates if the User's Phone ID is verified. + example: true + DisableLogin: + type: boolean + nullable: true + description: Indicates if login is disabled for the User. + example: false + IsLoginLocked: + type: boolean + nullable: true + description: Indicates if the User's login is locked. + example: false + AcceptPrivacyPolicy: + type: boolean + nullable: true + description: Indicates if the User has accepted the Privacy Policy. + example: true + ReCaptchaResponseField: + type: string + nullable: true + description: The response field for reCAPTCHA verification. + example: 03AGdBq24... + ReCaptchaChallengeField: + type: string + nullable: true + description: The challenge field for reCAPTCHA verification. + example: 03AGdBq24... + RegistrationSource: + type: string + nullable: true + description: The source of the User's registration. + example: Web + FullName: + type: string + nullable: true + description: The full name of the User. + example: John Robert Smith + Consents: + type: object + description: Consent registration details. + properties: + Events: + type: array + description: List of consent acceptance events. + items: + type: object + properties: + IsCustom: + type: boolean + description: Indicates if the consent is custom. + example: true + Event: + type: string + description: The event associated with the Consent. + example: Signup + Data: + type: array + description: List of consent options accepted by the User. + items: + type: object + properties: + IsAccepted: + type: boolean + description: Indicates if the consent option is accepted. + example: true + ConsentOptionId: + type: string + description: The ID of the Consent option. + example: 123e4567e89b12d3a456426614174000 + Password: + type: string + description: The Password of the User. + example: password123 + Email: + type: array + description: List of Email addresses associated with the User. + items: + type: object + properties: + Type: + type: string + description: The type of the Email (e.g., Primary, Secondary). + example: Primary + Value: + type: string + format: email + description: The Email address. + example: user@example.com + IsDeletedResponseWithCount: + type: object + properties: + IsDeleted: + type: boolean + description: Indicates whether the Account was successfully deleted. + example: true + RecordsDeleted: + type: integer + description: The number of records that were deleted. + example: 5 + AccessToken: + type: object + properties: + access_token: + type: string + description: The generated Access Token. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + refresh_token: + type: string + nullable: true + description: The refresh token associated with the Access Token. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + expires_in: + type: string + format: date-time + description: The expiration time of the Access Token. + example: '2024-03-20T15:30:00Z' + SessionToken: + type: object + description: Session token details. + properties: + session_token: + type: string + description: The session token for specific features. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + session_expires_in: + type: string + format: date-time + description: The expiration time of the session token. + example: '2024-03-20T16:30:00Z' + GenerateSottResponse: + type: object + properties: + Sott: + type: string + description: The generated Secure One Time Token (SOTT). + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + ExpiryTime: + type: string + format: date-time + description: The SOTT expiration time. + example: '2026-12-31T23:59:59.000Z' + required: + - Sott + - ExpiryTime + UsernameModel: + type: object + properties: + Username: + type: string + description: The Username to validate or process. + example: john_doe + required: + - Username + EmailToValidateServerSide: + type: object + properties: + Email: + type: string + format: email + description: The Email address to validate on the server side. + example: user@example.com + required: + - Email + ForgotPasswordTokenModel: + type: object + properties: + ForgotToken: + type: string + description: The generated forgot Password token. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + IdentityProviders: + type: array + description: List of identity providers associated with the User. + items: + type: string + example: + - google + - facebook + required: + - ForgotToken + - IdentityProviders + VerificationLinkResponse: + type: object + properties: + VerificationToken: + type: string + description: The generated Verification Token. + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... + expires_in: + type: string + format: date-time + description: The expiration time of the token. + example: '2024-03-20T15:30:00Z' + IdentitiesResponse: + type: object + properties: + Data: + type: array + nullable: true + description: List of User Identities with social information but without login details. + items: + $ref: '#/components/schemas/IdentityResponseWithSocialWithoutLogins' + UpsertEmailModel: + type: object + properties: + Email: + type: array + items: + type: object + properties: + Type: + type: string + description: The type of Email (e.g., primary, secondary). + example: primary + Value: + type: string + format: email + description: The Email address to be added or updated. + example: user@example.com + description: A list of Email addresses to be added or updated for the Account. + required: + - Email + EmailModelManage: + type: object + properties: + email: + type: string + format: email + description: The Email address to be processed. + example: user@example.com + required: + - email + PhoneModel: + type: object + properties: + phone: + type: string + description: The Phone number to be updated. + example: +1-555-123-4567 + required: + - phone + PasswordResponse: + type: object + properties: + PasswordHash: + type: string + nullable: true + description: The hashed Password of the User account. + example: $2a$12$eImiTXuWVxfM37uY4JANjQ== + PasswordModel: + type: object + properties: + Password: + type: string + description: The new Password to be set for the Account. + example: SecurePassword123! + required: + - Password + EventBasedSecondFactorToken: + type: object + properties: + secondfactorvalidationtoken: + type: string + description: | + The event-based second factor token. This token is used to verify the identity of the User during the authentication process. + format: string + minLength: 36 + maxLength: 36 + example: 683987c4-9249-4165-b1f1-925f0b84021e + required: + - secondfactorvalidationtoken + IsValid: + type: object + properties: + IsValid: + type: boolean + description: | + Indicates whether the provided event-based second factor token is valid or not. A value of `true` means the token is valid, + while `false` indicates that the token is invalid or has expired. + example: true + required: + - IsValid + ErrorResponseNative: + type: object + properties: + message: + type: string + description: Brief message describing the error. + description: + type: string + description: Detailed description of the error. + errorCode: + type: integer + description: Error code for identifying the error type. + ActiveSession: + type: object + properties: + AccessToken: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 + Browser: + type: string + example: Chrome + Device: + type: string + example: Laptop + Os: + type: string + example: Windows 10 + DeviceType: + type: string + example: Desktop + City: + type: string + example: San Francisco + Country: + type: string + example: USA + Ip: + type: string + example: 192.168.1.1 + LoginDate: + type: string + format: date-time + example: '2023-06-01T12:34:56Z' + ActiveSessionResponse: + type: object + properties: + nextCursor: + type: integer + data: + type: array + items: + $ref: '#/components/schemas/ActiveSession' + Invitation: + type: object + properties: + Id: + type: string + description: The unique identifier for the invitation. The ID is typically in the format *inv_*, where ** is a string of alphanumeric characters. + example: inv_123456789 + EmailId: + type: string + description: The Email address of the User to whom the invitation is sent. + example: user@example.com + Status: + type: string + enum: + - invited + - accepted + - expired + - revoked + description: The status of the invitation. Possible values are *invited*, *accepted*, *expired*, and *revoked*. + example: invited + RoleIds: + type: array + description: The list of Role IDs associated with the invitation. Each Role ID is typically in the format *role_*, where ** is a string of alphanumeric characters. + items: + type: string + example: + - role_12345 + - role_56789 + OrgId: + type: string + description: The unique identifier for the organization associated with the invitation. The ID is typically in the format *org_*, where ** is a string of alphanumeric characters. + example: org_123456789 + CreatedDate: + type: string + description: The date and time when the invitation was created, UTC format. + format: date-time + example: '2023-01-01T00:00:00Z' + ExpirationDate: + type: string + description: The date and time when the invitation expires, UTC format. + format: date-time + example: '2023-01-01T00:00:00Z' + ModifiedDate: + type: string + description: The date and time when the invitation was last modified, UTC format. + format: date-time + example: '2023-01-01T00:00:00Z' + InviterUid: + type: string + description: The unique identifier for the User who sent the invitation. The ID is typically in the format unique_id, where ** is a string of alphanumeric characters. + example: '123456789' + SendInvitation: + type: object + required: + - email + - roleIds + - orgId + - inviterUid + properties: + email: + type: string + format: email + roleIds: + type: array + items: + type: string + example: + - role_12345 + - role_56789 + orgId: + type: string + inviterUid: + type: string + ResendInvitation: + type: object + properties: + Resent: + type: boolean + description: Indicates whether the invitation was resent + example: true + OrganizationDomainRequest: + properties: + DomainName: + type: string + example: example.com + description: The domain name to be verified + IsVerified: + type: boolean + example: false + description: Indicates whether the domain has been verified + type: object + OrganizationBase: + properties: + Display: + nullable: true + properties: + LogoURL: + type: string + example: https://example.com/logo.jpg + description: URL to the organization's logo + Name: + type: string + example: Org1 + description: Display name of the organization + type: object + Domains: + items: + $ref: '#/components/schemas/OrganizationDomainRequest' + type: array + Metadata: + additionalProperties: + type: string + example: + hello: world + type: object + description: Additional metadata for the organization + Name: + type: string + example: Org1 + description: Name of the organization + type: object + ConnectionGroupRoleRequest: + properties: + GroupId: + type: string + example: eca8da89-09ed-476f-a689-11fa9a0b14ce + description: Unique identifier of the group to which the Role belongs. + Name: + type: string + example: Security + description: Name of the group Role connection. + RoleId: + type: string + example: role_Z6NE1ZkupP7lwD6E + description: Unique identifier of the Role. + type: object + ConnectionGroupRoleResponseCore: + properties: + Id: + type: string + example: group_role_Z6NFN5kupP7lwD6G + description: Unique identifier of the group-to-role mapping. + type: object + ConnectionGroupRoleResponse: + allOf: + - $ref: '#/components/schemas/ConnectionGroupRoleRequest' + - $ref: '#/components/schemas/ConnectionGroupRoleResponseCore' + ConnectionResponseCore: + properties: + Id: + type: string + example: conn_Z5ZtmHl2aMpi5VZP + description: Unique identifier for the connection + IsActive: + type: boolean + example: true + description: Indicates whether the connection is active + CreatedDate: + format: date-time + type: string + example: '2023-10-01T00:00:00Z' + description: Date when the connection was created + GroupRoles: + nullable: true + items: + $ref: '#/components/schemas/ConnectionGroupRoleResponse' + type: array + ModifiedDate: + format: date-time + type: string + example: '2023-10-01T00:00:00Z' + description: Date when the connection was last modified + type: object + OrganizationsConnectionBase: + properties: + Name: + type: string + example: AzureAD + description: Name of the connection + Domain: + type: string + example: example.com + description: Domain associated with the connection + Attributes: + description: Attribute mapping between the IdP claims and user fields. + properties: + CustomMapping: + additionalProperties: + type: string + type: object + example: + Gender: gender + description: Custom attribute mapping for the connection + Email: + type: string + example: email + description: Email attribute for the connection + FirstName: + type: string + example: firstName + description: First name attribute for the connection + Groups: + type: string + example: groups + description: Groups attribute for the connection + ID: + type: string + example: sub + description: Unique identifier attribute for the connection + LastName: + type: string + example: lastName + description: Last name attribute for the connection + type: object + type: object + OrganizationsConnectionSamlBase: + properties: + IDPEntityId: + type: string + example: https://exampleIdp.com + description: Unique identifier for the Identity Provider (IdP). + IDPMetadataUrl: + type: string + example: https://exampleIdp.com/metadata.xml + description: URL to the IdP metadata XML file. + IsIDPInitiated: + type: boolean + example: true + description: Indicates whether the SAML connection is initiated by the IdP. + IDPLoginUrl: + type: string + example: https://exampleIdp.com/sso/saml + description: The IdP's SAML single sign-on (login) URL. + IDPLogoutUrl: + type: string + example: https://exampleIdp.com/slo/saml + description: The IdP's SAML single logout (SLO) URL. + IDPCertificate: + description: IdP certificate details, including the PEM value and its validity window. + nullable: true + properties: + Certificate: + type: string + description: The Identity Provider's certificate in PEM format. + example: | + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- + NotAfter: + format: date-time + type: string + example: '2023-10-01T00:00:00Z' + description: The expiration date of the IdP certificate. + NotBefore: + format: date-time + type: string + example: '2023-10-01T00:00:00Z' + description: The start date of the IdP certificate validity. + type: object + type: object + SamlConnectionResponseCore: + type: object + properties: + ConnectionType: + enum: + - saml_custom + - saml_okta + - saml_entraid + - saml_google_workspace + - saml_salesforce + type: string + example: saml_custom + description: The type of SAML connection. + IDPLoginBinding: + type: string + readOnly: true + example: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect + description: SAML binding for the IdP login URL, derived from the IdP metadata. + IDPLogoutBinding: + type: string + readOnly: true + example: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect + description: SAML binding for the IdP logout URL, derived from the IdP metadata. + EntityId: + type: string + readOnly: true + example: https://example.hub.loginradius.com/saml/sp/Z5ZtBULhXHAJKrLsOmeWbZh5dmjKYuVWTw + description: The unique identifier for the SAML service provider. + MetadataUrl: + type: string + readOnly: true + example: https://example.hub.loginradius.com/saml/sp/Z5ZtBULhXHAJKrLsOmeWbZh5dmjKYuVWTw/metadata.xml + description: The URL to the SAML metadata XML file. + ACSEndpoint: + type: string + readOnly: true + example: https://example.hub.loginradius.com/saml/sp/acs/Z5ZtBULhXHAJKrLsOmeWbZh5dmjKYuVWTw + description: The Assertion Consumer Service (ACS) endpoint URL for SAML responses. + SPCertificate: + readOnly: true + nullable: true + properties: + Certificate: + type: string + description: The SAML service provider's certificate in PEM format. + example: | + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- + type: object + SamlConnectionResponse: + title: SAMLConnectionResponse + allOf: + - $ref: '#/components/schemas/OrganizationsConnectionSamlBase' + - $ref: '#/components/schemas/SamlConnectionResponseCore' + OidcConnectionBase: + properties: + AuthorizationUrl: + type: string + example: https://exampleIdp.com/oidc/authorize + description: The URL to the OpenID Connect provider's authorization endpoint. This is where users are redirected to authenticate and authorize access. + ClientId: + type: string + example: '123456' + description: The client identifier issued to the application by the OpenID Connect provider. This is used to identify the application during the authentication process. + ClientSecret: + type: string + example: '654321' + description: The client secret issued to the application by the OpenID Connect provider. This is used to authenticate the application when requesting tokens. + Issuer: + type: string + example: https://exampleIdp.com + description: The issuer identifier for the OpenID Connect provider. This is typically the base URL of the provider and is used to validate tokens. + Scopes: + items: + type: string + type: array + description: The scopes requested by the application during the authentication process. Scopes define the access level and Permissions granted to the application. + example: + - openid + - email + TokenAuthMethod: + type: string + example: client_secret_post + description: The method used to authenticate the application when requesting tokens. Common methods include `client_secret_post` and `client_secret_basic`. + TokenUrl: + type: string + example: https://exampleIdp.com/oidc/token + description: The URL to the OpenID Connect provider's token endpoint. This is where the application exchanges the authorization code for tokens. + UserInfoUrl: + type: string + example: https://exampleIdp.com/oidc/userinfo + description: The URL to the OpenID Connect provider's UserInfo endpoint. + UserInfoExtractByIdToken: + type: boolean + nullable: true + description: Indicates if user info should be extracted by ID token. + JWKSEndpoint: + type: string + example: https://exampleIdp.com/oidc/jwks + description: The JWKS endpoint for verifying the ID token. + type: object + OidcConnectionResponseCore: + type: object + properties: + ConnectionType: + enum: + - oidc_custom + example: oidc_custom + type: string + description: Type of the connection, which is OIDC in this case. + RedirectURI: + type: string + readOnly: true + example: https://example.hub.loginradius.com/oauth/sp/Z5ZtBULhXHAJKrLsOmeWbZh5dmjKYuVWTw/callback + description: The redirect URI for the OIDC connection, where the authorization server will send the User after authentication. + OidcConnectionResponse: + title: OIDCConnectionResponse + allOf: + - $ref: '#/components/schemas/OidcConnectionBase' + - $ref: '#/components/schemas/OidcConnectionResponseCore' + ConnectionResponseVariant: + oneOf: + - $ref: '#/components/schemas/SamlConnectionResponse' + - $ref: '#/components/schemas/OidcConnectionResponse' + ConnectionResponse: + allOf: + - $ref: '#/components/schemas/ConnectionResponseCore' + - $ref: '#/components/schemas/OrganizationsConnectionBase' + - $ref: '#/components/schemas/ConnectionResponseVariant' + OrganizationsDomainsResponseCore: + type: object + properties: + Id: + type: string + example: org_domain_Z5Zviy2xEEUTal7S + description: Unique identifier for the organization domain. + VerificationStrategy: + type: string + example: manual + description: Strategy used for domain verification, e.g., 'manual'. + VerificationToken: + type: string + example: '123456' + description: Token used for domain verification. + OrganizationsDomainsResponse: + allOf: + - $ref: '#/components/schemas/OrganizationDomainRequest' + - $ref: '#/components/schemas/OrganizationsDomainsResponseCore' + OrganizationsPolicyBase: + properties: + JITPolicy: + nullable: true + properties: + Enabled: + nullable: true + type: boolean + example: false + description: Indicates if JIT provisioning is enabled + type: object + description: Just-In-Time (JIT) provisioning policy for the organization + MFAPolicy: + nullable: true + properties: + EnforcementMode: + type: string + example: optional + description: Mode of enforcement for Multi-Factor Authentication (MFA) + type: object + description: Multi-Factor Authentication (MFA) policy for the organization + MemberPolicy: + nullable: true + properties: + DefaultMemberRole: + type: string + example: role_Z5OCrdbNBZ8OzruS + description: Default Role assigned to new members in the organization + type: object + description: Member policy for the organization + PasswordPolicy: + nullable: true + properties: + ExpiryDays: + type: integer + example: 100 + description: Number of days after which the Password expires + MaxLength: + type: integer + example: 25 + description: Maximum length of the Password + MinLength: + type: integer + example: 8 + description: Minimum length of the Password + RequireLowercase: + type: boolean + description: Indicates if at least one lowercase letter is required in the Password + RequireNumber: + type: boolean + description: Indicates if at least one number is required in the Password + RequireSpecialChar: + type: boolean + description: Indicates if at least one special character is required in the Password + RequireUppercase: + type: boolean + description: Indicates if at least one uppercase letter is required in the Password + type: object + description: Password policy for the organization + SessionPolicy: + nullable: true + properties: + AccessTokenTTL: + type: integer + example: 14400 + description: Time-to-live (TTL) for Access Tokens in seconds + RefreshTokenTTL: + type: integer + example: 324345 + description: Time-to-live (TTL) for refresh tokens in seconds + type: object + description: Session policy for the organization + type: object + OrganizationsResponseCore: + type: object + properties: + Connections: + nullable: true + items: + $ref: '#/components/schemas/ConnectionResponse' + type: array + description: List of connections associated with the organization + CreatedDate: + format: date-time + type: string + example: '2023-10-01T00:00:00Z' + description: Date when the organization was created + Domains: + nullable: true + items: + $ref: '#/components/schemas/OrganizationsDomainsResponse' + type: array + example: + - domain: example.com + isDefault: true + description: List of domains associated with the organization + Id: + type: string + example: org_Z5ZtBULhXHAJKrLs + description: Unique identifier for the organization + IsActive: + type: boolean + example: true + description: Indicates whether the organization is active + ModifiedDate: + format: date-time + type: string + example: '2023-10-01T00:00:00Z' + description: Date when the organization was last modified + Policies: + $ref: '#/components/schemas/OrganizationsPolicyBase' + OrganizationsResponse: + allOf: + - $ref: '#/components/schemas/OrganizationBase' + - $ref: '#/components/schemas/OrganizationsResponseCore' + OrganizationUpdateRequest: + properties: + Name: + type: string + example: Org1 + description: Name of the organization + Display: + nullable: true + properties: + LogoURL: + type: string + example: https://example.com/logo.jpg + description: URL to the organization's logo + Name: + type: string + example: Org1 + description: Display name of the organization + type: object + Metadata: + additionalProperties: + type: string + example: + hello: world + type: object + description: Additional metadata for the organization + Domains: + items: + $ref: '#/components/schemas/OrganizationDomainRequest' + type: array + IsAuthRestrictedToDomain: + nullable: true + type: boolean + description: Restricts authentication to registered domains only + Policies: + nullable: true + allOf: + - $ref: '#/components/schemas/OrganizationsPolicyBase' + IsActive: + nullable: true + type: boolean + description: Indicates whether the organization is active or not + type: object + SamlConnectionRequestCore: + type: object + properties: + ConnectionType: + description: Type of the connection, which is SAML in this case. + enum: + - saml_custom + - saml_okta + - saml_entraid + - saml_google_workspace + - saml_salesforce + type: string + IDPCertificate: + description: PEM-encoded IdP signing certificate used to verify SAML assertions. + type: string + nullable: false + example: | + -----BEGIN CERTIFICATE----- + ... + -----END CERTIFICATE----- + SamlConnectionRequest: + title: SAMLConnectionRequest + allOf: + - $ref: '#/components/schemas/OrganizationsConnectionBase' + - $ref: '#/components/schemas/OrganizationsConnectionSamlBase' + - $ref: '#/components/schemas/SamlConnectionRequestCore' + OidcConnectionRequestCore: + type: object + properties: + ConnectionType: + description: Type of the connection, which is OIDC in this case. + enum: + - oidc_custom + example: oidc_custom + type: string + OidcConnectionRequest: + title: OIDCConnectionRequest + allOf: + - $ref: '#/components/schemas/OrganizationsConnectionBase' + - $ref: '#/components/schemas/OidcConnectionRequestCore' + - $ref: '#/components/schemas/OidcConnectionBase' + OrganizationConnectionCreateRequest: + oneOf: + - title: SAMLConnectionCreateRequest + allOf: + - $ref: '#/components/schemas/SamlConnectionRequest' + - type: object + required: + - Name + - ConnectionType + - Domain + - title: OIDCConnectionCreateRequest + allOf: + - $ref: '#/components/schemas/OidcConnectionRequest' + - type: object + required: + - Name + - ConnectionType + - Domain + OrganizationConnectionRequest: + oneOf: + - $ref: '#/components/schemas/SamlConnectionRequest' + - $ref: '#/components/schemas/OidcConnectionRequest' + ConnectionStatusRequest: + properties: + Active: + type: boolean + description: Indicates whether the connection is active. + type: object + ConnectionStatusResponse: + properties: + IsActive: + type: boolean + description: Indicates whether the connection is active. + type: object + Permissions: + type: object + properties: + Id: + type: string + description: The unique identifier for the Permission + example: perm_2enk23n3 + Name: + type: string + description: The name of the Permission + example: read:users + Description: + type: string + description: The description of the Permission + example: Read users data + ResourceId: + type: string + description: The identifier of the Auth Server API resource this permission belongs to. Only present if the permission is associated with a resource. + example: 507f1f77bcf86cd799439011 + CreatedDate: + type: string + format: date-time + description: The date the Permission was created + example: '2025-02-18T12:18:38.270Z' + ModifiedDate: + type: string + format: date-time + description: The date the Permission was last modified + example: '2025-02-18T12:19:12.255Z' + PermissionsPostRequest: + type: object + required: + - Name + properties: + Name: + type: string + description: The name of the Permission + example: read:users + Description: + type: string + description: The description of the Permission + example: Read users data + ResourceId: + type: string + description: The hex ID of the Auth Server API resource to associate this permission with. + example: 507f1f77bcf86cd799439011 + PermissionPutRequest: + type: object + required: + - Name + - Description + properties: + Name: + type: string + description: The name of the Permission. For non-B2B apps, the name cannot be modified and must match the existing permission name. + example: read:users + Description: + type: string + description: The description of the Permission + example: Read users data + ResourceId: + type: string + description: The hex ID of the Auth Server API resource to associate this permission with. + example: 507f1f77bcf86cd799439011 + Permission: + type: object + properties: + ID: + type: string + description: Permission ID + example: perm_2enk23n3 + Name: + type: string + description: Permission Name + example: read:users + Description: + type: string + description: Permission Description + example: Read users data + OriginalName: + type: string + description: Original (unnormalized) Permission Name + example: read:users + ResourceId: + type: string + description: The identifier of the Auth Server API resource this permission belongs to. Only present if the permission is associated with a resource. + example: 507f1f77bcf86cd799439011 + TenantRole: + type: object + properties: + Id: + type: string + description: Role ID + example: role_dsag432d + Name: + type: string + description: Role Name + example: Admin + Description: + type: string + description: Role Description + example: Admin Role + Level: + type: string + description: Role Level + example: tenant + OrgId: + type: string + description: Organization ID + example: '' + Permissions: + type: array + items: + $ref: '#/components/schemas/Permission' + CreatedDate: + type: string + format: date-time + description: Role Created Date + example: '2023-10-01T00:00:00Z' + ModifiedDate: + type: string + format: date-time + description: Role Modified Date + example: '2023-10-01T00:00:00Z' + RolePostRequest: + type: object + required: + - Name + properties: + Name: + type: string + description: Role Name + example: Admin + Description: + type: string + description: Role Description + example: Admin Role + Permissions: + type: array + items: + type: string + description: A Permission granted to the Role, e.g., 'perm_23hi32n', 'perm_238snu2'. + example: perm_23hi32n + Role: + type: object + properties: + Id: + type: string + description: Role ID + example: role_dsag432d + Name: + type: string + description: Role Name + example: Admin + Description: + type: string + description: Role Description + example: Admin Role + Level: + type: string + description: Role Level + example: org + OrgId: + type: string + description: Organization ID + example: org_fasf432d + OriginalName: + type: string + description: Original (unnormalized) Role Name + example: Admin + Permissions: + type: array + items: + $ref: '#/components/schemas/Permission' + CreatedDate: + type: string + format: date-time + description: Role Created Date + example: '2023-10-01T00:00:00Z' + ModifiedDate: + type: string + format: date-time + description: Role Modified Date + example: '2023-10-01T00:00:00Z' + RolesPutRequest: + type: object + required: + - Name + - Description + - Permissions + properties: + Name: + type: string + description: Role Name + example: Admin + Description: + type: string + description: Role Description + example: Admin Role + Permissions: + type: array + items: + type: string + description: A Permission granted to the Role, e.g., 'perm_23hi32n', 'perm_238snu2'. + example: perm_23hi32n + DefaultResponse: + type: object + properties: + IsDefault: + type: boolean + description: Indicates if the Role is set as default + UserRole: + type: object + properties: + Id: + type: string + description: Unique identifier of the User Role. + example: user_role_ru43jd3 + Uid: + type: string + description: Unique identifier of the User. + example: '123456789' + RoleId: + type: string + description: Unique identifier of the Role. + example: Role_dsag432d + OrgId: + type: string + description: Unique identifier of the organization. + example: org_fasf432d + Email: + type: string + format: email + description: Email address of the User. + example: defaultuser@email.com + CreatedDate: + type: string + format: date-time + description: Date and time when the User Role was created. + example: '2023-10-01T00:00:00Z' + UserRolePutRequest: + type: object + required: + - RoleIds + properties: + RoleIds: + type: array + items: + type: string + description: Unique identifier of the Role. + example: + - role_dsag432d + - role_abc123 + Technology: + type: string + description: The technologies provided by LR + enum: + - android + - ios + - phonegap + - ionic + - xamarin + - reactnative + example: android + SottList: + type: object + properties: + AuthenticityToken: + type: string + description: The authenticity token + example: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + Technology: + $ref: '#/components/schemas/Technology' + CreatedDate: + type: string + format: date-time + description: The date the SOTT was created + example: '2023-10-01T12:00:00Z' + DateRange: + type: string + description: The date range for the SOTT + example: '10' + IsEncoded: + type: boolean + description: Indicates if the SOTT is encoded + example: true + Comment: + type: string + description: Additional comments + example: This is a test comment + SottGenerate: + type: object + properties: + ExpiresInMinutes: + type: integer + format: int32 + description: The number of minutes until the SOTT expires. + example: 30 + Encoded: + type: boolean + description: Indicates whether the SOTT should be encoded. + example: true + Comment: + type: string + description: A comment associated with the SOTT. + example: This is a test comment. + required: + - ExpiresInMinutes + SottGenerateTechnologyCore: + type: object + properties: + Technology: + $ref: '#/components/schemas/Technology' + required: + - Technology + SottGenerateTechnology: + type: object + allOf: + - $ref: '#/components/schemas/SottGenerate' + - $ref: '#/components/schemas/SottGenerateTechnologyCore' + SottResponse: + type: object + properties: + AuthenticityToken: + type: string + description: The authenticity token + Technology: + $ref: '#/components/schemas/Technology' + Sott: + type: string + description: The SOTT (Secure One Time Token) + Comment: + type: string + description: Additional comments + CreatedDate: + type: string + format: date-time + description: The date the SOTT was created + DateRange: + type: string + description: The date range for the SOTT + IsEncoded: + type: boolean + description: Indicates if the SOTT is encoded + WorkflowConfigWithoutData: + type: object + properties: + Id: + type: string + example: '12345' + Name: + type: string + example: Profile Theme Alpha + ThemeName: + type: string + example: DarkMode + Description: + type: string + example: A modern dark theme for User profiles + State: + type: string + example: active + AddWorkflowConfig: + type: object + required: + - Name + - Data + properties: + Name: + type: string + ThemeName: + type: string + Description: + type: string + Data: + type: object + State: + type: string + enum: + - ACTIVE + - DEBUG + - ARCHIVE + WorkflowConfig: + type: object + properties: + Id: + type: string + WorkflowName: + type: string + ThemeName: + type: string + Description: + type: string + Data: + type: object + State: + type: string + UpdateWorkflowConfig: + type: object + properties: + Name: + type: string + ThemeName: + type: string + Description: + type: string + Data: + type: object + State: + type: string + enum: + - ACTIVE + - DEBUG + - ARCHIVE + VersionListResponse: + type: object + properties: + Data: + type: array + items: + type: object + properties: + versionId: + type: string + description: The version ID of the workflow. + example: v1.0.0 + createdDate: + type: string + format: date-time + description: The creation date of the workflow version. + example: '2024-06-17T12:34:56Z' + WorkflowData: + type: object + properties: + tree: + type: object + properties: + entryNodeId: + type: string + description: The entry node ID of the tree. + example: start + nodes: + type: object + additionalProperties: + type: object + properties: + id: + type: string + example: node1 + type: + type: string + example: decision + connections: + type: array + items: + type: object + additionalProperties: + type: string + nodes: + type: object + additionalProperties: + type: object + properties: + id: + type: string + example: node1 + type: + type: string + example: action + nodes: + type: array + items: + type: object + properties: + id: + type: string + example: child1 + UID: + type: string + example: UID123 + type: + type: string + example: child + childType: + type: string + example: form + data: + type: object + formnodeprops: + type: object + nullable: true + properties: + choiceFieldType: + type: string + example: single + choices: + type: array + items: + type: object + properties: + value: + type: string + example: option1 + text: + type: string + example: Option 1 + attributeMapping: + type: string + example: attr1 + defaultChoice: + type: string + example: option1 + output: + type: array + items: + type: object + data: + type: object + selected: + type: boolean + example: false + innerNodes: + type: object + additionalProperties: + type: object + properties: + id: + type: string + example: inner1 + UID: + type: string + example: UID456 + type: + type: string + example: inner + childType: + type: string + example: form + data: + type: object + formnodeprops: + type: object + nullable: true + properties: + choiceFieldType: + type: string + example: multiple + choices: + type: array + items: + type: object + properties: + value: + type: string + example: option2 + text: + type: string + example: Option 2 + attributeMapping: + type: string + example: attr2 + defaultChoice: + type: string + example: option2 + policies: + type: object + additionalProperties: + type: array + items: + type: object + versionId: + type: string + description: The version ID of the workflow. + example: v1.0.0 + createdDate: + type: string + format: date-time + description: The creation date of the workflow version. + example: '2024-06-17T12:34:56Z' + description: + type: string + description: Description of the workflow version. + example: Initial version of the workflow + BasicAuthWebhook: + type: object + properties: + Username: + type: string + description: The Username for basic authentication + example: admin + Password: + type: string + nullable: true + description: The Password for basic authentication + example: password123 + Bearertoken: + type: object + properties: + Token: + type: string + nullable: true + description: The bearer token for authentication + example: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + WebhookAuthentication: + type: object + properties: + AuthType: + type: string + description: The type of authentication used for the webhook + enum: + - Basic + - Bearer + example: Basic + BasicAuth: + $ref: '#/components/schemas/BasicAuthWebhook' + BearerToken: + $ref: '#/components/schemas/Bearertoken' + WebhookSubscription: + type: object + properties: + Id: + type: string + description: The unique identifier for the webhook subscription + example: wh_001 + TargetUrl: + type: string + description: The target URL for the webhook + example: https://example.com/webhook + Event: + type: string + description: The event that triggers the webhook + example: Login + CreatedDate: + type: string + format: date-time + description: The date when the webhook subscription was created + example: '2025-04-08T12:00:00Z' + LastModifiedDate: + type: string + format: date-time + description: The date when the webhook subscription was last modified + example: '2025-04-08T12:30:00Z' + SecretName: + type: string + description: The name of the secret used for the webhook + example: webhook-secret + Name: + type: string + description: The name of the webhook subscription + example: TestSecret + IsIntegrationWebhook: + type: boolean + description: Indicates if the webhook is an integration webhook + example: true + Headers: + type: object + additionalProperties: + type: string + description: The headers to be included in the webhook request + example: + X-Custom-Header: CustomValue + Authorization: Bearer abc123 + QueryParams: + type: object + additionalProperties: + type: string + description: The query parameters to be included in the webhook request + example: + token: xyz987 + mode: sync + Authentication: + $ref: '#/components/schemas/WebhookAuthentication' + WebhookSubscriptionResponse: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/WebhookSubscription' + WebhookSubscriptionCreateModel: + type: object + properties: + Event: + type: string + description: The event that triggers the webhook + enum: + - Login + - Register + - UpdateProfile + - ResetPassword + - ChangePassword + - EmailVerification + - AddEmail + - RemoveEmail + - BlockAccount + - DeleteAccount + - SetUsername + - AssignRoles + - UnassignRoles + - SetPassword + - LinkAccount + - UnlinkAccount + - UpdatePhoneId + - VerifyPhoneNumber + - InvalidateEmailVerification + - RemoveRoleContext + - CreateCustomObject + - UpdateCustomObject + - DeleteCustomObject + - InvalidatePhoneVerification + - RemovePhoneId + - ConsentProfileUpdate + - SetPIN + - ResetPIN + - ChangePIN + TargetUrl: + type: string + description: The target URL for the webhook + Name: + type: string + description: The name of the webhook subscription + SecretName: + type: string + description: The name of the secret used for the webhook + CustomObjects: + type: string + description: Custom Objects associated with the webhook + Headers: + type: object + additionalProperties: + type: string + description: The headers to be included in the webhook request + QueryParams: + type: object + additionalProperties: + type: string + description: The query parameters to be included in the webhook request + Authentication: + $ref: '#/components/schemas/WebhookAuthentication' + required: + - Event + - TargetUrl + WebhookSubscriptionUpdateModel: + type: object + properties: + TargetUrl: + type: string + description: The target URL for the webhook + Name: + type: string + nullable: true + description: The name of the webhook subscription + SecretName: + type: string + description: The name of the secret used for the webhook + CustomObjects: + type: string + description: Custom Objects associated with the webhook + Headers: + type: object + additionalProperties: + type: string + description: The headers to be included in the webhook request + QueryParams: + type: object + additionalProperties: + type: string + description: The query parameters to be included in the webhook request + Authentication: + $ref: '#/components/schemas/WebhookAuthentication' + required: + - TargetUrl + WebhookEvents: + type: string + enum: + - Login + - Register + - UpdateProfile + - ResetPassword + - ChangePassword + - EmailVerification + - AddEmail + - RemoveEmail + - BlockAccount + - DeleteAccount + - SetUsername + - AssignRoles + - UnassignRoles + - SetPassword + - LinkAccount + - UnlinkAccount + - UpdatePhoneId + - VerifyPhoneNumber + - InvalidateEmailVerification + - RemoveRoleContext + - CreateCustomObject + - UpdateCustomObject + - DeleteCustomObject + - InvalidatePhoneVerification + - RemovePhoneId + - ConsentProfileUpdate + - SetPIN + - ResetPIN + - ChangePIN + - OrgCreated + - OrgUpdated + - OrgDeleted + - OrgRoleCreated + - OrgRoleUpdated + - OrgRoleDeleted + - OrgConnectionCreated + - OrgConnectionUpdated + - OrgConnectionDeleted + - OrgMembershipCreated + - OrgMembershipUpdated + - OrgMembershipDeleted + - OrgInvitationCreated + SmsTemplate: + type: object + required: + - SmsTemplateType + - Name + - Template + properties: + SmsTemplateType: + type: string + description: The type of the SMS template. + enum: + - verification + - forgotpassword + - welcome + - changephoneno + - onetimepasscode + - secondfactorauthentication + - noregistrationpasswordlesslogin + - resetpassword + - suspicious_ip_sms_to_user + - suspicious_city_sms_to_user + - suspicious_country_sms_to_user + - suspicious_browser_sms_to_user + - suspicious_device_sms_to_user + - forgotpin + - deleteuser + - breached_password + example: verification + Name: + type: string + description: The name of the SMS template. + example: Welcome Message + Template: + type: string + description: The content of the SMS template. + example: Welcome to our service, {{username}}! + IsDefault: + type: boolean + description: Set to true to mark this template as the default for its SmsTemplateType. + default: false + UpdateSmsTemplateModel: + type: object + properties: + Name: + type: string + description: The name of the SMS template. + example: Updated Message + Template: + type: string + description: The updated template content. + example: Hello, {{username}}! We're glad to have you. + IsActive: + type: boolean + description: Indicates if the template is active. + example: true + IsDefault: + type: boolean + description: Set to true to mark this template as the default for its SmsTemplateType. + example: false + DeleteSmsTemplateModel: + type: object + required: + - Name + properties: + Name: + type: string + description: The name of the SMS template to delete. + example: Welcome Message + PassKeyConfig: + type: object + properties: + IsEnabled: + type: boolean + description: Whether PassKey is enabled. + example: true + PasskeySelection: + type: string + enum: + - AutoFill + - Button + - Both + description: The type of PassKey selection. + example: Both + ProgressiveEnrollment: + type: boolean + description: Whether progressive enrollment is enabled. + example: true + ProgressiveEnrollmentDelay: + type: integer + description: Delay in minutes for progressive enrollment. + example: 5 + LocalEnrollment: + type: boolean + description: Whether local enrollment is enabled. + example: true + RPDisplayName: + type: string + description: Display name for the relying party. + example: Acme Corporation + RPID: + type: string + description: ID for the relying party. + example: acme.com + RPOrigins: + type: array + items: + type: string + description: List of allowed origins for the relying party. + example: + - https://login.acme.com + - https://auth.acme.com + Attestation: + type: string + enum: + - none + - indirect + - direct + description: The type of PassKey Attestation flow. + example: indirect + required: + - IsEnabled + - PasskeySelection + - LocalEnrollment + - RPDisplayName + - RPID + - RPOrigins + AWSPushConfig: + type: object + properties: + AccessKeyId: + type: string + description: AWS access key ID. + example: AKIAIOSFODNN7EXAMPLE + SecretAccessKey: + type: string + description: AWS secret access key. + example: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY + Region: + type: string + description: AWS region. + example: us-west-2 + AndroidPushConfig: + type: object + properties: + Enabled: + type: boolean + description: Indicates if Android Push Notifications are enabled. + example: true + PlatformARN: + type: string + description: The platform ARN for Android Push Notifications. + example: arn:aws:sns:us-east-1:123456789012:app/GCM/MyApp + PlaystoreUrl: + type: string + description: The URL to the app in the Google Play Store. + example: https://play.google.com/store/apps/details?id=com.example.app + ServiceJson: + type: string + description: JSON string for Android Push Notification service. + example: '{}' + IOSPushConfig: + type: object + properties: + Enabled: + type: boolean + description: Indicates if iOS Push Notifications are enabled. + example: true + AppstoreUrl: + type: string + description: The URL to the app in the Apple App Store. + example: https://apps.apple.com/app/id123456789 + PlatformARN: + type: string + description: The platform ARN for iOS Push Notifications. + example: arn:aws:sns:us-east-1:123456789012:app/APNS/myapp + BundleId: + type: string + description: The bundle ID of the iOS app. + example: com.example.myapp + ApnsCertificate: + type: string + description: The APNs certificate. + example: | + -----BEGIN CERTIFICATE----- + MIID... + -----END CERTIFICATE----- + Environment: + type: string + enum: + - Sandbox + - Production + description: The environment for APNs (e.g., sandbox, production). + example: Sandbox + PushAuthenticator: + type: object + properties: + IsEnabled: + type: boolean + description: Indicates if push authentication is enabled. + NotificationService: + type: string + enum: + - AWS + - Native + description: The type of notification service (e.g., AWS, Native). + CustomAppName: + type: string + description: Custom application name if applicable. + QRCodeWidth: + type: integer + description: The width of the QR code for push authentication. + Message: + type: string + description: Custom message for Push Notifications. + AWSsettings: + $ref: '#/components/schemas/AWSPushConfig' + AndroidSettings: + $ref: '#/components/schemas/AndroidPushConfig' + IOSsettings: + $ref: '#/components/schemas/IOSPushConfig' + SecurityQuestion: + type: object + properties: + QuestionId: + type: string + description: Unique identifier of the security question. + example: 1234567890abcdef1234567890abcdef + Question: + type: string + description: The security question text. + example: What is your mother's maiden name? + SecurityQuestionInput: + type: object + properties: + question: + type: string + description: The security question text. + example: What is your favorite color? + required: + - question + SecurityQuestionsRender: + type: object + properties: + RenderQuestionCount: + type: integer + minimum: 1 + maximum: 10 + description: The number of security questions to render. + required: + - RenderQuestionCount + DomainAccessRestrictions: + type: object + properties: + Allowlist: + type: array + items: + type: string + description: List of allowed domains/emails + Blocklist: + type: array + items: + type: string + description: List of blocked domains/emails + example: + Allowlist: + - email@example.com + - example.org + Blocklist: + - email@spam.com + - malware.org + EmailTemplateResponse: + type: object + properties: + TemplateType: + type: string + description: The type of the Email template + example: welcome + TemplateName: + type: string + description: The name of the Email template + example: Welcome Email + Template: + type: string + example: Welcome to our service! We are glad to have you. + Subject: + type: string + description: The subject of the Email template + example: Welcome to our service! + IsActive: + type: boolean + description: Indicates if the Email template is active + example: true + IsDefault: + type: boolean + description: Indicates if this is the default Email template for the given TemplateType + example: false + TextTemplate: + type: string + description: The text version of the Email template + example: Welcome to our service! We are glad to have you. + FromName: + type: string + description: The name of the sender + example: Support Team + FromEmail: + type: string + description: The Email address of the sender + example: test@gmail.com + EmailConfigId: + type: string + description: Email configuration ID for sending this template. + example: 123e4567-e89b-12d3-a456-426614174000 + VerificationTokenType: + type: string + description: The Email Verification token type for the template. + enum: + - MagicLink + - Otp + example: Otp + EmailTemplateModel: + type: object + properties: + TemplateType: + type: string + description: The type of the Email template + enum: + - registration + - forgotpassword + - forgotprovider + - deleteaccount + - add_email + - welcome + - oneclicksignin + - autologin + - noregistrationpasswordlesslogin + - resetpassword + - suspicious_ip_email_to_user + - suspicious_city_email_to_user + - suspicious_country_email_to_user + - suspicious_browser_email_to_user + - risk_identified_to_admin + - forgotpin + - secondfactorauthentication + - invite_user_to_organization + - suspicious_device_email_to_user + - breached_password + - admin_notification_breached_password + - add_passkey + - delete_passkey + - forget_passkey + TemplateName: + type: string + description: The name of the Email template + Template: + type: string + description: The content of the Email template + Subject: + type: string + description: The subject of the Email template + TextTemplate: + type: string + description: The text version of the Email template + FromName: + type: string + description: The name of the sender + FromEmail: + type: string + description: The Email address of the sender + EmailConfigId: + type: string + description: Email configuration ID for sending this template. + IsDefault: + type: boolean + description: Set to true to mark this template as the default for its TemplateType. + default: false + VerificationTokenType: + type: string + enum: + - MagicLink + - Otp + description: | + The Email Verification token type for the template. This will be set only for 'registration','forgotpassword','deleteaccount','add_email','oneclicksignin', 'autologin','noregistrationpasswordlesslogin','forgotpin','breached_password' and 'forget_passkey' templates. + required: + - TemplateType + - Template + - Subject + UpdateEmailTemplate: + type: object + properties: + TemplateName: + type: string + description: The name of the Email template + Template: + type: string + description: The content of the Email template + Subject: + type: string + description: The subject of the Email template + TextTemplate: + type: string + description: The text version of the Email template + FromName: + type: string + description: The name of the sender + FromEmail: + type: string + description: The Email address of the sender + EmailConfigId: + type: string + description: Email configuration ID for sending this template. + IsDefault: + type: boolean + description: Set to true to mark this template as the default for its TemplateType. + default: false + VerificationTokenType: + type: string + enum: + - MagicLink + - Otp + description: | + The Email Verification token type for the template. This will be set only for 'registration','forgotpassword','deleteaccount','add_email','oneclicksignin', 'autologin','noregistrationpasswordlesslogin','forgotpin','breached_password' and 'forget_passkey' templates. + required: + - Template + - Subject + DeleteEmailTemplate: + type: object + properties: + TemplateName: + type: string + description: The name of the template + required: + - TemplateName + AppleSecretConfiguration: + type: object + properties: + Certificate: + type: string + description: Certificate for Apple configuration + example: | + -----BEGIN CERTIFICATE----- + MIIDXTCCAkWgAwIBAgIJAL5v1Z3k5Y2mMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV + ... + -----END CERTIFICATE----- + KeyIdentifier: + type: string + description: Key identifier for Apple configuration + example: ABCDEFGHIJ + ServiceId: + type: string + description: Service ID for Apple configuration + example: com.example.app + BundleId: + type: string + description: Bundle ID for Apple configuration + example: com.example.app + TeamId: + type: string + description: Team ID for Apple configuration + example: ABCDEFGHIJ + ProviderConfigOptions: + type: object + properties: + Provider: + type: string + description: The name of the provider. + example: FACEBOOK + Key: + type: string + description: The key for the provider. + example: exampleKey + Secret: + type: string + description: The secret for the provider. + example: exampleSecret + ExtraField1: + type: string + description: An extra field for additional information. + example: exampleId + nullable: true + ExtraField2: + type: string + description: Another extra field for additional information. + nullable: true + example: example.html + IsActive: + type: boolean + description: The status of the provider. + example: true + AppleSecretConfiguration: + $ref: '#/components/schemas/AppleSecretConfiguration' + example: + Provider: ExampleProvider + Key: exampleKey + Secret: exampleSecret + ExtraField1: exampleId + ExtraField2: example.html + IsActive: true + AppleSecretConfiguration: + Certificate: Certificate + KeyIdentifier: KeyIdentifier + ServiceId: ServiceId + BundleId: BundleId + TeamId: TeamId + ProviderStatusModel: + type: object + properties: + ProviderName: + type: string + description: Name of the provider + example: FACEBOOK + IsActive: + type: boolean + description: Status of the provider + example: true + required: + - ProviderName + - IsActive + example: + ProviderName: ExampleProvider + IsActive: true + ProviderStatusList: + type: object + properties: + Data: + type: array + items: + $ref: '#/components/schemas/ProviderStatusModel' + description: List of provider statuses + example: + Data: + - ProviderName: ExampleProvider1 + IsActive: true + - ProviderName: ExampleProvider2 + IsActive: false + Provider: + type: object + properties: + ProviderName: + type: string + description: Name of the provider + example: ExampleProvider + IsActive: + type: boolean + description: Status of the provider + example: true + example: + ProviderName: ExampleProvider + IsActive: true + AppProvider: + type: object + properties: + IsActive: + type: boolean + description: Indicates whether the provider is active. + example: true + Key: + type: string + description: The key for the provider application. + example: exampleKey + Secret: + type: string + description: The secret for the provider application. + example: exampleSecret + ExtraField1: + type: string + description: An extra field for additional configuration. + example: extraValue1 + ExtraField2: + type: string + description: Another extra field for additional configuration. + example: extraValue2 + AppleSecretConfiguration: + $ref: '#/components/schemas/AppleSecretConfiguration' + MFASettings: + type: object + properties: + IsSecondFactorAuthenticatorEnabled: + type: boolean + description: Indicates if the second factor authenticator is enabled + IsRequired: + type: boolean + description: Indicates if MFA is required + IsAuthenticatorEnabled: + type: boolean + description: Indicates if TOTP Authenticator is enabled + IsEmailOtpAuthenticatorEnabled: + type: boolean + description: Indicates if Email OTP Authenticator is enabled + IsSmsOtpAuthenticatorEnabled: + type: boolean + description: Indicates if SMS OTP Authenticator is enabled + IsSecurityQuestionAsMFAEnabled: + type: boolean + description: Indicates if Security Question as MFA is enabled + MinimumSecurityQuestionsToAsk: + type: integer + description: Minimum number of security questions to ask + IsPushAuthenticatorEnabled: + type: boolean + description: Indicates if Push Authenticator is enabled + IsDuoAuthenticatorEnabled: + type: boolean + description: Indicates if Duo Authenticator is enabled + IsPasskeyMFAEnabled: + type: boolean + description: Indicates if Passkey MFA is enabled + GoogleAuthenticator: + type: object + properties: + IsEnabled: + type: boolean + description: Indicates if TOTP Authenticator is enabled + QRCodeWidth: + type: integer + description: Width of the QR code + minimum: 1 + maximum: 400 + IssuerId: + type: string + description: Issuer ID for TOTP Authenticator + AccountSecretKey: + type: string + description: Account secret key for TOTP Authenticator + required: + - IssuerId + DuoSecurityAuthenticator: + type: object + properties: + IsEnabled: + type: boolean + description: Indicates if Duo Security is enabled + ClientId: + type: string + description: The client ID for Duo Security + ClientSecret: + type: string + description: The client secret for Duo Security + APIHost: + type: string + description: The API host for Duo Security + CaptchaKeys: + type: object + properties: + PublicKey: + type: string + nullable: true + example: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + PrivateKey: + type: string + nullable: true + example: 1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef + GoogleRecaptchaV3Core: + type: object + properties: + Threshold: + type: number + format: float + nullable: true + example: 0.5 + GoogleRecaptchaV3: + type: object + allOf: + - $ref: '#/components/schemas/CaptchaKeys' + - $ref: '#/components/schemas/GoogleRecaptchaV3Core' + HCaptchaCore: + type: object + properties: + Threshold: + type: number + format: float + nullable: true + example: 0.5 + IsInvisibleCaptcha: + type: boolean + example: true + IsDarkTheme: + type: boolean + example: false + HCaptcha: + type: object + allOf: + - $ref: '#/components/schemas/CaptchaKeys' + - $ref: '#/components/schemas/HCaptchaCore' + CaptchaConfig: + type: object + properties: + IsEnabled: + type: boolean + nullable: true + QQTencentCaptcha: + $ref: '#/components/schemas/CaptchaKeys' + GoogleRecaptchaV2: + $ref: '#/components/schemas/CaptchaKeys' + GoogleRecaptchaV3: + $ref: '#/components/schemas/GoogleRecaptchaV3' + HCaptcha: + $ref: '#/components/schemas/HCaptcha' + EnabledCaptcha: + type: string + nullable: true + description: | + The enabled captcha type. Must pass the EnabledCaptchaValidation. + IPAccessRestrictions: + type: object + properties: + AllowedIPs: + type: array + items: + type: string + description: List of allowed IP addresses + DeniedIPs: + type: array + items: + type: string + description: List of blocked IP addresses + JwtIntegrationBaseModel: + properties: + Algo: + enum: + - HS256 + - HS384 + - HS512 + - RS256 + - RS384 + - RS512 + - ES256 + - ES384 + - ES512 + type: string + example: HS256 + Secret: + type: string + example: f5d70720-1a95-4cff-a2c5-5fd25e115aab + MappingTemplate: + type: string + example: '{"email": "{{Email.0.Value}}"}' + Mapping: + additionalProperties: + type: string + type: object + Metadata: + additionalProperties: + type: string + type: object + Audience: + items: + type: string + type: array + example: + - aud1 + - aud2 + NotAfterDifference: + type: integer + example: 900 + NotBeforeDifference: + type: integer + example: 0 + QueryStringParameter: + type: string + example: id_token + ResponseMode: + enum: + - query + - fragment + - form_post + type: string + example: query + LoginUrl: + type: string + example: https://example.com + type: object + example: + Algo: HS256 + Audience: + - aud1 + - aud2 + LoginUrl: https://example.com + Mapping: + email: Email[0].Value + uid: Uid + Metadata: + orgId: '123456' + NotAfterDifference: 900 + NotBeforeDifference: 0 + QueryStringParameter: id_token + ResponseMode: query + Secret: f5d70720-1a95-4cff-a2c5-5fd25e115aab + JwtIntegrationResponseCore: + type: object + properties: + AppName: + type: string + example: jwtapp + example: + AppName: jwtapp + JwtIntegrationResponse: + allOf: + - $ref: '#/components/schemas/JwtIntegrationBaseModel' + - $ref: '#/components/schemas/JwtIntegrationResponseCore' + JwtIntegrationCreateCore: + type: object + properties: + AppName: + type: string + required: + - AppName + - Algo + - Secret + JwtIntegrationRequestCore: + type: object + properties: + AppName: + type: string + example: + AppName: jwtapp + JwtIntegrationRequest: + allOf: + - $ref: '#/components/schemas/JwtIntegrationBaseModel' + - $ref: '#/components/schemas/JwtIntegrationRequestCore' + SamlIntegrationResponse: + properties: + AfterLogoutUrl: + type: string + example: https://example.com/logout + AppName: + type: string + example: ExampleApp + ArtifactReceiver: + type: string + example: https://example.com/artifact-receiver + AssertionConsumerService: + properties: + Binding: + enum: + - urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST + - urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect + type: string + example: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST + Location: + type: string + example: https://example.com/acs + type: object + Attributes: + additionalProperties: + properties: + AlternativeMappingKey: + type: string + example: exampleKey + Format: + type: string + example: urn:oasis:names:tc:SAML:2.0:nameid-format:transient + IsStatic: + type: boolean + Value: + type: string + example: exampleValue + type: object + type: object + Audiences: + items: + type: string + type: array + example: + - https://example.com/audience1 + - https://example.com/audience2 + DefaultRequestBinding: + type: string + example: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST + IdpCertificate: + properties: + Certificate: + type: string + example: MIIC...example...certificate + Key: + type: string + example: MIIC...example...key + type: object + IsIdpInitiated: + type: boolean + example: true + IssuerUrl: + type: string + example: https://example.com/issuer + LoginUrl: + type: string + example: https://example.com/login + NameIdFormat: + type: string + example: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + NotOnOrAfter: + type: integer + example: 1609459200 + RelayStateParameter: + type: string + example: exampleRelayState + SamlVersion: + type: string + example: '2.0' + SpCertificate: + properties: + Certificate: + type: string + example: MIIC...example...spcertificate + type: object + SpLogoutUrl: + type: string + example: https://example.com/sp-logout + IsPrebuiltIntegration: + type: boolean + example: true + ReplyUrl: + type: string + example: https://example.com/reply + IntegrationType: + type: string + example: exampleType + IntegrationConfigs: + type: object + properties: + IdpSHA1Fingerprint: + type: string + example: exampleFingerprint + AccountName: + type: string + example: exampleAccount + type: object + example: + AfterLogoutUrl: https://example.com/logout + AppName: ExampleApp + ArtifactReceiver: https://example.com/artifact-receiver + AssertionConsumerService: + Binding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST + Location: https://example.com/acs + Attributes: + additionalProperties: + AlternativeMappingKey: exampleKey + Format: urn:oasis:names:tc:SAML:2.0:nameid-format:transient + IsStatic: true + Value: exampleValue + Audiences: + - https://example.com/audience1 + - https://example.com/audience2 + DefaultRequestBinding: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST + IdpCertificate: + Certificate: MIIC...example...certificate + Key: MIIC...example...key + IsIdpInitiated: true + IssuerUrl: https://example.com/issuer + LoginUrl: https://example.com/login + NameIdFormat: urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + NotOnOrAfter: 1609459200 + RelayStateParameter: exampleRelayState + SamlVersion: '2.0' + SpCertificate: + Certificate: MIIC...example...spcertificate + SpLogoutUrl: https://example.com/sp-logout + IsPrebuiltIntegration: true + ReplyUrl: https://example.com/reply + IntegrationType: exampleType + IntegrationConfigs: + IdpSHA1Fingerprint: exampleFingerprint + AccountName: exampleAccount + SamlIntegrationCreateCore: + type: object + properties: + AppName: + type: string + required: + - AppName + Certificates: + type: object + properties: + Certificate: + type: string + nullable: true + example: certificate + Key: + type: string + nullable: true + example: key + SamlIntegrationRequest: + properties: + AfterLogoutUrl: + type: string + AssertionConsumerService: + properties: + Binding: + enum: + - urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST + - urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect + type: string + example: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST + Location: + type: string + example: https://example.com/acs + type: object + Attributes: + additionalProperties: + properties: + AlternativeMappingKey: + type: string + example: exampleKey + Format: + type: string + example: urn:oasis:names:tc:SAML:2.0:nameid-format:transient + IsStatic: + type: boolean + Value: + type: string + example: exampleValue + type: object + type: object + Audiences: + items: + type: string + type: array + DefaultRequestBinding: + enum: + - urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST + - urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect + type: string + IsIdpInitiated: + type: boolean + IssuerUrl: + type: string + LoginUrl: + type: string + NameIdFormat: + enum: + - urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified + - urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress + - urn:oasis:names:tc:SAML:2.0:nameid-format:persistent + - urn:oasis:names:tc:SAML:2.0:nameid-format:transient + type: string + NotOnOrAfter: + type: integer + RelayStateParameter: + type: string + SpCertificate: + $ref: '#/components/schemas/Certificates' + SpLogoutUrl: + type: string + type: object + OAuthIntegrationBaseModel: + properties: + RedirectURIs: + type: array + items: + type: string + example: + - https://app.example.com/callback + AllowedScopes: + type: array + items: + type: string + enum: + - openid + - email + - phone + - profile + - address + example: + - openid + - email + GrantTypes: + type: array + description: Only authorization_code and refresh_token are permitted for OAuth integrations. + items: + type: string + enum: + - authorization_code + - refresh_token + example: + - authorization_code + - refresh_token + AccessTokenMappingTemplate: + type: string + example: '{"email": "{{Email.0.Value}}"}' + IdTokenMappingTemplate: + type: string + example: '{"sub": "{{Uid}}"}' + AccessTokenTTL: + type: integer + description: Access token lifetime in seconds. Defaults to 3600 when omitted. + default: 3600 + example: 3600 + IDTokenTTL: + type: integer + description: ID token lifetime in seconds. Defaults to 3600 when omitted. + default: 3600 + example: 3600 + RefreshTokenTTL: + type: integer + description: Refresh token lifetime in seconds. Defaults to 86400 when omitted. + default: 86400 + example: 86400 + EnablePKCE: + type: boolean + example: true + IsPrebuiltIntegration: + type: boolean + example: false + IntegrationType: + type: string + example: workday + TokenAuthMethod: + type: string + description: Token-endpoint client authentication method. Defaults to client_secret_post when omitted. + default: client_secret_post + enum: + - client_secret_basic + - client_secret_post + - client_secret_auto + - none + example: client_secret_post + DefaultWorkflow: + type: string + description: Name of the identity-orchestration workflow the authorize request falls back to when it carries no workflow parameter. Requires the IDENTITY_ORCHESTRATION feature; ignored when it is disabled. The workflow must already exist on the tenant, otherwise the request is rejected as an invalid integration configuration. Surrounding whitespace is trimmed; send an empty or blank string to clear it. + example: passwordless-signin + Connections: + type: object + description: Scopes which login methods this integration offers. A provider may only be listed here if it is already enabled on the app, otherwise the request is rejected as an invalid integration configuration. Omit to leave the stored value unchanged; send an empty array to clear a provider list. Setting Enabled to true without also sending a PasswordLessLogin block disables passwordless email and SMS login for this integration. + properties: + Enabled: + type: boolean + PasswordLessLogin: + type: object + properties: + Enabled: + type: boolean + Email: + type: boolean + SMS: + type: boolean + TraditionalLogin: + type: boolean + SocialLogins: + type: array + items: + type: object + properties: + IsEnabled: + type: boolean + ProviderName: + type: string + example: Google + CustomIdp: + type: array + items: + type: object + properties: + IsEnabled: + type: boolean + ProviderName: + type: string + example: jwt_custom + Enterprise: + type: array + items: + type: object + properties: + IsEnabled: + type: boolean + ProviderName: + type: string + example: saml_okta + type: object + OAuthIntegrationResponseCore: + type: object + properties: + Id: + type: string + description: The integration identifier. It is also the {oAuthApp} path segment of the runtime OAuth/OIDC endpoints, e.g. /api/oidc/{Id}/token. + example: 9f2c14b7a83d4e6bb0517c8e2d3a6f45 + DisplayName: + type: string + description: Customer-provided display label. Identification/display only. + example: workday-prod + ClientId: + type: string + description: System-generated, immutable client identifier. + example: 3b1e4f9c-2a7d-4c58-9e10-8f6b2d5a1c34 + ClientSecret: + type: string + description: Plaintext client secret. Returned only once, in the create response (and the rotate-credentials response). It is never returned on read operations — only the hash is stored server-side. + example: 8Jd2f9AqL0xR7bTnU3vY1wZ5cP6eK4hM + example: + Id: 9f2c14b7a83d4e6bb0517c8e2d3a6f45 + DisplayName: workday-prod + ClientId: 3b1e4f9c-2a7d-4c58-9e10-8f6b2d5a1c34 + ClientSecret: 8Jd2f9AqL0xR7bTnU3vY1wZ5cP6eK4hM + OAuthIntegrationResponse: + allOf: + - $ref: '#/components/schemas/OAuthIntegrationBaseModel' + - $ref: '#/components/schemas/OAuthIntegrationResponseCore' + OAuthIntegrationCreateCore: + type: object + properties: + DisplayName: + type: string + example: workday-prod + required: + - DisplayName + - RedirectURIs + - GrantTypes + OAuthIntegrationCredentialsResponse: + type: object + description: Client credentials returned after rotating an OAuth integration's secret. The plaintext ClientSecret is returned only once, in this response; only the hash is persisted server-side. + properties: + ClientId: + type: string + description: The integration's immutable client identifier (unchanged by rotation). + example: 3b1e4f9c-2a7d-4c58-9e10-8f6b2d5a1c34 + ClientSecret: + type: string + description: The newly generated plaintext client secret. Shown only once. + example: 8Jd2f9AqL0xR7bTnU3vY1wZ5cP6eK4hM + example: + ClientId: 3b1e4f9c-2a7d-4c58-9e10-8f6b2d5a1c34 + ClientSecret: 8Jd2f9AqL0xR7bTnU3vY1wZ5cP6eK4hM + JwtIssuerValidation: + type: object + properties: + ExpectedValue: + type: string + example: issuer + MatchValue: + type: boolean + example: true + IsMandatory: + type: boolean + example: true + JwtValidation: + type: object + properties: + IsMandatory: + type: boolean + example: true + JwtAudienceValidation: + type: object + properties: + ExpectedValues: + type: array + items: + type: string + example: + - aud1 + - aud2 + MatchValue: + type: boolean + example: true + IsMandatory: + type: boolean + example: true + JwtSpConfig: + type: object + properties: + Id: + type: string + format: objectId + example: 507f1f77bcf86cd799439011 + IsActive: + type: boolean + example: true + AppId: + type: integer + example: 123 + AppName: + type: string + example: MyApp + Algo: + type: string + example: HS256 + Mapping: + type: object + additionalProperties: + type: string + example: + key1: value1 + key2: value2 + Key: + type: string + nullable: true + example: my-secret-key + TokenQueryParameterName: + type: string + example: token + ClockSkew: + type: integer + example: 300 + LoginUrl: + type: string + example: https://example.com/login + Issuer: + $ref: '#/components/schemas/JwtIssuerValidation' + Subject: + $ref: '#/components/schemas/JwtValidation' + Audience: + $ref: '#/components/schemas/JwtAudienceValidation' + ExpirationTimeDifference: + type: integer + example: 3600 + UseAuthorizationHeader: + type: boolean + example: true + NotBefore: + $ref: '#/components/schemas/JwtValidation' + Expiration: + $ref: '#/components/schemas/JwtValidation' + JWKSUrl: + type: string + nullable: true + example: https://example.com/.well-known/jwks.json + UpdateEmailProfile: + type: boolean + example: true + RaasUpdateFields: + type: array + items: + type: string + example: + - field1 + - field2 + Domain: + type: string + nullable: true + example: example.com + EnableAutoLookUp: + type: boolean + nullable: true + example: true + Version: + type: string + nullable: true + example: v1 + ListInInterface: + type: boolean + example: true + CreatedDate: + type: string + format: date-time + example: '2023-01-01T00:00:00Z' + LastModifiedDate: + type: string + format: date-time + example: '2023-01-02T00:00:00Z' + JwtSpConfigCreateCore: + type: object + properties: + AppName: + type: string + example: MyApp + required: + - AppName + - Algo + - Mapping + JwtClaimSubjectProperty: + type: object + properties: + ExpectedValue: + type: string + nullable: true + example: expected-value + MatchValue: + type: boolean + nullable: true + example: true + IsMandatory: + type: boolean + nullable: true + example: true + JwtClaimMandatory: + type: object + properties: + IsMandatory: + type: boolean + nullable: true + example: true + JwtClaimAudienceProperty: + type: object + properties: + ExpectedValues: + type: array + items: + type: string + example: + - aud1 + - aud2 + MatchValue: + type: boolean + nullable: true + example: true + IsMandatory: + type: boolean + nullable: true + example: true + JwtSpConfigBaseModel: + type: object + properties: + Algo: + type: string + nullable: true + example: HS256 + Mapping: + type: object + additionalProperties: + type: string + example: + key1: value1 + key2: value2 + Key: + type: string + nullable: true + example: my-secret-key + TokenQueryParameterName: + type: string + nullable: true + example: token + ClockSkew: + type: integer + nullable: true + example: 300 + LoginUrl: + type: string + nullable: true + example: https://example.com/login + Issuer: + $ref: '#/components/schemas/JwtClaimSubjectProperty' + Subject: + $ref: '#/components/schemas/JwtClaimMandatory' + Audience: + $ref: '#/components/schemas/JwtClaimAudienceProperty' + ExpirationTimeDifference: + type: integer + nullable: true + example: 3600 + UseAuthorizationHeader: + type: boolean + nullable: true + example: true + NotBefore: + $ref: '#/components/schemas/JwtClaimMandatory' + Expiration: + $ref: '#/components/schemas/JwtClaimMandatory' + JWKSUrl: + type: string + nullable: true + example: https://example.com/.well-known/jwks.json + UpdateEmailProfile: + type: boolean + nullable: true + example: true + RaasUpdateFields: + type: array + items: + type: string + example: + - field1 + - field2 + Domain: + type: string + nullable: true + example: example.com + EnableAutoLookUp: + type: boolean + nullable: true + example: true + ListInInterface: + type: boolean + nullable: true + example: true + CertificateWithoutKey: + type: object + properties: + Certificate: + type: string + nullable: true + example: certificate + IdentityProvider: + type: object + properties: + Binding: + type: string + nullable: true + example: binding + Location: + type: string + nullable: true + example: location + LogOut: + type: string + nullable: true + example: logout + SamlSpConfig: + type: object + properties: + Id: + type: string + format: objectId + example: 507f1f77bcf86cd799439011 + IsActive: + type: boolean + example: true + IsDeleted: + type: boolean + example: false + IsIdpInitiated: + type: boolean + example: true + DataMap: + type: object + additionalProperties: + type: string + example: + key1: value1 + key2: value2 + AppId: + type: string + format: objectId + example: 507f1f77bcf86cd799439011 + AppID: + type: integer + example: 123 + RelayStateParameter: + type: string + example: relayState + Provider: + type: string + example: providerName + FriendlyProviderName: + type: string + example: Friendly Provider + DefaultLogoutUrl: + type: string + example: https://example.com/logout + ServiceProviderACSUrl: + type: string + example: https://example.com/acs + SamlServiceProvider: + type: string + nullable: true + example: SAML Service Provider + IdpCertificate: + $ref: '#/components/schemas/Certificates' + SpCertificate: + $ref: '#/components/schemas/CertificateWithoutKey' + IdentityProvider: + $ref: '#/components/schemas/IdentityProvider' + EnableAutoLookUp: + type: boolean + nullable: true + example: true + Domain: + type: string + nullable: true + example: example.com + ListInInterface: + type: boolean + example: true + CreatedDate: + type: string + format: date-time + example: '2023-01-01T00:00:00Z' + LastModifiedDate: + type: string + format: date-time + example: '2023-01-02T00:00:00Z' + SamlSpConfigModel: + type: object + properties: + Provider: + type: string + example: providerName + IsIdpInitiated: + type: boolean + nullable: true + example: true + DataMap: + type: object + additionalProperties: + type: string + example: + key1: value1 + key2: value2 + RelayStateParameter: + type: string + nullable: true + example: relayState + FriendlyProviderName: + type: string + nullable: true + example: Friendly Provider + IdpCertificate: + $ref: '#/components/schemas/Certificates' + IdentityProvider: + $ref: '#/components/schemas/IdentityProvider' + EnableAutoLookUp: + type: boolean + nullable: true + example: true + Domain: + type: string + nullable: true + example: example.com + ListInInterface: + type: boolean + nullable: true + example: true + SamlServiceProvider: + type: string + nullable: true + example: SAML Service Provider + required: + - Provider + - DataMap + SamlKeys: + type: array + items: + type: string + example: + - ID + - Provider + - FirstName + - MiddleName + - LastName + - FullName + - NickName + - ProfileName + - Gender + - Website + - Email + - Country + - ThumbnailImageUrl + - Favicon + - ProfileUrl + - HomeTown + - State + - Industry + - About + - LocalLanguage + - TagLine + - Language + - Verified + - UpdatedTime + - MainAddress + - Created + - LocalCity + - ProfileCity + - LocalCountry + - ProfileCountry + - RelationshipStatus + - Quote + - Religion + - Age + - Uid + - IsEmailSubscribed + - NoOfLogins + - BirthDate + - ImageUrl + - City + - TimeZone + - CoverPhoto + - Company + - PhoneId + RaasCustomField: + type: object + properties: + Key: + type: string + nullable: true + description: The key of the custom field. + example: custom_field_1 + Display: + type: string + nullable: true + description: The display name of the custom field. + example: Custom Field 1 + RaasOptions: + type: object + properties: + Value: + type: string + nullable: true + description: The value of the option. + example: option1 + Text: + type: string + nullable: true + description: The text of the option. + example: Option 1 + RaasConfigData: + type: object + properties: + Type: + type: string + description: The type of the configuration. + example: text + enum: + - text + - html + - password + - hidden + - option + - multi + - email + - string + Name: + type: string + description: The name of the configuration. + example: Configuration Name + Display: + type: string + description: The display name of the configuration. + example: Display Name + Rules: + type: string + description: The rules associated with the configuration. + example: Rules for the configuration + Options: + type: array + items: + $ref: '#/components/schemas/RaasOptions' + description: A list of options for the configuration. + Permission: + type: string + description: The permission required for the configuration. + example: Permission Name + Checked: + type: boolean + description: Indicates whether the configuration is checked. + example: true + Parent: + type: string + description: The parent field + example: Address + required: + - Type + - Name + - Permission + RaasConfig: + type: object + properties: + Type: + type: string + nullable: true + description: The type of the configuration. + example: email + Name: + type: string + nullable: true + description: The name of the configuration. + example: Email Id + Display: + type: string + nullable: true + description: The display name of the configuration. + example: Email ID + Rules: + type: string + nullable: true + description: The rules associated with the configuration. + example: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ + Permission: + type: string + nullable: true + description: The permission level required for the configuration. + example: r + Options: + type: array + items: + $ref: '#/components/schemas/RaasOptions' + description: The options available for the configuration. + Checked: + type: boolean + nullable: true + description: Indicates if the configuration is checked. + example: true + required: + - Type + - Name + - permission + RaasCustomFieldModel: + type: object + properties: + CustomField: + type: string + description: Name of the field you want to add as a custom field in the configuration. Must be alphanumeric with optional internal hyphens (-) or underscores (_), must start and end with an alphanumeric character, and cannot contain dots, spaces, or other special characters (max length 60). + minLength: 1 + maxLength: 60 + pattern: ^[A-Za-z0-9]([A-Za-z0-9_-]{0,58}[A-Za-z0-9])?$ + required: + - CustomField + CustomFieldLimitResponse: + type: object + properties: + CustomFieldLimit: + type: integer + description: The limit for custom fields. + OAuthClientResponse: + properties: + AllowedCorsOrigin: + items: + type: string + type: array + example: + - https://example.com + AllowedScopes: + items: + type: string + type: array + example: + - openid + - profile + - email + AllowedWebOrigin: + items: + type: string + type: array + example: + - https://example.com + AppId: + type: number + example: 123456 + AppName: + type: string + example: MyApp + AudienceScopes: + additionalProperties: + items: + type: string + type: array + example: + - openid + - profile + - email + type: object + BackChannelLogout: + nullable: true + properties: + IsEnabled: + type: boolean + example: true + LogoutInitiator: + properties: + Mode: + type: string + example: RPInitiated + Intiators: + type: object + properties: + RPLogout: + type: boolean + IDPLogout: + type: boolean + PasswordChange: + type: boolean + AccountDelete: + type: boolean + type: object + LogoutTokenTTL: + type: integer + example: 3600 + LogoutURIs: + items: + type: string + type: array + example: + - https://example.com/logout + type: object + ClientId: + format: uuid + type: string + example: 123e4567-e89b-12d3-a456-426614174000 + ClientSecret: + type: string + example: exampleSecret + ClientType: + type: string + enum: + - public + - confidential + example: confidential + Connections: + type: object + properties: + Enabled: + type: boolean + example: true + PasswordlessLogin: + type: object + properties: + Enabled: + type: boolean + Email: + type: boolean + SMS: + type: boolean + TraditionalLogin: + type: boolean + SocialLogins: + type: array + items: + type: object + properties: + IsEnabled: + type: boolean + ProviderName: + type: string + example: Google + CustomIdp: + type: array + items: + type: object + properties: + IsEnabled: + type: boolean + ProviderName: + type: string + example: Google + Enterprise: + type: array + items: + type: object + properties: + IsEnabled: + type: boolean + ProviderName: + type: string + example: Google + CreatedDate: + format: date-time + type: string + example: '2023-10-01T12:00:00Z' + Description: + type: string + example: Internal billing reconciliation cron + DeviceCodeConfig: + nullable: true + properties: + AfterVerificationUrl: + type: string + example: https://example.com/after-verification + DeviceCodeExpire: + type: integer + example: 300 + PollingInterval: + type: integer + example: 5 + UserCodeCharacterSet: + enum: + - Base20 + - Alpha + - Digits + - Alphanumeric + type: string + example: Base20 + UserCodeMask: + type: string + example: '6' + VerificationUrl: + type: string + example: https://example.com/verification + type: object + EnableCorsOrigin: + type: boolean + example: true + ForceReAuthentication: + type: boolean + example: true + GlobalClient: + type: boolean + example: true + GrantTypes: + items: + type: string + type: array + example: + - authorization_code + - client_credentials + IdTokenAudiences: + items: + type: string + example: + - example-audience + type: array + JwtTokenConfig: + nullable: true + properties: + Algorithm: + type: string + example: RS256 + IdTokenTTL: + type: integer + example: 3600 + TokenTTL: + type: integer + example: 3600 + type: object + LastModifiedDate: + format: date-time + nullable: true + type: string + example: '2023-10-01T12:00:00Z' + LoginUrl: + nullable: true + type: string + example: https://example.com/login + LoginRedirectUri: + items: + type: string + type: array + example: + - https://example.com/login + LogoutRedirectUri: + items: + type: string + type: array + example: + - https://example.com/logout + AccessTokenMappingTemplate: + type: string + example: '{"email": "{{Email.0.Value}}"}' + IdTokenMappingTemplate: + type: string + example: '{"email": "{{Email.0.Value}}"}' + Mapping: + additionalProperties: + type: string + type: object + Metadata: + additionalProperties: + type: string + example: exampleValue + type: object + example: + key1: value1 + key2: value2 + RedirectURIExactMatch: + type: boolean + example: true + RefreshTokenRotation: + nullable: true + type: object + properties: + ReuseInterval: + type: integer + minimum: 0 + maximum: 60 + example: 30 + RefreshTokenTTL: + type: integer + example: 3600 + Secret: + type: string + example: exampleSecret + SignedUserInfo: + type: boolean + TokenAuthMethod: + type: string + example: client_secret_basic + TokenWebOriginMatch: + type: boolean + example: true + type: object + OAuthClientCreateCore: + type: object + properties: + AppName: + type: string + required: + - AppName + - TokenAuthMethod + OAuthClientRequest: + properties: + AllowedCorsOrigin: + items: + type: string + type: array + AllowedScopes: + items: + type: string + enum: + - email + - phone + - profile + - address + type: array + AudienceScopes: + additionalProperties: + items: + type: string + type: array + type: object + BackChannelLogout: + nullable: true + properties: + IsEnabled: + type: boolean + LogoutTokenTTL: + type: integer + example: 3600 + LogoutURIs: + items: + type: string + type: array + example: + - https://example.com/logout + type: object + ClientType: + type: string + enum: + - public + - confidential + description: Whether the client can keep a secret confidential. `confidential` clients (server-side / M2M) authenticate with their secret; `public` clients (SPA / native) default to token endpoint auth method `none` and rely on PKCE. When omitted it is derived server-side from the resolved token endpoint auth method. + example: confidential + Connections: + type: object + properties: + Enabled: + type: boolean + PasswordlessLogin: + type: object + properties: + Enabled: + type: boolean + Email: + type: boolean + SMS: + type: boolean + TraditionalLogin: + type: boolean + SocialLogins: + type: array + items: + type: object + properties: + IsEnabled: + type: boolean + ProviderName: + type: string + example: Google + CustomIdp: + type: array + items: + type: object + properties: + IsEnabled: + type: boolean + ProviderName: + type: string + example: SAML + Enterprise: + type: array + items: + type: object + properties: + IsEnabled: + type: boolean + ProviderName: + type: string + example: SAML + Description: + type: string + maxLength: 255 + description: Optional free-text description of the application, shown only in the admin console (never exposed to end users). + example: Internal billing reconciliation cron + DeviceCodeConfig: + nullable: true + properties: + AfterVerificationUrl: + type: string + example: https://example.com/after-verification + DeviceCodeExpire: + type: integer + example: 300 + PollingInterval: + type: integer + example: 5 + UserCodeCharacterSet: + enum: + - Base20 + - Alpha + - Digits + - Alphanumeric + type: string + example: Base20 + UserCodeMask: + type: string + example: XXXX-XXXX + VerificationUrl: + type: string + example: https://example.com/verification + type: object + EnableCorsOrigin: + type: boolean + ForceReAuthentication: + type: boolean + GrantTypes: + items: + type: string + enum: + - authorization_code + - implicit + - password + - client_credentials + - refresh_token + - urn:ietf:params:oauth:grant-type:device_code + - http://loginradius.com/oauth/grant-type/exchange_token + type: array + IdTokenAudiences: + items: + type: string + type: array + JwtTokenConfig: + nullable: true + properties: + IdTokenTTL: + type: integer + example: 3600 + TokenTTL: + type: integer + example: 3600 + type: object + LoginUrl: + nullable: true + type: string + LoginRedirectUri: + items: + type: string + type: array + LogoutRedirectUri: + items: + type: string + type: array + AccessTokenMappingTemplate: + type: string + example: '{"email": "{{Email.0.Value}}"}' + IdTokenMappingTemplate: + type: string + example: '{"email": "{{Email.0.Value}}"}' + Mapping: + additionalProperties: + type: string + type: object + Metadata: + additionalProperties: + type: string + type: object + RedirectURIExactMatch: + type: boolean + RefreshTokenRotation: + nullable: true + type: object + properties: + ReuseInterval: + type: integer + minimum: 0 + maximum: 60 + example: 30 + RefreshTokenTTL: + nullable: true + type: integer + SessionTokenTTL: + type: integer + nullable: true + Secret: + type: string + SignedUserInfo: + type: boolean + TokenAuthMethod: + enum: + - client_secret_basic + - client_secret_post + - client_secret_auto + - none + type: string + type: object + OAuthClientSecretResetResponse: + properties: + ClientId: + format: uuid + type: string + ClientSecret: + type: string + type: object + OAuth2Provider: + type: object + properties: + IsActive: + type: boolean + example: true + description: Indicates if the OAuth2 provider is active. + CreatedAt: + type: string + format: date-time + example: '2023-10-01T12:00:00Z' + description: The date and time when the OAuth2 provider was created. + LastModified: + type: string + format: date-time + example: '2023-10-01T12:00:00Z' + description: The date and time when the OAuth2 provider was last modified. + QueryParam: + type: object + additionalProperties: + type: string + example: exampleValue + description: The query parameters for the OAuth2 provider. + Headers: + type: object + additionalProperties: + type: string + description: The headers for the OAuth2 provider. + example: + Authorization: Bearer token + DataMap: + type: object + additionalProperties: + type: string + description: The data map for the OAuth2 provider. + ProviderName: + type: string + description: The name of the OAuth2 provider. + example: ExampleProvider + ApplicationID: + type: string + description: The application ID for the OAuth2 provider. + example: '1234567890' + ApplicationKey: + type: string + description: The application key for the OAuth2 provider. + example: abcdefghijklmnop + ApplicationSecret: + type: string + description: The application secret for the OAuth2 provider. + example: secret123 + Scope: + type: string + description: The scope for the OAuth2 provider. + example: read write + ResponseType: + type: string + description: The response type for the OAuth2 provider. + example: code + UserLoginEndpoint: + type: string + description: The User login endpoint for the OAuth2 provider. + example: https://example.com/oauth2/login + ExtraParameterInRedirectToProvider: + type: string + description: Extra parameters in redirect to provider. + example: extra_param=value + AccessTokenEndpoint: + type: string + description: The Access Token endpoint for the OAuth2 provider. + example: https://example.com/oauth2/token + RequestTokenHttpMethod: + type: string + description: The HTTP method for requesting tokens. + example: POST + AccessTokenParameterNameForApiAccess: + type: string + description: The Access Token parameter name for API access. + example: access_token + UserprofileEndpoint: + type: string + description: The User profile endpoint for the OAuth2 provider. + example: https://example.com/oauth2/userinfo + Domain: + type: string + description: The domain for the OAuth2 provider. + example: example.com + EnableAutoLookUp: + type: boolean + nullable: true + description: Indicates if auto lookup is enabled. + example: true + ListInInterface: + type: boolean + description: Indicates if the provider should be listed in the interface. + example: true + CustomOAuth2UpdateModel: + type: object + properties: + ProviderName: + type: string + description: The name of the OAuth2 provider. + ExtraParameterInRedirectToProvider: + type: string + description: Extra parameters in redirect to provider. + EnableAutoLookUp: + type: boolean + nullable: true + description: Indicates if auto lookup is enabled. + Domain: + type: string + description: The domain for the OAuth2 provider. + UserLoginEndpoint: + type: string + description: The User login endpoint for the OAuth2 provider. + AccessTokenEndpoint: + type: string + description: The Access Token endpoint for the OAuth2 provider. + ApplicationKey: + type: string + description: The application key for the OAuth2 provider. + ApplicationSecret: + type: string + description: The application secret for the OAuth2 provider. + ApplicationID: + type: string + description: The application ID for the OAuth2 provider. + Scope: + type: string + description: The scope for the OAuth2 provider. + ResponseType: + type: string + description: The response type for the OAuth2 provider. + UserprofileEndpoint: + type: string + description: The User profile endpoint for the OAuth2 provider. + DataMap: + type: object + additionalProperties: + type: string + description: The data map for the OAuth2 provider. + AccessTokenParameterNameForApiAccess: + type: string + description: The Access Token parameter name for API access. + RequestTokenHttpMethod: + type: string + description: The HTTP method for requesting tokens. + Headers: + type: object + additionalProperties: + type: string + description: The headers for the OAuth2 provider. + QueryParam: + type: object + additionalProperties: + type: string + description: The query parameters for the OAuth2 provider. + required: + - ProviderName + CustomOAuth2Model: + type: object + properties: + ProviderName: + type: string + description: The name of the OAuth2 provider. + ExtraParameterInRedirectToProvider: + type: string + description: Extra parameters in redirect to provider. + UserLoginEndpoint: + type: string + description: The User login endpoint for the OAuth2 provider. + AccessTokenEndpoint: + type: string + description: The Access Token endpoint for the OAuth2 provider. + ApplicationKey: + type: string + description: The application key for the OAuth2 provider. + ApplicationSecret: + type: string + description: The application secret for the OAuth2 provider. + EnableAutoLookUp: + type: boolean + nullable: true + description: Indicates if auto lookup is enabled. + Domain: + type: string + description: The domain for the OAuth2 provider. + ApplicationID: + type: string + description: The application ID for the OAuth2 provider. + Scope: + type: string + description: The scope for the OAuth2 provider. + ResponseType: + type: string + description: The response type for the OAuth2 provider. + UserprofileEndpoint: + type: string + description: The User profile endpoint for the OAuth2 provider. + UserInfoExtractByIdToken: + type: boolean + nullable: true + description: Indicates if user info should be extracted by ID token. + JWKSEndpoint: + type: string + description: The JWKS endpoint for verifying the ID token. + DataMap: + type: object + additionalProperties: + type: string + description: The data map for the OAuth2 provider. + AccessTokenParameterNameForApiAccess: + type: string + description: The Access Token parameter name for API access. + TrasnsportType: + type: string + description: The transport type. + RequestTokenHttpMethod: + type: string + enum: + - GET + - POST + description: The HTTP method for requesting tokens. + Headers: + type: object + additionalProperties: + type: string + description: The headers for the OAuth2 provider. + QueryParam: + type: object + additionalProperties: + type: string + description: The query parameters for the OAuth2 provider. + ListInInterface: + type: boolean + description: Indicates if the provider should be listed in the interface. + required: + - ProviderName + - UserLoginEndpoint + - AccessTokenEndpoint + - ApplicationKey + - ApplicationSecret + - Scope + - ResponseType + - DataMap + - RequestTokenHttpMethod + CustomOAuth2DeleteModel: + type: object + properties: + ProviderName: + type: string + description: The name of the OAuth2 provider to be deleted. + required: + - ProviderName + CustomProviderKeys: + type: object + properties: + Key: + type: string + description: The key of the custom provider. + example: custom_provider_key + Display: + type: string + description: The display name of the custom provider. + example: Custom Provider + PasswordPolicy: + type: object + properties: + DictionaryPasswordValidation: + type: boolean + nullable: true + example: true + ProfileDataPasswordValidation: + type: boolean + nullable: true + example: true + ProfileDataPasswordExactMatch: + type: boolean + nullable: true + example: false + CommonPasswordPreventionValidation: + type: boolean + nullable: true + example: true + MaxPasswordHistory: + type: integer + nullable: true + example: 5 + ExpirationFrequency: + type: integer + nullable: true + example: 90 + ExpirationFrequencyType: + type: string + nullable: true + enum: + - day + - month + - year + PasswordValidationRules: + type: string + nullable: true + example: At least one uppercase letter, one lowercase letter, one number, and one special character + UserProfile: + type: object + properties: + AppName: + type: string + description: Application name. + example: myApp + Uid: + type: string + description: Unique User identifier. + example: '123456' + ID: + type: string + nullable: true + description: Internal User ID. + example: abcde + Provider: + type: string + nullable: true + description: Authentication provider. + example: google + Prefix: + type: string + nullable: true + description: Name prefix. + example: Mr. + FirstName: + type: string + nullable: true + description: User's first name. + example: John + MiddleName: + type: string + nullable: true + description: User's middle name. + example: A. + LastName: + type: string + nullable: true + description: User's last name. + example: Doe + Suffix: + type: string + nullable: true + description: Name suffix. + example: Jr. + FullName: + type: string + nullable: true + description: Full name. + example: John A. Doe + NickName: + type: string + nullable: true + description: Nickname. + example: Johnny + ProfileName: + type: string + nullable: true + description: Profile name. + example: johnnydoe + BirthDate: + type: string + nullable: true + format: date + description: Birth date. + example: '1990-01-01' + Gender: + type: string + nullable: true + description: Gender. + example: male + Website: + type: string + nullable: true + description: Personal website URL. + example: https://johndoe.com + Email: + description: Email address or object. + oneOf: + - type: string + - type: object + example: john@example.com + Country: + description: Country or object. + oneOf: + - type: string + - type: object + example: USA + ThumbnailImageUrl: + type: string + nullable: true + description: Thumbnail image URL. + example: https://example.com/thumb.jpg + ImageUrl: + description: Image URL or object. + oneOf: + - type: string + - type: object + example: https://example.com/image.jpg + Favicon: + description: Favicon URL or object. + oneOf: + - type: string + - type: object + example: https://example.com/favicon.ico + ProfileUrl: + description: Profile URL or object. + oneOf: + - type: string + - type: object + example: https://example.com/profile + HomeTown: + type: string + nullable: true + description: Hometown. + example: New York + State: + type: string + nullable: true + description: State. + example: NY + City: + type: string + nullable: true + description: City. + example: New York + Industry: + type: string + nullable: true + description: Industry. + example: Software + About: + type: string + nullable: true + description: About the User. + example: Software engineer with 10 years of experience. + TimeZone: + type: string + nullable: true + description: Time zone. + example: America/New_York + LocalLanguage: + type: string + nullable: true + description: Local language. + example: en + CoverPhoto: + description: Cover photo URL or object. + oneOf: + - type: string + - type: object + example: https://example.com/cover.jpg + TagLine: + type: string + nullable: true + description: Tag line. + example: Keep it simple. + Language: + type: string + nullable: true + description: Preferred language. + example: en + Verified: + type: string + nullable: true + description: Verification status. + example: 'true' + UpdatedTime: + type: string + nullable: true + format: date-time + description: Last updated time. + example: '2023-01-01T12:00:00Z' + Positions: + description: Positions or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Educations: + description: Educations or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + PhoneNumbers: + description: Phone numbers or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + IMAccounts: + description: IM accounts or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Addresses: + description: Addresses or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + MainAddress: + type: string + nullable: true + description: Main address. + example: 123 Main St + Created: + type: string + nullable: true + format: date-time + description: Created timestamp. + example: '2020-01-01T00:00:00Z' + CreatedDate: + type: string + nullable: true + format: date-time + description: Created date. + example: '2020-01-01T00:00:00Z' + ModifiedDate: + type: string + nullable: true + format: date-time + description: Modified date. + example: '2021-01-01T00:00:00Z' + ProfileModifiedDate: + type: string + nullable: true + format: date-time + description: Profile modified date. + example: '2021-06-01T00:00:00Z' + LocalCity: + type: string + nullable: true + description: Local city. + example: Brooklyn + ProfileCity: + type: string + nullable: true + description: Profile city. + example: Manhattan + LocalCountry: + type: string + nullable: true + description: Local country. + example: USA + ProfileCountry: + type: string + nullable: true + description: Profile country. + example: USA + FirstLogin: + type: boolean + description: Whether this is the User's first login. + example: false + IsProtected: + type: boolean + description: Whether the profile is protected. + example: false + RelationshipStatus: + type: string + nullable: true + description: Relationship status. + example: single + Quota: + type: string + nullable: true + description: Quota. + example: unlimited + InterestedIn: + type: array + nullable: true + items: + type: string + description: List of interests. + example: + - sports + - music + Interests: + description: Interests or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Religion: + type: string + nullable: true + description: Religion. + example: None + Political: + type: string + nullable: true + description: Political views. + example: Independent + Sports: + description: Sports or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + InspirationalPeople: + description: Inspirational people or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + HttpsImageUrl: + description: HTTPS image URL or object. + oneOf: + - type: string + - type: object + example: https://example.com/image.jpg + FollowersCount: + type: integer + description: Number of followers. + example: 100 + FriendsCount: + type: integer + description: Number of friends. + example: 50 + IsGeoEnabled: + type: string + nullable: true + description: Whether geo is enabled. + example: 'true' + TotalStatusesCount: + type: integer + description: Total number of statuses. + example: 200 + Associations: + type: string + nullable: true + description: Associations. + example: IEEE + NumRecommenders: + type: integer + description: Number of recommenders. + example: 5 + Honors: + type: string + nullable: true + description: Honors. + example: Best Developer + Awards: + description: Awards or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Skills: + description: Skills or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + CurrentStatus: + description: Current status or object. + oneOf: + - type: string + - type: object + example: Active + Certifications: + description: Certifications or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Courses: + description: Courses or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Volunteer: + description: Volunteer or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + RecommendationsReceived: + description: Recommendations received or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Languages: + description: Languages or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Projects: + description: Projects or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Games: + description: Games or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Family: + description: Family or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + TeleVisionShow: + description: Television shows or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + MutualFriends: + description: Mutual friends or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Movies: + description: Movies or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Books: + description: Books or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + AgeRange: + description: Age range or object. + oneOf: + - type: string + - type: object + example: 18-25 + PublicRepository: + description: Public repository or object. + oneOf: + - type: string + - type: object + example: https://github.com/johndoe + Hireable: + type: boolean + description: Whether the User is hireable. + example: true + RepositoryUrl: + description: Repository URL or object. + oneOf: + - type: string + - type: object + example: https://github.com/johndoe + Age: + type: integer + nullable: true + description: Age of the User. + example: 30 + Patents: + description: Patents or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + FavoriteThings: + description: Favorite things or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + ProfessionalHeadline: + type: string + nullable: true + description: Professional headline. + example: Senior Software Engineer + RelatedProfileViews: + description: Related profile views or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + KloutScore: + description: Klout score or object. + oneOf: + - type: number + - type: object + example: 55.5 + LRUserID: + type: string + nullable: true + description: LoginRadius User ID. + example: lr_123456 + PlacesLived: + description: Places lived or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Publications: + description: Publications or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + JobBookmarks: + description: Job bookmarks or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Suggestions: + description: Suggestions or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + Badges: + description: Badges or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + MemberUrlResources: + description: Member URL resources or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + TotalPrivateRepository: + type: integer + description: Total number of private repositories. + example: 2 + Currency: + type: string + nullable: true + description: Currency. + example: USD + StarredUrl: + description: Starred URL or object. + oneOf: + - type: string + - type: object + example: https://github.com/johndoe/starred + GistsUrl: + description: Gists URL or object. + oneOf: + - type: string + - type: object + example: https://gist.github.com/johndoe + PublicGists: + type: integer + description: Number of public gists. + example: 10 + PrivateGists: + type: integer + description: Number of private gists. + example: 5 + Subscription: + description: Subscription or object. + oneOf: + - type: string + - type: object + example: premium + Company: + type: string + nullable: true + description: Company name. + example: Acme Corp + GravatarImageUrl: + description: Gravatar image URL or object. + oneOf: + - type: string + - type: object + example: https://www.gravatar.com/avatar/abc123 + ProfileImageUrls: + description: Profile image URLs or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + WebProfiles: + description: Web profiles or object. + oneOf: + - type: array + items: {} + - type: object + example: [] + PinsCount: + type: integer + description: Number of PINs. + example: 12 + BoardsCount: + type: integer + description: Number of boards. + example: 3 + LikesCount: + type: integer + description: Number of likes. + example: 100 + EmailVerifiedFromSocial: + type: boolean + description: Whether Email is verified from social login. + example: true + SignupDate: + type: string + nullable: true + format: date-time + description: Signup date. + example: '2020-01-01T00:00:00Z' + LastLoginDate: + type: string + nullable: true + format: date-time + description: Last login date. + example: '2023-01-01T00:00:00Z' + CustomFields: + description: Custom fields or object. + oneOf: + - type: object + - type: array + items: {} + example: {} + LastPasswordChangeDate: + type: string + nullable: true + format: date-time + description: Last Password change date. + example: '2023-01-01T00:00:00Z' + PasswordExpirationDate: + type: string + nullable: true + format: date-time + description: Password expiration date. + example: '2023-12-31T00:00:00Z' + LastPasswordChangeToken: + type: string + nullable: true + description: Last Password change token. + example: token123 + EmailVerified: + type: boolean + description: Whether Email is verified. + example: true + IsActive: + type: boolean + description: Whether the User is active. + example: true + IsDeleted: + type: boolean + description: Whether the User is deleted. + example: false + IsEmailSubscribed: + type: boolean + description: Whether the User is subscribed to emails. + example: true + UserName: + type: string + nullable: true + description: Username. + example: johndoe + NoOfLogins: + type: integer + description: Number of logins. + example: 20 + PreviousUids: + type: array + nullable: true + items: + type: string + description: Previous UIDs. + example: + - oldUID1 + - oldUID2 + PhoneId: + type: string + nullable: true + description: Phone ID. + example: phone123 + PhoneIdVerified: + type: boolean + description: Whether Phone ID is verified. + example: true + Roles: + type: array + nullable: true + items: + type: string + description: List of Roles. + example: + - admin + - user + ExternalUserLoginId: + type: string + nullable: true + description: External User login ID. + example: extlogin123 + FailedLoginAttempt: + type: integer + description: Number of failed login attempts. + example: 0 + SecurityQuestionFailedResetPasswordAttempts: + type: integer + description: Failed security question attempts for Password reset. + example: 0 + SecurityQuestionFailedLoginAttempt: + type: integer + description: Failed security question attempts for login. + example: 0 + DisableLogin: + type: boolean + description: Whether login is disabled. + example: false + RegistrationProvider: + type: string + nullable: true + description: Registration provider. + example: google + IsLoginLocked: + type: boolean + description: Whether login is locked. + example: false + LoginLockedType: + type: string + nullable: true + description: Type of login lock. + example: temporary + LastLoginLocation: + type: string + nullable: true + description: Last login location. + example: New York + RegistrationSource: + type: string + nullable: true + description: Registration source. + example: web + IsCustomUid: + type: boolean + description: Whether UID is custom. + example: false + UnverifiedEmail: + description: Unverified Email or object. + oneOf: + - type: string + - type: object + example: unverified@example.com + RoleContext: + description: Role Context or object. + oneOf: + - type: object + - type: array + items: {} + example: {} + KnownLoginVariables: + description: Known login variables or object. + oneOf: + - type: object + - type: array + items: {} + example: {} + IsSecurePassword: + type: boolean + description: Whether the Password is secure. + nullable: true + example: true + PrivacyPolicy: + description: Privacy Policy or object. + oneOf: + - type: object + - type: array + items: {} + example: {} + LoginLockedTimeout: + type: string + nullable: true + description: Login locked timeout. + example: '2023-01-01T01:00:00Z' + ExternalIds: + description: External IDs or object. + oneOf: + - type: object + - type: array + items: {} + example: {} + IsRequiredFieldsFilledOnce: + type: boolean + description: Whether required fields are filled at least once. + example: true + SignupLog: + description: Signup log or object. + oneOf: + - type: object + - type: array + items: {} + example: {} + LastAcceptedConsentVersion: + type: number + format: float + description: Last accepted consent version. + example: 1 + user_agent: + description: User agent or object. + oneOf: + - type: string + - type: object + example: Mozilla/5.0 + UserProfileResponse: + type: object + properties: + data: + type: array + description: List of User profiles. + items: + $ref: '#/components/schemas/UserProfile' + next: + type: string + description: Scroll or pagination token for fetching the next set of results. + example: DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAABXcWem... + QueryGroup: + type: object + properties: + operator: + type: string + enum: + - AND + - OR + description: Logical operator to combine rules. + example: AND + rules: + type: array + items: + $ref: '#/components/schemas/QueryRule' + minItems: 1 + required: + - operator + - rules + QueryRule: + type: object + properties: + group: + $ref: '#/components/schemas/QueryGroup' + name: + type: string + description: Name of the field to query. + example: status + operator: + type: string + description: Operator for the query (e.g., =, !=, >, <). + example: '=' + value: + description: Value to compare against. Can be string, boolean, or number. + example: active + IdentityQuery: + type: object + properties: + group: + $ref: '#/components/schemas/QueryGroup' + UserProfileRequestBody: + type: object + properties: + from: + type: string + format: date + description: Start date in YYYY-MM-DD format. + to: + type: string + format: date + description: End date in YYYY-MM-DD format. + size: + type: integer + minimum: 1 + maximum: 1000 + description: Number of results to return. + q: + $ref: '#/components/schemas/IdentityQuery' + SimpleUserProfileResponse: + type: object + properties: + _id: + type: string + description: Unique identifier for the User profile + example: user_123456789 + DateCreated: + type: string + format: date-time + description: Date and time when the profile was created + example: '2023-10-01T12:00:00Z' + DateModified: + type: string + format: date-time + description: Date and time when the profile was last modified + example: '2023-10-02T12:00:00Z' + IsActive: + type: boolean + description: Whether the profile is active + IsDeleted: + type: boolean + description: Whether the profile is deleted + CustomObject: + type: object + additionalProperties: true + description: Custom data associated with the User + Uid: + type: string + description: Unique identifier of the User + example: UID_123456789 + UserProfileScrollResponse: + type: object + properties: + total: + type: integer + description: Total number of User profiles matching the query. + example: 100 + data: + type: array + description: List of User profiles. + items: + $ref: '#/components/schemas/SimpleUserProfileResponse' + next: + type: string + description: Scroll or pagination token for fetching the next set of results. + example: DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAABXcWem... + ExtendUserProfileWithCustomObjectCore: + type: object + properties: + CustomObject: + type: object + description: Custom Object associated with the User profile. + additionalProperties: + type: object + description: Custom fields defined by the User. + example: + field1: value1 + field2: value2 + example: + field1: + subfield: subvalue + ExtendUserProfileWithCustomObject: + allOf: + - $ref: '#/components/schemas/UserProfile' + - $ref: '#/components/schemas/ExtendUserProfileWithCustomObjectCore' + userProfileNextResponseWithCustomObject: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/ExtendUserProfileWithCustomObject' + next: + type: string + description: The token to retrieve the next page of results. + nullable: true + example: DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAABXcWem... + userProfileScrollResponseWithCustomObject: + type: object + properties: + total: + type: integer + description: Total number of User profiles matching the query. + example: 100 + data: + type: array + description: List of User profiles. + items: + $ref: '#/components/schemas/ExtendUserProfileWithCustomObject' + next: + type: string + description: Scroll or pagination token for fetching the next set of results. + example: DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAABXcWem... + UserProfileNextResponse: + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/SimpleUserProfileResponse' + next: + type: string + description: The token to retrieve the next page of results. + nullable: true + example: DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAABXcWem... + RangeObj: + type: object + properties: + key: + type: string + description: Optional. Key for the range bucket. + example: range-1 + to: + description: Upper bound of the range (inclusive or exclusive depending on context). + oneOf: + - type: string + - type: integer + - type: number + example: 100 + from: + description: Lower bound of the range (inclusive or exclusive depending on context). + oneOf: + - type: string + - type: integer + - type: number + example: 0 + description: | + Defines a single range for range-based aggregations, with optional key. + AggregationObj: + type: object + properties: + field: + type: string + description: The field to aggregate on. + example: status + type: + type: string + description: The type of aggregation (e.g., terms, range, histogram). + example: terms + ranges: + type: object + additionalProperties: + $ref: '#/components/schemas/RangeObj' + description: | + Optional. A map of range names to range objects, used for range aggregations. + interval: + description: | + Optional. The interval for histogram aggregations. Can be string, integer, or float. + oneOf: + - type: string + - type: integer + - type: number + example: 10 + format: + type: string + description: Optional. Format string for date or numeric values. + example: yyyy-MM-dd + description: | + Configuration for a single aggregation, including field, type, and optional range or interval. + Aggregation: + type: object + required: + - aggregations + properties: + aggregations: + type: object + additionalProperties: + $ref: '#/components/schemas/AggregationObj' + description: | + A map of aggregation names to their configuration objects. + description: | + Defines the aggregation structure for the insights query. + requestPayload: + type: object + properties: + from: + type: string + format: date-time + description: Start of the time range for the query (ISO 8601 format). + to: + type: string + format: date-time + description: End of the time range for the query (ISO 8601 format). + q: + $ref: '#/components/schemas/Aggregation' + description: | + The request payload for insights queries, specifying the time range and aggregation details. + InsightsResponse: + type: object + properties: + total: + type: integer + format: int32 + description: Total number of results + aggregations: + type: object + additionalProperties: true + description: Aggregated data + LoginByEmail: + description: Login By Email + type: object + properties: + email: + type: string + example: user123@example.com + password: + type: string + example: Password123 + required: + - email + - password + LoginByUserName: + description: Login By UserName + type: object + properties: + password: + type: string + example: Password123 + username: + type: string + example: user123 + required: + - username + - password + JWTSignature: + description: JWT Signature Response + type: object + properties: + signature: + type: string + example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiIxMTI1NjNmNi0xNDgwLTQwYjgtOGUyOC1lMDcyY2EyMTJjODIiLCJlbWFpbCI6Im1heWFua2xydGVzdDIrQGdtYWlsLmNvbSIsImV4cCI6MTc0NTQ4MzA4MSwiZmlyc3RuYW1lIjoiTWF5YW5rIiwiaWF0IjoxNzQ1NDgxMjgxLCJpc3MiOiJodHRwczovL2ludGVybmFsLW1heWFuay5odWIubG9naW5yYWRpdXMuY29tLyIsImp0aSI6IjlhNGZkOGY1LWU4NDMtNDgzZS1hODNiLTJlNTM4NzY5ZTYxNiIsImxhc3RuYW1lIjoiQWdhcndhbCIsIm5iZiI6MTc0NTQ4MTI4MSwic3ViIjoiMWFjM2Q5ZGMzYzdkNDJlMDhhMzJiZjU0NjIyYmNjYzMifQ.m88HgYiikjAJju5mKeqJLgdEbqoAGGLVGLhxmB81jWc + OAuthDeviceCode: + description: OAuth Device Code Request + type: object + properties: + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + scope: + type: string + example: openid Email profile + required: + - client_id + OAuthDeviceCodeResponse: + description: OAuth Device Code Response + type: object + properties: + device_code: + type: string + example: device_code + expires_in: + type: integer + example: 1800 + interval: + type: integer + example: 5 + user_code: + type: string + example: user_code + verification_uri: + type: string + example: https://example.com/device/verification + verification_uri_complete: + type: string + example: https://example.com/device/verification?user_code=user_code + OAuthErrorResponse: + type: object + properties: + error: + type: string + error_description: + type: string + OAuthRevokeRefreshToken: + description: OAuth Revoke Refresh Token Request + type: object + properties: + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + client_secret: + type: string + example: AQvsBHrjOYFNJdvndATLBPoavRZUp1fj4656 + token: + type: string + example: 3976a9391e31d3c1cf854c83f9f65078:90f... + required: + - client_id + - client_secret + - token + OIDCTokenIntrospectResponse: + description: OIDC Token Introspection Response (RFC 7662). When active is false, only active is returned. When active is true, standard claims may be included. + type: object + properties: + active: + type: boolean + description: True if the token is valid and active; false otherwise. + example: true + sub: + type: string + description: Subject (e.g. user or client identifier) + example: 699f40ae-8040-42fe-a1cd-e1eb10cf73ef + cid: + type: string + description: Client ID (audience/client) + example: ddff8a63-cbc3-4723-8415-b910c4d8770d + azp: + type: string + description: Authorized party + example: ddff8a63-cbc3-4723-8415-b910c4d8770d + iss: + type: string + description: Issuer + example: https://{TenantEndpoint}/service/oidc/{oidcAppName} + exp: + type: integer + description: Expiration time (Unix) + example: 1745988311 + iat: + type: integer + description: Issued at (Unix) + example: 1745981111 + nbf: + type: integer + description: Not before (Unix) + example: 1745981111 + gty: + type: string + description: Grant type (e.g. authorization_code, refresh_token, password) + example: authorization_code + scp: + type: array + items: + type: string + description: Scopes + example: + - openid + - profile + aud: + type: array + items: + type: string + description: Audience + jti: + type: string + description: JWT ID + required: + - active + OAuthAuthorizationCodeFlow: + description: Authorization Code Flow + type: object + properties: + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + client_secret: + type: string + example: AQvsBHrjOYFNJdvndATLBPoavRZUp1fj4656 + code: + type: string + example: ab261e646022e92c620e2be8c10469d... + grant_type: + type: string + default: authorization_code + redirect_uri: + type: string + example: https://example.com/callback + response_type: + type: string + default: token + required: + - client_id + - client_secret + - grant_type + - redirect_uri + - code + OAuthAuthorizationCodePKCEFlow: + description: Authorization Code PKCE Flow + type: object + properties: + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + code: + type: string + example: ab261e646022e92c620e2be8c10469d... + code_verifier: + type: string + example: 3Cc3HvI2dyIGee-ZBqCtS5tlXXBFEuCByG06QLiEcAU + grant_type: + type: string + default: authorization_code + redirect_uri: + type: string + example: https://example.com/callback + response_type: + type: string + default: token + required: + - client_id + - grant_type + - redirect_uri + - code + - code_verifier + OAuthRefreshTokenFlow: + description: Refresh Token Flow + type: object + properties: + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + client_secret: + type: string + example: AQvsBHrjOYFNJdvndATLBPoavRZUp1fj4656 + grant_type: + type: string + default: refresh_token + response_type: + type: string + default: token + token: + type: string + example: 3976a9391e31d3c1cf854c83f9f65078:90f... + required: + - client_id + - client_secret + - grant_type + - token + OAuthPasswordCredentialFlow: + description: Password Credential Flow + type: object + properties: + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + client_secret: + type: string + example: AQvsBHrjOYFNJdvndATLBPoavRZUp1fj4656 + grant_type: + type: string + default: password + password: + type: string + example: pass@123 + response_type: + type: string + default: token + scope: + type: string + example: openid Email profile + username: + type: string + example: user@example.com + required: + - client_id + - client_secret + - grant_type + - username + - password + OAuthDeviceCodeFlow: + description: Device Code Flow + type: object + properties: + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + device_code: + type: string + example: device_code + grant_type: + type: string + default: urn:ietf:params:oauth:grant-type:device_code + response_type: + type: string + default: token + scope: + type: string + example: openid Email profile + required: + - client_id + - grant_type + - device_code + OAuthLoginRadiusTokenExchangeFlow: + description: LoginRadius Token Exchange Flow converts Loginradius GUID or JWT Encrypted token to OAuth Tokens + type: object + properties: + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + client_secret: + type: string + example: AQvsBHrjOYFNJdvndATLBPoavRZUp1fj4656 + grant_type: + type: string + default: http://loginradius.com/oauth/grant-type/exchange_token + response_type: + type: string + default: token + scope: + type: string + example: openid Email profile + token: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + required: + - client_id + - client_secret + - grant_type + - token + OAuthTokenResponse: + description: OAuth Token Response + type: object + properties: + access_token: + type: string + format: jwt + example: eyJhbGciOiJIUz... + expire_in: + type: string + example: '3600' + refresh_token: + type: string + example: 3976a9391e31d3c1cf854c83f9f65078:90f... + token_type: + type: string + default: Bearer + PARRequest: + type: object + properties: + client_id: + type: string + description: OAuth 2.0 client identifier. + client_secret: + type: string + description: Client secret. Optional when client credentials are provided via HTTP Basic Authentication in the Authorization header. + redirect_uri: + type: string + format: uri + description: Redirect URI registered for the client. + response_type: + type: string + description: 'Space-separated list of desired response types. Valid values: code, token, id_token.' + example: code + scope: + type: string + description: Space-separated list of requested scopes. Must include openid for OIDC flows. + example: openid profile email + state: + type: string + description: Opaque value to maintain state between the request and the callback. + nonce: + type: string + description: String associating a client session with an ID Token. Required when response_type includes id_token. + code_challenge: + type: string + description: PKCE code challenge derived from the code_verifier (RFC 7636). + code_challenge_method: + type: string + enum: + - plain + - S256 + description: PKCE code challenge transformation method. + response_mode: + type: string + enum: + - query + - fragment + - form_post + description: Mechanism for returning authorization response parameters to the client. + prompt: + type: string + enum: + - login + - none + description: Controls whether the authorization server prompts the user for re-authentication. + display: + type: string + enum: + - page + - popup + - touch + - wap + description: How the authorization server displays the authentication UI to the end-user. + max_age: + type: string + description: Maximum authentication age in seconds. Requires re-authentication if exceeded. + acr_values: + type: string + description: Space-separated list of requested Authentication Context Class Reference values. + login_hint: + type: string + description: Hint about the end-user login identifier (email or phone). + id_token_hint: + type: string + description: Previously issued ID Token passed as a hint about the authenticated end-user. + ui_locales: + type: string + description: Space-separated list of preferred UI display locales. + org_id: + type: string + description: B2B organization identifier. Only valid when B2B features are enabled on the app. + claims: + type: string + description: JSON-encoded claims request object specifying desired claims in the ID Token or userinfo response. + authorization_details: + type: string + description: JSON-encoded array of authorization detail objects per RFC 9396 (Rich Authorization Requests). Requires RAR to be enabled on the application. + resource: + type: string + description: Resource indicator (RFC 8707) identifying the target API. Must match a configured API resource on the authorization server. + required: + - client_id + - redirect_uri + - response_type + - scope + PARResponse: + type: object + properties: + request_uri: + type: string + description: Opaque URI identifying the pushed authorization request. Pass this as the request_uri parameter in a subsequent authorization request. Valid for expires_in seconds from issuance. + example: urn:ietf:params:oauth:request_uri:bwc4JfAkLMx3-oPIg_b2kD2U + expires_in: + type: integer + description: Lifetime of the request_uri in seconds. + example: 600 + required: + - request_uri + - expires_in + OAuthAuthorizationServerMetadata: + description: OAuth 2.0 Authorization Server Metadata (RFC 8414). Standard discovery document for OAuth 2.0 authorization servers; does not include OpenID Connect-specific fields (e.g. userinfo_endpoint, claims_supported). + type: object + required: + - issuer + - token_endpoint + - jwks_uri + - response_types_supported + - grant_types_supported + properties: + issuer: + type: string + description: The authorization server's issuer identifier (MUST match the requested issuer). + example: https://{TenantEndpoint}/service/oidc/{oidcAppName} + authorization_endpoint: + type: string + description: URL of the authorization endpoint. + example: https://{TenantEndpoint}/service/oidc/{oidcAppName}/authorize + token_endpoint: + type: string + description: URL of the token endpoint. + example: https://{TenantEndpoint}/api/oidc/{oidcAppName}/token + jwks_uri: + type: string + description: URL of the JSON Web Key Set document. + example: https://{TenantEndpoint}/service/oidc/{oidcAppName}/jwks + response_types_supported: + type: array + items: + type: string + description: List of OAuth 2.0 response_type values supported. + example: + - code + grant_types_supported: + type: array + items: + type: string + description: List of OAuth 2.0 grant type values supported. + example: + - authorization_code + - refresh_token + - urn:ietf:params:oauth:grant-type:device_code + token_endpoint_auth_methods_supported: + type: array + items: + type: string + description: List of client authentication methods supported at the token endpoint. + example: + - none + - client_secret_post + - client_secret_basic + registration_endpoint: + type: string + description: URL of the dynamic client registration endpoint (optional). + example: https://{TenantEndpoint}/api/oidc/{oidcAppName}/register + scopes_supported: + type: array + items: + type: string + description: List of OAuth 2.0 scope values supported. + example: + - openid + - email + - phone + - profile + - address + response_modes_supported: + type: array + items: + type: string + example: + - query + - form_post + - fragment + code_challenge_methods_supported: + type: array + items: + type: string + description: PKCE code challenge methods supported. + example: + - S256 + revocation_endpoint: + type: string + description: URL of the token revocation endpoint. + example: https://{TenantEndpoint}/api/oidc/{oidcAppName}/revoke + revocation_endpoint_auth_methods_supported: + type: array + items: + type: string + example: + - none + - client_secret_post + - client_secret_basic + device_authorization_endpoint: + type: string + description: URL of the device authorization endpoint. + example: https://{TenantEndpoint}/service/oidc/{oidcAppName}/device/authorize + token_endpoint_auth_signing_alg_values_supported: + type: array + items: + type: string + example: + - RS256 + subject_types_supported: + type: array + items: + type: string + description: List of subject identifier types supported. + example: + - public + ClientIdMetadataDocumentSupported: + type: boolean + description: Indicates if the client metadata document is supported. + example: true + OIDCDeviceCode: + description: OIDC Device Code Request + type: object + properties: + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + scope: + type: string + example: openid Email profile + required: + - client_id + OIDCDeviceCodeResponse: + description: OIDC Device Code Response + type: object + properties: + device_code: + type: string + example: device_code + expires_in: + type: integer + example: 1800 + interval: + type: integer + example: 5 + user_code: + type: string + example: user_code + verification_uri: + type: string + example: https://example.com/device/verification + verification_uri_complete: + type: string + example: https://example.com/device/verification?user_code=user_code + OIDCTokenResponse: + description: OIDC Token Response + type: object + properties: + access_token: + type: string + format: jwt + example: eyJhbGciOiJIUz... + expire_in: + type: string + example: '3600' + id_token: + type: string + format: jwt + example: id_token + refresh_token: + type: string + example: 3976a9391e31d3c1cf854c83f9f65078:90f... + token_type: + type: string + default: Bearer + DynamicClientRegistrationRequest: + type: object + description: Request for OIDC Dynamic Client Registration (RFC 7591). + properties: + redirect_uris: + type: array + description: Array of redirection URI strings. + items: + type: string + format: uri + client_name: + type: string + description: Human-readable name of the client. + client_uri: + type: string + description: URL of the home page of the client. + format: uri + logo_uri: + type: string + description: URL of the client logo. + format: uri + token_endpoint_auth_method: + type: string + description: Authentication method for the token endpoint. + grant_types: + type: array + description: Array of OAuth 2.0 grant types. + items: + type: string + response_types: + type: array + description: Array of OAuth 2.0 response types. + items: + type: string + DynamicClientRegistrationResponse: + type: object + description: Response from OIDC Dynamic Client Registration (RFC 7591). + properties: + client_id: + type: string + description: The registered client identifier. + client_secret: + type: string + description: The client secret (if applicable). + client_id_issued_at: + type: integer + description: Time at which the client ID was issued (Unix timestamp). + client_secret_expires_at: + type: integer + description: Time at which the client secret expires (0 means it does not expire). + redirect_uris: + type: array + items: + type: string + format: uri + client_name: + type: string + token_endpoint_auth_method: + type: string + grant_types: + type: array + items: + type: string + response_types: + type: array + items: + type: string + OAuthDynamicClientRequest: + type: object + required: + - client_name + - redirect_uris + properties: + client_name: + type: string + description: Human-readable name of the client. + example: My OIDC App + client_uri: + type: string + description: URL of the client's home page. + example: https://example.com + grant_types: + type: array + items: + type: string + description: OAuth 2.0 grant types the client will use. Defaults to ["authorization_code"]. + example: + - authorization_code + - refresh_token + response_types: + type: array + items: + type: string + description: OAuth 2.0 response types. Defaults to ["code"]. + example: + - code + redirect_uris: + type: array + items: + type: string + description: Redirect URIs for redirect-based flows. Required. + example: + - https://example.com/callback + post_logout_redirect_uris: + type: array + items: + type: string + description: Post-logout redirect URIs. + example: + - https://example.com/logout-callback + request_uris: + type: array + items: + type: string + description: Pre-registered request_uri values for JAR (JWT Authorization Request). + example: + - https://example.com/request.jwt + application_type: + type: string + enum: + - web + - native + description: Kind of application. Defaults to "web". + example: web + token_endpoint_auth_method: + type: string + enum: + - client_secret_basic + - client_secret_post + - private_key_jwt + - none + description: Client authentication method at the token endpoint. + example: client_secret_basic + scope: + type: string + description: Space-separated scopes the client may request. + example: openid profile email + logo_uri: + type: string + description: URL of the client's logo image. + example: https://example.com/logo.png + tos_uri: + type: string + description: URL of the client's Terms of Service. + example: https://example.com/tos + policy_uri: + type: string + description: URL of the client's Privacy Policy. + example: https://example.com/privacy + contacts: + type: array + items: + type: string + description: Contact email addresses for the client. + example: + - admin@example.com + software_id: + type: string + description: Unique identifier for the client software. + example: my-app-v2 + software_version: + type: string + description: Version of the client software. + example: 2.1.0 + jwks_uri: + type: string + description: URL of the client's JWKS document. Mutually exclusive with jwks. + example: https://example.com/.well-known/jwks.json + jwks: + type: object + description: Inline JSON Web Key Set. Mutually exclusive with jwks_uri. + example: + keys: + - kty: RSA + 'n': 0vx7... + e: AQAB + kid: '2011-04-29' + id_token_signed_response_alg: + type: string + description: JWS algorithm for signing ID tokens. Defaults to RS256. + example: RS256 + userinfo_signed_response_alg: + type: string + description: JWS algorithm for signing UserInfo responses. If set, UserInfo returns a signed JWT. + example: RS256 + backchannel_logout_uri: + type: string + description: URL to which the OP sends logout tokens (OIDC Back-Channel Logout). + example: https://example.com/backchannel-logout + backchannel_logout_session_required: + type: boolean + description: Whether the OP must include a sid claim in logout tokens. + example: true + OAuthDynamicClientResponseCore: + type: object + properties: + client_id: + type: string + description: Unique client identifier issued by the authorization server. + example: abc123def456 + client_secret: + type: string + description: Client secret. Only returned for confidential clients. + example: s3cr3t-value + client_id_issued_at: + type: integer + format: int64 + description: Unix timestamp when the client_id was issued. + example: 1710000000 + client_secret_expires_at: + type: integer + format: int64 + description: Unix timestamp when the client_secret expires. 0 means it does not expire. + example: 0 + registration_access_token: + type: string + description: Bearer token to access the client configuration endpoint. Only returned on initial registration. + example: reg-access-token-value + registration_client_uri: + type: string + description: URL of the client configuration endpoint for this client. + example: https://example.hub.loginradius.com/oidc/myapp/register/abc123def456 + OAuthDynamicClientResponse: + allOf: + - $ref: '#/components/schemas/OAuthDynamicClientRequest' + - $ref: '#/components/schemas/OAuthDynamicClientResponseCore' + OAuthM2MTokenIntrospect: + description: M2M Token Introspect Request + type: object + properties: + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + client_secret: + type: string + example: AQvsBHrjOYFNJdvndATLBPoavRZUp1fj4656 + token: + type: string + example: 3976a9391e31d3c1cf854c83f9f65078:90f... + token_type_hint: + type: string + example: access_token + default: access_token + required: + - client_id + - client_secret + - token + - token_type_hint + OAuthM2MIntrospectResponse: + description: M2M Token Introspect Response + type: object + properties: + active: + type: boolean + example: true + aud: + type: array + items: + type: string + example: + - https://{TenantEndpoint}/identity/v2/manage + cid: + type: string + example: ddff8a63-cbc3-4723-8415-b910c4d8770d + exp: + type: integer + example: 1745988311 + gty: + type: string + example: client_credentials + iat: + type: integer + example: 1745981111 + iss: + type: string + example: https://{TenantEndpoint}/ + jti: + type: string + example: e20a1ae9-880a-4829-88ff-690141d958b5 + nbf: + type: integer + example: 1745981111 + scp: + type: array + items: + type: string + example: + - all + sub: + type: string + example: 699f40ae-8040-42fe-a1cd-e1eb10cf73ef@client + JWKSResponse: + description: JWKS Config Response + type: object + properties: + keys: + type: array + items: + properties: + alg: + type: string + example: RS256 + e: + type: string + example: AQAB + kid: + type: string + example: 31524f1ce57e45fd967d7431e18b97c6 + kty: + type: string + example: RSA + 'n': + type: string + example: 0u2t0m8XWLAOTYWR4vtT... + use: + type: string + example: sig + type: object + OAuthM2MTokenRevoke: + description: M2M Token Service Request + type: object + properties: + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + client_secret: + type: string + example: AQvsBHrjOYFNJdvndATLBPoavRZUp1fj4656 + token: + type: string + example: 3976a9391e31d3c1cf854c83f9f65078:90f... + token_type_hint: + type: string + example: access_token + default: access_token + required: + - client_id + - client_secret + - token + - token_type_hint + OAuthM2MTokenGenerate: + description: M2M Token Generate Request + type: object + properties: + audience: + type: string + example: https://api.loginradius.com/identity/v2/manage + client_id: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + client_secret: + type: string + example: AQvsBHrjOYFNJdvndATLBPoavRZUp1fj4656 + grant_type: + type: string + example: client_credentials + default: client_credentials + required: + - client_id + - client_secret + - grant_type + - audience + OAuthM2MTokenResponse: + description: M2M Token Response + type: object + properties: + access_token: + type: string + format: jwt + example: eyJhbGciOiJIUz... + expire_in: + type: string + example: '3600' + token_type: + type: string + default: Bearer + OIDCDiscoveryResponse: + description: OIDC Discovery Config Response + type: object + properties: + acr_values_supported: + type: array + items: + type: string + example: + - loginradius:nist:level:1:re-auth + authorization_endpoint: + type: string + example: https://{TenantEndpoint}/service/oidc/{oidcAppName}/authorize + backchannel_logout_session_supported: + type: boolean + example: true + backchannel_logout_supported: + type: boolean + example: true + claims_supported: + type: array + items: + type: string + example: + - picture + - zoneinfo + - locale + - email + - phone_number + - middle_name + - nickname + - profile + - auth_time + - phone_number_verified + - address + - website + - birthdate + - updated_at + - acr + - email_verified + - name + - given_name + - preferred_username + - gender + - family_name + code_challenge_methods_supported: + type: array + items: + type: string + example: + - S256 + end_session_endpoint: + type: string + example: https://{TenantEndpoint}/service/oidc/{oidcAppName}/logout + grant_types_supported: + type: array + items: + type: string + example: + - authorization_code + - implicit + - refresh_token + - password + - urn:ietf:params:oauth:grant-type:device_code + id_token_signing_alg_values_supported: + type: array + items: + type: string + example: + - RS256 + issuer: + type: string + example: https://{TenantEndpoint}/service/oidc/{oidcAppName} + jwks_uri: + type: string + example: https://{TenantEndpoint}/service/oidc/{oidcAppName}/jwks + request_parameter_supported: + type: boolean + example: false + response_modes_supported: + type: array + items: + type: string + example: + - query + - form_post + - fragment + response_types_supported: + type: array + items: + type: string + example: + - code + - token + - id_token + - code token + - code id_token + - token id_token + - code token id_token + revocation_endpoint: + type: string + example: https://{TenantEndpoint}/api/oidc/{oidcAppName}/revoke + introspection_endpoint: + type: string + description: OAuth 2.0 Token Introspection endpoint (RFC 7662) + example: https://{TenantEndpoint}/api/oidc/{oidcAppName}/introspect + revocation_endpoint_auth_methods_supported: + type: array + items: + type: string + example: + - client_secret_post + - client_secret_basic + scopes_supported: + type: array + items: + type: string + example: + - openid + - email + - phone + - profile + - address + subject_types_supported: + type: array + items: + type: string + example: + - public + token_endpoint: + type: string + example: https://{TenantEndpoint}/api/oidc/{oidcAppName}/token + token_endpoint_auth_methods_supported: + type: array + items: + type: string + example: + - client_secret_post + - client_secret_basic + userinfo_endpoint: + type: string + example: https://{TenantEndpoint}/service/oidc/{oidcAppName}/userinfo + OIDCUserinfoResponse: + description: OIDC UserInfo Response + type: object + additionalProperties: true + example: + birthdate: 10-12-1985 + email: user@example.com + email_verified: true + family_name: Garcia + gender: F + given_name: Ava + middle_name: Marie + nickname: Ava + preferred_username: avagarcia + sub: fddf331f038a409c96bfb1733e6d0c63 + updated_at: 1747206183 + website: https://www.avagarcia.com + OIDCUserinfoJWTResponse: + description: OIDC UserInfo JWT Response when SignedUserInfo is true + type: string + format: jwt + example: eyJhbGciOiJSUzI1NiIsImtpZCI6IjMxNTI0ZjFjZTU3ZTQ1ZmQ5NjdkNzQzMWUxOGI5N2M2IiwidHlwIjoiSldUIn0.eyJhdWQiOiIzMTVhMjA3MC05NjM5LTRlMTktOTk1Ni1kMTFmYjZlNmIwOTAiLCJleHAiOjE3NDcyMTk3ODUsImlhdCI6MTc0NzIxODg4NSwiaXNzIjoiaHR0cHM6Ly9hdXRoLmV4YW1wbGUuY29tL3NlcnZpY2Uvb2lkYy9vaWRjLWFwcCIsImp0aSI6IjljMmE2YzcxLTg0NmQtNDliNS05NzNlLWMwYjlkNDY1ZmFmMiIsIm5iZiI6MTc0NzIxODg4NSwic3ViIjoiNjEyMDFmYzI4ODYyNDcwYTljN2I3MTJkMDE2NjkwNjUifQ.dusZxEqtDzpRO3bsd4V51RPJj3GvXu0_BDsOrVUl2WJQuNxfE49xDiZ7YZOtDhQhBGDCWBffdqSm9JcF0CfC4kCpF4S9qE21JiPGGjJCMMu7zFdCR7hcYdWKUZ_n0eaAO5MltTWDOD7te_Gb-EUZm1mJ7w4hQbApt-JodIglU5C3ydq6WydX_hrYpOy-lPqYBpP2r69FqKwKJRwoOt7jmNmUdFNjgdBal_OE9JimFX1hd603rbAoTW_VhEKmapF5iKhQpiqAqerh9QI3UEzpuIqiW9ewgVKL1Y_tEdI11I2BDU1jgNGaU3bBT58lYrMw1f6GQcliPhHX_NleyGJwHA + OIDCUserinfo: + description: OIDC Userinfo request + type: object + properties: + access_token: + type: string + format: jwt + example: eyJhbGciOiJIUz... + required: + - access_token + SamlIdpMetadataResponse: + description: Saml IdP Metadata Response + type: object + properties: + DSNS: + type: string + example: http://www.w3.org/2000/09/xmldsig# + xml: + attribute: true + name: xmlns:ds + EntityId: + type: string + example: https://auth.example.com/ + xml: + attribute: true + name: entityID + IDPSSODescriptor: + type: object + properties: + ProtocolSupportEnumeration: + type: string + example: urn:oasis:names:tc:SAML:2.0:protocol + xml: + attribute: true + name: protocolSupportEnumeration + SigningKeyDescriptor: + type: object + properties: + KeyInfo: + type: object + properties: + X509Data: + type: object + properties: + X509Certificate: + type: object + properties: + Cert: + type: string + example: MIID... + xml: + prefix: ds + xml: + prefix: ds + xml: + name: KeyInfo + prefix: ds + Use: + type: string + example: signing + xml: + attribute: true + name: use + xml: + name: KeyDescriptor + SingleLogoutService: + type: array + items: + properties: + Binding: + type: string + example: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST + xml: + attribute: true + name: Binding + Location: + type: string + example: https://auth.example.com.com//service/saml/idp/logout?appName=example_saml_app + xml: + attribute: true + name: Location + type: object + xml: + name: SingleLogoutService + xml: + name: SingleLogoutService + SingleSignOnService: + type: array + items: + properties: + Binding: + type: string + example: urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST + xml: + attribute: true + name: Binding + Location: + type: string + example: https://auth.example.com.com/service/saml/idp/login?appName=example_saml_app + xml: + attribute: true + name: Location + type: object + xml: + name: SingleSignOnService + xml: + name: SingleSignOnService + WantAuthnRequestsSigned: + type: string + example: 'false' + xml: + attribute: true + name: WantAuthnRequestsSigned + xml: + name: IDPSSODescriptor + XMLNS: + type: string + example: urn:oasis:names:tc:SAML:2.0:metadata + xml: + attribute: true + name: xmlns + xml: + name: EntityDescriptor + QRCodeResponse: + description: QR Code Response + type: object + properties: + code: + type: string + example: ZGQzMjFhOGEtMjk0ZC00YmZmLThiYTItMTY4ODQ1MmQ1NmVmIzIwMjUtMDQtMjlUMDU6MDY6NDIuNTI2Wg== + AccessTokenByPingQRCodeResponse: + description: Access Token By Ping QR Code Response + type: object + properties: + access_token: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + nullable: true + QRCodeMapToToken: + description: QR Code Map to Access Token Request + type: object + properties: + access_token: + type: string + example: 68106262-3938-4435-87ed-3e410b360209 + code: + type: string + example: MzUwOTczMDAtODM0MC00Y2FkLWE3MDgtNmY2ZDRiMDA4NjZlIzIwMjEtMTItMjlUMTc6NDk6MjIuNDY0Wg== + QRCodeMapToTokenResponse: + description: QR Code Map to Access Token Response + type: object + properties: + isPosted: + type: boolean + PasswordEncryptionModel: + type: object + properties: + IsPerPasswordSalt: + type: boolean + default: false + description: Whether to generate a unique salt for each password + example: true + NumberOfIteration: + type: integer + minimum: 0 + nullable: true + description: Number of hashing iterations to apply. + example: 100000 + PasswordHasherVersion: + type: string + default: V1 + description: Version identifier for the Password hashing algorithm. + example: V1 + enum: + - V1 + - V2 + - V3 + - V4 + - V5 + SubKeyLength: + type: integer + minimum: 0 + nullable: true + description: Length of the derived key (in bytes). + example: 32 + SaltKeyLength: + type: integer + minimum: 0 + nullable: true + description: Length of the salt key (in bytes). + example: 16 + Salt: + type: string + nullable: true + description: Global salt value (used when IsPerPasswordSalt is false) + example: c2FsdFZhbHVlMTIz + Type: + type: string + description: The encryption or hashing algorithm used. + example: PBKDF2 + enum: + - MD5 + - BCRYPT + - PBKDF2 + - SHA1 + - SHA256 + - SHA512 + - HMAC_SHA1 + - HMAC_SHA256 + - ARGON2ID + - ARGON2I + SaltAttachType: + type: string + description: How to attach salt to password + example: Prepend + enum: + - None + - Prepend + - Append + PasswordHashEncodingType: + type: string + nullable: true + description: Encoding type for the Password hash output + example: Base64 + enum: + - Default + - Base64 + - HexaDecimal + - UTF8 + - BitConverter + PasswordSaltEncodingType: + type: string + nullable: true + description: Encoding type for the salt + example: Base64 + enum: + - Default + - Base64 + - HexaDecimal + - UTF8 + - BitConverter + PlaintextPasswordEncoding: + type: string + nullable: true + description: Encoding type for the plaintext Password before hashing. + example: Default + enum: + - Default + - Base64 + - UTF8 + PasswordHashThread: + type: integer + nullable: true + minimum: 0 + maximum: 128 + description: Number of threads for Argon2 algorithms + example: 2 + PasswordHashMemory: + type: integer + nullable: true + minimum: 0 + maximum: 8192 + description: Memory usage (in KB) for Argon2 algorithms + example: 64 + required: + - Type + DeltaMigrationModel: + type: object + properties: + DeltaMigration: + type: boolean + description: Indicates if delta migration is enabled. + example: true + OverWriteDuplicate: + type: boolean + description: If true, existing records will be overwritten when duplicates are found. + example: false + required: + - DeltaMigration + - OverWriteDuplicate + BatchUpload: + type: object + properties: + PasswordEncryption: + $ref: '#/components/schemas/PasswordEncryptionModel' + Profiles: + type: array + items: + $ref: '#/components/schemas/ProfileRequestModel' + description: A list of User profile objects to be uploaded in batch. + DeltaMigrationModel: + $ref: '#/components/schemas/DeltaMigrationModel' + required: + - Profiles + BulkInsertErrorReport: + type: object + properties: + RecordNumber: + type: integer + format: int32 + description: Row no of the record that failed. + example: 3 + Message: + type: string + description: Description of the error encountered during insert or update. + example: Email address already exists + required: + - RecordNumber + - Message + BulkInsertReport: + type: object + properties: + RecordInserted: + type: integer + format: int64 + description: Number of records successfully inserted. + example: 150 + RecordUpdated: + type: integer + format: int64 + description: Number of records successfully updated. + example: 50 + Failed: + type: array + description: List of records that failed to insert or update. + items: + $ref: '#/components/schemas/BulkInsertErrorReport' + required: + - RecordInserted + - RecordUpdated + BatchUploadResponse: + type: object + properties: + Profile: + $ref: '#/components/schemas/BulkInsertReport' + Roles: + $ref: '#/components/schemas/BulkInsertReport' + required: + - Profile + BatchUploadErrorResponse: + type: object + required: + - ErrorCode + - Message + - Description + properties: + ErrorCode: + type: integer + format: int32 + description: Error code for identifying the error type. + example: 908 + Message: + type: string + description: Brief message describing the error. + example: A parameter is not formatted correctly + Description: + type: string + description: Detailed description of the error. + example: A parameter is not formatted correctly in the request, please check all the parameters in the API call. + Errors: + type: array + description: List of individual field errors. + items: + type: object + properties: + FieldName: + type: string + description: Identifier for the record that caused the error. + example: Record 1 + ErrorMessage: + type: string + description: Description of the specific error related to the field. + example: Email address is already registered with your LoginRadius site + required: + - FieldName + - ErrorMessage + ConsentOptions: + type: object + properties: + ConsentId: + type: string + description: Unique identifier for the consent option. + example: d290f1ee6c544b90e6d701748f0851 + Title: + type: string + description: Title of the consent option. + example: SMS Consent + Description: + type: string + description: Description of the consent option. + example: Consent to receive SMS notifications + CreatedOn: + type: string + format: date-time + description: Creation date of the consent option. + example: '2023-01-01T00:00:00Z' + nullable: true + IsActive: + type: boolean + description: Indicates if the consent option is currently active. + example: true + ConsentOptionModel: + type: object + properties: + Title: + type: string + description: Title of the consent option. + example: SMS Consent + maxLength: 150 + Description: + type: string + description: Description of the consent option. + example: Consent to receive SMS notifications + maxLength: 1000 + ConsentFormEvent: + type: object + properties: + IsCustom: + type: boolean + description: Indicates if the event is custom. + example: true + Name: + type: string + description: Name of the event. + example: Register + ConsentFormOption: + type: object + properties: + IsRequired: + type: boolean + description: Indicates if this consent option is required. + example: true + ConsentOptionId: + type: string + description: Unique identifier for the consent option. + example: 123e4567e89b12d3a456426614174000 + IsActive: + type: boolean + description: Indicates if the consent option is active. + example: true + ConsentForm: + type: object + properties: + IsActive: + type: boolean + description: Indicates if the consent form is active. + example: true + Version: + type: integer + format: int32 + description: Version number of the consent form. + example: 1 + Events: + type: array + items: + $ref: '#/components/schemas/ConsentFormEvent' + description: List of events associated with the consent form. + StartFromDate: + type: string + format: date-time + nullable: true + description: Start date of the consent form. + example: '2023-01-01T00:00:00Z' + CreatedOnDate: + type: string + format: date-time + nullable: true + description: Creation date of the consent form. + example: '2023-01-01T00:00:00Z' + ConsentOptions: + type: array + items: + $ref: '#/components/schemas/ConsentFormOption' + description: List of consent options in the form. + TermOfService: + type: string + description: Terms of service text. + example: I agree to the terms of service. + PrivacyPolicy: + type: string + description: Privacy Policy text. + example: I agree to the Privacy Policy. + IsWorkflowForm: + type: boolean + description: Indicates if this is a workflow form. + example: true + ConsentFormOptions: + type: object + properties: + IsRequired: + type: boolean + description: Indicates if this consent option is required. + example: true + ConsentOptionId: + type: string + description: Unique identifier for the consent option. + example: 123e4567e89b12d3a456426614174000 + ConsentFormModel: + type: object + properties: + Events: + type: array + items: + type: string + description: List of events associated with the consent form. + example: + - Register + - Login + StartFromDate: + type: string + format: date-time + nullable: true + description: Start date of the consent form. + example: '2023-01-01T00:00:00Z' + ConsentOptions: + type: array + items: + $ref: '#/components/schemas/ConsentFormOptions' + description: List of consent options in the form. + TermOfService: + type: string + description: Terms of service text. + example: I agree to the terms of service. + PrivacyPolicy: + type: string + description: Privacy Policy text. + example: I agree to the Privacy Policy. + IsWorkflowForm: + type: boolean + description: Indicates if this is a workflow form. + example: true + BigCommerceLoginUrlResponse: + type: object + properties: + loginUrl: + type: string + description: BigCommerce login URL for the customer. + example: https://store-abc123.mybigcommerce.com/login/token/eyJhbGciOiJIUzI1NiJ9 + BigCommerceTokenPostRequest: + type: object + required: + - access_token + properties: + access_token: + type: string + description: LoginRadius access token of the authenticated user. + example: 1234567890abcdef1234567890abcdef + password: + type: string + description: Optional password for BigCommerce customer creation. + return_url: + type: string + description: URL to redirect the user to after login. + example: https://example.com/dashboard + BigCommerceValidatePasswordRequest: + type: object + required: + - emailid + - password + properties: + emailid: + type: string + description: Email address of the BigCommerce customer. + example: user@example.com + password: + type: string + description: Password to validate for the BigCommerce customer. + example: MyPassword123 + BigCommerceValidatePasswordResponse: + type: object + properties: + verified: + type: boolean + description: Whether the password is valid for the BigCommerce customer. + example: true + ShopifyLoginUrlResponse: + type: object + properties: + url: + type: string + description: Shopify Multipass login URL for the customer. + example: https://mystore.myshopify.com/account/login/multipass/v1/eyJhbGciOiJIUzI1NiJ9 + PerfectMindSessionResponse: + type: object + properties: + SessionId: + type: string + description: PerfectMind session identifier. + example: abc123-def456-ghi789 + URL: + type: string + description: PerfectMind login URL with the session. + example: https://mysite.perfectmind.com/session/abc123 + IsNewLink: + type: boolean + description: Whether a new session link was generated. + example: true + PerfectMindContactResponse: + type: object + properties: + Email: + type: string + description: Email address associated with the PerfectMind contact. + example: user@example.com + ContactId: + type: array + items: + type: string + description: List of PerfectMind contact IDs matching the email. + example: + - '12345' + - '67890' + examples: + ResetPasswordByEmailAndOTP: + summary: Reset using OTP and Email (QQ Captcha) + value: + otp: '123456' + email: user@example.com + Password: new_secure_password + welcomeemailtemplate: welcome_template + ResetPasswordEmailTemplate: reset_password_template + SecurityAnswer: + 9d1f4208bda845d885eab43266d6543f: Buddy + qq_captcha_ticket: qq-ticket-abc + qq_captcha_randstr: qq-randstr-xyz + ResetPasswordByUsernameAndOTP: + summary: Reset using OTP and Username (hCaptcha) + value: + otp: '654321' + username: user123 + Password: new_secure_password + welcomeemailtemplate: welcome_template + ResetPasswordEmailTemplate: reset_password_template + SecurityAnswer: + 9d1f4208bda845d885eab43266d6543f: Delhi + h-captcha-response: hcaptcha-token-999 + ResetPasswordByResetToken: + summary: Reset using ResetToken (Google Recaptcha) + value: + ResetToken: xxxxxxxxxxxxxxxxxxxx + Password: new_secure_password + welcomeemailtemplate: welcome_template + ResetPasswordEmailTemplate: reset_password_template + SecurityAnswer: + 9d1f4208bda845d885eab43266d6543f: Fluffy + 9d1f4208bda845d885eab43266d65500: Blue + g-recaptcha-response: google-captcha-token-123 + API_KEY_REQUIRED: + summary: API_KEY_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The apikey is a required parameter. + API_KEY_NOT_WELL_FORMATTED: + summary: API_KEY_NOT_WELL_FORMATTED + value: + ErrorCode: 920 + Message: API key is invalid + Description: The provided LoginRadius API key is invalid, please use a valid API key of your LoginRadius account. + DANGEROUS_REQUEST: + summary: DANGEROUS_REQUEST + value: + ErrorCode: 1214 + Message: Dangerous request + Description: A potentially dangerous request value was detected. + CONTENT_TYPE_INVALID: + summary: CONTENT_TYPE_INVALID + value: + ErrorCode: 1083 + Message: This content type header is not supported + Description: Please use a valid content type header as application/json. + JSON_PUT_BODY_REQUIRED: + summary: JSON_PUT_BODY_REQUIRED + value: + ErrorCode: 1079 + Message: Put body is invalid or empty + Description: Please use a valid put body in JSON format in order to process this request. + API_KEY_AND_RESET_TOKEN_REQUIRED: + summary: API_KEY_AND_RESET_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The apikey is a required parameter,The resettoken is a required parameter. + API_KEY_AND_PASSWORD_REQUIRED: + summary: API_KEY_AND_PASSWORD_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The apikey is a required parameter,The password is a required parameter. + PASSWORD_AND_RESET_TOKEN_REQUIRED: + summary: PASSWORD_AND_RESET_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The password is a required parameter,The resettoken is a required parameter. + RESET_TOKEN_REQUIRED: + summary: RESET_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The resettoken is a required parameter. + PASSWORD_REQUIRED: + summary: PASSWORD_REQUIRED + value: + Message: Password is required + ErrorCode: 908 + Description: The password is required in order to process this request. + SERVER_SIDE_VALIDATION_ERROR: + summary: SERVER_SIDE_VALIDATION_ERROR + value: + ErrorCode: 1134 + Message: Validation failed for one or more fields + Description: Validation failed for one or more fields. Please check the errors field for more information. + USERNAME_REQUIRED_PARAM: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The username is a required parameter. Please provide a valid username to process the request. + OTP_REQUIRED: + summary: OTP_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The OTP is a required parameter. + EMAILID_ID_FORMAT_NOT_VALID: + summary: EMAILID_ID_FORMAT_NOT_VALID + value: + ErrorCode: 1038 + Message: Valid email ID is required + Description: The provided email ID is invalid or not well-formatted, a valid email ID is required in order to process this request. + EMAIL_PHONE_USERNAME_PAYLOAD_REQUIRED: + summary: EMAIL_PHONE_USERNAME_PAYLOAD_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email/username/phone is a required parameter. + EMAIL_REQUIRED: + summary: EMAIL_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email is a required parameter. + GENERIC_AUTH_ERROR: + summary: GENERIC_AUTH_ERROR + value: + errorCode: 1409 + message: Authentication failed + description: The credentials provided could not be authenticated. + API_KEY_NOT_VALID: + summary: API_KEY_NOT_VALID + value: + ErrorCode: 901 + Message: The API key is unauthorized + Description: The provided LoginRadius API key is invalid or is not authorized, please use a valid or authorized LoginRadius API key or check the API key for your LoginRadius account. + TRIAL_PLAN_EXPIRED: + summary: TRIAL_PLAN_EXPIRED + value: + ErrorCode: 6003 + Message: Trial plan expired + Description: The trial plan has expired. To continue using the service, please contact support. + RAAS_PROFILE_NOT_EXISTS: + summary: RAAS_PROFILE_NOT_EXISTS + value: + ErrorCode: 1039 + Message: An email profile is not created or does not exist + Description: An email profile is not created on this Account ID, please use a valid Account ID or create an email profile before processing this request. + USER_ID_BLOCKED: + summary: USER_ID_BLOCKED + value: + ErrorCode: 991 + Message: User ID is blocked + Description: The user ID is blocked, please use a valid user ID in order to process this request. + USER_ID_LOCKED_WITH_TIMEOUT: + summary: USER_ID_LOCKED_WITH_TIMEOUT + value: + Data: + LoginLockedTimeout: '2025-07-11T21:40:44.875Z' + Description: Your account has been locked, please try again after sometime. + ErrorCode: 1198 + Message: Your account has been locked + LOGIN_IS_LOCKED_FOR_RECAPTCHA: + summary: LOGIN_IS_LOCKED_FOR_RECAPTCHA + value: + ErrorCode: 1132 + Message: Your account has been locked + Description: Your account has been locked, please login with a valid reCAPTCHA in order to continue. + USER_ID_LOCKED: + summary: USER_ID_LOCKED + value: + ErrorCode: 1198 + Message: Your account has been locked + Description: Your account has been locked, please try again after sometime. + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + summary: LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION + value: + ErrorCode: 1148 + Message: Your account has been locked + Description: Your account has been locked, please login with an answer to the security question in order to continue. + SECURITY_QUESTION_NOT_VALID: + summary: SECURITY_QUESTION_NOT_VALID + value: + ErrorCode: 1091 + Message: Security question is invalid + Description: This security question is invalid, please use a correct or valid security question. + SECURITY_QUESTION_OR_ANSWER_INVALID: + summary: SECURITY_QUESTION_OR_ANSWER_INVALID + value: + ErrorCode: 1094 + Message: Your security answer or question is incorrect. + Description: Your security question or answer is incorrect, please enter the correct security question or answer. + SECURITY_ANSWER_INVALID: + summary: SECURITY_ANSWER_INVALID + value: + ErrorCode: 1093 + Message: Security answer is invalid + Description: The security answer is invalid, please use a valid security answer in order to process this request. + VERIFICATION_OTP_NOT_VALID: + summary: VERIFICATION_OTP_NOT_VALID + value: + ErrorCode: 1185 + Message: Verification OTP is invalid + Description: The LoginRadius verification OTP is invalid, please use a valid verification OTP in order to process this request. + VERIFICATION_VTOKEN_NOT_VALID: + summary: VERIFICATION_VTOKEN_NOT_VALID + value: + ErrorCode: 1063 + Message: Verification token (vtoken) is invalid + Description: The LoginRadius verification token is invalid, please use a valid verification token in order to process this request. + LINK_EXPIRED: + summary: LINK_EXPIRED + value: + ErrorCode: 975 + Message: Your verification link or otp has expired + Description: This verification link or otp has expired, please request for new verification link or otp. + LINK_ALREADY_VERIFIED: + summary: LINK_ALREADY_VERIFIED + value: + ErrorCode: 974 + Message: The email verification link has already been used + Description: Each link can only be used once, you can log in now if you have already verified the email, OR use the ‘forgot password’ option. + USER_NOT_EXISTS: + summary: USER_NOT_EXISTS + value: + ErrorCode: 938 + Message: User does not exist + Description: The user does not exist, please use a valid user in order to process this request. + WEAK_PASSWORD: + value: + ErrorCode: 1216 + Message: Weak password + Description: A potential password vulnerability was detected. + PASSWORD_IN_HISTORY: + summary: PASSWORD_IN_HISTORY + value: + ErrorCode: 1015 + Message: The new password is invalid + Description: Your new password is too similar to your old passwords, please try a different password. + BREACHED_PASSWORD: + summary: BREACHED_PASSWORD + value: + ErrorCode: 1315 + Message: The password you’re trying to set is exposed in an external data breach. + Description: The specific password you’re setting is found in a data breach unrelated to this app/service. Please set a different password. + ACTIVE_SESSIONS_EXCEEDED: + summary: ACTIVE_SESSIONS_EXCEEDED + value: + ErrorCode: 1338 + Message: Exceeded active login session limit + Description: You have exceeded the maximum number of allowed active login sessions. Please log out of any other active session before attempting to log in again. If you need further assistance, contact support. + PRIVACY_POLICY_MISMATCHED: + summary: PRIVACY_POLICY_MISMATCHED + value: + Data: + access_token: 6******2-3**8-4**5-8**d-3**********9 + expires_in: 300 + refresh_token: 6******2-3**8-4**5-8**d-3**********9 + Description: You have not accepted the current Privacy Policy. + ErrorCode: 1194 + Message: Privacy Policy does not match + POST_BODY_INVALID: + summary: POST_BODY_INVALID + value: + ErrorCode: 965 + Message: The post body is invalid + Description: Please use a valid post body and make sure that it is in a valid JSON format. + USERNAME_REQUIRED: + summary: USERNAME_REQUIRED + value: + ErrorCode: 1075 + Message: Username is required + Description: The username is required in order to process this request. + EMAIL_ID_OR_USER_REQUIRED: + summary: EMAIL_ID_OR_USER_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email/username is a required parameter. + CAPTCHA_NOT_VALID: + summary: CAPTCHA_NOT_VALID + value: + errorcode: 982 + message: Captcha is not valid + description: The captcha is not valid, please use a valid captcha in order to process this request. + RESET_PASSWORD_URL_INVALID: + summary: RESET_PASSWORD_URL_INVALID + value: + ErrorCode: 1252 + Message: Reset password URL is invalid + Description: The reset password URL is invalid, please use a valid reset password URL in order to process this request. + EMAIL_SEND_LIMIT_REACHED: + value: + Description: The account limit for email requests for this resource has been reached for this time due to too many request. + ErrorCode: 1122 + Message: You have reached a limit for sending emails + ACCESS_TOKEN_REQUIRED: + summary: ACCESS_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The access_token is a required parameter. + OAUTH_TOKEN_CONFIG_NOT_FOUND: + summary: OAUTH_TOKEN_CONFIG_NOT_FOUND + value: + Description: Unable to retrieve token configuration for the specified app. + ErrorCode: 2017 + Message: Request is invalid + OLD_PASSWORD_REQUIRED: + summary: OLD_PASSWORD_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The oldpassword is a required parameter. + NEW_PASSWORD_REQUIRED: + summary: NEW_PASSWORD_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The newpassword is a required parameter. + INVALID_PASSWORD: + summary: INVALID_PASSWORD + value: + ErrorCode: 967 + Message: Current password is invalid + Description: Your current password is invalid, please use the correct password. + ACCESS_TOKEN_NOT_VALID: + summary: ACCESS_TOKEN_NOT_VALID + value: + ErrorCode: 905 + Message: Access token is invalid + Description: The LoginRadius access token is invalid, please use the correct or valid access token in order to process this request. + ACCESS_TOKEN_EXPIRED: + summary: ACCESS_TOKEN_EXPIRED + value: + ErrorCode: 906 + Message: Access token has expired + Description: The LoginRadius access token has expired, please request a new token from LoginRadius API. + PHONE_REQUIRED: + summary: PHONE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The Phone is a required parameter. + INVALID_PHONE_NUMBER: + summary: INVALID_PHONE_NUMBER + value: + ErrorCode: 1096 + Message: Invalid phone number. + Description: The provided phone number is not valid or not well-formatted, please review the phone number in order to process this request. + PHONE_NO_LOGIN_NOT_ENABLED: + summary: PHONE_NO_LOGIN_NOT_ENABLED + value: + ErrorCode: 1074 + Message: Phone number login is not enabled + Description: The phone number login is not enabled, please enable the phone number login in order to process this request. + OTP_NOT_EXISTS: + summary: OTP_NOT_EXISTS + value: + ErrorCode: 1067 + Message: Invalid OTP Code + Description: The OTP code is invalid, please request for a new OTP. + OTP_INVALID: + summary: OTP_INVALID + value: + ErrorCode: 1070 + Message: The OTP cannot be accessed + Description: This OTP is either expired or has already been used, please request for a new OTP. + OTP_ALREADY_USED: + summary: OTP_ALREADY_USED + value: + ErrorCode: 1068 + Message: The OTP has already been used + Description: Each OTP can only be used once, you can now login if you have already verified the phone number. + OTP_EXPIRED: + summary: OTP_EXPIRED + value: + ErrorCode: 1069 + Message: Verification OTP has expired + Description: This verification OTP has expired, please use ‘resend OTP’ option to verify your phone number. + SMS_CONFIGURATION_NOT_EXISTS: + summary: SMS_CONFIGURATION_NOT_EXISTS + value: + ErrorCode: 1071 + Message: SMS configuration does not exist + Description: The SMS configuration does not exist, please use a valid SMS configuration in order to process this request. + SMS_SEND_LIMIT_REACHED: + summary: SMS_SEND_LIMIT_REACHED + value: + ErrorCode: 1123 + Message: You have reached a limit for sending SMS + Description: The account limit for SMS requests for this resource has been reached for this time due to too many request. + OTP_SEND_FAILED: + summary: OTP_SEND_FAILED + value: + Description: The Verification OTP Code sending failed, please try again. + ErrorCode: 1072 + Message: The Verification code (OTP) send failed + OPERATION_FAILED: + summary: OPERATION_FAILED + value: + ErrorCode: 950 + Message: Operation failed due to an unknown error + Description: An unknown error has occurred, please try again in a few minutes or contact your system admin. + VOICE_SMS_CONFIGURATION_NOT_ENABLED: + summary: VOICE_SMS_CONFIGURATION_NOT_ENABLED + value: + ErrorCode: 1281 + Message: Voice OTP has not been configured + Description: The Voice OTP has not been configured, please configure it. + OTP_LIMIT_REACHED: + summary: OTP_LIMIT_REACHED + value: + ErrorCode: 1179 + Message: You have reached a limit for generating OTP + Description: The limit for generating OTP for this resource has been reached. The limit will auto reset upon reaching the configured request disabled period. + ResetPasswordBySecurityAnswerAndEmail: + summary: Reset Password By Security Answer and Email Example + value: + SecurityAnswer: + 9d1f4208bda845d885eab43266d6543f: Smith + ResetPasswordEmailTemplate: reset-password-template + password: MySecureP@ssw0rd + Email: user@example.com + ResetPasswordBySecurityAnswerAndPhone: + summary: Reset Password By Security Answer and Phone Example + value: + SecurityAnswer: + 9d1f4208bda845d885eab43266d6543f: Smith + ResetPasswordEmailTemplate: reset-password-template + password: MySecureP@ssw0rd + Phone: '+919876543210' + ResetPasswordBySecurityAnswerAndUserId: + summary: Reset Password By Security Answer and UserId Example + value: + SecurityAnswer: + 9d1f4208bda845d885eab43266d6543f: Smith + ResetPasswordEmailTemplate: reset-password-template + password: MySecureP@ssw0rd + userid: john_doe + ResetPasswordBySecurityAnswerAndUsername: + summary: Reset Password By Security Answer and Username Example + value: + SecurityAnswer: + 9d1f4208bda845d885eab43266d6543f: Smith + ResetPasswordEmailTemplate: reset-password-template + password: MySecureP@ssw0rd + UserName: john_doe + SECUREITY_ANSWER_REQUIRED_VALIDATION: + summary: SECUREITY_ANSWER_REQUIRED_VALIDATION + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of secuityanswer can not be null or empty. + PASSWORD_REQUIRED_VALIDATION: + summary: PASSWORD_REQUIRED_VALIDATION + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of password can not be null or empty. + SECURITY_QUESTION_OR_ANSWER_NOT_ENABLED: + value: + ErrorCode: 1095 + Message: Security question or answer is not enabled + Description: The security question or answer is not enabled. Please enable the security question or answer. + SECURITY_QUESTION_NOT_SAVED_IN_PROFILE: + summary: SECURITY_QUESTION_NOT_SAVED_IN_PROFILE + value: + ErrorCode: 1092 + Message: Security question and answer is not saved in profile + Description: This security question and answer is not saved in your profile, please update the security question and answer in profile. + EMAIL_OR_USERNAME_ONLY_ONE: + summary: EMAIL_OR_USERNAME_ONLY_ONE + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: Please provide either email or username. + EMAIL_ALLREADY_VERIFIED: + summary: EMAIL_ALLREADY_VERIFIED + value: + ErrorCode: 1025 + Message: This email address is already verified + Description: This email address has already been confirmed, so you cannot resend the verification email. + EMAILID_VERIFICATION_DISABLE: + summary: EMAILID_VERIFICATION_DISABLE + value: + ErrorCode: 1034 + Message: Verification emails cannot be sent, as the email verification option is disabled for your site + Description: The email address verification option is disabled for your site, please enable it before sending any verification emails. + VERIFICATION_URL_IS_NOT_VALID: + summary: VERIFICATION_URL_IS_NOT_VALID + value: + ErrorCode: 1249 + Message: The VerificationUrl URL is invalid + Description: The VerificationUrl is invalid, please reach out to LoginRadius support for more information. + EMAIL_ID_NOT_EXIST_IN_PROFILE: + summary: EMAIL_ID_NOT_EXIST_IN_PROFILE + value: + ErrorCode: 1340 + Message: Email address does not exist in the profile + Description: The request cannot be processed as the email address does not exist in the user's profile. + SOTT_REQUIRED: + summary: SOTT_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The sott is a required parameter. + PHONE_REQUIRED_PARAM: + summary: PHONE_REQUIRED_PARAM + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The PhoneId is a required parameter. + PHONE_OR_EMAIL_REQUIRED_PARAM: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email/phone number is a required parameter. Please provide a valid email or phone number to process the request. + EMAIL_REQUIRED_PARAM: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email is a required parameter. Please provide a valid email to process the request. + EMAIL_PHONE_REQUIRED_PARAM: + summary: EMAIL_PHONE_REQUIRED_PARAM + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email is a required parameter,The PhoneId is a required parameter. + USERNAME_EMAIL_REQUIRED_PARAM: + summary: USERNAME_EMAIL_REQUIRED_PARAM + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The username is a required parameter,The email is a required parameter. + EMAIL_TYPE_REQUIRED: + summary: EMAIL_TYPE_REQUIRED + value: + ErrorCode: 1201 + Message: Email type is required + Description: The email type is required in order to process this request. + GENDER_INVALID: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of gender is invalid. Please use a valid value of gender to process the request. + BIRTH_DATE_INVALID: + summary: BIRTH_DATE_INVALID + value: + ErrorCode: 968 + Message: The date is invalid or has an invalid format + Description: The provided birth date either is in the future or has an invalid format. Please use a valid date and date format (mm/dd/yyyy). + ADDRESS_TYPE_REQUIRED: + summary: ADDRESS_TYPE_REQUIRED + value: + ErrorCode: 1125 + Message: Address type is required + Description: The request couldn't be processed. The address type must be specified in the address. + PARAMETER_NOT_FORMATTED: + summary: PARAMETER_NOT_FORMATTED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly. + Description: A parameter is not formatted correctly in the request, please check all the parameters in the API call + ADDRESS_TYPE_CAN_NOT_BE_SAME: + summary: ADDRESS_TYPE_CAN_NOT_BE_SAME + value: + ErrorCode: 1107 + Message: Address type can not be same + Description: Please use different address types in the case of multiple addresses. + EMAIL_ID_CAN_NOT_BE_SAME: + value: + ErrorCode: 1202 + Message: Email address can not be same + Description: Please use different email addresses in the case of multiple email addresses. + PRIMARY_EMAIL_CAN_BE_ONLY_ONE: + value: + ErrorCode: 1203 + Message: Primary email address can be only one + Description: The primary email address can be only one. + INVITATION_TOKEN_INVALID: + summary: INVITATION_TOKEN_INVALID + value: + ErrorCode: 8173 + Message: Invitation token is not valid. + Description: Invitation token is not valid, this invitation either accepted, expired or revoked. + EMAIL_VALUE_REQUIRED_PARAM: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value is a required parameter. Please ensure it is provided and correctly formatted. + INVALID_INVITATION_ID_ACCEPTED: + summary: INVALID_INVITATION_ID_ACCEPTED + value: + ErrorCode: 8175 + Message: The invitation id/token is invalid + Description: This invitation id/token is accepted. Please enter a valid invitation id/token. + INVALID_INVITATION_ID_EXPIRED: + summary: INVALID_INVITATION_ID_EXPIRED + value: + ErrorCode: 8175 + Message: The invitation id/token is invalid + Description: This invitation id/token is expired. Please enter a valid invitation id/token. + INVALID_INVITATION_ID_REVOKED: + summary: INVALID_INVITATION_ID_REVOKED + value: + ErrorCode: 8175 + Message: The invitation id/token is invalid + Description: This invitation id/token is revoked. Please enter a valid invitation id/token. + TRIAL_PLAN_USER_LIMIT_REACHED: + summary: TRIAL_PLAN_USER_LIMIT_REACHED + value: + ErrorCode: 6004 + Message: User creation limit reached for the trial plan + Description: The trial plan user creation limit has been reached. Upgrade your plan to add more users. + SECURED_ONE_TIME_TOKEN_IS_INVALID: + summary: SECURED_ONE_TIME_TOKEN_IS_INVALID + value: + ErrorCode: 1049 + Message: Secured one-time token (SOTT) is invalid + Description: Secured one-time token (SOTT) is invalid, please use a valid secure one-time token (SOTT) in order to process this request. + ORGANIZATION_NOT_ACTIVE: + summary: ORGANIZATION_NOT_ACTIVE + value: + ErrorCode: 8180 + Message: Organization is not active + Description: Organization is not active, Please provide valid organization id. + TRADITIONAL_REGISTRATION_DISABLED: + summary: TRADITIONAL_REGISTRATION_DISABLED + value: + ErrorCode: 1190 + Message: Traditional registration is disabled + Description: The traditional registration is disabled, please enable the traditional registration in order to process this request. + CUSTOM_FIELD_NOT_VALID: + summary: CUSTOM_FIELD_NOT_VALID + value: + ErrorCode: 993 + Message: Custom field is invalid + Description: This custom field is invalid. Please use a correct or valid custom field. + EMAILID_ALREADY_REGISTERED: + summary: EMAILID_ALREADY_REGISTERED + value: + ErrorCode: 936 + Message: Email ID is already registered + Description: The provided email ID is already registered, please use a different email ID. + EMAILID_ALREADY_REGISTERED_WITH_SOCIAL_ACCOUNT: + summary: EMAILID_ALREADY_REGISTERED_WITH_SOCIAL_ACCOUNT + value: + ErrorCode: 1030 + Message: This email address cannot be registered, as it is already registered under a social account + Description: An account already exists with this email address. If you've forgotten which social provider you have previously registered under, please use the forgot user ID or social provider link. + DOMAIN_NO_VALID_MX_RECORD: + value: + Description: The domain is not configured to handle emails. Please verify that the domain has valid MX records set up. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER: + summary: EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER + value: + ErrorCode: 1247 + Message: Email id domain is not allowed to register + Description: The provided Email ID domain is not allowed to register, please use a different email ID. + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER: + summary: THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER + value: + ErrorCode: 1056 + Message: This email ID is not allowed to register + Description: The email ID you are trying to register with is not allowed. + ACCOUNT_NOT_ALLOWED_TO_LOGIN: + summary: ACCOUNT_NOT_ALLOWED_TO_LOGIN + value: + ErrorCode: 1220 + Message: Account is not allowed to login + Description: The account is not allowed to login, please use a valid account in order to process this request. + PIN_REQUIRED: + value: + ErrorCode: 1234 + Message: PIN is required. + Description: The PIN is a required field. Please provide a valid PIN. + CONSENT_FORM_NOT_SUBMITTED: + summary: CONSENT_FORM_NOT_SUBMITTED + value: + Data: + ConsentProfile: + AcceptedConsentVersions: + - Event: FirstLogin + IsCustom: false + Version: 1 + Consents: + Options: + - ConsentOptionId: 123e4567e89b12d3a456426614174000 + ConsentToken: 6******2-3**8-4**5-8**d-3**********9 + Events: + - IsCustom: false + Name: Login + Description: Consent form not submitted, please accept the consent form. + ErrorCode: 1226 + Message: Consent form not submitted. + CONSENT_FORM_VALIDATION_FAILED: + value: + Description: Consent form validation failed. + ErrorCode: 1225 + Message: Consent form validation failed + PRIVACY_POLICY_NOT_ACCEPTED: + value: + ErrorCode: 1196 + Message: Privacy Policy is not accepted + Description: Privacy Policy must be accepted for registration. + AGE_UNDERAGE: + summary: AGE_UNDERAGE + value: + ErrorCode: 1163 + Message: You are not eligible for registration + Description: You are not eligible for registration, your age must be above specified by admin of this site. + PHONE_NO_ALREADY_REGISTERED: + summary: PHONE_NO_ALREADY_REGISTERED + value: + ErrorCode: 1058 + Message: Phone number is already registered with your LoginRadius site + Description: The phone number has to be unique for your LoginRadius site, please use a different phone number. + USERNAME_ALREADY_REGISTERED: + summary: USERNAME_ALREADY_REGISTERED + value: + ErrorCode: 1017 + Message: This username is already registered with this website + Description: The username you have selected is already in use, please choose a different username. + INVITATION_NOT_FOUND: + summary: INVITATION_NOT_FOUND + value: + ErrorCode: 8169 + Message: Invitation not found + Description: Invitation not found, Please provide valid invitation id. + ORGANIZATION_NOT_FOUND: + summary: ORGANIZATION_NOT_FOUND + value: + ErrorCode: 1026 + Message: Organization not found + Description: The organization not found, please use a valid organization in order to process this request. + ROLE_DOES_NOT_EXISTS_PARTNER: + summary: ROLE_DOES_NOT_EXISTS_PARTNER + value: + ErrorCode: 8125 + Message: Role does not exist + Description: Role does not exist, Please provide valid Role id. + OPERATION_FAILED_PARTNER: + summary: OPERATION_FAILED_PARTNER + value: + Message: Operation failed due to an internal error. + Description: An unknown internal error occurred, please try again in a few minutes or contact your system administrator. + ErrorCode: 7909 + PASSKEY_NOT_ENABLED_IN_APP: + summary: PASSKEY_NOT_ENABLED_IN_APP + value: + ErrorCode: 1320 + Message: Passkeys not enabled in this application. + Description: Please enable passkeys in the admin console to allow users to log in with passkeys. + PASSKEY_CONFIG_INVALID: + summary: PASSKEY_CONFIG_INVALID + value: + ErrorCode: 1322 + Message: Passkey configuration is invalid + Description: The pass key configuration is invalid, please use a valid pass key configuration in order to process this request. + PASSKEY_VERIFICATION_FAILED: + summary: PASSKEY_VERIFICATION_FAILED + value: + ErrorCode: 1321 + Message: Passkey verification failed + Description: The pass key verification failed, please use a valid pass key in order to process this request. + EMAIL_TYPE_REQUIRED_PARAM: + summary: EMAIL_TYPE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The type is a required parameter. + PASS_KEY_CREDENTIAL_REQUIRED: + summary: PASS_KEY_CREDENTIAL_REQUIRED + value: + Message: Pass key credential is required + ErrorCode: 908 + Description: The pass key credential is required in order to process this request. + LoginByEmailRequest: + summary: LoginByEmailRequest + description: Login by email payload where email,password is required. securityanswer should be passed if the user is blocked by security question. + value: + email: john.doe@example.com + password: password123 + securityanswer: + db7****8a73e4******bd9****8c20: Answer + LoginByUserNameRequest: + summary: LoginByUsernameRequest + description: Login by username payload where username,password is required. securityanswer should be passed if the user is blocked by security question. + value: + username: johndoe + password: password123 + securityAnswer: + db7****8a73e4******bd9****8c20: Answer + LoginByPhoneRequest: + summary: LoginByPhone + description: Login by phone payload where phone,password is required. securityanswer should be passed if the user is blocked by security question. + value: + phone: '+1234567890' + password: password123 + securityAnswer: + db7****8a73e4******bd9****8c20: Answer + DUO_REDIRECT_URI_REQUIRED: + summary: DUO_REDIRECT_URI_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The duo redirect uri is a required parameter. + USERNAME_PASSWORD_REQUIRED: + summary: USERNAME_PASSWORD_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The username is a required parameter,The password is a required parameter. + PHONE_OR_EMAIL_OR_USER_REQUIRED_PARAM: + summary: PHONE_OR_EMAIL_OR_USER_REQUIRED_PARAM + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email/username/phone is a required parameter + PHONE_OR_EMAIL_OR_USER_REQUIRED_PASSWORD_REQUIRED_PARAM: + summary: PHONE_OR_EMAIL_OR_USER_REQUIRED_PASSWORD_REQUIRED_PARAM + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email/username/phone is a required parameter,The password is a required parameter. + USERNAME_OR_PASSWORD_WRONG: + summary: USERNAME_OR_PASSWORD_WRONG + value: + ErrorCode: 966 + Message: Username or password is wrong + Description: The username or password is wrong, please use a valid username or password in order to process this request. + USERNAME_OR_PASSWORD_WRONG_FOR_BLOCK_LOCKOUT: + summary: USERNAME_OR_PASSWORD_WRONG_FOR_BLOCK_LOCKOUT + value: + Description: You have {count} tries left before your account gets suspended. + ErrorCode: 966 + Message: Invalid user ID and/or password + USERNAME_OR_PASSWORD_WRONG_FOR_SUSPEND_LOCKOUT: + summary: USERNAME_OR_PASSWORD_WRONG_FOR_SUSPEND_LOCKOUT + value: + Description: You have {count} tries left before your account gets blocked. + ErrorCode: 966 + Message: Invalid user ID and/or password + USER_NAME_AUTHENTICATION_ENABLED: + summary: USER_NAME_AUTHENTICATION_ENABLED + value: + ErrorCode: 1183 + Message: UserName authentication is enabled + Description: You can't login from email/phone, please use username for login. + LOGIN_WITH_PASSWORD_NOT_ENABLED: + summary: LOGIN_WITH_PASSWORD_NOT_ENABLED + value: + ErrorCode: 1023 + Message: Login with password is not enabled + Description: The login with password is not enabled, please enable the login with password in order to process this request. + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT: + summary: APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT + value: + ErrorCode: 909 + Message: Your LoginRadius site does not have permission to access this endpoint + Description: Your LoginRadius site does not have permission to access this endpoint, please contact LoginRadius support for more information. + LOGIN_DISABLED: + summary: LOGIN_DISABLED + value: + ErrorCode: 1130 + Message: Login services have been disabled for your account + Description: Login services have been disabled for your account, please contact the admin or site owner. + BREACHED_PASSWORD_LOGIN: + summary: BREACHED_PASSWORD_LOGIN + value: + ErrorCode: 1316 + Message: Your password is exposed in an external data breach. + Description: Your password is found in a data breach unrelated to this app/service. Please reset your password using the email we sent you. + EMAIL_NOT_VERIFIED: + summary: EMAIL_NOT_VERIFIED + value: + ErrorCode: 970 + Message: Email is not verified + Description: The email is not verified, please verify the email in order to process this request. + PHONE_NOT_VERIFIED: + summary: PHONE_NOT_VERIFIED + value: + ErrorCode: 1066 + Message: Phone is not verified + Description: The phone is not verified, please verify the phone in order to process this request. + EMAIL_OR_PHONE_NUMBER_REQUIRED_VERIFIED: + summary: EMAIL_OR_PHONE_NUMBER_REQUIRED_VERIFIED + value: + ErrorCode: 1287 + Message: Email or phone number is required and verified + Description: The email or phone number is required and verified in order to process this request. + RBA_ACCOUNT_IS_BLOCKED_BY_BROWSER_RISK: + value: + Description: Your account has been blocked by the system admin, please contact the admin for more information. + ErrorCode: 1164 + ExtraInfo: + - Description: Login attempt from a new browser is detected. + ErrorCode: 1168 + Message: Login attempt from a new browser is detected + Message: Your account has been blocked due to suspicious activity + RBA_ACCOUNT_IS_BLOCKED_BY_CITY_RISK: + value: + Description: Your account has been blocked by the system admin, please contact the admin for more information. + ErrorCode: 1164 + ExtraInfo: + - Description: Login attempt from a new city is detected. + ErrorCode: 1169 + Message: Login attempt from a new city is detected + Message: Your account has been blocked due to suspicious activity + RBA_ACCOUNT_IS_BLOCKED_BY_COUNTRY_RISK: + value: + Description: Your account has been blocked by the system admin, please contact the admin for more information. + ErrorCode: 1164 + ExtraInfo: + - Description: Login attempt from a new country is detected. + ErrorCode: 1170 + Message: Login attempt from a new country is detected + Message: Your account has been blocked due to suspicious activity + RBA_ACCOUNT_IS_BLOCKED_BY_DEVICE_RISK: + value: + Description: Your account has been blocked by the system admin, please contact the admin for more information. + ErrorCode: 1164 + ExtraInfo: + - Description: Login attempt from a new device is detected. + ErrorCode: 1301 + Message: Login attempt from a new device is detected + Message: Your account has been blocked due to suspicious activity + RBA_ACCOUNT_IS_BLOCKED_BY_IP_RISK: + value: + Description: Your account has been blocked by the system admin, please contact the admin for more information. + ErrorCode: 1164 + ExtraInfo: + - Description: Login attempt from a new ip is detected. + ErrorCode: 1171 + Message: Login attempt from a new ip is detected + Message: Your account has been blocked due to suspicious activity + RBA_EMAIL_VERIFICATION_BY_BROWSER_RISK: + value: + Description: We have identified a suspicious activity with your account, a verification code has been sent to your email to secure your account. + ErrorCode: 1166 + ExtraInfo: + - Description: Login attempt from a new browser is detected. + ErrorCode: 1168 + Message: Login attempt from a new browser is detected + Message: A verification code has been sent to your email + RBA_EMAIL_VERIFICATION_BY_CITY_RISK: + value: + Description: We have identified a suspicious activity with your account, a verification code has been sent to your email to secure your account. + ErrorCode: 1166 + ExtraInfo: + - Description: Login attempt from a new city is detected. + ErrorCode: 1169 + Message: Login attempt from a new city is detected + Message: A verification code has been sent to your email + RBA_EMAIL_VERIFICATION_BY_COUNTRY_RISK: + value: + Description: We have identified a suspicious activity with your account, a verification code has been sent to your email to secure your account. + ErrorCode: 1166 + ExtraInfo: + - Description: Login attempt from a new country is detected. + ErrorCode: 1170 + Message: Login attempt from a new country is detected + Message: A verification code has been sent to your email + RBA_EMAIL_VERIFICATION_BY_DEVICE_RISK: + value: + Description: We have identified a suspicious activity with your account, a verification code has been sent to your email to secure your account. + ErrorCode: 1166 + ExtraInfo: + - Description: Login attempt from a new device is detected. + ErrorCode: 1301 + Message: Login attempt from a new device is detected + Message: A verification code has been sent to your email + RBA_EMAIL_VERIFICATION_BY_IP_RISK: + value: + Description: We have identified a suspicious activity with your account, a verification code has been sent to your email to secure your account. + ErrorCode: 1166 + ExtraInfo: + - Description: Login attempt from a new ip is detected. + ErrorCode: 1171 + Message: Login attempt from a new ip is detected + Message: A verification code has been sent to your email + RBA_SECURITY_ANSWER_VERIFICATION_BY_BROWSER_RISK: + value: + Description: We have identified a suspicious activity with your account, please answer the security question's to secure your account. + ErrorCode: 1165 + ExtraInfo: + - Description: Login attempt from a new browser is detected. + ErrorCode: 1168 + Message: Login attempt from a new browser is detected + Message: Please answer the security question's to secure your account + RBA_SECURITY_ANSWER_VERIFICATION_BY_CITY_RISK: + value: + Description: We have identified a suspicious activity with your account, please answer the security question's to secure your account. + ErrorCode: 1165 + ExtraInfo: + - Description: Login attempt from a new city is detected. + ErrorCode: 1169 + Message: Login attempt from a new city is detected + Message: Please answer the security question's to secure your account + RBA_SECURITY_ANSWER_VERIFICATION_BY_COUNTRY_RISK: + value: + Description: We have identified a suspicious activity with your account, please answer the security question's to secure your account. + ErrorCode: 1165 + ExtraInfo: + - Description: Login attempt from a new country is detected. + ErrorCode: 1170 + Message: Login attempt from a new country is detected + Message: Please answer the security question's to secure your account + RBA_SECURITY_ANSWER_VERIFICATION_BY_DEVICE_RISK: + value: + Description: We have identified a suspicious activity with your account, please answer the security question's to secure your account. + ErrorCode: 1165 + ExtraInfo: + - Description: Login attempt from a new device is detected. + ErrorCode: 1301 + Message: Login attempt from a new device is detected + Message: Please answer the security question's to secure your account + RBA_SMS_VERIFICATION_BY_BROWSER_RISK: + value: + Description: We have identified a suspicious activity with your account, a verification code has been sent to your phone to secure your account. + ErrorCode: 1167 + ExtraInfo: + - Description: Login attempt from a new browser is detected. + ErrorCode: 1168 + Message: Login attempt from a new browser is detected + Message: A verification code has been sent to you phone + RBA_SMS_VERIFICATION_BY_CITY_RISK: + value: + Description: We have identified a suspicious activity with your account, a verification code has been sent to your phone to secure your account. + ErrorCode: 1167 + ExtraInfo: + - Description: Login attempt from a new city is detected. + ErrorCode: 1169 + Message: Login attempt from a new city is detected + Message: A verification code has been sent to you phone + RBA_SMS_VERIFICATION_BY_COUNTRY_RISK: + value: + Description: We have identified a suspicious activity with your account, a verification code has been sent to your phone to secure your account. + ErrorCode: 1167 + ExtraInfo: + - Description: Login attempt from a new country is detected. + ErrorCode: 1170 + Message: Login attempt from a new country is detected + Message: A verification code has been sent to you phone + RBA_SMS_VERIFICATION_BY_DEVICE_RISK: + value: + Description: We have identified a suspicious activity with your account, a verification code has been sent to your phone to secure your account. + ErrorCode: 1167 + ExtraInfo: + - Description: Login attempt from a new device is detected. + ErrorCode: 1301 + Message: Login attempt from a new device is detected + Message: A verification code has been sent to you phone + RBA_SMS_VERIFICATION_BY_IP_RISK: + value: + Description: We have identified a suspicious activity with your account, please answer the security question's to secure your account. + ErrorCode: 1165 + ExtraInfo: + - Description: Login attempt from a new ip is detected. + ErrorCode: 1171 + Message: Login attempt from a new ip is detected + Message: Please answer the security question's to secure your account + PIN_IS_REQUIRED: + summary: PIN_IS_REQUIRED + value: + Data: + PINAuthToken: 6******2-3**8-4**5-8**d-3**********9 + Description: The PIN is required and needs to be set, please set PIN in the profile for login. + ErrorCode: 1243 + Message: PIN is required + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD: + summary: TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD + value: + ErrorCode: 1098 + Message: Two factor authentication client is not configured + Description: The Google two factor authentication client is not enabled, please configure or enable at least one two factor authentication client on your profile for login. + SOMETHING_GOING_WRONG: + summary: SOMETHING_GOING_WRONG + value: + ErrorCode: 2030 + Message: Oops, something went wrong, please try again. + Description: Oops, something went wrong, please try again. + TWO_FACTOR_AUTHENTICATION_PUSH_CONFIG_INVALID: + summary: TWO_FACTOR_AUTHENTICATION_PUSH_CONFIG_INVALID + value: + ErrorCode: 1298 + Message: Push Notification configuration error + Description: There appears to be a problem with the settings for using push notifications as a two-factor authentication method. Please review your configuration to ensure it's valid. + TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID: + summary: TWO_FACTOR_AUTHENTICATION_DUO_AUTH_CONFIG_INVALID + value: + ErrorCode: 1331 + Message: Duo Authenticator configuration error + Description: It appears to be a configuration issue with Duo Authenticator for two-factor authentication. Please review your configuration to ensure it is valid. + EMAIL_ID_NOT_EXISTS: + value: + ErrorCode: 1023 + Message: Email address does not exist + Description: The provided email address does not exist. Please use a valid email address. + DUO_AUTHENTICATOR_REDIRECT_URI_INVALID: + summary: DUO_AUTHENTICATOR_REDIRECT_URI_INVALID + value: + ErrorCode: 1336 + Message: Duo Authenticator redirect URI is invalid + Description: Duo Authenticator redirect URI is invalid, Please provide the valid Duo Authenticator redirect URI. + DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED: + summary: DUO_AUTHENTICATOR_REDIRECT_URI_NOT_WHITELISTED + value: + ErrorCode: 1335 + Message: Duo Authenticator redirect URI is not whitelisted + Description: Please whitelist the Duo Authenticator redirect URI or reach out to support. + VERIFICATION_TOKEN_REQUIRED: + summary: VERIFICATION_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The verificationtoken is a required parameter. + EMAIL_UUID_OTP_REQUIRED: + summary: EMAIL_UUID_OTP_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The otp is a required parameter,The email or uuid is a required parameter. + EMAIL_UUID_REQUIRED: + summary: EMAIL_UUID_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email or uuid is a required parameter. + EMAIL_USERNAME_UUID_OTP_REQUIRED: + summary: EMAIL_USERNAME_UUID_OTP_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The otp is a required parameter,The email/username or uuid is a required parameter. + EMAIL_USERNAME_UUID_REQUIRED: + summary: EMAIL_USERNAME_UUID_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email/username or uuid is a required parameter. + IDENTIFIER_AVAILABILITY_CHECK_DISABLED: + value: + ErrorCode: 1411 + Message: Identifier availability check is disabled + Description: The email, phone and username availability check APIs have been disabled for this tenant. + VERIFICATION_LINK_INVALID: + summary: VERIFICATION_LINK_INVALID + value: + ErrorCode: 973 + Message: Invalid email verification link + Description: The email verification link is invalid, please request a new link. + EMAIL_OTP_NOT_EXISTS: + summary: EMAIL_OTP_NOT_EXISTS + value: + ErrorCode: 1188 + Message: Invalid email verification OTP + Description: The email verification OTP is invalid, please request a new OTP. + EMAIL_OTP_ALREADY_USED: + summary: EMAIL_OTP_ALREADY_USED + value: + ErrorCode: 1186 + Message: The email verification OTP has already been used + Description: Each OTP can only be used once, you can log in now if you have already verified the email, OR use the ‘forgot password’ option. + EMAIL_OTP_EXPIRED: + summary: EMAIL_OTP_EXPIRED + value: + ErrorCode: 1187 + Message: Email Verification OTP has expired + Description: This email verification OTP has expired, please use the ‘forgot password’ option to verify your email. + CONSENT_FORM_NOT_AVAILABLE: + summary: CONSENT_FORM_NOT_AVAILABLE + value: + ErrorCode: 1224 + Message: Consent form is not available + Description: There is no consent form available currently for your LoginRadius site, please configure consent form. + INVALID_UUID: + summary: INVALID_UUID + value: + ErrorCode: 1291 + Message: This uuid is invalid + Description: This is not a valid uuid, please use a valid uuid. + API_SECRET_NOT_VALID: + summary: API_SECRET_NOT_VALID + value: + ErrorCode: 902 + Message: The API secret is unauthorized + Description: The provided LoginRadius API secret is invalid or is not authorized, please use a valid or authorized LoginRadius API secret or check the API secret for your LoginRadius account. + APP_NOT_EXISTS: + value: + Description: The provided site does not exist, please use a valid LoginRadius site in order to process this request. + ErrorCode: 942 + Message: Site does not exist + EMAIL_ALREADY_USED: + summary: EMAIL_ALREADY_USED + value: + ErrorCode: 1046 + Message: This email has already been registered with your LoginRadius site + Description: This email has already been registered with your LoginRadius site, please use a different mail address. + EMAIL_TYPE_CAN_NOT_NULL: + summary: EMAIL_TYPE_CAN_NOT_NULL + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The type is a required parameter. + ACCOUNT_ID_IS_INVALID: + summary: ACCOUNT_ID_IS_INVALID + value: + ErrorCode: 984 + Message: Account ID is invalid + Description: The provided account ID is invalid, please use a valid account ID in order to process this request. + CANNOT_ADD_EMAIL_ADDRESS: + summary: CANNOT_ADD_EMAIL_ADDRESS + value: + ErrorCode: 1177 + Message: Cannot add email address + Description: The email address you are trying to add is not allowed. + DELETE_BODY_INVALID: + summary: DELETE_BODY_INVALID + value: + ErrorCode: 1084 + Message: Delete body is invalid + Description: Please use a valid delete body and make sure that it is in a valid JSON format. + ONE_EMAILID_IS_REQUIRED: + summary: ONE_EMAILID_IS_REQUIRED + value: + ErrorCode: 1005 + Message: User account should have at least one email address + Description: This email address cannot be deleted as this is the only email address in your Profile. Please add an additional email address in order to remove this. + PASSKEY_NOT_CONFIGURED_IN_PROFILE: + summary: PASSKEY_NOT_CONFIGURED_IN_PROFILE + value: + ErrorCode: 1323 + Message: Passkey not configured in your profile. + Description: Please add a passkey in your profile to use this feature. You can configure your passkey in the profile settings. + PASSKEY_VERIFICATION_FAILED_FOR_BLOCK_LOCKOUT: + summary: PASSKEY_VERIFICATION_FAILED_FOR_BLOCK_LOCKOUT + value: + Description: You have {count} tries left before your account gets blocked. + ErrorCode: 1321 + Message: An unexpected error occurred while verifying your passkey. + PASSKEY_VERIFICATION_FAILED_FOR_SUSPEND_LOCKOUT: + summary: PASSKEY_VERIFICATION_FAILED_FOR_SUSPEND_LOCKOUT + value: + Description: You have {count} tries left before your account gets suspended. + ErrorCode: 1321 + Message: An unexpected error occurred while verifying your passkey. + PASSKEY_AUTOFILL_NOT_ENABLED_IN_APP: + summary: PASSKEY_AUTOFILL_NOT_ENABLED_IN_APP + value: + Message: Passkeys autofill not enabled in this application. + ErrorCode: 1326 + Description: Passkey autofill functionality is currently disabled. Please enable it in the admin console to allow users to log in with autofill. + SECOND_FACTOR_AUTH_TOKEN_REQUIRED: + summary: SECOND_FACTOR_AUTH_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The secondfactorauthenticationtoken is a required parameter. + TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID: + summary: TWO_FACTOR_AUTHENTICATION_TOKEN_NOT_VALID + value: + ErrorCode: 1103 + Message: Two factor authentication token is invalid + Description: The LoginRadius two factor authentication token is invalid, please use the correct or valid token in order to process this request. + TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED: + summary: TWO_FACTOR_AUTHENTICATION_TOKEN_EXPIRED + value: + ErrorCode: 1104 + Message: Two factor authentication token has expired + Description: The LoginRadius two factor authentication token has expired, please request a new token from LoginRadius API. + TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + summary: TWO_FACTOR_AUTHENTICATION_NOT_ENABLED + value: + ErrorCode: 1097 + Message: Two factor authentication is not enabled + Description: Two factor authentication is not enabled, please enable two factor authentication for login. + TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED: + summary: TWO_FACTOR_AUTHENTICATION_PASSKEY_AUTHENTICATION_NOT_ENABLED + value: + ErrorCode: 1327 + Message: Passkeys are not set up for Two-Factor Authentication + Description: Please set up passkeys for two-factor authentication in your account settings. + PASSKEY_ONLY_SUPPORT_EMAIL: + summary: PASSKEY_ONLY_SUPPORT_EMAIL + value: + ErrorCode: 1324 + Message: Passkey login unavailable for this account type. + Description: Passkey login is only available if registered with an email ID. Please try logging in with your email or consider updating your account information if you have the option. + LOGIN_IS_LOCKED_FOR_MFA: + summary: LOGIN_IS_LOCKED_FOR_MFA + value: + ErrorCode: 1263 + Message: Your account has been locked + Description: Your account has been locked, please login with your credentials again in order to unlock your account. + TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE: + summary: TWO_FACTOR_PASSKEY_NOT_CONFIGURED_ON_PROFILE + value: + ErrorCode: 1328 + Message: Passkey as two factor authentication is not configured for this profile + Description: Passkey as two factor authentication is not configured, please configure or enable two factor authentication on your profile for login. + TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED: + summary: TWO_FACTOR_AUTHENTICATION_Push_AUTHENTICATION_NOT_ENABLED + value: + ErrorCode: 1299 + Message: Push Notifications are not set up for Two-Factor Authentication + Description: Please set up push notifications for two-factor authentication in your account settings. + MFA_PUSH_VERIFICATION_COMPLETE: + summary: MFA_PUSH_VERIFICATION_COMPLETE + value: + ErrorCode: 1311 + Message: Push Notification Verification Already Done + Description: You have already verified your account with push notification. You don't need to verify again. + TWO_FACTOR_PUSH_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + summary: TWO_FACTOR_PUSH_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE + value: + ErrorCode: 1313 + Message: Push notification as two factor authentication is not configured for this profile + Description: Push notification as two factor authentication is not configured, please configure or enable two factor authentication on your profile for login. + MFA_PUSH_VERIFICATION_PENDING: + summary: MFA_PUSH_VERIFICATION_PENDING + value: + ErrorCode: 1295 + Message: Push Notification Verification Pending + Description: We've sent a verification message to your registered device. Please tap Approve when it arrives to complete the process. + MFA_PUSH_VERIFICATION_DENIED: + summary: MFA_PUSH_VERIFICATION_DENIED + value: + ErrorCode: 1312 + Message: Push Notification Verification Denied + Description: It appears you declined the push notification request for verification. To proceed, please tap Approve on the notification when it reappears on your device. + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG: + summary: TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED_IN_APP_CONFIG + value: + ErrorCode: 1280 + Message: SMS OTP is not enabled for two-factor authentication + Description: SMS OTP not enabled for two-factor authentication, please enable and try again. + TWO_FACTOR_AUTHENTICATION_PHONE_NOT_VERIFIED: + summary: TWO_FACTOR_AUTHENTICATION_PHONE_NOT_VERIFIED + value: + ErrorCode: 1117 + Message: This phone number is not registered + Description: This phone number is not registered on your profile for two factor authentication + DUO_CODE_REQUIRED: + summary: DUO_CODE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The code is a required parameter. + DUO_STATE_REQUIRED: + summary: DUO_STATE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The state is a required parameter. + DUO_CODE_STATE_REQUIRED: + summary: DUO_CODE_STATE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The state is a required parameter,The code is a required parameter. + DUO_AUTH_NOT_ENABLED: + summary: DUO_AUTH_NOT_ENABLED + value: + ErrorCode: 1330 + Message: Duo Authenticator is not set up for two-factor authentication + Description: Please set up Duo Authenticator for two-factor authentication in your account settings. + DUO_STATE_NOT_VALID: + summary: DUO_STATE_NOT_VALID + value: + ErrorCode: 908 + Message: Duo Authenticator state is not valid + Description: Please enter the correct state value for Duo Authenticator. + DUO_AUTHENTICATOR_VERIFICATION_FAILED: + summary: DUO_AUTHENTICATOR_VERIFICATION_FAILED + value: + ErrorCode: 1332 + Message: Duo Authenticator verification failed + Description: Please try again as Duo Authenticator verification failed. + BACKUP_CODE_REQUIRED: + summary: BACKUP_CODE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The backupcode is a required parameter. + TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_CONFIGURED: + summary: TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_CONFIGURED + value: + ErrorCode: 1128 + Message: Two factor authentication backup code is not configured + Description: The two factor authentication backup code is not enabled, please enable or configure two factor authentication for login. + TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_VALID: + summary: TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_NOT_VALID + value: + ErrorCode: 1129 + Message: Two factor authentication backup code is not valid or has already been used + Description: The two factor authentication backup code is not valid or has already been used, please use a valid two factor authentication backup code for login. + EMAIL_NOT_FORMATTED: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly. + Description: The value of email can not be null or empty. + OTP_NOT_FORMATTED: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly. + Description: The value of OTP can not be null or empty. + EMAILID_REQUIRD: + summary: EMAILID_REQUIRD + value: + ErrorCode: 1032 + Message: Email address is required + Description: Email address is required, please use a valid email address in order to process this request. + TWO_FACTOR_AUTHENTICATION_EmailOTP_AUTHENTICATION_NOT_ENABLED: + summary: TWO_FACTOR_AUTHENTICATION_EmailOTP_AUTHENTICATION_NOT_ENABLED + value: + ErrorCode: 1256 + Message: Email OTP two factor authentication is not enabled + Description: The Email OTP two factor authentication is not enabled, please enable Email OTP two factor authentication for login. + CLIENT_GUID_REQUIRED: + summary: CLIENT_GUID_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The clientguid is a required parameter. + ACCESS_TOKEN_OR_CLIENT_GUID_REQUIRED: + summary: ACCESS_TOKEN_OR_CLIENT_GUID_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The access_token or clientGuid is a required parameter. + INVALID_PROVIDER_IN_ORGANIZATION: + summary: INVALID_PROVIDER_IN_ORGANIZATION + value: + ErrorCode: 1269 + Message: Invalid provider in organization + Description: The specified provider is not valid or not configured for this organization. Please check your configuration. + SP_JWT_CONFIG_NOT_FOUND: + summary: SP_JWT_CONFIG_NOT_FOUND + value: + ErrorCode: 1282 + Message: SP JWT configuration not found + Description: The SP JWT configuration not found, please use a valid SP JWT configuration in order to process this request. + CLIENT_GUID_NOT_VALID: + summary: CLIENT_GUID_NOT_VALID + value: + ErrorCode: 1140 + Message: Client GUID is invalid + Description: The client GUID is invalid or expired, please use a valid client GUID in order to process this request. + AUTOLOGIN_LINK_ALREADY_USED: + summary: AUTOLOGIN_LINK_ALREADY_USED + value: + ErrorCode: 1137 + Message: Autologin link already used + Description: The autologin link already used, please use a valid autologin link in order to process this request. + NO_CALLBACK_LOGIN_NOT_ENABLED: + summary: NO_CALLBACK_LOGIN_NOT_ENABLED + value: + ErrorCode: 1160 + Message: No callback login is enabled + Description: The no callback login is enabled, please disable the no callback login in order to process this request. + PROVIDER_NOT_CONFIGURED: + summary: PROVIDER_NOT_CONFIGURED + value: + Description: This social provider has not been configured for the site. + ErrorCode: 1223 + Message: Social provider has not been configured for the site. + PROVIDER_NOT_SUPPORTED: + summary: PROVIDER_NOT_SUPPORTED + value: + ErrorCode: 1232 + Message: Provider is not supported. + Description: Oops, this ID Provider is not supported in your LoginRadius account. + PROVIDER_NOT_VALID: + summary: PROVIDER_NOT_VALID + value: + ErrorCode: 1065 + Message: Provider is not valid + Description: The provider is not valid, please use a valid provider in order to process this request. + PROVIDER_SIDE_ERROR: + summary: PROVIDER_SIDE_ERROR + value: + ErrorCode: 1000 + Message: Provider side error + Description: The provider side error, please use a valid provider in order to process this request. + JWT_SP_TOKEN_INVALID: + summary: JWT_SP_TOKEN_INVALID + value: + ErrorCode: 1283 + Message: Invalid or expired JWT token + Description: JWT service provider token is invalid or expired, please use a valid token to process this request. + PROVIDER_ID_MISSING: + summary: PROVIDER_ID_MISSING + value: + ErrorCode: 1302 + Message: provider ID is missing in social data + Description: provider ID is missing in social data. + EMAIL_ALLREADY_VERIFIED_TOKEN: + summary: EMAIL_ALLREADY_VERIFIED_TOKEN + value: + ErrorCode: 1126 + Message: Email has already been verified + Description: Provided email address has already been verified, so its verification token couldn’t be generated. + DELETE_TOKEN_REQUIRED: + summary: DELETE_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The deletetoken is a required parameter. + EMAIL_OTP_REQUIRED: + summary: EMAIL_OTP_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The otp is a required parameter,The email is a required parameter. + OTP_OR_DELETE_TOKEN_REQUIRED: + summary: OTP_OR_DELETE_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The deleteToken/(otp & email) is a required parameter. + DELETE_TOKEN_IS_INVALID: + summary: DELETE_TOKEN_IS_INVALID + value: + ErrorCode: 1119 + Message: The LoginRadius DeleteToken is invalid + Description: The LoginRadius DeleteToken is invalid, please use the correct or valid DeleteToken in order to process this request. + LINK_INVALID: + summary: LINK_INVALID + value: + ErrorCode: 979 + Message: The link cannot be accessed + Description: The link is either expired or has already been used, please request a new link. + PHONE_DOES_NOT_EXIST: + summary: PHONE_DOES_NOT_EXIST + value: + ErrorCode: 1292 + Message: A phone number is not currently linked to your account + Description: Your request cannot be processed as no phone number is linked to your account. + PREVENT_REFRESH_NOT_VALID: + summary: PREVENT_REFRESH_NOT_VALID + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value 'preventRefresh' is not valid. + SOCIAL_REGISTRATION_NOT_ALLOWED: + value: + Description: The new social registration are not allowed, please login from your existing account or link this account. + ErrorCode: 1051 + Message: New social registration is not allowed + EMAIL_DOMAIN_NOT_ALLOWED_IN_ORGANIZATION: + summary: EMAIL_DOMAIN_NOT_ALLOWED_IN_ORGANIZATION + value: + Description: The email domain used is not allowed for this organization connection. Please use an valid domain. + ErrorCode: 2065 + Message: Email domain not allowed in organization connection + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_PHONE_ID: + value: + Description: Please verify your phoneid first to log in with this social provider. + ErrorCode: 1285 + Message: Cannot login with this social provider as phoneid is not yet verified + SIGNUP_NOT_ALLOWED_IN_ORG: + value: + Description: User signup is restricted for this organization. + ErrorCode: 1271 + Message: Signup not allowed in organization + AUTOLOOKUP_DOMAIN_NOT_MATCH: + value: + Description: The email domain does not exist in the AutoLookUp configuration. Please enter a valid email domain name. + ErrorCode: 1288 + Message: Invalid email domain. + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID: + summary: UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID + value: + ErrorCode: 1026 + Message: Cannot login with this social provider as email address is not yet verified + Description: Please verify your email address first to log in with this social provider. + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_IN_EMAIL_VERIFCATION_DISABLED: + summary: UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_IN_EMAIL_VERIFCATION_DISABLED + value: + ErrorCode: 1033 + Message: Cannot login with this social provider as the same email address is already being used with another account + Description: please login with your existing account. If you’ve forgotten which provider you have previously registered under, please use the Forgot User ID or Social Provider link. + EMAIL_TYPE_VALUE_REQUIRED_PARAM: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The type and value are required parameters. Please ensure both are provided and correctly formatted. + CUSTOM_FIELD_LENGTH_EXCEEDED: + value: + ErrorCode: 6007 + Message: Custom field length exceeded + Description: The value provided for the custom field is too long. Please ensure it does not exceed 1000 characters and try again. + PHONE_TYPE_CAN_NOT_BE_SAME: + value: + ErrorCode: 1124 + Message: Phone type cannot be same + Description: Please use different phone types in the case of multiple phone numbers. + PHONE_TYPE_REQUIRED: + value: + ErrorCode: 1213 + Message: Phone type is required + Description: The request couldn't be processed, the phone type must be specified in the phone numbers. + EMAIL_ID_NOT_ALLOWED_TO_UPDATE: + value: + ErrorCode: 1174 + Message: Email update is not allowed + Description: Update email is not allowed as email already exists in this account + ACTIVE_LOGIN_SESSIONS_NOT_ENABLED: + summary: ACTIVE_LOGIN_SESSIONS_NOT_ENABLED + value: + ErrorCode: 1339 + Message: Restrict Login Sharing feature not enabled + Description: Please enable the Restrict Login Sharing feature to proceed further. + DELETE_URL_IS_NOT_WHITELISTED: + summary: DELETE_URL_IS_NOT_WHITELISTED + value: + ErrorCode: 2066 + Message: The delete URL is not whitelisted + Description: The delete URL is not whitelisted, please whitelist the URL on the tenant settings. + USER_ID_NOT_VALID: + summary: USER_ID_NOT_VALID + value: + ErrorCode: 937 + Message: User ID is invalid + Description: The user ID is invalid, please use a valid user ID in order to process this request. + AUTH_PARAMETER_REQUIRED: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly. + Description: The authenticatorcode is a required parameter. + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD: + summary: TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG_OLD + value: + ErrorCode: 1279 + Message: Google Authenticator is not enabled for two-factor authentication + Description: Google Authenticator not enabled for two-factor authentication, please enable and try again. + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG: + summary: TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_ENABLED_IN_APP_CONFIG + value: + ErrorCode: 1279 + Message: The authenticator method is not enabled for two-factor authentication. + Description: Please enable the authenticator method for two-factor authentication and try again. + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT: + summary: TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT + value: + ErrorCode: 1102 + Message: The two-factor authenticator code is incorrect + Description: Please enter the correct authenticator code. + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT_OLD: + summary: TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT + value: + ErrorCode: 1331 + Message: Google two factor authentication code is incorrect + Description: The Google two factor authentication code is incorrect, please enter the correct authentication code for login. + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED: + summary: TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED + value: + ErrorCode: 1098 + Message: A two-factor authentication method is not enabled + Description: A working two-factor authentication method is necessary. Please configure or enable a two-factor authentication method. + TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE: + summary: TWO_FACTOR_AUTHENTICATION_NOT_VALID_FOR_DELETE + value: + ErrorCode: 1121 + Message: This is not valid request for removing two factor authentication + Description: This is not valid request for removing two factor authentication + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED: + summary: TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED + value: + ErrorCode: 1099 + Message: Two-factor authenticator is not configured. + Description: Two-factor authenticator app is not configured. Please configure an authenticator to enable two-factor authentication. + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED_OLD: + summary: TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_NOT_CONFIGURED_OLD + value: + ErrorCode: 1099 + Message: Two-factor authenticator is not configured. + Description: Two-factor authenticator app is not configured. Please configure an authenticator to enable two-factor authentication. + TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED: + summary: TWO_FACTOR_AUTHENTICATION_OTP_AUTHENTICATION_NOT_ENABLED + value: + ErrorCode: 1100 + Message: OTP two factor authentication is not enabled + Description: The OTP two factor authentication is not enabled, please enable OTP two factor authentication for login. + PRIVACY_POLICY_NOT_AVAILABLE: + value: + ErrorCode: 1195 + Message: Privacy Policy is not available + Description: There is no Privacy Policy available currently for your LoginRadius site. + PRIVACY_POLICY_ALREADY_ACCEPTED: + value: + ErrorCode: 1222 + Message: Current Privacy Policy is already accepted + Description: Current Privacy Policy is already accepted. + INVALID_PASSKEY_ID: + summary: INVALID_PASSKEY_ID + value: + ErrorCode: 1325 + Message: Invalid Passkey ID + Description: The provided Passkey ID is invalid; it cannot be removed. + TWO_FACTOR_DUO_AUTHENTICATOR_NOT_CONFIGURED_ON_PROFILE: + summary: TWO_FACTOR_DUO_AUTHENTICATOR_NOT_CONFIGURED_ON_PROFILE + value: + ErrorCode: 1334 + Message: Duo Authenticator as two-factor authentication method is not configured for this profile + Description: Please configure or enable two-factor authentication in your account for login. + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE: + summary: TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_ON_PROFILE + value: + ErrorCode: 1101 + Message: Two factor authentication is not configured for this profile + Description: Two factor authentication is not configured, please configure or enable two factor authentication on your profile for login. + TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_ALREADY_CONFIGURED: + summary: TWO_FACTOR_AUTHENTICATION_BACKUP_CODE_ALREADY_CONFIGURED + value: + ErrorCode: 1127 + Message: Two factor authentication backup code is already generated + Description: The two factor authentication backup code is already generated, please reset your two factor authentication backup code. + EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED: + summary: EVENT_BASED_TWO_FACTOR_AUTHENTICATION_NOT_ENABLED + value: + ErrorCode: 1191 + Message: Event Based two factor authentication is not enabled + Description: Event Based two factor authentication is not enabled, please enable event based two factor authentication for login. + OTP_PAYLOAD_REQUIRED: + summary: OTP_PAYLOAD_REQUIRED + value: + Message: A parameter is not formatted correctly + ErrorCode: 908 + Description: The otp is a required parameter. + RESET_PASSKEY_URL_INVALID: + summary: RESET_PASSKEY_URL_INVALID + value: + ErrorCode: 1329 + Message: The reset passkey URL is invalid + Description: The reset passkey Url is invalid, please reach out to LoginRadius support for more information. + ACCOUNT_ALREADY_UNLOCKED: + value: + ErrorCode: 1221 + Message: Account is already unlocked + Description: The account is already unlocked, you can access or manage your profile. + CAPTCHA_IS_NOT_VALID: + summary: CAPTCHA_IS_NOT_VALID + value: + ErrorCode: 1218 + Message: CAPTCHA is invalid + Description: CAPTCHA is invalid, please enter the correct CAPTCHA value. + CANDIDATE_TOKEN_REQUIRED: + summary: CANDIDATE_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The candidatetoken is a required parameter. + ACCOUNT_LINKING_DISABLED: + summary: ACCOUNT_LINKING_DISABLED + value: + ErrorCode: 1054 + Message: Account linking is disabled + Description: The account linking is disabled, please enable the account linking in order to process this request. + SAME_PROVIDER_CANT_BE_LINKED: + summary: SAME_PROVIDER_CANT_BE_LINKED + value: + ErrorCode: 1251 + Message: Same provider can't be linked + Description: The same provider can't be linked, please use a valid provider in order to process this request. + EMAIL_NOT_VERIFIED_CAN_NOT_LINK: + summary: EMAIL_NOT_VERIFIED_CAN_NOT_LINK + value: + ErrorCode: 1254 + Message: Email is not verified can not link + Description: The email is not verified can not link, please verify the email in order to process this request. + ACCOUNT_IS_ALREADY_EXIST_WITH_SAME_EMAIL: + summary: ACCOUNT_IS_ALREADY_EXIST_WITH_SAME_EMAIL + value: + ErrorCode: 1253 + Message: Account is already exist with same email + Description: The account is already exist with same email, please use a valid account in order to process this request. + SAME_ACCOUNT_CANT_BE_LINKED: + summary: SAME_ACCOUNT_CANT_BE_LINKED + value: + ErrorCode: 983 + Message: Same account can't be linked + Description: The same account can't be linked, please use a valid account in order to process this request. + ACCOUNT_IS_ALREADY_LINKED: + summary: ACCOUNT_IS_ALREADY_LINKED + value: + ErrorCode: 986 + Message: Account is already linked + Description: The account is already linked, please use a valid account in order to process this request. + PROVIDER_IS_REQUIRED: + summary: PROVIDER_IS_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of provider can not be null or empty. + PROVIDER_ID_IS_REQUIRED: + summary: PROVIDER_ID_IS_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of providerid can not be null or empty. + ENDPOINT_NOT_SUPPORTED_BY_PROVIDER: + summary: ENDPOINT_NOT_SUPPORTED_BY_PROVIDER + value: + ErrorCode: 1078 + Message: Endpoint not supported by provider + Description: The endpoint not supported by provider, please use a valid endpoint in order to process this request. + SAME_ACCOUNT_CANT_BE_UNLINKED: + summary: SAME_ACCOUNT_CANT_BE_UNLINKED + value: + ErrorCode: 1219 + Message: Account cannot be unlinked + Description: An account cannot be unlinked from itself. + ACCOUNT_IS_NOT_LINKED_WITH_ANY_ACCOUNT: + summary: ACCOUNT_IS_NOT_LINKED_WITH_ANY_ACCOUNT + value: + ErrorCode: 987 + Message: Account cannot be unlinked + Description: This account is not linked to any other account, so it cannot be unlinked. + PROVIDER_ID_NOT_LINKED_WITH_THIS_ACCOUNT: + summary: PROVIDER_ID_NOT_LINKED_WITH_THIS_ACCOUNT + value: + ErrorCode: 989 + Message: Provider ID cannot be unlinked + Description: This provider ID is not linked to any other account, so it cannot be unlinked. + CAPTCHA_REQUIRED: + summary: CAPTCHA_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The captcha is a required parameter. + NO_REGISTRATION_NOT_ENABLED: + summary: NO_REGISTRATION_NOT_ENABLED + value: + ErrorCode: 1146 + Message: One touch login is not enabled for your LoginRadius site + Description: The one touch login is not enabled for your LoginRadius site, please reach out to LoginRadius support for more information. + CLIENT_GUID_MUST_BE_UNIQUE: + summary: CLIENT_GUID_MUST_BE_UNIQUE + value: + ErrorCode: 1136 + Message: Client GUID must be unique + Description: You have already used this client GUID, please use a unique client GUID. + REDIRECT_URL_IS_NOT_WHITELISTED: + summary: REDIRECT_URL_IS_NOT_WHITELISTED + value: + ErrorCode: 2067 + Message: The redirect URL is not whitelisted + Description: The redirect URL is not whitelisted, please whitelist the URL on the tenant settings. + NO_REGISTRATION_LOGIN_LINK_ALREADY_USED: + summary: NO_REGISTRATION_LOGIN_LINK_ALREADY_USED + value: + ErrorCode: 1145 + Message: The one touch login link has already been used + Description: Each link can only be used once, please click the sign in button for a new link. + PIN_AUTH_WRONG: + summary: PIN_AUTH_WRONG + value: + ErrorCode: 1236 + Message: Invalid PIN + Description: Please use a valid PIN for the Authentication. + PIN_AUTH_NOT_ENABLED: + summary: PIN_AUTH_NOT_ENABLED + value: + ErrorCode: 1233 + Message: PIN Authentication is not configured. + Description: PIN Authentication is not configured, please reach out to LoginRadius support for more information. + PIN_NOT_CONFIGURED: + summary: PIN_AUTH_NOT_CONFIGURED + value: + ErrorCode: 1235 + Message: PIN is not available + Description: The PIN is not available in the profile, please add PIN in the profile in order to process this request. + PASSWORD_IS_WRONG: + summary: PASSWORD_IS_WRONG + value: + ErrorCode: 1205 + Message: Invalid password + Description: Please use a valid password. + EMAIL_OR_PHONE_NOT_VERIFIED: + summary: EMAIL_OR_PHONE_NOT_VERIFIED + value: + ErrorCode: 1162 + Message: Email or Phone is not verified + Description: This email has not yet been verified, please click the link in your email to confirm your email address. + TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED_OLD_MFA: + summary: TWO_FACTOR_AUTHENTICATION_NOT_CONFIGURED + value: + ErrorCode: 1098 + Message: Two factor authentication client is not configured + Description: The Google two factor authentication client is not enabled, please configure or enable at least one two factor authentication client on your profile for login. + GOOGLE_AUTH_CODE_REQUIRED: + summary: GOOGLE_AUTH_CODE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The googleauthenticatorcode is a required parameter. + AUTHENTICATOR_CODE_REQUIRED: + summary: AUTHENTICATOR_CODE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The authenticatorcode is a required parameter. + TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT_OLD_MFA: + summary: TWO_FACTOR_AUTHENTICATION_AUTHENTICATOR_CODE_INCORRECT + value: + ErrorCode: 1102 + Message: Google two factor authentication code is incorrect + Description: The Google two factor authentication code is incorrect, please enter the correct authentication code for login. + RESOURCE_NOT_FOUND: + summary: RESOURCE_NOT_FOUND + value: + ErrorCode: 404 + Message: Resource not found + Description: Sorry, the resource you were looking for was not found. + SECURITY_QUES_ANS_REQUIRED: + summary: SECURITY_QUES_ANS_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The securityquestionanswer is a required parameter. + TWO_FACTOR_SECURITY_QUESTION_AUTHENTICATION_NOT_VERIFIED: + summary: TWO_FACTOR_SECURITY_QUESTION_AUTHENTICATION_NOT_VERIFIED + value: + ErrorCode: 1259 + Message: Security question two factor authentication is not verified on the profile + Description: The Security question two factor authentication is not verified on profile, please verify security question two factor authentication on profile. + TWO_FACTOR_AUTHENTICATION_METHOD_ENABLED: + summary: TWO_FACTOR_AUTHENTICATION_METHOD_ENABLED + value: + ErrorCode: 1258 + Message: One of the Two Factor authentication methods is already enabled + Description: One of the Two Factor authentication methods is already enabled, can not update Two Factor authentication security question answers. + AUTOLOGIN_NOT_ENABLED: + summary: AUTOLOGIN_NOT_ENABLED + value: + ErrorCode: 1135 + Message: Smart login option is not enabled for your LoginRadius site + Description: The smart login option is not enabled for your LoginRadius site, please reach out to LoginRadius support for more information. + AUTOLOGIN_LINK_ALREADY_VERIFIED: + summary: AUTOLOGIN_LINK_ALREADY_VERIFIED + value: + ErrorCode: 1138 + Message: The smart login link has already been verified + Description: This smart login link has already been verified, please click the smart login button for a new link. + EMAIL_PHONE_USERNAME_AND_CLIENT_GUID_REQUIRED: + summary: EMAIL_PHONE_USERNAME_AND_CLIENT_GUID_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email/username/phone is a required parameter.,The clientguid is a required parameter. + AUTOLOGIN_LINK_NOT_VERIFIED: + summary: AUTOLOGIN_LINK_NOT_VERIFIED + value: + ErrorCode: 1139 + Message: The smart login link has not been verified + Description: This smart login link has not been verified, please click the smart login link in your email to verify. + ONE_CLICK_SIGIN_NOT_ENABLED: + summary: ONE_CLICK_SIGIN_NOT_ENABLED + value: + ErrorCode: 1059 + Message: Password less login option is not enabled for your LoginRadius site + Description: The password less login option is not enabled for your LoginRadius site, please reach out to LoginRadius support for more information. + TOKEN_LIMIT_REACHED: + summary: TOKEN_LIMIT_REACHED + value: + ErrorCode: 1178 + Message: You have reached a limit for generating token + Description: The limit for generating a token for this resource has been reached. The limit will auto reset upon reaching the configured request disabled period. + SOTT_OR_CAPTCHA_REQUIRED: + summary: SOTT_OR_CAPTCHA_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: SOTT or captcha is a required parameter. + PHONE_NUMBER_NOT_EXISTS: + summary: PHONE_NUMBER_NOT_EXISTS + value: + ErrorCode: 1043 + Message: Phone number is invalid or does not exist + Description: The provided phone number is invalid or does not exist, please use a valid phone number in order to process this request. + LINK_ALREADY_USED: + summary: LINK_ALREADY_USED + value: + ErrorCode: 1062 + Message: The password less login link has already been used + Description: Each link can only be used once, please click the password less login button for a new link. + PHONE_NOT_BLANK: + summary: PHONE_NOT_BLANK + value: + ErrorCode: 912 + Message: A parameter is not formatted correctly + Description: The value of Phone cannot be null or empty. + OTP_NOT_BLANK: + summary: OTP_NOT_BLANK + value: + ErrorCode: 910 + Message: A parameter is not formatted correctly + Description: The value of OTP cannot be null or empty. + USER_NAME_NOT_BLANK: + summary: USER_NAME_NOT_BLANK + value: + ErrorCode: 910 + Message: A parameter is not formatted correctly + Description: The value of UserName cannot be null or empty. + HTTPStatusCode: 400 + USER_NAME_AUTHENTICATION_NOT_ENABLED: + summary: USER_NAME_AUTHENTICATION_NOT_ENABLED + value: + ErrorCode: 1238 + Message: UserName authentication is not enabled + Description: UserName authentication is not enabled. + EMAIL_NOT_BLANK: + summary: EMAIL_NOT_BLANK + value: + ErrorCode: 912 + Message: A parameter is not formatted correctly + Description: The value of Email cannot be null or empty. + PIN_REQUIRED_PARAM: + summary: PIN_REQUIRED_PARAM + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The pin is a required parameter. + SESSION_TOKEN_REQUIRED: + summary: SESSION_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The session_token is a required parameter. + PIN_AUTH_SESSION_TOKEN_NOT_VALID: + summary: PIN_AUTH_SESSION_TOKEN_NOT_VALID + value: + ErrorCode: 1245 + Message: Session token is invalid + Description: PIN authentication session token is invalid, please use valid PIN authentication session token. + PIN_AUTH_SESSION_TOKEN_EXPIRED: + summary: PIN_AUTH_SESSION_TOKEN_EXPIRED + value: + ErrorCode: 1246 + Message: Session token has expired + Description: The LoginRadius PIN authentication session token expired, please request a new PIN authentication session token from LoginRadius API. + PIN_LOGIN_NOT_ENABLED: + summary: PIN_LOGIN_NOT_ENABLED + value: + ErrorCode: 1244 + Message: PIN Login is not enabled + Description: PIN Login is not enabled. + CUSTOM_OBJECTS_RESPONSE_EXAMPLE: + summary: CustomObjectsResponseModel + value: + Count: 2 + data: + - IsActive: true + IsDeleted: false + CustomObject: + firstName: John + lastName: Doe + age: 30 + Id: abc123 + Uid: user456 + DateCreated: '2024-05-28T12:34:56Z' + DateModified: '2024-05-29T09:10:11Z' + - IsActive: false + IsDeleted: true + CustomObject: + company: Acme Corp + Role: Engineer + Id: def789 + Uid: user789 + DateCreated: '2024-05-20T08:00:00Z' + DateModified: '2024-05-21T10:00:00Z' + CUSTOM_OBJECT_NAME_REQUIRED: + summary: CUSTOM_OBJECT_NAME_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The objectname is a required parameter. + CUSTOM_OBJECT_NOT_CONFIGURED: + summary: CUSTOM_OBJECT_NOT_CONFIGURED + value: + ErrorCode: 999 + Message: Site is not configured for custom object setting + Description: The custom object setting is not configured for this site, please contact LoginRadius support. + CUSTOM_OBJECT_NAME_NOT_VALID: + summary: CUSTOM_OBJECT_NAME_NOT_VALID + value: + ErrorCode: 1064 + Message: Custom object name is invalid + Description: The custom object name used in this request is incorrect or does not exist. + CUSTOM_OBJECT_RECORD_NOT_EXIST: + summary: CUSTOM_OBJECT_RECORD_NOT_EXIST + value: + ErrorCode: 1057 + Message: Custom object is not found or does not exist + Description: The requested custom object of the user's account could not be found, please create a custom object before requesting. + CUSTOM_OBJECT_RESPONSE_EXAMPLE: + summary: CustomObjectResponseModel + value: + IsActive: true + IsDeleted: false + CustomObject: + firstName: John + lastName: Doe + age: 30 + Id: abc123 + Uid: user456 + DateCreated: '2024-05-28T12:34:56Z' + DateModified: '2024-05-29T09:10:11Z' + CUSTOM_OBJECT_JSON_NOT_VALID: + summary: CUSTOM_OBJECT_JSON_NOT_VALID + value: + ErrorCode: 1035 + Message: Custom object JSON is invalid + Description: The provided custom object JSON is invalid, please use a valid or well-formatted JSON in order to process this request + CUSTOM_OBJECT_RECORD_ID_NOT_VALID: + summary: CUSTOM_OBJECT_RECORD_ID_NOT_VALID + value: + ErrorCode: 995 + Message: Unique record ID is invalid + Description: This unique record Id is invalid, please enter a valid unique record ID. + PHONE_NUMBER_ALREADY_VERIFIED: + summary: PHONE_NUMBER_ALREADY_VERIFIED + value: + ErrorCode: 1073 + Message: This phone number has already been confirmed + Description: This phone number has already been confirmed, so you cannot resend the verification OTP + ACCESS_TOKEN_INVALID_OR_PHONE_NUMBER_ALREADY_VERIFIED: + summary: ACCESS_TOKEN_INVALID_OR_PHONE_NUMBER_ALREADY_VERIFIED + value: + ErrorCode: 1120 + Message: Access token is invalid or phone number is already verified + Description: The LoginRadius access token is invalid or the phone number has already been verified. + OLD_PIN_REQUIRED_PARAM: + summary: OLD_PIN_REQUIRED_PARAM + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of oldpin can not be null or empty. + NEW_PIN_REQUIRED_PARAM: + summary: NEW_PIN_REQUIRED_PARAM + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of newpin can not be null or empty. + OLD_PIN_WRONG: + summary: OLD_PIN_WRONG + value: + ErrorCode: 1241 + Message: Current pin is invalid + Description: Your current pin is invalid, please use the correct pin. + PIN_AUTH_TOKEN_REQUIRED: + summary: PIN_AUTH_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The pinauthtoken is a required parameter. + PIN_AUTH_TOKEN_NOT_VALID: + summary: PIN_AUTH_TOKEN_NOT_VALID + value: + ErrorCode: 1239 + Message: PINAuth token is invalid + Description: PINAuth token is invalid, please use the correct or valid PINAuth token in order to process this request. + PIN_AUTH_TOKEN_EXPIRED: + summary: PIN_AUTH_TOKEN_EXPIRED + value: + ErrorCode: 1240 + Message: PINAuth token has expired + Description: The LoginRadius PINAuth token expired, please request a new PINAuth token from LoginRadius API. + RESET_PIN_URL_INVALID: + summary: RESET_PIN_URL_INVALID + value: + ErrorCode: 1248 + Message: The reset pin URL is invalid + Description: The reset pin Url is invalid, please reach out to LoginRadius support for more information. + PHONE_PAYLOAD_REQUIRED: + summary: PHONE_PAYLOAD_REQUIRED + value: + Description: The phone is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + PIN_LINK_ALREADY_VERIFIED: + summary: PIN_LINK_ALREADY_VERIFIED + value: + ErrorCode: 1242 + Message: The email verification link has already been used + Description: Each link can only be used once, you can log in now if you have already verified the email, OR use the 'forgot pin' option. + MFA_PHONE_REQUIRED: + summary: MFA_PHONE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The phoneno2fa is a required parameter. + TWO_FACTOR_AUTHENTICATION_PHONE_ALREADY_USED: + summary: TWO_FACTOR_AUTHENTICATION_PHONE_ALREADY_USED + value: + ErrorCode: 1106 + Message: This phone number is already registered + Description: This phone number is already registered on your profile for two factor authentication., please use a different phone number for login. + TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE_OLD: + summary: TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE_OLD + value: + ErrorCode: 1250 + Message: This is not valid request for updating phone number for two factor authentication + Description: Google two factor or OTP two factor authentication or security question two factor authentication is already enabled on the profile, please use the update profile API for updating phone number. + TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE: + summary: TWO_FACTOR_AUTHENTICATION_INVALID_PHONE_UPDATE + value: + ErrorCode: 1250 + Message: Invalid request to update the phone number for two-factor authentication. + Description: Authenticator, OTP, or security question-based two-factor authentication method is already enabled. Please use the update profile API to update the phone number. + CONSENT_FORM_NOT_ENABLED: + summary: CONSENT_FORM_NOT_ENABLED + value: + ErrorCode: 1227 + Message: Consent Management is not enabled. + Description: Consent Management is not enabled, please reach out to LoginRadius support for more information. + CONSENT_TOKEN_REQUIRED: + summary: CONSENT_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The consenttoken is a required parameter. + CONSENT_TOKEN_NOT_VALID: + summary: CONSENT_TOKEN_NOT_VALID + value: + ErrorCode: 1229 + Message: Consent token is invalid + Description: Consent token is invalid, please use the correct or valid consent token in order to process this request. + CONSENT_TOKEN_EXPIRED: + summary: CONSENT_TOKEN_EXPIRED + value: + ErrorCode: 1230 + Message: Consent token has expired + Description: The LoginRadius consent token expired, please request a new consent token from LoginRadius API. + TOKEN_REQUIRED: + summary: TOKEN_REQUIRED + value: + error: invalid_request + error_description: The token is a required parameter. + CONSENT_LOGS_NOT_AVAILABLE: + summary: CONSENT_LOGS_NOT_AVAILABLE + value: + ErrorCode: 1228 + Message: Consent logs not available. + Description: Consent logs not available. + EVENT_REQUIRED: + summary: EVENT_REQUIRED + value: + error: invalid_request + error_description: The event is a required parameter. + ISCUSTOM_REQUIRED: + summary: IS_CUSTOM_REQUIRED + value: + error: invalid_request + error_description: The is_custom parameter is a required parameter. + INVITATION_TOKEN_REQUIRED: + summary: INVITATION_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The Invitation token is required. Please enter a valid Invitation token. + TOKEN_TYPE_REQUIRED: + summary: TOKEN_TYPE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The tokentype is a required parameter. + API_SECRET_NOT_WELL_FORMATTED: + summary: API_SECRET_NOT_WELL_FORMATTED + value: + ErrorCode: 921 + Message: API secret is invalid + Description: The provided LoginRadius API secret is invalid, please use a valid API secret of your LoginRadius account. + API_SECRET_OR_SIGNATURE_REQUIRED: + summary: API_SECRET_OR_SIGNATURE_REQUIRED + value: + ErrorCode: 1209 + Message: API-Signature/API-Secret is missing + Description: The request is missing the API-Signature/API-Secret, please use a valid API-Signature/API-Secret parameter in order to process this request. + API_SECRET_REQUIRED: + summary: API_SECRET_REQUIRED + value: + ErrorCode: 923 + Message: API secret is missing + Description: The request is missing the API secret, please use the valid API secret parameter in order to process this request. + API_SIGNATURE_REQUIRED: + summary: API_SIGNATURE_REQUIRED + value: + ErrorCode: 1207 + Message: API signature is missing + Description: The request is missing the API signature, please use a valid API signature parameter in order to process this request. + EMAILID_OR_USERNAME_REQUIRD: + summary: EMAILID_OR_USERNAME_REQUIRD + value: + ErrorCode: 1141 + Message: Email address or username is required + Description: Email address or username is required, please use a valid email address or username in order to process this request. + API_SIGNATURE_INVALID: + summary: API_SIGNATURE_INVALID + value: + ErrorCode: 1208 + Message: API signature is invalid + Description: The API signature is invalid, please use a valid API signature parameter in order to process this request. + REQUEST_EXPIRY_TIME_INVALID_FORMAT: + summary: REQUEST_EXPIRY_TIME_INVALID_FORMAT + value: + ErrorCode: 1211 + Message: The request expiry time has an invalid format + Description: The request expiry time has an invalid format, please use a valid date-time format. + REQUEST_EXPIRY_TIME_REQUIRED: + summary: REQUEST_EXPIRY_TIME_REQUIRED + value: + ErrorCode: 1210 + Message: Request expiry time is missing + Description: The request is missing the request expiry time, please use a valid request expiry time parameter in order to process this request. + UID_REQUIRED: + summary: UID_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The uid is a required parameter. + EMAIL_TYPE_CAN_NOT_NULL-EMAIL_REQUIRED-UID_REQUIRED: + summary: EMAIL_TYPE_CAN_NOT_NULL-EMAIL_REQUIRED-UID_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The type is a required parameter,The email is a required parameter,The uid is a required parameter. + EMAIL_OR_USER_REQUIRED_PARAM: + summary: EMAIL_OR_USER_REQUIRED_PARAM + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email/username is a required parameter. + EMAIL_OR_USER_REQUIRED_PARAM-CLIENT_GUID_REQUIRED: + summary: EMAIL_OR_USER_REQUIRED_PARAM-CLIENT_GUID_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The email/username is a required parameter,The clientguid is a required parameter. + CLIENT_GUID_REQUIRED-EMAIL_REQUIRED: + summary: CLIENT_GUID_REQUIRED-EMAIL_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The clientguid is a required parameter,The email is a required parameter. + INVALID_TOKEN_TYPE: + summary: INVALID_TOKEN_TYPE + value: + ErrorCode: 1181 + Message: You have entered an invalid token type + Description: The allowed token types are emailverification, addemail, forgotpassword, deleteuser, passwordlesslogin, forgotpin, onetouchlogin and autologin. + SECRET_DOESNT_HAVE_ACCESS: + summary: SECRET_DOESNT_HAVE_ACCESS + value: + ErrorCode: 1143 + Message: Access Unauthorized + Description: Your LoginRadius site secret does not have authorization to access this endpoint. + REQUEST_EXPIRY_TIME_IS_INVALID: + summary: REQUEST_EXPIRY_TIME_IS_INVALID + value: + ErrorCode: 1212 + Message: The request expiry time is invalid + Description: The request expiry time is invalid, please use a valid request expiry time in order to process this request. + SMS_OTP_TYPE_REQUIRED: + summary: SMS_OTP_TYPE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The smsotptype is a required parameter. + PHONE_REQUIRED_PARAM-UID_REQUIRED: + summary: PHONE_REQUIRED_PARAM-UID_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The PhoneId is a required parameter,The uid is a required parameter. + ACCESS_TOKEN_INVALID_OR_EXPIRED: + summary: ACCESS_TOKEN_INVALID_OR_EXPIRED + value: + ErrorCode: 2024 + Message: The Access Token is expired or invalid + Description: The Access Token is expired or invalid, please request a new Access Token from the LoginRadius API. + B2B_FEATURE_ENABLED: + summary: B2B_FEATURE_ENABLED + value: + ErrorCode: 8179 + Message: B2B feature is enabled + Description: Request couldn't be processed, B2B feature is enabled for this site. + PUT_BODY_INVALID: + summary: PUT_BODY_INVALID + value: + ErrorCode: 1079 + Message: Put body is invalid + Description: Please use a valid put body and make sure that it is in a valid JSON format. + PARAMETER_NOT_WELL_FORMATTED_CONTEXT: + summary: PARAMETER_NOT_WELL_FORMATTED_CONTEXT + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The context is a required parameter. + PARAMETER_NOT_WELL_FORMATTED_ROLE: + summary: PARAMETER_NOT_WELL_FORMATTED_ROLE + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The Roles is a required parameter. + PARAMETER_NOT_WELL_FORMATTED_ROLE_NULL: + summary: PARAMETER_NOT_WELL_FORMATTED_ROLE_NULL + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of Roles can not be null or empty. + INVALID_DATE_ROLES: + summary: INVALID_DATE_ROLES + value: + ErrorCode: 1172 + Message: Invalid date + Description: A date was specified that was not in the correct format or not a valid date. + ROLE_DOES_NOT_EXISTS: + summary: ROLE_DOES_NOT_EXISTS + value: + ErrorCode: 1047 + Message: Role does not exist + Description: The provided Role for the user does not exist, please use a valid Role in order to process this request. + CONTEXT_NAME_REQUIRED: + summary: CONTEXT_NAME_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The contextName is a required parameter. + ROLE_CONTEXT_NOT_VALID: + summary: ROLE_CONTEXT_NOT_VALID + value: + ErrorCode: 1133 + Message: Role Context Name is not Valid. + Description: Your Role context name is not valid, please use a valid Role context name. + ROLES_CAN_NOT_BE_EMPTY: + summary: ROLES_CAN_NOT_BE_EMPTY + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of Roles can not be null or empty. + PARAMETER_NOT_WELL_FORMATTED_ADDPERMISSION_NULL: + summary: PARAMETER_NOT_WELL_FORMATTED_ADDPERMISSION_NULL + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of additionalPermissions can not be null or empty. + PARAMETER_NOT_WELL_FORMATTED_ADDPERMISSION: + summary: PARAMETER_NOT_WELL_FORMATTED_ADDPERMISSION + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The additionalPermissions is a required parameter. + ADDITIONALPERMISSIONS_NOT_EXITS: + summary: ADDITIONALPERMISSIONS_NOT_EXITS + value: + ErrorCode: 1142 + Message: Additional Permission does not exist + Description: Additional Permission for the user does not exist, please use a valid additional Permission in order to process this request. + IP_ACCESS_DENIED: + summary: IP_ACCESS_DENIED + value: + ErrorCode: 1206 + Message: IP Access Denied + Description: Access denied to the resource due to unauthorized IP. + REFRESH_TOKEN_REQUIRED: + summary: REFRESH_TOKEN_REQUIRED + value: + ErrorCode: 1337 + Message: Refresh token is missing from social ID provider + Description: The ID Provider refresh token is required to generate the LoginRadius access token, please use the correct token in order to process this request. + REFRESH_TOKEN_INVALID: + summary: REFRESH_TOKEN_INVALID + value: + ErrorCode: 1217 + Message: Refresh token invalid + Description: LoginRadius refresh token is invalid. + OPERATION_FAILED_OIDC: + summary: OPERATION_FAILED_OIDC + value: + Message: Operation failed due to an unknown error + Description: An unknown error has occurred, please try again in a few minutes or contact your system admin. + ErrorCode: 950 + Q_REQUIRED: + summary: Q_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The q is a required parameter. + Q_NOT_VALID: + summary: Q_NOT_VALID + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of q is not valid. + QUERY_KEY_REQUIRED: + summary: QUERY_KEY_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The query key is a required parameter. + QUERY_VALUE_REQUIRED: + summary: QUERY_VALUE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The query value is a required parameter. + MULTIPLE_QUERY_PARAMETERS: + value: + ErrorCode: 1277 + Message: Multiple query parameters + Description: Multiple query parameters in request. Please pass any required one. + QUERY_KEY_INDEX_NOT_FOUND: + summary: QUERY_KEY_INDEX_NOT_FOUND + value: + ErrorCode: 1341 + Message: Query key index not found + Description: The specified query key index does not exist, please reach out to LoginRadius support for more information. + USERNAME_NOT_EXISTS: + value: + ErrorCode: 1022 + Message: Username does not exist + Description: The provided username does not exist. Please enter a valid username. + PHONE_NUMBER_LOGIN_ENABLED: + value: + ErrorCode: 1077 + Message: Phone number login is enabled + Description: The phone number login is enabled, so login or get Profile by email ID is unavailable. Please use a verified phone number for login or get Profile. + UID_IS_NOT_VALID: + value: + ErrorCode: 1200 + Message: Uid is not valid + Description: The uid is not valid. The uid can contain alphabets, digits, underscore, and dash only, and its length must be between 1 to 50. + ACCOUNT_ID_IS_ALREADY_REGISTERED: + summary: ACCOUNT_ID_IS_ALREADY_REGISTERED + value: + ErrorCode: 1044 + Message: This account ID is already registered with your site + Description: The account ID has to be unique for your site. Please use a different account ID to process this request. + PRIVACY_POLICY_NOT_VALID: + summary: PRIVACY_POLICY_NOT_VALID + value: + ErrorCode: 1197 + Message: Privacy Policy version is not valid + Description: The Privacy Policy version is not valid. + INVALID_EMAIL: + value: + ErrorCode: 8137 + Message: Invalid email + Description: Invalid email, Please provide valid email. + USERNAME_REQUIRED_CORE: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The UserName is a required parameter. Please provide a valid UserName to process the request. + INVALID_REQUEST_BODY: + value: + ErrorCode: 1090 + Message: Invalid request body or payload + Description: An error has occurred while parsing the API payload. Please review the request and try again. + SEND_EMAIL_INVALID_PARAMETER: + summary: SEND_EMAIL_INVALID_PARAMETER + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value 'invalid_value' is not valid for sendemail. + VERIFICATION_TYPE_REQUIRED: + summary: VERIFICATION_TYPE_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The vtype is a required parameter. + VTYPE_INVALID: + summary: VTYPE_INVALID + value: + ErrorCode: 1306 + Message: The vtype is invalid + Description: The provided vtype is invalid, please provide a valid verification type (email). + EXPIRE_IN_INVALID_FORMAT: + summary: EXPIRE_IN_INVALID_FORMAT + value: + Description: Please provide expiry time in number format only. + ErrorCode: 1307 + Message: The expires_in has invalid format + EMAIL_SENDING_FAIL: + value: + ErrorCode: 7921 + Message: Email sending failed + Description: Email was not sent successfully, Please check the settings in your email configuration. + EMAIL_CAN_NOT_NULL: + summary: EMAIL_CAN_NOT_NULL + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value of email can not be null or empty. + EMAIL_TYPE_AND_VALUE_CAN_NOT_NULL: + summary: EMAIL_TYPE_AND_VALUE_CAN_NOT_NULL + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The type is a required parameter,The value is a required parameter + EMAIL_VALUE_CAN_NOT_NULL: + summary: EMAIL_VALUE_CAN_NOT_NULL + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The value is a required parameter + CAN_NOT_ENFORCE_EMAIL_INVALIDATION: + summary: CAN_NOT_ENFORCE_EMAIL_INVALIDATION + value: + ErrorCode: 1113 + Message: The profile cannot be enforced to invalidate the email verification. + Description: The request could not be processed. There is no email profile associated with this UID, thus the email verification cannot be enforced. + EMAIL_ALREADY_UNVERIFIED: + summary: EMAIL_ALREADY_UNVERIFIED + value: + ErrorCode: 1115 + Message: The profile cannot be enforced to invalidate the email verification. + Description: The request could not be processed. Email already unverified associated with UID, thus cannot enforce email verification. + CAN_NOT_ENFORCE_PHONE_INVALIDATION: + summary: CAN_NOT_ENFORCE_PHONE_INVALIDATION + value: + ErrorCode: 1147 + Message: The profile cannot be enforced to invalidate the phone verification. + Description: The request could not be processed. There is no phone profile associated with UID, so the phone verification cannot be enforced. + PHONE_NUMBER_ALREADY_UNVERIFIED: + summary: PHONE_NUMBER_ALREADY_UNVERIFIED + value: + ErrorCode: 1161 + Message: This phone number is already unverified + Description: This phone number is unverified, cannot invalidate. + SECOND_FACTOR_VALIDATION_TOKEN_REQUIRED: + summary: SECOND_FACTOR_VALIDATION_TOKEN_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The secondfactorvalidationtoken is a required parameter. + SECOND_FACTOR_VERIFICATION_TOKEN_NOT_VALID: + summary: SECOND_FACTOR_VERIFICATION_TOKEN_NOT_VALID + value: + ErrorCode: 1193 + Message: Two factor validation token is invalid + Description: The LoginRadius two factor Validation token is invalid, please use the correct or valid token in order to process this request. + GENERIC_REQUIRED: + summary: GENERIC_REQUIRED + value: + errorCode: 908 + message: A parameter is not formatted correctly + description: A parameter is not formatted correctly in the request, please check all the parameters in the API call. + OAUTH_TOKEN_CONFIG_NOT_FOUND_NATIVE: + summary: OAUTH_TOKEN_CONFIG_NOT_FOUND + value: + errorCode: 2017 + message: Request is invalid + description: Unable to retrieve token configuration for the specified app. + API_SECRET_NOT_VALID_NATIVE: + summary: API_SECRET_NOT_VALID + value: + errorCode: 902 + message: The API secret is unauthorized + description: The provided LoginRadius API secret is invalid or is not authorized, please use a valid or authorized LoginRadius API secret or check the API secret for your LoginRadius account. + ACCESS_TOKEN_NOT_VALID_NATIVE: + summary: ACCESS_TOKEN_NOT_VALID + value: + errorCode: 905 + message: Access token is invalid + description: The LoginRadius access token is invalid, please use the correct or valid access token in order to process this request. + ACCESS_TOKEN_EXPIRED_NATIVE: + summary: ACCESS_TOKEN_EXPIRED + value: + errorCode: 906 + message: Access token has expired + description: The LoginRadius access token has expired, please request a new token from LoginRadius API. + REFRESH_TOKEN_INVALID_NATIVE: + summary: REFRESH_TOKEN_INVALID_NATIVE + value: + errorCode: 1217 + message: Refresh token invalid + description: LoginRadius refresh token is invalid. + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT_NATIVE: + summary: APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT + value: + errorCode: 909 + message: Your LoginRadius site does not have permission to access this endpoint + description: Your LoginRadius site does not have permission to access this endpoint, please contact LoginRadius support for more information. + ENDPOINT_NOT_SUPPORTED_BY_CURRENT_PROVIDER: + summary: ENDPOINT_NOT_SUPPORTED_BY_CURRENT_PROVIDER + value: + errorCode: 910 + message: Endpoint is not supported by the current provider + description: The requested endpoint is not supported by this social identity provider. + PROVIDER_SIDE_ERROR_NATIVE: + summary: PROVIDER_SIDE_ERROR + value: + errorCode: 1000 + message: An error has occurred at the social identity provider’s end. + description: An error has occurred at the social identity provider’s end, please check the ‘providerErrorResponse’ for more details. + DANGEROUS_REQUEST_NATIVE: + summary: DANGEROUS_REQUEST + value: + errorCode: 1214 + message: Dangerous request + description: A potentially dangerous request value was detected. + REQUEST_TOKEN_NOT_VALID_NATIVE: + summary: REQUEST_TOKEN_NOT_VALID + value: + errorCode: 903 + message: Request token is invalid + description: The LoginRadius request token is invalid, please check the POST request on your callback page and the token field in the request. + REQUEST_TOKEN_EXPIRED: + summary: REQUEST_TOKEN_EXPIRED + value: + errorCode: 904 + message: Request token has expired + description: The LoginRadius request token has expired, please request a new token from LoginRadius API. + API_KEY_REQUIRED_NATIVE: + summary: API_KEY_REQUIRED + value: + errorCode: 922 + message: API key is missing + description: The request is missing the API key, please use the valid API key parameter in order to process this request. + API_SECRET_REQUIRED_NATIVE: + summary: API_SECRET_REQUIRED + value: + errorCode: 923 + message: API secret is missing + description: The request is missing the API secret, please use the valid API secret parameter in order to process this request. + API_SECRET_NOT_WELL_FORMATTED_NATIVE: + summary: API_SECRET_NOT_WELL_FORMATTED + value: + errorCode: 921 + message: API secret is invalid + description: The provided LoginRadius API secret is invalid, please use a valid API secret of your LoginRadius account. + API_KEY_NOT_WELL_FORMATTED_NATIVE: + summary: API_KEY_NOT_WELL_FORMATTED + value: + errorCode: 920 + message: API key is invalid + description: The provided LoginRadius API key is invalid, please use a valid API key of your LoginRadius account. + API_KEY_NOT_VALID_NATIVE: + summary: API_KEY_NOT_VALID + value: + errorCode: 901 + message: The API key is unauthorized + description: The provided LoginRadius API key is invalid or is not authorized, please use a valid or authorized LoginRadius API key or check the API key for your LoginRadius account. + PROFILE_ID_MISSING: + summary: PROFILE_ID_MISSING + value: + errorCode: 1061 + message: Profile ID is missing + description: This request is missing the Profile ID, please use a valid Profile ID parameter in order to process this request. + USER_ID_NOT_VALID_NATIVE: + summary: USER_ID_NOT_VALID + value: + errorCode: 937 + message: User ID is invalid + description: The user ID is invalid, please use a valid user ID in order to process this request. + ACCOUNT_ID_REQUIRED: + summary: ACCOUNT_ID_REQUIRED + value: + errorCode: 1037 + message: Account ID is required + description: The account ID is required, please use a valid account ID in order to process this request. + ACCOUNT_ID_IS_INVALID_NATIVE: + summary: ACCOUNT_ID_IS_INVALID + value: + errorCode: 984 + message: Account ID is invalid + description: This Account ID is invalid, please use valid account ID. + ACTIVE_TOKEN_NOT_EXISTS: + summary: ACTIVE_TOKEN_NOT_EXISTS + value: + errorCode: 1055 + message: Session has expired + description: The LoginRadius session token has expired, there is no current active session for this user. + ACCESS_TOKEN_REQUIRED_OIDC: + summary: ACCESS_TOKEN_REQUIRED + value: + errorCode: 1060 + message: Access token is missing + description: This request is missing the access token, please use the valid access token parameter in order to process this request. + JWTAPP_PROVIDER_REQUIRED: + summary: JWTAPP_PROVIDER_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The providername is a required parameter. + PROVIDER_NAME_REQUIRED: + summary: PROVIDER_NAME_REQUIRED + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The providerName is a required parameter. + API_KEY_REQUIRED_PROVIDER: + summary: API_KEY_REQUIRED_PROVIDER + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The apikey is a required parameter. + PROVIDER_NAME_NOT_VALID: + summary: PROVIDER_NAME_NOT_VALID + value: + ErrorCode: 912 + Message: Provider is not valid + Description: The provider name is invalid, please use a valid provider name. + INVITATION_ID_REQUIRED: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The invitation id is required. + INVALID_INVITATION_ID: + value: + ErrorCode: 8175 + Message: The invitation id/token is invalid + Description: The invitation id is invalid. Please enter a valid invitation id. + B2B_NOT_ENABLED: + summary: B2B_NOT_ENABLED + value: + Description: The B2B feature is not enabled or configured for your app. Please contact LoginRadius support for more information. + ErrorCode: 1267 + Message: B2B feature is not enabled or not configured properly + UNAUTHORIZED_ACCESS: + value: + Message: Access Unauthorized + Description: Access Unauthorized, please use valid authorization to access this endpoint. + ErrorCode: 6002 + ORGANIZATION_NOT_FOUND_PARTNER: + summary: ORGANIZATION_NOT_FOUND_PARTNER + value: + Description: The entered organization or its configuration does not exist. + ErrorCode: 8118 + Message: Organization not found + INVALID_JSON_BODY: + value: + ErrorCode: 8044 + Message: Invalid Body + Description: BodyType is selected as JSON, but the Body doesn't contain valid JSON data. Please input valid JSON data. + JSON_PUT_BODY_REQUIRED_PARTNER: + summary: JSON_PUT_BODY_REQUIRED_PARTNER + value: + Message: Put body is invalid or empty + Description: Please use a valid put body in JSON format in order to process this request. + ErrorCode: 7934 + ROLE_OR_RESEND_EMAIL_REQUIRED: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The RoleIds or ResendEmail field is required. Please enter at least one field. + INVALID_INVITATION_URL: + value: + ErrorCode: 8176 + Message: The Invitation URL is invalid + Description: The Invitation is invalid, please whitelist the url. + INVITATION_ACCEPTED: + value: + ErrorCode: 8175 + Message: The invitation id/token is invalid + Description: This invitation id/token is accepted. Please enter a valid invitation id/token. + INVITATION_EXPIRED: + value: + ErrorCode: 8175 + Message: The invitation id/token is invalid + Description: This invitation id/token is expired. Please enter a valid invitation id/token. + INVITATION_REVOKED: + value: + ErrorCode: 8175 + Message: The invitation id/token is invalid + Description: This invitation id/token is revoked. Please enter a valid invitation id/token. + INVALID_ROLE_ID: + value: + Description: Invalid Role id, Please provide valid Role id. + ErrorCode: 8124 + Message: Invalid Role id + INVALID_INVITER_UID: + value: + ErrorCode: 8174 + Message: Inviter uid invalid or inviter does not exist/active + Description: Inviter uid invalid or inviter does not exist/active, Please provide the valid inviter uid. + ROLE_NOT_EXIST: + value: + ErrorCode: 8125 + Message: Role does not exist + Description: Role does not exist, Please provide valid Role id. + ORGANIZATION_ID_REQUIRED: + value: + ErrorCode: 8129 + Message: Organization id is required + Description: Organization id is required, Please provide organization id. + ORGANIZATION_ID_INVALID: + value: + Description: This Organization ID is invalid, please use valid Organization ID. + ErrorCode: 8117 + Message: Organization ID is invalid + JSON_POST_BODY_REQUIRED: + value: + ErrorCode: 7914 + Message: Post body is invalid + Description: Please use a valid post body in JSON format. + SEND_INVITATION_REQUIRED: + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly + Description: The OrgId, InviterUid, EmailId, RoleIds are required. + INVITATION_ALREADY_ACTIVE: + value: + ErrorCode: 8171 + Message: invitation is active + Description: Invitation is already active, Can not send the invite again. + USER_EXISTS_IN_ORG: + value: + ErrorCode: 8170 + Message: User already exist in an organization + Description: User already exist in an organization, Please provide correct email id. + DOMAIN_DUPLICATE: + value: + Description: The Domain is already in use. Please enter a valid Domain. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + DOMAIN_NAME_INVALID: + value: + Description: The DomainName is invalid. Please enter a valid DomainName. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + DOMAIN_SPAM_OR_GENERIC_DOMAIN: + value: + Description: The Domain is a spam or generic domain. Please enter a valid Domain. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + NAME_REQUIRED: + value: + Description: The Name is required. Please enter a valid Name. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + TRIAL_PLAN_ORG_LIMIT_REACHED: + value: + Message: Organization creation limit reached for the trial plan + Description: The trial plan organization creation limit has been reached. Upgrade your plan to create more organizations. + ErrorCode: 8188 + ORGANIZATION_ALREADY_EXIST: + value: + Description: Organization exists with the same name. Use a different organization name. + ErrorCode: 8116 + Message: Organization exists with the same name + ORGANIZATION_DOMAIN_ALREADY_EXIST: + value: + Description: Domain exists with the same name. Use a different Domain name. + ErrorCode: 8157 + Message: Domain exists with the same name + ORGANIZATION_MEMBER_ROLE_NOT_VALID: + value: + Description: This Organization member Role is invalid, please use valid Organization member Role + ErrorCode: 8159 + Message: Organization member Role is invalid + STATUS_UPDATE_INVALID: + value: + Description: Status update is invalid, Please provide valid status. + ErrorCode: 8167 + Message: Status update is invalid + ORGANIZATION_DOMAIN_CAN_NOT_DELETED: + value: + Description: Organization domain can not be deleted, domain is currently being used in a connection. + ErrorCode: 8178 + Message: Organization domain can not be deleted + ORGANIZATION_JIT_POLICY_NOT_ALLOWED: + value: + Description: Just-In-Time (JIT) provisioning is not allowed because there are no active connections configured for this organization. Please check your organization settings. + ErrorCode: 8181 + Message: JIT policy not allowed in organization + ORGANIZATION_MFA_ENFORCEMENT_NOT_ALLOWED: + value: + Description: Organization MFA enforcement can not be enabled because MFA is disabled for the tenant. + ErrorCode: 8160 + Message: Organization MFA enforcement not allowed + ORGANIZATION_MFA_NONE_ENFORCEMENT_NOT_ALLOWED: + value: + Description: Organization MFA enforcement can not be disabled because MFA is enabled for the tenant. + ErrorCode: 8160 + Message: Organization MFA enforcement not allowed + ORGANIZATION_MFA_ENFORCEMENT_ONLY_FORCE_ALLOWED: + value: + Description: MFA enforcement must be set to 'Force' because this tenant has a mandatory MFA flow configured. + ErrorCode: 8160 + Message: Organization MFA enforcement not allowed + ORGANIZATION_MFA_FORCE_AUTHENTICATORS_DISABLED: + value: + Description: To enable 'force' MFA enforcement, at least one MFA authenticator method must be enabled for this tenant. + ErrorCode: 8160 + Message: Organization MFA enforcement not allowed + ORGANIZATION_ENABLE_MFA_ENFORCEMENT_NOT_ALLOWED: + value: + Description: Organization MFA enforcement can not be enabled because MFA is disabled for the tenant. + ErrorCode: 8160 + Message: Organization MFA enforcement not allowed + ORGANIZATION_DISABLE_MFA_ENFORCEMENT_NOT_ALLOWED: + value: + Description: Organization MFA enforcement can not be disabled because MFA is enabled for the tenant. + ErrorCode: 8160 + Message: Organization MFA enforcement not allowed + CONNECTION_DOMAIN_ALREADY_EXIST: + value: + Description: The domain is associated with a different connection. Please use a different organization domain. + ErrorCode: 8149 + Message: Domain exists with another connection + STATUS_UPDATED_ALREADY: + value: + Description: Status already updated, Please provide valid status. + ErrorCode: 8166 + Message: Status already updated + CONNECTION_TYPE_INVALID: + value: + Description: The ConnectionType is invalid. Please enter a valid ConnectionType. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + CONNECTION_TYPE_REQUIRED: + value: + Description: The ConnectionType is required. Please enter a valid ConnectionType. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + CUSTOM_MAPPING_INVALID: + value: + Description: The CustomMapping provided is invalid. Please enter a valid CustomMapping. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + NAME_INVALID: + value: + Description: Invalid Name. It must be alphanumeric, hyphens (-), underscores (_), not start/end with hyphen/underscore, and max length 60. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + OIDC_IDP_ISSUER_INVALID: + value: + Description: The provided Identity Provider (IdP) issuer is invalid. Please verify the Issuer + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + CONN_SAML_IDP_CERTIFICATE_INVALID: + value: + Description: The IdpCertificate is invalid. Please enter a valid IdpCertificate. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + SAML_METADATA_ENDPOINT_INVALID: + value: + Description: The provided SAML metadata endpoint is invalid or not accessible. Please verify the IDPMetadataURL + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + ORGANIZATION_DOMAIN_NOT_VERIFIED: + value: + Description: Organization domain is not verified, Please verify the domain. + ErrorCode: 8177 + Message: Organization domain is not verified + ORGANIZATION_DOMAIN_NOT_EXIST: + value: + Description: The provided domain is not associated with the organization. Please use a different organization domain. + ErrorCode: 8150 + Message: Domain does not exist within the organization + CONNECTION_ALREADY_EXIST: + value: + Description: Connection exists with the same name. Use a different Connection name. + ErrorCode: 8148 + Message: Connection exists with the same name + CONNECTION_ID_INVALID: + value: + Description: This Connection ID is invalid, please use valid Connection ID. + ErrorCode: 8151 + Message: Connection ID is invalid + GROUP_ROLE_GROUP_ID_REQUIRED: + value: + Description: The GroupId is required. Please enter a valid GroupId. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + GROUP_ROLE_ROLE_ID_INVALID: + value: + Description: The RoleId is invalid. Please enter a valid RoleId. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + GROUP_ROLE_ROLE_ID_REQUIRED: + value: + Description: The RoleId is required. Please enter a valid RoleId. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + GROUP_ROLE_NAME_ALREADY_EXIST: + value: + Description: Connection GroupRole exists with the same name. Use a Connection GroupRole name. + ErrorCode: 8161 + Message: GroupRole exists with the same name + GROUP_ROLE_GROUP_ID_ALREADY_EXIST: + value: + Description: Connection GroupRole exists with the same GroupId. Use a different GroupRole GroupId. + ErrorCode: 8162 + Message: GroupRole exists with the same GroupId + GROUP_ROLE_ID_INVALID: + value: + Description: This GroupRole ID is invalid, Please use a valid GroupRole ID. + ErrorCode: 8164 + Message: GroupRole ID is invalid + GROUP_ROLE_NOT_EXIST: + value: + Description: This GroupRole ID is not exist, Please use a valid GroupRole ID. + ErrorCode: 8163 + Message: GroupRole ID not exist + ORGANIZATION_DOMAIN_ID_INVALID: + value: + Description: This Domain ID is invalid, please use valid Domain ID. + ErrorCode: 8154 + Message: Domain ID is invalid + ORGANIZATION_DOMAIN_NAME_INVALID: + value: + Description: The DomainName is invalid. Please enter a valid DomainName. + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + DOMAIN_TXT_RECORD_FAILED: + value: + Description: Unable to fetch the Domain TXT record. Please ensure the domain is valid and correctly configured. + ErrorCode: 8168 + Message: Failed to fetch Domain TXT record + ORGANIZATION_DOMAIN_ALREADY_VERIFY: + value: + Description: This Organization domain is already verified + ErrorCode: 8156 + Message: Domain already verified + PARAMETER_NOT_WELL_FORMATTED_REQUIRED: + value: + Message: A parameter is not formatted correctly. + Description: The parameter is not formatted correctly, please check all the parameters in the API call + ErrorCode: 7900 + INVALID_ID: + value: + Message: Invalid ID + Description: Invalid ID, please provide a valid ID. + ErrorCode: 8080 + DUPLICATE_PERMISSION_NAME: + value: + ErrorCode: 8120 + Message: Duplicate Permission name + Description: Duplicate Permission name, Please provide valid Permission name. + PERMISSION_ID_REQUIRED: + value: + ErrorCode: 8122 + Message: Permission id is required + Description: Permission id is required, Please provide Permission id. + PERMISSION_ID_INVALID: + value: + ErrorCode: 8119 + Message: Invalid Permission id + Description: Invalid Permission id, Please provide valid Permission id. + NAME_NOT_ALLOWED_TO_UPDATE: + value: + ErrorCode: 8231 + Message: Name field is not allowed to update + Description: Name field is not allowed to update. Please use the same name value in update request. + INVALID_BODY_JSON: + value: + Message: Invalid Body + Description: BodyType is selected as JSON, but the Body doesn't contain valid JSON data. Please input valid JSON data. + ErrorCode: 8044 + DUPLICATE_ROLE_NAME: + value: + ErrorCode: 8123 + Message: Duplicate Role name + Description: Duplicate Role name, Please provide valid Role name. + ROLE_ID_REQUIRED: + value: + ErrorCode: 8126 + Message: Role id is required + Description: Role id is required, Please provide Role id. + DEFAULT_ROLE_CANNOT_BE_DELETED: + value: + ErrorCode: 8128 + Message: Default Role cannot be deleted + Description: Default Role cannot be deleted, Please provide valid Role id. + ROLE_NAME_REQUIRED: + value: + ErrorCode: 8127 + Message: Role name is required + Description: Role name is required, Please provide Role name. + ROLE_DOES_NOT_BELONGS_TO_TENANT: + value: + ErrorCode: 8143 + Message: Role does not belong to tenant + Description: Role does not belong to tenant, Please provide valid Role id. + USER_ID_REQUIRED: + value: + ErrorCode: 8131 + Message: User id is required + Description: User id is required, Please provide user id. + USER_DOES_NOT_EXISTS: + value: + ErrorCode: 8132 + Message: User does not exist + Description: User does not exist, Please provide valid user id. + USER_NOT_FOUND_IN_ORG: + value: + Description: User not found in organization, Please provide valid user id. + ErrorCode: 8135 + Message: User not found in organization + ROLE_DOES_NOT_BELONGS_TO_ORG: + value: + ErrorCode: 8142 + Message: Role does not belong to organization + Description: Role does not belong to organization, Please provide valid Role id. + B2B_EMAIL_NOT_AVAILABLE: + summary: B2B_EMAIL_NOT_AVAILABLE + value: + ErrorCode: 8045 + Message: Email is missing + Description: Cannot assign Role to the user in the organization because the email is not available for the user. Please provide a valid uid. + USER_ROLE_ALREADY_EXISTS: + value: + ErrorCode: 8130 + Message: User Role already exists + Description: User Role already exists, Please provide valid Role id. + PARAMETER_NOT_WELL_FORMATTED: + value: + Message: A parameter is not formatted correctly. + Description: A parameter is not formatted correctly in the request, please check all the parameters in the API call + ErrorCode: 7900 + SOTT_NOT_FOUND: + value: + Message: SOTT not found + Description: SOTT not found or the resource does not exist. + ErrorCode: 8068 + TECHNOLOGY_SELECTION_INVALID: + value: + Message: Sott configuration is invalid + Description: Technology selection is invalid, Please provide valid value. + ErrorCode: 8101 + IDENTITY_ORCHESTRATION_NOT_ENABLED: + value: + ErrorCode: 8070 + Message: Workflows are not enabled for this app/site. + Description: The request cannot be processed. Please enable workflows and try again to proceed with this request. + WORKFLOW_CONFIG_NOT_FOUND: + value: + Message: Workflow config not found. + Description: Workflow config not found, Please configure the workflow config. + ErrorCode: 8033 + WORKFLOW_PAYLOAD: + value: + Name: mfa-auth + ThemeName: default + Data: + edges: + - id: reactflow__edge-6799ebff-ab72-4ebd-869b-65672bd0a799true-SuccessFinalNode + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: 6799ebff-ab72-4ebd-869b-65672bd0a799 + sourceHandle: 'true' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: SuccessFinalNode + targetHandle: null + type: smoothstep + - id: reactflow__edge-6799ebff-ab72-4ebd-869b-65672bd0a799false-FailureFinalNode + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: 6799ebff-ab72-4ebd-869b-65672bd0a799 + sourceHandle: 'false' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: FailureFinalNode + targetHandle: null + type: smoothstep + - id: reactflow__edge-e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913false-1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + sourceHandle: 'false' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + targetHandle: null + type: smoothstep + - id: reactflow__edge-1eb72cc9-7a2c-44f7-817d-00a94a9c1a24authenticator-ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + sourceHandle: authenticator + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + targetHandle: null + type: smoothstep + - id: reactflow__edge-ac8ae2f4-48b9-4c35-bd68-4cbf11730b8bfalse-FailureFinalNode + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + sourceHandle: 'false' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: FailureFinalNode + targetHandle: null + type: smoothstep + - id: reactflow__edge-initialNodeoutput-dd8723a2-afc1-4529-a0a6-2c0712af3e65 + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: initialNode + sourceHandle: output + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + targetHandle: null + type: smoothstep + - id: reactflow__edge-dd8723a2-afc1-4529-a0a6-2c0712af3e65output-b92fb05a-578a-4097-aec0-2df33b4c27a0 + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + sourceHandle: output + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: b92fb05a-578a-4097-aec0-2df33b4c27a0 + targetHandle: null + type: smoothstep + - id: reactflow__edge-b92fb05a-578a-4097-aec0-2df33b4c27a0true-e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: b92fb05a-578a-4097-aec0-2df33b4c27a0 + sourceHandle: 'true' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + targetHandle: null + type: smoothstep + - id: reactflow__edge-b92fb05a-578a-4097-aec0-2df33b4c27a0false-FailureFinalNode + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: b92fb05a-578a-4097-aec0-2df33b4c27a0 + sourceHandle: 'false' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: FailureFinalNode + targetHandle: null + type: smoothstep + - id: reactflow__edge-ac8ae2f4-48b9-4c35-bd68-4cbf11730b8btrue-4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + sourceHandle: 'true' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + targetHandle: null + type: smoothstep + - id: reactflow__edge-e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913authenticator-4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + sourceHandle: authenticator + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + targetHandle: null + type: smoothstep + - id: reactflow__edge-4fd9fc82-5cc5-4410-94c7-cc8ac301a31eoutput-6799ebff-ab72-4ebd-869b-65672bd0a799 + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + sourceHandle: output + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: 6799ebff-ab72-4ebd-869b-65672bd0a799 + targetHandle: null + type: smoothstep + innerNodes: + 46d6674e-bbc6-44bc-951f-98cffd6441b6: + data: + description: Displays the option to field to enter TOTP (when Authenticator is already configured). + label: Authenticator Input + properties: null + dragging: 'false' + extent: parent + height: '50' + hidden: 'true' + id: 46d6674e-bbc6-44bc-951f-98cffd6441b6 + isChildNode: 'true' + nodes: null + parentNode: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + position: + x: '290.33256209500405' + 'y': '-206.97348008280136' + positionAbsolute: + x: '290.33256209500405' + 'y': '-206.97348008280136' + selected: 'false' + type: authenticatorinput + width: '150' + a655db76-8831-411b-82f5-1be2784e4a78: + data: + description: Prompts the user to enter the email and stores the input. It is used with the Web Page node. + label: Email + properties: + - elementType: emailonlyasinput + id: '1' + label: Email Only as Input + type: checkbox + value: 'false' + - elementType: isprimary + id: '2' + label: Is Primary + primaryParentId: '1' + type: checkbox + value: 'true' + - elementType: emailtype + id: '3' + label: Email Type + primaryParentId: '1' + secondaryParentId: '2' + type: text + value: '' + - elementType: rules + id: '4' + label: Validation String + primaryParentId: '1' + type: text + value: '' + draggable: 'true' + dragging: 'false' + extent: parent + height: '50' + hidden: 'true' + id: a655db76-8831-411b-82f5-1be2784e4a78 + isChildNode: 'true' + nodes: null + parentNode: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + position: + x: '-499.8966093003752' + 'y': '-455.39881839572' + positionAbsolute: + x: '-499.8966093003752' + 'y': '-455.39881839572' + selected: 'false' + type: email + width: '150' + fff21a66-437c-4a8a-96e0-744efaff8d87: + data: + description: Prompts the user to enter their password and stores the input. This node is to be used for entering the password during registration, login, password update and password forget etc. It is used with the Web Page node. + label: Password + properties: + - elementType: passwordonlyasinput + id: '1' + label: Password Only as Input + tag: password + type: checkbox + value: 'false' + - elementType: oldpassword + id: '2' + label: Old Password + primaryParentId: '1' + tag: password + type: checkbox + value: 'false' + - elementType: newpassword + id: '3' + label: New Password + primaryParentId: '1' + tag: password + type: checkbox + value: 'false' + - elementType: confirmpassword + id: '4' + label: Confirm Password + primaryParentId: '1' + tag: password + type: checkbox + value: 'false' + - elementType: validatepassword + id: '5' + label: Validate Password + primaryParentId: '1' + tag: policy + type: checkbox + value: 'false' + draggable: 'true' + dragging: 'false' + extent: parent + height: '50' + hidden: 'true' + id: fff21a66-437c-4a8a-96e0-744efaff8d87 + isChildNode: 'true' + nodes: null + parentNode: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + position: + x: '-480.96896447653376' + 'y': '-480.2413522270118' + positionAbsolute: + x: '-480.96896447653376' + 'y': '-480.2413522270118' + selected: 'false' + type: password + width: '150' + nodes: + 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24: + data: + description: 'Define the MFA flow (mandatory or optional), settings and method(s) for all users. To let users register/configure the MFA method from the available method(s) on login. ' + label: Configure MFA + properties: + - elementType: mfaflow + id: '1' + label: MFA Flow + options: + - text: Mandatory + value: Mandatory + - text: Optional + value: Optional + required: 'true' + type: select + value: Mandatory + - elementType: message + id: '2' + label: Message + required: 'true' + type: text + value: Authenticator + - elementType: mfamethods + id: '3' + label: MFA Methods + options: + - checked: 'false' + text: Authenticator + value: Authenticator + - checked: 'false' + text: Security Question + value: Security Question + - checked: 'false' + text: Email OTP + value: Email OTP + - checked: 'false' + text: SMS OTP + value: SMS OTP + outputSelector: 'true' + required: 'true' + type: multiselect + value: + - Authenticator + - elementType: authenticatorbuttontext + id: '4' + label: Authenticator Button Text + parentPropertyId: '3' + parentPropertyValue: Authenticator + required: 'true' + type: text + value: Configure Authenticator + - elementType: securityquestionbuttontext + id: '5' + label: Security Question Button Text + parentPropertyId: '3' + parentPropertyValue: Security Question + required: 'true' + type: text + value: '' + - elementType: emailotpbuttontext + id: '6' + label: Email OTP Button Text + parentPropertyId: '3' + parentPropertyValue: Email OTP + required: 'true' + type: text + value: '' + - elementType: smsotpbuttontext + id: '7' + label: SMS OTP Button Text + parentPropertyId: '3' + parentPropertyValue: SMS OTP + required: 'true' + type: text + value: '' + dragging: 'false' + height: '130' + id: 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + nodes: null + output: + - displayName: EmailOTP + id: emailotp + - displayName: SMSOTP + id: smsotp + - displayName: Authenticator + id: authenticator + - displayName: SecurityQuestion + id: securityquestion + - displayName: Skip + id: skip + - displayName: 'False' + id: 'false' + position: + x: '-189.86368278693385' + 'y': '-453.57986075944297' + positionAbsolute: + x: '-189.86368278693385' + 'y': '-453.57986075944297' + selected: 'false' + type: configuremfa + width: '164' + 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e: + data: + description: Combines multiple nodes that request input into a single page for display to the user. Drag and drop nodes onto the web page node to combine them. + label: Web Page + properties: + - elementType: title + id: '1' + label: Web Page Header + required: 'true' + type: text + value: Authenticator Code + - elementType: description + id: '2' + label: Web Page Description + required: 'true' + type: text + value: Enter the Authenticator Code + - elementType: buttontext + id: '3' + label: Submit Button Text + required: 'true' + type: text + value: Verify + - elementType: footer + id: '4' + label: Web Page Footer + required: 'true' + type: text + value: LoginRadius + - elementType: buttons + id: '5' + label: Buttons + type: buttons + value: null + dragging: 'false' + height: '114' + id: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + nodes: + - data: + label: Authenticator Input + id: 46d6674e-bbc6-44bc-951f-98cffd6441b6 + isChildNode: 'true' + type: authenticatorinput + output: + - displayName: output + id: output + position: + x: '276.136828477123' + 'y': '-237.73090292154373' + positionAbsolute: + x: '276.136828477123' + 'y': '-237.73090292154373' + selected: 'false' + type: webpage + width: '230' + 6799ebff-ab72-4ebd-869b-65672bd0a799: + data: + description: Verifies if the entered TOTP for authenticator is valid or not. + label: Verify Authenticator + properties: null + dragging: 'false' + height: '90' + id: 6799ebff-ab72-4ebd-869b-65672bd0a799 + nodes: null + output: + - displayName: 'True' + id: 'true' + - displayName: 'False' + id: 'false' + position: + x: '616.5127762283203' + 'y': '-370.34395454050144' + positionAbsolute: + x: '616.5127762283203' + 'y': '-370.34395454050144' + selected: 'false' + type: verifyauthenticatortotp + width: '164' + FailureFinalNode: + data: + description: 'Denotes that the workflow ended at failure. ' + label: Failure + properties: + - id: '1' + label: Redirect URL + type: text + value: '' + dragging: 'false' + height: '40' + id: FailureFinalNode + nodes: null + position: + x: '868.1393360508125' + 'y': '-6.556228920048781' + positionAbsolute: + x: '868.1393360508125' + 'y': '-6.556228920048781' + selected: 'false' + type: finalNegative + width: '40' + SuccessFinalNode: + data: + description: 'Denotes that the workflow ended in success. ' + label: Success + properties: + - id: '1' + label: Redirect URL + type: text + value: '' + dragging: 'false' + height: '40' + id: SuccessFinalNode + nodes: null + position: + x: '870.7506472583059' + 'y': '-346.426228223721' + positionAbsolute: + x: '870.7506472583059' + 'y': '-346.426228223721' + selected: 'false' + type: finalPositive + width: '40' + ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b: + data: + description: To configure the Authenticator method while setting up MFA. Businesses can also customize the labels and descriptions that will be displayed on the Authenticator screen. + label: Configure Authenticator + properties: + - elementType: issuerid + id: '1' + label: Issuer ID + required: 'true' + type: text + value: LR + - elementType: qrcodewidth + id: '2' + label: QR Code Width + required: 'true' + type: text + value: '200' + - elementType: qrcodeheight + id: '3' + label: QR Code Height + required: 'true' + type: text + value: '200' + - elementType: displaygetapp + id: '4' + label: Display Get App + type: checkbox + value: 'false' + - elementType: getapptext + id: '5' + label: Get App Text + parentPropertyId: '4' + parentPropertyValue: 'true' + required: 'true' + type: text + value: '' + - elementType: getapplink + id: '6' + label: Get App Link + parentPropertyId: '4' + parentPropertyValue: 'true' + required: 'true' + type: text + value: '' + - elementType: googleauthenticatorlabel + id: '7' + label: Authenticator label + required: 'true' + type: text + value: Configure Authenticator + - elementType: googleauthenticatordescription + id: '8' + label: Authenticator Description + required: 'true' + type: text + value: Configure authenticator to use MFA + - elementType: defaultbuttontext + id: '9' + label: Default Button Text + required: 'true' + type: text + value: Authenticator + dragging: 'false' + height: '90' + id: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + nodes: null + output: + - displayName: 'True' + id: 'true' + - displayName: 'False' + id: 'false' + position: + x: '39.63816595865569' + 'y': '-491.36370171146075' + positionAbsolute: + x: '39.63816595865569' + 'y': '-491.36370171146075' + selected: 'false' + type: configureauthenticator + width: '164' + b92fb05a-578a-4097-aec0-2df33b4c27a0: + data: + description: Verifies if the authentication is successful or not, along with other statutes such as account locked, password expired. + label: Auth + properties: + - elementType: accesstoken + id: '1' + label: Access Token + readOnly: 'true' + type: checkbox + value: 'true' + - elementType: sessiontoken + id: '2' + label: Session Token + type: checkbox + value: 'false' + - elementType: authvalidation + id: '3' + label: Auth Validation + options: + - text: Email Unverified + value: emailunverified + - text: Phone Unverified + value: phoneunverified + - text: Password Expired + value: passwordexpired + - text: Account Locked + value: accountlocked + type: multiselect + value: null + height: '90' + id: b92fb05a-578a-4097-aec0-2df33b4c27a0 + nodes: null + output: + - displayName: 'True' + id: 'true' + - displayName: 'False' + id: 'false' + - displayName: Account Locked + id: accountlocked + - displayName: Password Expired + id: passwordexpired + - displayName: Email Unverified + id: emailunverified + - displayName: Phone Unverified + id: phoneunverified + position: + x: '-215.98193694275392' + 'y': '-66.19912170548083' + selected: 'false' + type: auth + width: '164' + dd8723a2-afc1-4529-a0a6-2c0712af3e65: + data: + description: Combines multiple nodes that request input into a single page for display to the user. Drag and drop nodes onto the web page node to combine them. + label: Web Page + properties: + - elementType: title + id: '1' + label: Web Page Header + required: 'true' + type: text + value: MFA Authenticator + - elementType: description + id: '2' + label: Web Page Description + required: 'true' + type: text + value: MFA Authenticator Flow + - elementType: buttontext + id: '3' + label: Submit Button Text + required: 'true' + type: text + value: Submit + - elementType: footer + id: '4' + label: Web Page Footer + required: 'true' + type: text + value: LoginRadius + - elementType: buttons + id: '5' + label: Buttons + type: buttons + value: null + dragging: 'false' + height: '158' + id: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + nodes: + - data: + label: Email + id: a655db76-8831-411b-82f5-1be2784e4a78 + isChildNode: 'true' + type: email + - data: + label: Password + id: fff21a66-437c-4a8a-96e0-744efaff8d87 + isChildNode: 'true' + type: password + output: + - displayName: output + id: output + position: + x: '-520.0072319257067' + 'y': '-209.33943568578155' + positionAbsolute: + x: '-520.0072319257067' + 'y': '-209.33943568578155' + selected: 'false' + type: webpage + width: '230' + e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913: + data: + description: To check whether the user has configured MFA or not. If configured, it gets and displays the configured method(s) for the user to select one and proceed. If not, the next node should be Configure MFA node (if the business wants that user should not proceed without MFA). + label: MFA Configured State + properties: + - elementType: mfamethods + id: '1' + label: MFA Methods + options: + - checked: 'false' + text: Authenticator + value: Authenticator + - checked: 'false' + text: Security Question + value: Security Question + - checked: 'false' + text: Email OTP + value: Email OTP + - checked: 'false' + text: SMS OTP + value: SMS OTP + outputSelector: 'true' + required: 'true' + type: multiselect + value: + - Authenticator + - elementType: authenticatorbuttontext + id: '2' + label: Authenticator Button Text + parentPropertyId: '1' + parentPropertyValue: Authenticator + required: 'true' + type: text + value: Authenticator + - elementType: securityquestionbuttontext + id: '3' + label: Security Question Button Text + parentPropertyId: '1' + parentPropertyValue: Security Question + required: 'true' + type: text + value: '' + - elementType: emailotpbuttontext + id: '4' + label: Email OTP Button Text + parentPropertyId: '1' + parentPropertyValue: Email OTP + required: 'true' + type: text + value: '' + - elementType: smsotpbuttontext + id: '5' + label: SMS OTP Button Text + parentPropertyId: '1' + parentPropertyValue: SMS OTP + required: 'true' + type: text + value: '' + dragging: 'false' + height: '130' + id: e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + nodes: null + output: + - displayName: EmailOTP + id: emailotp + - displayName: SMSOTP + id: smsotp + - displayName: Authenticator + id: authenticator + - displayName: SecurityQuestion + id: securityquestion + - displayName: BackupCode + id: backupcode + - displayName: 'False' + id: 'false' + position: + x: '28.222649657516513' + 'y': '-239.82180479922073' + positionAbsolute: + x: '28.222649657516513' + 'y': '-239.82180479922073' + selected: 'false' + type: mfastate + width: '164' + initialNode: + data: + label: initial node + dragging: 'false' + height: '40' + id: initialNode + nodes: null + position: + x: '-640.0257070587011' + 'y': '-185.85618992280232' + positionAbsolute: + x: '-640.0257070587011' + 'y': '-185.85618992280232' + selected: 'false' + type: initial + width: '40' + policies: + email: + - elementType: shouldrestrict + id: '1' + label: Should Restrict + type: checkbox + value: 'false' + - elementType: blacklistwhitelist + id: '2' + label: Blacklist/Whitelist + options: + - text: Blacklist + value: Blacklist + - text: Whitelist + value: Whitelist + type: select + value: '' + - elementType: emaildomain + id: '3' + label: Email/Domain + type: multivalue + value: '' + password: + - elementType: rules + id: '4' + label: Password Validation + tooltipMessage: Validate password property must be enabled + type: text + value: min_length[6]|max_length[32]|required + - elementType: passwordexpiration + id: '5' + label: Password Expiration + options: + - text: Days + value: Days + - text: Month + value: Month + - text: Year + value: Year + type: selectinput + value: '' + - elementType: passwordhistory + id: '6' + label: Password History + type: text + value: '' + - elementType: confirmpasswordprotection + id: '7' + label: Common Password Protection + type: checkbox + value: 'false' + - elementType: dictionarypasswordprevention + id: '8' + label: Dictionary Password Prevention + type: checkbox + value: 'false' + - elementType: profilefieldpasswordprevention + id: '9' + label: Profile Field Password Prevention + type: checkbox + value: 'false' + phone: + - elementType: isprimary + id: '14' + label: Is Primary + type: checkbox + value: 'false' + - elementType: countrycode + id: '15' + label: Country Code + type: checkbox + value: 'false' + - elementType: setdefaultcountrycode + id: '16' + isSearchEnabled: 'true' + label: Set Default Country Code + options: optionsofsetcountrycode + primaryParentId: '15' + type: select + value: '' + - elementType: allowparticularcountrycode + id: '17' + isSearchEnabled: 'true' + label: Allow particular country code + options: optionsofallowcountrycode + primaryParentId: '15' + type: multiselect + value: null + pininput: + - elementType: rules + id: '13' + label: Pin Validation + type: text + value: '' + username: + - elementType: isprimary + id: '10' + label: Is Primary + type: checkbox + value: 'false' + - elementType: duplicateemail + id: '11' + label: Duplicate Email + primaryParentId: '10' + type: checkbox + value: 'false' + - elementType: casesensitiveusername + id: '12' + label: Case sensitive Username + type: checkbox + value: 'false' + tree: + entryNodeId: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + nodes: + 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24: + connections: + - emailotp: '' + - smsotp: '' + - authenticator: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + - securityquestion: '' + - skip: '' + - 'false': '' + id: 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + type: configuremfa + 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e: + connections: + - output: 6799ebff-ab72-4ebd-869b-65672bd0a799 + id: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + type: webpage + 6799ebff-ab72-4ebd-869b-65672bd0a799: + connections: + - 'true': SuccessFinalNode + - 'false': FailureFinalNode + id: 6799ebff-ab72-4ebd-869b-65672bd0a799 + type: verifyauthenticatortotp + ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b: + connections: + - 'true': 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + - 'false': FailureFinalNode + id: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + type: configureauthenticator + b92fb05a-578a-4097-aec0-2df33b4c27a0: + connections: + - 'true': e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + - 'false': FailureFinalNode + - accountlocked: '' + - passwordexpired: '' + - emailunverified: '' + - phoneunverified: '' + id: b92fb05a-578a-4097-aec0-2df33b4c27a0 + type: auth + dd8723a2-afc1-4529-a0a6-2c0712af3e65: + connections: + - output: b92fb05a-578a-4097-aec0-2df33b4c27a0 + id: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + type: webpage + e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913: + connections: + - emailotp: '' + - smsotp: '' + - authenticator: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + - securityquestion: '' + - backupcode: '' + - 'false': 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + id: e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + type: mfastate + staticNodes: + failureFinalNode: + position: + x: '400' + 'y': '300' + initialNode: + position: + x: '-640.0257070587011' + 'y': '-185.85618992280232' + successFinalNode: + position: + x: '100' + 'y': '300' + viewport: + x: '647.0394243743131' + 'y': '464.4454913683603' + zoom: '0.8972987530157684' + Description: description + State: ACTIVE + WORKFLOW_RESPONSE: + value: + Id: 6799ebff-ab72-4ebd-869b-65672bd0a799 + Name: mfa-auth + ThemeName: default + Data: + edges: + - id: reactflow__edge-6799ebff-ab72-4ebd-869b-65672bd0a799true-SuccessFinalNode + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: 6799ebff-ab72-4ebd-869b-65672bd0a799 + sourceHandle: 'true' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: SuccessFinalNode + targetHandle: null + type: smoothstep + - id: reactflow__edge-6799ebff-ab72-4ebd-869b-65672bd0a799false-FailureFinalNode + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: 6799ebff-ab72-4ebd-869b-65672bd0a799 + sourceHandle: 'false' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: FailureFinalNode + targetHandle: null + type: smoothstep + - id: reactflow__edge-e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913false-1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + sourceHandle: 'false' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + targetHandle: null + type: smoothstep + - id: reactflow__edge-1eb72cc9-7a2c-44f7-817d-00a94a9c1a24authenticator-ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + sourceHandle: authenticator + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + targetHandle: null + type: smoothstep + - id: reactflow__edge-ac8ae2f4-48b9-4c35-bd68-4cbf11730b8bfalse-FailureFinalNode + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + sourceHandle: 'false' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: FailureFinalNode + targetHandle: null + type: smoothstep + - id: reactflow__edge-initialNodeoutput-dd8723a2-afc1-4529-a0a6-2c0712af3e65 + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: initialNode + sourceHandle: output + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + targetHandle: null + type: smoothstep + - id: reactflow__edge-dd8723a2-afc1-4529-a0a6-2c0712af3e65output-b92fb05a-578a-4097-aec0-2df33b4c27a0 + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + sourceHandle: output + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: b92fb05a-578a-4097-aec0-2df33b4c27a0 + targetHandle: null + type: smoothstep + - id: reactflow__edge-b92fb05a-578a-4097-aec0-2df33b4c27a0true-e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: b92fb05a-578a-4097-aec0-2df33b4c27a0 + sourceHandle: 'true' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + targetHandle: null + type: smoothstep + - id: reactflow__edge-b92fb05a-578a-4097-aec0-2df33b4c27a0false-FailureFinalNode + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: b92fb05a-578a-4097-aec0-2df33b4c27a0 + sourceHandle: 'false' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: FailureFinalNode + targetHandle: null + type: smoothstep + - id: reactflow__edge-ac8ae2f4-48b9-4c35-bd68-4cbf11730b8btrue-4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + sourceHandle: 'true' + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + targetHandle: null + type: smoothstep + - id: reactflow__edge-e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913authenticator-4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + sourceHandle: authenticator + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + targetHandle: null + type: smoothstep + - id: reactflow__edge-4fd9fc82-5cc5-4410-94c7-cc8ac301a31eoutput-6799ebff-ab72-4ebd-869b-65672bd0a799 + markerEnd: + color: '#30b3ff' + type: arrowclosed + selected: 'false' + source: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + sourceHandle: output + style: + stroke: '#30b3ff' + strokeWidth: '1' + target: 6799ebff-ab72-4ebd-869b-65672bd0a799 + targetHandle: null + type: smoothstep + innerNodes: + 46d6674e-bbc6-44bc-951f-98cffd6441b6: + data: + description: Displays the option to field to enter TOTP (when Authenticator is already configured). + label: Authenticator Input + properties: null + dragging: 'false' + extent: parent + height: '50' + hidden: 'true' + id: 46d6674e-bbc6-44bc-951f-98cffd6441b6 + isChildNode: 'true' + nodes: null + parentNode: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + position: + x: '290.33256209500405' + 'y': '-206.97348008280136' + positionAbsolute: + x: '290.33256209500405' + 'y': '-206.97348008280136' + selected: 'false' + type: authenticatorinput + width: '150' + a655db76-8831-411b-82f5-1be2784e4a78: + data: + description: Prompts the user to enter the email and stores the input. It is used with the Web Page node. + label: Email + properties: + - elementType: emailonlyasinput + id: '1' + label: Email Only as Input + type: checkbox + value: 'false' + - elementType: isprimary + id: '2' + label: Is Primary + primaryParentId: '1' + type: checkbox + value: 'true' + - elementType: emailtype + id: '3' + label: Email Type + primaryParentId: '1' + secondaryParentId: '2' + type: text + value: '' + - elementType: rules + id: '4' + label: Validation String + primaryParentId: '1' + type: text + value: '' + draggable: 'true' + dragging: 'false' + extent: parent + height: '50' + hidden: 'true' + id: a655db76-8831-411b-82f5-1be2784e4a78 + isChildNode: 'true' + nodes: null + parentNode: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + position: + x: '-499.8966093003752' + 'y': '-455.39881839572' + positionAbsolute: + x: '-499.8966093003752' + 'y': '-455.39881839572' + selected: 'false' + type: email + width: '150' + fff21a66-437c-4a8a-96e0-744efaff8d87: + data: + description: Prompts the user to enter their password and stores the input. This node is to be used for entering the password during registration, login, password update and password forget etc. It is used with the Web Page node. + label: Password + properties: + - elementType: passwordonlyasinput + id: '1' + label: Password Only as Input + tag: password + type: checkbox + value: 'false' + - elementType: oldpassword + id: '2' + label: Old Password + primaryParentId: '1' + tag: password + type: checkbox + value: 'false' + - elementType: newpassword + id: '3' + label: New Password + primaryParentId: '1' + tag: password + type: checkbox + value: 'false' + - elementType: confirmpassword + id: '4' + label: Confirm Password + primaryParentId: '1' + tag: password + type: checkbox + value: 'false' + - elementType: validatepassword + id: '5' + label: Validate Password + primaryParentId: '1' + tag: policy + type: checkbox + value: 'false' + draggable: 'true' + dragging: 'false' + extent: parent + height: '50' + hidden: 'true' + id: fff21a66-437c-4a8a-96e0-744efaff8d87 + isChildNode: 'true' + nodes: null + parentNode: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + position: + x: '-480.96896447653376' + 'y': '-480.2413522270118' + positionAbsolute: + x: '-480.96896447653376' + 'y': '-480.2413522270118' + selected: 'false' + type: password + width: '150' + nodes: + 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24: + data: + description: 'Define the MFA flow (mandatory or optional), settings and method(s) for all users. To let users register/configure the MFA method from the available method(s) on login. ' + label: Configure MFA + properties: + - elementType: mfaflow + id: '1' + label: MFA Flow + options: + - text: Mandatory + value: Mandatory + - text: Optional + value: Optional + required: 'true' + type: select + value: Mandatory + - elementType: message + id: '2' + label: Message + required: 'true' + type: text + value: Authenticator + - elementType: mfamethods + id: '3' + label: MFA Methods + options: + - checked: 'false' + text: Authenticator + value: Authenticator + - checked: 'false' + text: Security Question + value: Security Question + - checked: 'false' + text: Email OTP + value: Email OTP + - checked: 'false' + text: SMS OTP + value: SMS OTP + outputSelector: 'true' + required: 'true' + type: multiselect + value: + - Authenticator + - elementType: authenticatorbuttontext + id: '4' + label: Authenticator Button Text + parentPropertyId: '3' + parentPropertyValue: Authenticator + required: 'true' + type: text + value: Configure Authenticator + - elementType: securityquestionbuttontext + id: '5' + label: Security Question Button Text + parentPropertyId: '3' + parentPropertyValue: Security Question + required: 'true' + type: text + value: '' + - elementType: emailotpbuttontext + id: '6' + label: Email OTP Button Text + parentPropertyId: '3' + parentPropertyValue: Email OTP + required: 'true' + type: text + value: '' + - elementType: smsotpbuttontext + id: '7' + label: SMS OTP Button Text + parentPropertyId: '3' + parentPropertyValue: SMS OTP + required: 'true' + type: text + value: '' + dragging: 'false' + height: '130' + id: 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + nodes: null + output: + - displayName: EmailOTP + id: emailotp + - displayName: SMSOTP + id: smsotp + - displayName: Authenticator + id: authenticator + - displayName: SecurityQuestion + id: securityquestion + - displayName: Skip + id: skip + - displayName: 'False' + id: 'false' + position: + x: '-189.86368278693385' + 'y': '-453.57986075944297' + positionAbsolute: + x: '-189.86368278693385' + 'y': '-453.57986075944297' + selected: 'false' + type: configuremfa + width: '164' + 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e: + data: + description: Combines multiple nodes that request input into a single page for display to the user. Drag and drop nodes onto the web page node to combine them. + label: Web Page + properties: + - elementType: title + id: '1' + label: Web Page Header + required: 'true' + type: text + value: Authenticator Code + - elementType: description + id: '2' + label: Web Page Description + required: 'true' + type: text + value: Enter the Authenticator Code + - elementType: buttontext + id: '3' + label: Submit Button Text + required: 'true' + type: text + value: Verify + - elementType: footer + id: '4' + label: Web Page Footer + required: 'true' + type: text + value: LoginRadius + - elementType: buttons + id: '5' + label: Buttons + type: buttons + value: null + dragging: 'false' + height: '114' + id: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + nodes: + - data: + label: Authenticator Input + id: 46d6674e-bbc6-44bc-951f-98cffd6441b6 + isChildNode: 'true' + type: authenticatorinput + output: + - displayName: output + id: output + position: + x: '276.136828477123' + 'y': '-237.73090292154373' + positionAbsolute: + x: '276.136828477123' + 'y': '-237.73090292154373' + selected: 'false' + type: webpage + width: '230' + 6799ebff-ab72-4ebd-869b-65672bd0a799: + data: + description: Verifies if the entered TOTP for authenticator is valid or not. + label: Verify Authenticator + properties: null + dragging: 'false' + height: '90' + id: 6799ebff-ab72-4ebd-869b-65672bd0a799 + nodes: null + output: + - displayName: 'True' + id: 'true' + - displayName: 'False' + id: 'false' + position: + x: '616.5127762283203' + 'y': '-370.34395454050144' + positionAbsolute: + x: '616.5127762283203' + 'y': '-370.34395454050144' + selected: 'false' + type: verifyauthenticatortotp + width: '164' + FailureFinalNode: + data: + description: 'Denotes that the workflow ended at failure. ' + label: Failure + properties: + - id: '1' + label: Redirect URL + type: text + value: '' + dragging: 'false' + height: '40' + id: FailureFinalNode + nodes: null + position: + x: '868.1393360508125' + 'y': '-6.556228920048781' + positionAbsolute: + x: '868.1393360508125' + 'y': '-6.556228920048781' + selected: 'false' + type: finalNegative + width: '40' + SuccessFinalNode: + data: + description: 'Denotes that the workflow ended in success. ' + label: Success + properties: + - id: '1' + label: Redirect URL + type: text + value: '' + dragging: 'false' + height: '40' + id: SuccessFinalNode + nodes: null + position: + x: '870.7506472583059' + 'y': '-346.426228223721' + positionAbsolute: + x: '870.7506472583059' + 'y': '-346.426228223721' + selected: 'false' + type: finalPositive + width: '40' + ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b: + data: + description: To configure the Authenticator method while setting up MFA. Businesses can also customize the labels and descriptions that will be displayed on the Authenticator screen. + label: Configure Authenticator + properties: + - elementType: issuerid + id: '1' + label: Issuer ID + required: 'true' + type: text + value: LR + - elementType: qrcodewidth + id: '2' + label: QR Code Width + required: 'true' + type: text + value: '200' + - elementType: qrcodeheight + id: '3' + label: QR Code Height + required: 'true' + type: text + value: '200' + - elementType: displaygetapp + id: '4' + label: Display Get App + type: checkbox + value: 'false' + - elementType: getapptext + id: '5' + label: Get App Text + parentPropertyId: '4' + parentPropertyValue: 'true' + required: 'true' + type: text + value: '' + - elementType: getapplink + id: '6' + label: Get App Link + parentPropertyId: '4' + parentPropertyValue: 'true' + required: 'true' + type: text + value: '' + - elementType: googleauthenticatorlabel + id: '7' + label: Authenticator label + required: 'true' + type: text + value: Configure Authenticator + - elementType: googleauthenticatordescription + id: '8' + label: Authenticator Description + required: 'true' + type: text + value: Configure authenticator to use MFA + - elementType: defaultbuttontext + id: '9' + label: Default Button Text + required: 'true' + type: text + value: Authenticator + dragging: 'false' + height: '90' + id: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + nodes: null + output: + - displayName: 'True' + id: 'true' + - displayName: 'False' + id: 'false' + position: + x: '39.63816595865569' + 'y': '-491.36370171146075' + positionAbsolute: + x: '39.63816595865569' + 'y': '-491.36370171146075' + selected: 'false' + type: configureauthenticator + width: '164' + b92fb05a-578a-4097-aec0-2df33b4c27a0: + data: + description: Verifies if the authentication is successful or not, along with other statutes such as account locked, password expired. + label: Auth + properties: + - elementType: accesstoken + id: '1' + label: Access Token + readOnly: 'true' + type: checkbox + value: 'true' + - elementType: sessiontoken + id: '2' + label: Session Token + type: checkbox + value: 'false' + - elementType: authvalidation + id: '3' + label: Auth Validation + options: + - text: Email Unverified + value: emailunverified + - text: Phone Unverified + value: phoneunverified + - text: Password Expired + value: passwordexpired + - text: Account Locked + value: accountlocked + type: multiselect + value: null + height: '90' + id: b92fb05a-578a-4097-aec0-2df33b4c27a0 + nodes: null + output: + - displayName: 'True' + id: 'true' + - displayName: 'False' + id: 'false' + - displayName: Account Locked + id: accountlocked + - displayName: Password Expired + id: passwordexpired + - displayName: Email Unverified + id: emailunverified + - displayName: Phone Unverified + id: phoneunverified + position: + x: '-215.98193694275392' + 'y': '-66.19912170548083' + selected: 'false' + type: auth + width: '164' + dd8723a2-afc1-4529-a0a6-2c0712af3e65: + data: + description: Combines multiple nodes that request input into a single page for display to the user. Drag and drop nodes onto the web page node to combine them. + label: Web Page + properties: + - elementType: title + id: '1' + label: Web Page Header + required: 'true' + type: text + value: MFA Authenticator + - elementType: description + id: '2' + label: Web Page Description + required: 'true' + type: text + value: MFA Authenticator Flow + - elementType: buttontext + id: '3' + label: Submit Button Text + required: 'true' + type: text + value: Submit + - elementType: footer + id: '4' + label: Web Page Footer + required: 'true' + type: text + value: LoginRadius + - elementType: buttons + id: '5' + label: Buttons + type: buttons + value: null + dragging: 'false' + height: '158' + id: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + nodes: + - data: + label: Email + id: a655db76-8831-411b-82f5-1be2784e4a78 + isChildNode: 'true' + type: email + - data: + label: Password + id: fff21a66-437c-4a8a-96e0-744efaff8d87 + isChildNode: 'true' + type: password + output: + - displayName: output + id: output + position: + x: '-520.0072319257067' + 'y': '-209.33943568578155' + positionAbsolute: + x: '-520.0072319257067' + 'y': '-209.33943568578155' + selected: 'false' + type: webpage + width: '230' + e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913: + data: + description: To check whether the user has configured MFA or not. If configured, it gets and displays the configured method(s) for the user to select one and proceed. If not, the next node should be Configure MFA node (if the business wants that user should not proceed without MFA). + label: MFA Configured State + properties: + - elementType: mfamethods + id: '1' + label: MFA Methods + options: + - checked: 'false' + text: Authenticator + value: Authenticator + - checked: 'false' + text: Security Question + value: Security Question + - checked: 'false' + text: Email OTP + value: Email OTP + - checked: 'false' + text: SMS OTP + value: SMS OTP + outputSelector: 'true' + required: 'true' + type: multiselect + value: + - Authenticator + - elementType: authenticatorbuttontext + id: '2' + label: Authenticator Button Text + parentPropertyId: '1' + parentPropertyValue: Authenticator + required: 'true' + type: text + value: Authenticator + - elementType: securityquestionbuttontext + id: '3' + label: Security Question Button Text + parentPropertyId: '1' + parentPropertyValue: Security Question + required: 'true' + type: text + value: '' + - elementType: emailotpbuttontext + id: '4' + label: Email OTP Button Text + parentPropertyId: '1' + parentPropertyValue: Email OTP + required: 'true' + type: text + value: '' + - elementType: smsotpbuttontext + id: '5' + label: SMS OTP Button Text + parentPropertyId: '1' + parentPropertyValue: SMS OTP + required: 'true' + type: text + value: '' + dragging: 'false' + height: '130' + id: e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + nodes: null + output: + - displayName: EmailOTP + id: emailotp + - displayName: SMSOTP + id: smsotp + - displayName: Authenticator + id: authenticator + - displayName: SecurityQuestion + id: securityquestion + - displayName: BackupCode + id: backupcode + - displayName: 'False' + id: 'false' + position: + x: '28.222649657516513' + 'y': '-239.82180479922073' + positionAbsolute: + x: '28.222649657516513' + 'y': '-239.82180479922073' + selected: 'false' + type: mfastate + width: '164' + initialNode: + data: + label: initial node + dragging: 'false' + height: '40' + id: initialNode + nodes: null + position: + x: '-640.0257070587011' + 'y': '-185.85618992280232' + positionAbsolute: + x: '-640.0257070587011' + 'y': '-185.85618992280232' + selected: 'false' + type: initial + width: '40' + policies: + email: + - elementType: shouldrestrict + id: '1' + label: Should Restrict + type: checkbox + value: 'false' + - elementType: blacklistwhitelist + id: '2' + label: Blacklist/Whitelist + options: + - text: Blacklist + value: Blacklist + - text: Whitelist + value: Whitelist + type: select + value: '' + - elementType: emaildomain + id: '3' + label: Email/Domain + type: multivalue + value: '' + password: + - elementType: rules + id: '4' + label: Password Validation + tooltipMessage: Validate password property must be enabled + type: text + value: min_length[6]|max_length[32]|required + - elementType: passwordexpiration + id: '5' + label: Password Expiration + options: + - text: Days + value: Days + - text: Month + value: Month + - text: Year + value: Year + type: selectinput + value: '' + - elementType: passwordhistory + id: '6' + label: Password History + type: text + value: '' + - elementType: confirmpasswordprotection + id: '7' + label: Common Password Protection + type: checkbox + value: 'false' + - elementType: dictionarypasswordprevention + id: '8' + label: Dictionary Password Prevention + type: checkbox + value: 'false' + - elementType: profilefieldpasswordprevention + id: '9' + label: Profile Field Password Prevention + type: checkbox + value: 'false' + phone: + - elementType: isprimary + id: '14' + label: Is Primary + type: checkbox + value: 'false' + - elementType: countrycode + id: '15' + label: Country Code + type: checkbox + value: 'false' + - elementType: setdefaultcountrycode + id: '16' + isSearchEnabled: 'true' + label: Set Default Country Code + options: optionsofsetcountrycode + primaryParentId: '15' + type: select + value: '' + - elementType: allowparticularcountrycode + id: '17' + isSearchEnabled: 'true' + label: Allow particular country code + options: optionsofallowcountrycode + primaryParentId: '15' + type: multiselect + value: null + pininput: + - elementType: rules + id: '13' + label: Pin Validation + type: text + value: '' + username: + - elementType: isprimary + id: '10' + label: Is Primary + type: checkbox + value: 'false' + - elementType: duplicateemail + id: '11' + label: Duplicate Email + primaryParentId: '10' + type: checkbox + value: 'false' + - elementType: casesensitiveusername + id: '12' + label: Case sensitive Username + type: checkbox + value: 'false' + tree: + entryNodeId: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + nodes: + 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24: + connections: + - emailotp: '' + - smsotp: '' + - authenticator: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + - securityquestion: '' + - skip: '' + - 'false': '' + id: 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + type: configuremfa + 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e: + connections: + - output: 6799ebff-ab72-4ebd-869b-65672bd0a799 + id: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + type: webpage + 6799ebff-ab72-4ebd-869b-65672bd0a799: + connections: + - 'true': SuccessFinalNode + - 'false': FailureFinalNode + id: 6799ebff-ab72-4ebd-869b-65672bd0a799 + type: verifyauthenticatortotp + ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b: + connections: + - 'true': 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + - 'false': FailureFinalNode + id: ac8ae2f4-48b9-4c35-bd68-4cbf11730b8b + type: configureauthenticator + b92fb05a-578a-4097-aec0-2df33b4c27a0: + connections: + - 'true': e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + - 'false': FailureFinalNode + - accountlocked: '' + - passwordexpired: '' + - emailunverified: '' + - phoneunverified: '' + id: b92fb05a-578a-4097-aec0-2df33b4c27a0 + type: auth + dd8723a2-afc1-4529-a0a6-2c0712af3e65: + connections: + - output: b92fb05a-578a-4097-aec0-2df33b4c27a0 + id: dd8723a2-afc1-4529-a0a6-2c0712af3e65 + type: webpage + e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913: + connections: + - emailotp: '' + - smsotp: '' + - authenticator: 4fd9fc82-5cc5-4410-94c7-cc8ac301a31e + - securityquestion: '' + - backupcode: '' + - 'false': 1eb72cc9-7a2c-44f7-817d-00a94a9c1a24 + id: e0e82eb2-ee65-4a6b-ab25-3e6c6dcb2913 + type: mfastate + staticNodes: + failureFinalNode: + position: + x: '400' + 'y': '300' + initialNode: + position: + x: '-640.0257070587011' + 'y': '-185.85618992280232' + successFinalNode: + position: + x: '100' + 'y': '300' + viewport: + x: '647.0394243743131' + 'y': '464.4454913683603' + zoom: '0.8972987530157684' + Description: description + State: ACTIVE + WORKFLOW_STATE_IS_INVALID: + value: + ErrorCode: 8031 + Message: Workflow configuration is invalid. + Description: The provided workflow state is invalid. Please enter the valid workflow state. + INVALID_WORKFLOW_NAME: + summary: INVALID_WORKFLOW_NAME + value: + ErrorCode: 8031 + Message: Workflow configuration is invalid. + Description: Invalid Name. It must be alphanumeric, hyphens (-), underscores (_), colon(:) not start/end with hyphen/underscore/colon, and max length 60. + WORKFLOW_CONFIG_EXISTS_WITH_SAME_NAME: + value: + ErrorCode: 8032 + Message: Workflow configuration already exist with same name. + Description: Workflow configuration already exists with same name, Please use another name to update the workflow name. + INVALID_WORKFLOW_ID: + summary: INVALID_WORKFLOW_ID + value: + ErrorCode: 8191 + Message: Invalid workflow id + Description: Invalid workflow id, Please provide valid workflow id. + FAILED_TO_RESTORE_WORKFLOW_VERSION: + summary: FAILED_TO_RESTORE_WORKFLOW_VERSION + value: + ErrorCode: 8023 + Message: Failed to restore workflow version + Description: Failed to restore the workflow version. Please try again. + WORKFLOW_VERSION_NOT_FOUND: + summary: WORKFLOW_VERSION_NOT_FOUND + value: + ErrorCode: 7972 + Message: Workflow version not found + Description: Workflow version not found or the resource does not exist. + WEBHOOK_FEATURE_NOT_ENABLED: + summary: WEBHOOK_FEATURE_NOT_ENABLED + value: + Message: Site is not configured for WebHook management + Description: Request couldn't be processed, WebHook management feature is not enabled for this site. + ErrorCode: 7984 + WEBHOOK_CONFIG_NOT_FOUND: + value: + Message: WebHook configuration not found + Description: WebHook configuration not found or the resource does not exist. + ErrorCode: 7986 + INVALID_WEBHOOK_EVENT_TYPE: + summary: INVALID_WEBHOOK_EVENT_TYPE + value: + Message: Invalid WebHook Event type + Description: Request couldn't be processed due to invalid WebHook Event type. + ErrorCode: 7985 + WEB_HOOK_TARGET_URL_IS_NOT_VALID: + value: + Message: Webhook target URL is invalid + Description: The provided Webhook target URL is invalid, please enter a valid web URL. + ErrorCode: 7987 + WEB_HOOK_TARGET_URL_IS_NOT_REACHABLE: + value: + Message: Webhook target URL is not reachable + Description: Please check the provided Webhook target URL, we couldn't reach the server at the provided URL. + ErrorCode: 8106 + WEB_HOOK_TARGET_URL_IS_ALREADY_SUBSCRIBE: + value: + Message: Webhook target URL is already subscribed + Description: The provided Webhook target URL is already subscribed, please enter a unique web URL. + ErrorCode: 7989 + WEB_HOOK_NOT_ALLOWED_MORE_THAN_MAX_LIMIT: + value: + Message: Number of Webhook subscriptions exceeded the limit + Description: Number of Webhook subscriptions must be less than or equal to 5, unsubscribe at least one and try again. + ErrorCode: 7988 + INVALID_WEBHOOK_ID: + value: + Message: A parameter is not formatted correctly (Parameter name in Response) + Description: The webhook subscription id is not valid. + ErrorCode: 7900 + CANNOT_UPDATE_WEBHOOK: + value: + Message: WebHook configuration not found + Description: WebHook configuration not found or the resource does not exist. + ErrorCode: 8016 + WEBHOOK_EVENTS: + value: Login + INVALID_SMS_TYPE: + value: + Message: Invalid SMS Template type + Description: Request couldn't be processed due to invalid SMS type. + ErrorCode: 7959 + SMS_TEMPLATE_ALREADY_EXISTS: + value: + Message: SMS template already exist. + Description: SMS template with the same name already exists, please use a unique name in order to process the request. + ErrorCode: 7955 + SMS_TEMPLATE_NOT_FOUND: + value: + Message: SMS template is not configured or the resource does not exist + Description: You don't have any SMS template configured for the LoginRadius site. + ErrorCode: 7954 + SMS_TEMPLATE_NOT_EXISTS: + value: + Message: SMS template does not exist. + Description: Provided SMS template does not exist, Please use a valid SMS template in order to process this request. + ErrorCode: 7956 + JSON_DELETE_BODY_REQUIRED: + value: + ErrorCode: 7935 + Message: Delete body is invalid or empty + Description: Please use a valid delete body in JSON format in order to process this request. + DEFAULT_SMS_TEMPLATE_CANNOT_BE_DELETED: + value: + Message: Default SMS template cannot be deleted + Description: The default SMS template cannot be deleted. Please set another template as default before deleting this one. + ErrorCode: 8259 + PASSKEY_FEATURE_NOT_ENABLED: + value: + ErrorCode: 8069 + Message: Site is not configured for passkeys + Description: Passkeys is not configured for this site, Please contact LoginRadius support for more information. + PASSKEY_NOT_FOUND: + value: + ErrorCode: 8054 + Message: PassKey configuration not found or does not exist. + Description: There is no PassKey configuration available. + INVALID_PASSKEY_SELECTION: + value: + ErrorCode: 7991 + Message: Invalid passkey configuration + Description: The value can be 'AutoFill', 'Button', or 'Both'. + INVALID_PASSKEY_ATTESTATION: + value: + ErrorCode: 7991 + Message: Invalid passkey configuration + Description: The value of attestation can be “none”,“indirect” or “direct”. + INVALID_RP_ORIGIN_URL: + value: + ErrorCode: 7991 + Message: Invalid passkey configuration + Description: The RPOrigin URL is invalid. Please enter a valid RPOrigin URL. + RP_ORIGIN_RPID_MISMATCH: + value: + ErrorCode: 7991 + Message: Invalid passkey configuration + Description: The RPOrigin URL does not match the RPID. Please ensure that the RPOrigin URL ends with the RPID value. + PUSH_AUTHENTICATOR_EXAMPLE: + value: + IsEnabled: true + NotificationService: AWS + CustomAppName: MyCustomApp + QRCodeWidth: 200 + Message: Please approve the login request + AWSsettings: + AccessKeyId: your-access-key-id + SecretAccessKey: your-secret-access-key + Region: us-west-2 + AndroidSettings: + Enabled: true + PlatformARN: arn:aws:sns:us-west-2:123456789012:app/GCM/MyAndroidApp + PlaystoreUrl: https://play.google.com/store/apps/details?id=com.example.myapp + ServiceJson: '{"project_id":"my-project-id","api_key":"my-api-key"}' + IOSsettings: + Enabled: true + AppstoreUrl: https://apps.apple.com/us/app/myapp/id1234567890 + PlatformARN: arn:aws:sns:us-west-2:123456789012:app/APNS/MyiOSApp + BundleId: com.example.myapp + ApnsCertificate: base64-encoded-cert + Environment: Production + SECOND_FACTOR_AUTHENTICATION_NOT_ENABLED: + value: + ErrorCode: 7953 + Message: Site is not configured for second factor authentication. + Description: Request couldn't be processed, second factor authentication feature is not enabled for this site. + PUSH_NOTIFICATIONS_NOT_ENABLED: + value: + ErrorCode: 8052 + Message: Site is not configured for Push Notifications MFA. + Description: Request couldn't be processed,Push Notifications MFA feature is not enabled for this site. + PUSH_SETTINGS_NOT_FOUND: + value: + ErrorCode: 8050 + Message: Push Notification settings not found or does not exist + Description: There is no Push Notification settings/configuration available. + ATLEAST_ANDORID_OR_IOS_ENABLED: + value: + ErrorCode: 8047 + Message: Push notification authenticator configuration is invalid. + Description: Atleast one of the Android or iOS settings must be enabled for the Custom Notification App. + INVALID_NOTIFICATION_SERVICE: + value: + ErrorCode: 8047 + Message: Push notification authenticator configuration is invalid. + Description: The value can be “AWS” or “Native”. + INVALID_IOS_ENVIRONMENT: + value: + ErrorCode: 8047 + Message: Push notification authenticator configuration is invalid. + Description: The value can be “Production” or “Sandbox”. + INVALID_NOTIFICATION_SERVICE_CUSTOM: + value: + ErrorCode: 8047 + Message: Push notification authenticator configuration is invalid. + Description: Please provide a value for the Notification Service field when the Notification App is set to Custom. + SECURITY_QUESTION_NOT_ENABLED: + value: + ErrorCode: 7951 + Message: Site is not configured for security question + Description: Request couldn't be processed, security question feature is not enabled for this site. + SECURITY_QUESTION_ALREADY_ADDED: + value: + ErrorCode: 7948 + Message: Security question already exists + Description: A similar security question has already been configured. + INVALID_QUESTION_ID: + value: + ErrorCode: 7949 + Message: Security question not found or does not exist + Description: The requested security question id is invalid or does not exist. + SECURITY_QUESTION_CONFIG_NOT_FOUND: + value: + ErrorCode: 7947 + Message: Security question configuration not found + Description: Security question settings are not configured or the resource does not exist. + SECURITY_QUESTION_RENDER_COUNT_ERROR: + value: + ErrorCode: 8010 + Message: Can not update security question configuration's number of security question to appear count. + Description: The number of security questions to appear count of security question configuration should be greater than or equal to the number of security question to appear count of two factor security question authenticator. + DOMAIN_WHITE_LISTING_NOT_ENABLED: + value: + Message: Site is not configured for Domain White Listing. + Description: Request couldn't be processed, Domain White Listing feature is not enabled for this site. + ErrorCode: 8110 + DOMAIN_RESTRICTION_CONFIG_NOT_FOUND: + value: + Message: Domain access restriction configuration not found. + Description: Domain access restriction configuration is not configured or the resource does not exist. + ErrorCode: 8111 + SAME_DOMAIN_OR_EMAIL_CANNOT_EXIST_IN_BOTH_LIST: + summary: SAME_DOMAIN_OR_EMAIL_CANNOT_EXIST_IN_BOTH_LIST + value: + ErrorCode: 8190 + Message: Same domain or email cannot exist in both list. + Description: Same domain or email cannot exist in both list. Please add it to the appropriate list. + EMAIL_TEMPLATE_NOT_CREATED: + value: + ErrorCode: 7922 + Message: Email template is not configured. + Description: You have not added any email templates for this site, Please add at least one email template. + PARAMETER_NOT_WELL_FORMATTED_ALPHANUMERIC: + value: + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + Description: The value of '%s' property should be a valid alphanumeric format. + PARAMETER_NOT_WELL_FORMATTED_EMAIL: + value: + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + Description: The value of '%s' property should be a valid email format. + INVALID_FROM_EMAIL_OR_NAME: + value: + ErrorCode: 8099 + Message: Invalid email templates configuration + Description: '''FromName'' and ''FromEmail'' must be both valid or both empty.' + INVALID_EMAIL_TYPE: + value: + ErrorCode: 8099 + Message: Invalid email templates configuration + Description: The email type is invalid. Please provide a valid email type. + INVALID_EMAIL_TEMPLATES_INVALID_EMAIL_TYPE: + summary: INVALID_EMAIL_TEMPLATES_INVALID_EMAIL_TYPE + value: + ErrorCode: 8099 + Message: Invalid email templates configuration + Description: The verification token type can't be updated for this email type. Please provide a valid email type. + INVALID_EMAIL_TEMPLATES_INVALID_TOKEN_TYPE: + summary: INVALID_EMAIL_TEMPLATES_INVALID_TOKEN_TYPE + value: + ErrorCode: 8099 + Message: Invalid email templates configuration + Description: The email verification token type is invalid. Please provide a valid email verification token type. + EMAIL_TEMPLATE_EXISTS: + value: + ErrorCode: 7930 + Message: Email template already exist. + Description: The email template is already exist, Please use a different or unique name for the new email template. + EMAIL_TEMPLATE_NOT_EXISTS: + value: + ErrorCode: 7923 + Message: Email template does not exist + Description: The email template does not exist, Please use a valid email template. + DEFAULT_EMAIL_TEMPLATE_CANNOT_BE_DELETED: + value: + Message: Default email template cannot be deleted + Description: The default email template cannot be deleted. Please set another template as default before deleting this one. + ErrorCode: 8258 + PROVIDER_NOT_CONFIGURED_PARTNER: + summary: PROVIDER_NOT_CONFIGURED_PARTNER + value: + Message: Provider not configured + Description: Provider not configured, Please provide valid provider name. + ErrorCode: 8147 + PROVIDER_NOT_ACTIVE: + value: + Message: Provider is not active + Description: Provider is not active, Please provide valid provider name. + ErrorCode: 8041 + PROVIDER_IS_NOT_SUPPORT_CONFIGURATION_SETTINGS: + value: + Message: Your selected configuration setting is not supported by the ID provider + Description: This provider does not support your current configuration settings, Please change the provider configuration. + ErrorCode: 7910 + PROVIDER_IS_NOT_VALID: + value: + Message: Provider name is invalid + Description: The provider name used in the request is incorrect or does not exist, Please use a valid provider name + ErrorCode: 7911 + ATLEAST_ONE_MFA: + value: + ErrorCode: 8020 + Message: At least one MFA method must be enabled. + Description: At least one MFA method must be enabled. Enable another MFA option before disabling this one + DUO_AUTH_NOT_ENABLED_PARTNER: + summary: DUO_AUTH_NOT_ENABLED_PARTNER + value: + ErrorCode: 8072 + Message: Site is not configured for Duo Security Authenticator MFA. + Description: Request couldn't be processed,Duo Security Authenticator MFA feature is not enabled for this site. + GOOGLE_AUTHENTICATOR_CONFIG_NOT_FOUND: + value: + ErrorCode: 7952 + Message: Google Authenticator settings not found or does not exist + Description: There is no google authenticator settings/configuration available. + DUO_AUTH_SETTINGS_NOT_FOUND: + value: + ErrorCode: 8073 + Message: Duo Security Authenticator settings not found or does not exist + Description: There is no Duo Security Authenticator settings/configuration available. + PARAMETER_NOT_WELL_FORMATTED_INVALID: + value: + ErrorCode: 7900 + Message: A parameter is not formatted correctly. + Description: The value of '%s' property is invalid. + CAPTCHA_CONFIG_VALUE_NOT_VALID: + value: + Message: Captcha config is invalid + Description: One or more captcha configuration value is missing (key, secret or threshold). Please provide all the necessary captcha fields. + ErrorCode: 8021 + CAPTCHA_THRESHOLD_INVALID: + value: + Message: Captcha config is invalid + Description: Threshold value must be between 0 and 1. Please provide a valid threshold and try again. + ErrorCode: 8021 + IP_AUTHORIZATION_DISABLED: + value: + ErrorCode: 7973 + Message: Site is not configured for IP Restrictions. + Description: Request couldn't be processed,IP Restrictions feature is not enabled for this site. + SPECIAL_CHARACTERS_NOT_ALLOWED: + value: + ErrorCode: 8019 + Message: Only hyphen (-) is allowed between the start IP and end IP + Description: Only hyphen (-) is allowed between the start IP and end IP. Please try again. + INVALID_IP_ADDRESS: + value: + ErrorCode: 8018 + Message: Invalid IP configuration + Description: Request couldn't be processed, IP address is invalid or not well formatted. + SAME_START_AND_END: + value: + ErrorCode: 7975 + Message: Start IP and End IP cannot be the same + Description: Start IP and End IP cannot be the same. Please try again. + INVALID_IP_ADDRESS_RANGE: + value: + ErrorCode: 8018 + Message: Invalid IP configuration + Description: Start IP should be lower than the end IP and both IP addresses must be valid. Ensure that the provided range is valid. + JWT_CONFIG_NOT_FOUND: + value: + Description: JWT configuration not found or the resource does not exist. + ErrorCode: 7958 + Message: JWT configuration not found + SSO_APPNAME_REQUIRED: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The AppName is required. Please use a valid AppName. + SSO_APPNAME_LENGTH_EXCEEDED: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The AppName length exceeded the maximum limit of 60 characters. Please enter a valid AppName. + SSO_APPNAME_INVALID: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The AppName provided is invalid. It must contain only alphanumeric characters, hyphens (-), and underscores (_), and must not start or end with a hyphen or underscore. Please use a valid AppName. + JWT_ALOGITHM_REQUIRED: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The Algo is required. Please use a valid Algo. + JWT_ALOGRITHM_INVALID: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The Algo provided is invalid. Please use a valid Algo. + JWT_RESPONSE_MODE_INVALID: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The ResponseMode provided is invalid. Please use a valid ResponseMode. + JWT_QUERY_STRING_PARAMETER_INVALID: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The QueryStringParameter provided is invalid. It must contain only alphanumeric characters, hyphens (-), and underscores (_),Please enter a valid QueryStringParameter. + JWT_LOGIN_URL_INVALID: + value: + Message: Jwt configuration not valid + Description: The LoginUrl provided is invalid. Please use a valid LoginUrl. + ErrorCode: 8087 + JWT_EXPIRY_TIME_INVALID: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The NotAfterDifference provided is invalid. Please use a valid NotAfterDifference. + JWT_NOT_BEFORE_INVALID: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The NotBeforeDifference provided is invalid. Please use a valid NotBeforeDifference. + JWT_NOT_BEFORE_LESS_THAN_EXPIRY: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The NotBeforeDifference must be less than NotAfterDifference. Please use a valid NotBeforeDifference. + JWT_SECRET_REQUIRED: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The Secret is required. Please use a valid Secret. + JWT_SECRET_INVALID: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The Secret is not compatible with the %s Algo. Please use a valid Secret. + JWT_MAPPING_REQUIRED: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The Mapping is required. Please use a valid Mapping. + JWT_MAPPING_INVALID: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The Mapping provided is invalid. Please use a valid Mapping. + JWT_CONFIG_ALREADY_EXIST: + value: + Description: Request couldn't be processed due duplicated app name of JWT configuration, Please use a unique name in order to process this request. + ErrorCode: 7960 + Message: A JWT config already exist + SAML_CONFIG_NOT_FOUND: + value: + Description: Security Assertion Markup Language (SAML) configuration is not configured or the resource does not exist. + ErrorCode: 7938 + Message: SAML configuration not found + SSO_APPNAME_REQUIRED_SAML: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The AppName is required. Please use a valid AppName. + SSO_APPNAME_LENGTH_EXCEEDED_SAML: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The AppName length exceeded the maximum limit of 60 characters. Please enter a valid AppName. + SSO_APPNAME_INVALID_SAML: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The AppName provided is invalid. It must contain only alphanumeric characters, hyphens (-), and underscores (_), and must not start or end with a hyphen or underscore. Please use a valid AppName. + SAML_IDP_LOCATION_BINDING_REQUIRED: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The AssertionConsumerService Location and Binding is required. Please enter a valid AssertionConsumerService Location and Binding. + SAML_IDP_BINDING_INVALID: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The AssertionConsumerService Binding is invalid. Please enter a valid AssertionConsumerService Binding. + SAML_IDP_LOCATION_REQUIRED: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The AssertionConsumerService Location is required. Please enter a valid AssertionConsumerService Location. + SAML_IDP_LOCATION_INVALID: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The AssertionConsumerService Location is invalid. Please enter a valid AssertionConsumerService Location. + SAML_SP_LOGOUT_URI_REQUIRED_IDP: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The SpLogoutUrl is required. Please enter a valid SpLogoutURI. + SAML_SP_LOGOUT_INVALID_IDP: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The SpLogoutUrl is invalid. Please enter a valid SpLogoutUrl. + SAML_LOGIN_URI_REQUIRED: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The LoginUrl is required. Please enter a valid LoginURI. + SAML_LOGIN_URI_INVALID: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The LoginUrl is invalid. Please enter a valid LoginURI. + SAML_AFTER_LOGOUT_URI_REQUIRED: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The AfterLogoutUrl is required. Please enter a valid AfterLogoutURI. + SAML_AFTER_LOGOUT_URI_INVALID: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The AfterLogoutUrl is invalid. Please enter a valid AfterLogoutURI. + SAML_SP_CERTIFICATE_INVALID: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The SpCertificate is invalid. Please enter a valid SpCertificate. + SAML_SP_CERTIFICATE_REQUIRED: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The SpCertificate is required. Please enter a valid SpCertificate. + SAML_ATTRIBUTE_FORMAT_REQUIRED: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The Attribute Format is required. Please enter a valid AttributeFormat. + SAML_AUDIENCE_REQUIRED: + value: + ErrorCode: 8097 + Message: SAML IDP config is invalid + Description: The Audiences is required. Please enter a valid Audiences. + SAML_CONFIG_ALREADY_ADDED: + value: + Description: Security Assertion Markup Language (SAML) configuration for the provided ProviderName has already been added to your LoginRadius site. + ErrorCode: 7939 + Message: SAML configuration already exist + OAUTH_INTEGRATION_CONFIG_INVALID: + summary: OAUTH_INTEGRATION_CONFIG_INVALID + value: + ErrorCode: 8253 + Message: OAuth integration configuration is invalid + Description: The GrantTypes provided are not allowed. Only authorization_code and refresh_token are supported for OAuth integrations. + OAUTH_INTEGRATION_WORKFLOW_NOT_FOUND: + summary: OAUTH_INTEGRATION_WORKFLOW_NOT_FOUND + value: + ErrorCode: 8253 + Message: OAuth integration configuration is invalid + Description: The workflow you are requesting does not exist. Please enter the name of an existing workflow. + OAUTH_GRANT_TYPE_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The GrantTypes provided are invalid, Please enter a valid GrantType. + OAUTH_SCOPE_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The AllowedScopes provided are invalid, Please enter a valid scope. + OAUTH_INTEGRATION_CONFIG_NOT_FOUND: + summary: OAUTH_INTEGRATION_CONFIG_NOT_FOUND + value: + ErrorCode: 8254 + Message: OAuth integration configuration not found + Description: The OAuth integration configuration is not configured or the resource does not exist. + RAAS_UPDATE_FIELDS_INVALID: + value: + Message: Jwt configuration not valid + Description: The UpdateFields provided is invalid. Please enter a valid UpdateFields. + ErrorCode: 8087 + SSO_MAPPING_INVALID_JWT_SP: + value: + Message: Jwt configuration not valid + Description: The Mapping provided is invalid. Please enter a valid Mapping. + ErrorCode: 8087 + ID_MAPPING_REQUIRED: + value: + Message: Jwt configuration not valid + Description: The ID Mapping is required. Please enter a valid ID Mapping. + ErrorCode: 8087 + SSO_MAPPING_REQUIRED_JWT_SP: + value: + Message: Jwt configuration not valid + Description: The Mapping is required. Please enter a valid Mapping. + ErrorCode: 8087 + JWT_CLOCK_SKEW_INVALID: + value: + Message: Jwt configuration not valid + Description: The ClockSkew provided is invalid. Please enter a valid ClockSkew. + ErrorCode: 8087 + JWT_AUDIENCE_REQUIRED: + value: + Message: Jwt configuration not valid + Description: The Audience is required. Please enter a valid Audience. + ErrorCode: 8087 + JWT_ISSUER_REQUIRED: + value: + Message: Jwt configuration not valid + Description: The Issuer is required. Please enter a valid Issuer. + ErrorCode: 8087 + AUTO_LOOKUP_DOMAIN_INVALID: + value: + Message: Jwt configuration not valid + Description: The Domain provided is invalid. Please enter a valid email Domain. + ErrorCode: 8087 + DOMAIN_NAME_IS_REQUIRED_JWT_SP: + value: + Message: Jwt configuration not valid + Description: You have chosen EnableAutoLookUp as true. Please enter a valid domain name. + ErrorCode: 8087 + JWT_JWKSURL_INVALID: + value: + Message: Jwt configuration not valid + Description: The JWKSURL provided is invalid. Please enter a valid JWKSURL. + ErrorCode: 8087 + JWT_KEY_INVALID: + value: + Message: Jwt configuration not valid + Description: The Key provided is invalid. Please enter a valid Key. + ErrorCode: 8087 + JWT_LOGIN_URL_INVALID_JWT_SP: + value: + ErrorCode: 8087 + Message: Jwt configuration not valid + Description: The LoginUrl provided is invalid. Please use a valid LoginUrl. + JWT_ALGORITHM_REQUIRED: + value: + Message: Jwt configuration not valid + Description: The Algo is required. Please enter a valid Algo. + ErrorCode: 8087 + SSO_APPNAME_INVALID_JWT_SP: + value: + Message: Jwt configuration not valid + Description: The AppName provided is invalid. It must contain only alphanumeric characters, hyphens (-), and underscores (_), and must not start or end with a hyphen or underscore. Please use a valid AppName. + ErrorCode: 8087 + SSO_APPNAME_REQUIRED_JWT_SP: + value: + Message: Jwt configuration not valid + Description: The AppName is required. Please use a valid AppName. + ErrorCode: 8087 + SSO_APPNAME_LENGTH_EXCEEDED_JWT_SP: + value: + Message: Jwt configuration not valid + Description: The AppName length exceeded the maximum limit of 60 characters. Please enter a valid AppName. + ErrorCode: 8087 + MISSING_JWKSURL: + value: + Message: Jwt configuration not valid + Description: Atleast one of the Key or JWKS URL fields with a valid input is required for an ES or RS algorithm. + ErrorCode: 8087 + MISSING_JWT_KEY: + value: + Message: Jwt configuration not valid + Description: A valid JWT key is required in the `key` field for an HS algorithm. + ErrorCode: 8087 + DOMAIN_NAME_ALREADY_EXISTS: + value: + Message: Domain name already exists + Description: The entered domain name is already associated with a configuration. Please input a different domain name. + ErrorCode: 8038 + SAML_PROVIDR_NAME_INVALID: + value: + Message: SAML SP config is invalid + Description: The Provider is invalid. It must contain only alphanumeric characters, hyphens (-), and underscores (_), and cannot start or end with a hyphen or underscore. Please enter a valid Provider name. + ErrorCode: 8089 + SAML_PROVIDR_NAME_LENGTH_EXCEEDED: + value: + Message: SAML SP config is invalid + Description: The Provider name length exceeded the maximum limit of 60 characters. Please enter a valid Provider name. + ErrorCode: 8089 + SSO_FRIENDLY_PROVIDER_NAME_INVALID: + value: + Message: SAML SP config is invalid + Description: The FriendlyProviderName is invalid. Please enter a valid FriendlyProviderName with a maximum length of 60 characters. + ErrorCode: 8089 + SAML_IDP_CERTIFICATE_IS_REQUIRED: + value: + Message: SAML SP config is invalid + Description: The IdpCertificate is required. Please enter a valid IdpCertificate. + ErrorCode: 8089 + SAML_IDP_CERTIFICATE_INVALID: + value: + Message: SAML SP config is invalid + Description: The IdpCertificate is invalid. Please enter a valid IdpCertificate. + ErrorCode: 8089 + SSO_MAPPING_INVALID: + value: + Message: SAML SP config is invalid + Description: The Mapping provided is invalid. Please enter a valid Mapping. + ErrorCode: 8089 + SSO_MAPPING_REQUIRED: + value: + Message: SAML SP config is invalid + Description: The Mapping is required. Please enter a valid Mapping. + ErrorCode: 8089 + INVALID_DOMAIN_NAME_SP: + value: + Message: SAML SP config is invalid + Description: The provided domain name is invalid. Please enter a valid domain name. + ErrorCode: 8089 + DOMAIN_NAME_IS_REQUIRED_SP: + value: + Message: SAML SP config is invalid + Description: You have chosen EnableAutoLookUp as true. Please enter a valid domain name. + ErrorCode: 8089 + SAML_SP_LOGOUT_INVALID: + value: + Message: SAML SP config is invalid + Description: The IdentityProvider Logout is invalid. Please enter a valid IdentityProvider Logout. + ErrorCode: 8089 + SAML_SP_LOCATION_INVALID: + value: + Message: SAML SP config is invalid + Description: The IdentityProvider Location is invalid. Please enter a valid IdentityProvider Location. + ErrorCode: 8089 + SAML_SP_LOGOUT_REQUIRED: + value: + Message: SAML SP config is invalid + Description: The IdentityProvider Logout is required. Please enter a valid IdentityProvider Logout. + ErrorCode: 8089 + SAML_SP_LOCATION_REQUIRED: + value: + Message: SAML SP config is invalid + Description: The IdentityProvider Location is required. Please enter a valid IdentityProvider Location. + ErrorCode: 8089 + SAML_SP_BINDING_INVALID: + value: + Message: SAML SP config is invalid + Description: The IdentityProvider Binding is invalid. Please enter a valid IdentityProvider Binding. + ErrorCode: 8089 + SAML_SP_LOCATION_LOGOUT_BINDING_REQUIRED: + value: + Message: SAML SP config is invalid + Description: The IdentityProvider Location, Logout and Binding is required. Please enter a valid IdentityProvider Location, Logout and Binding. + ErrorCode: 8089 + SAML_PROVIDR_NAME_REQUIRED: + value: + Message: SAML SP config is invalid + Description: The Provider is required. Please enter a Provider name. + ErrorCode: 8089 + CUSTOM_FIELD_LIMIT_EXCEEDED: + value: + Message: Custom field limit exceeded + Description: The maximum number of custom fields allowed is 15. Please remove some custom fields to add new ones. + ErrorCode: 8042 + CUSTOM_FIELD_NOT_FOUND: + value: + Message: Custom field does not exist + Description: The Custom field is not configured, Please configure the custom fields before proceeding. + ErrorCode: 7929 + INVALID_NAME: + summary: INVALID_NAME + value: + ErrorCode: 8108 + Message: Invalid name + Description: Invalid Name. It must be alphanumeric, hyphens (-), underscores (_), not start/end with hyphen/underscore, and max length 60. + CUSTOM_FIELD_ALLREADY_EXISTS: + value: + Message: Custom field is already created + Description: This custom field is already created for this site, Please use the existing field. + ErrorCode: 7919 + CUSTOMER_REGISTRATION_CUSTOM_DATA_NOT_EXISTS: + value: + Message: Custom data is not configured for this site + Description: The Custom data is not configured for this site, Please configure the custom data. + ErrorCode: 7928 + SSO_APPNAME_REQUIRED_OAUTH: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The AppName is required. Please use a valid AppName. + SSO_APPNAME_LENGTH_EXCEEDED_OAUTH: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The AppName length exceeded the maximum limit of 60 characters. Please enter a valid AppName. + SSO_APPNAME_INVALID_OAUTH: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The AppName provided is invalid. It must contain only alphanumeric characters, hyphens (-), and underscores (_), and must not start or end with a hyphen or underscore. Please use a valid AppName. + OAUTH_AUDIENCE_SCOPES_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The AudienceScopes provided is invalid, Please enter a valid AudienceScopes. + OAUTH_CLIENT_TYPE_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The ClientType provided is invalid. Please enter a valid ClientType (public or confidential). + OAUTH_DESCRIPTION_LENGTH_EXCEEDED: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The Description length exceeded the maximum limit of 255 characters. Please enter a valid Description. + OAUTH_TOKEN_AUTH_METHOD_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The TokenAuthMethod provided is invalid, Please enter a valid TokenAuthMethod. + OAUTH_GTY_CLIENT_CRED_NOT_ALLOWED_WITH_NONE: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The Client Credentials Grant Types is not allowed with none Token Authentication Type. + OAUTH_GTY_TOKEN_EXCH_NOT_ALLOWED_WITH_NONE: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The Token Exchange Grant Types is not allowed with none Token Authentication Type. + OAUTH_JWTCONFIG_TOKEN_TTL_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The JwtTokenConfig IdTokenTTL provided is invalid, Please enter a valid JwtTokenConfig IdTokenTTL. + OAUTH_REFRESH_TOKEN_TTL_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The RefreshTokenTTL provided is invalid, Please enter a valid RefreshTokenTTL + OAUTH_REFRESH_TOKEN_TTL_MUST_GT_TOKEN_TTL: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The RefreshTokenTTL provided must be greater than JwtTokenConfig TokenTTL, if JwtTokenConfig TokenTTL not provided then RefreshTokenTTL must be greater than 3600. + OAUTH_LOGIN_REDIRECT_URL_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The LoginRedirectURL provided is invalid, Please enter a valid LoginRedirectURL + OAUTH_CORS_ORIGIN_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The AllowedCorsOrigin provided is invalid, Please enter a valid AllowedCorsOrigin URLs + OAUTH_DEVICE_CODE_BOTH_VERIFICATION_URL_REQUIRED: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The DeviceCodeConfig VerificationURL and AfterVerificationURL are required. + OAUTH_DEVICE_CODE_VERIFICATION_URL_REQUIRED: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The DeviceCodeConfig VerificationURL is required. + OAUTH_DEVICE_CODE_AFTER_VERIFICATION_URL_REQUIRED: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The DeviceCodeConfig AfterVerificationURL is required. + OAUTH_DEVICE_CODE_EXPIRE_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The DeviceCodeExpire provided is invalid, Please enter a valid DeviceCodeExpire + OAUTH_DEVICE_CODE_POLLING_INTERVAL_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The PollingInterval provided is invalid, Please enter a valid PollingInterval + OAUTH_DEVICE_CODE_USER_CHAR_SET_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The DeviceCodeConfig UserCodeCharacterSet provided is invalid, Please enter a valid UserCodeCharacterSet + OAUTH_DEVICE_CODE_USER_CODE_MASK_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The DeviceCodeConfig UserCodeMask provided is invalid, Please enter a valid UserCodeMask + OAUTH_DEVICE_CODE_VERIFICATION_URL_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The DeviceCodeConfig VerificationURL provided is invalid, Please enter a valid VerificationURL + OAUTH_DEVICE_CODE_AFTER_VERIFICATION_URL_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The DeviceCodeConfig AfterVerificationURL provided is invalid, Please enter a valid AfterVerificationURL + OAUTH_LOGOUT_REDIRECT_URL_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The LogoutRedirectURL provided is invalid, Please enter a valid LogoutRedirectURL + OAUTH_CIBA_TOKEN_TTL_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The BackChannelLogout LogoutTokenTTL provided is invalid, Please enter a valid LogoutTokenTTL. + OAUTH_CIBA_LOGOUT_URI_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The BackChannelLogout LogoutURI provided is invalid, Please enter a valid BackChannelLogout LogoutURI + OAUTH_CIBA_LOGOUT_URI_REQUIRED: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The BackChannelLogout LogoutURI is required. + OAUTH_SECRET_FORMAT_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The Secret provided is not formatted or invalid, Please enter a valid Secret. + OAUTH_REFRESH_TOKEN_ROTATION_OVERLAP_INVALID: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The RefreshTokenRotation ReuseInterval provided is invalid. Please enter a value between 0 and 60. + WORKFLOW_NOT_FOUND: + summary: WORKFLOW_NOT_FOUND + value: + ErrorCode: 1399 + Message: Workflow not found + Description: The workflow you are requesting does not exist. Please enter the name of an existing workflow. + OAUTH_CONFIG_ALREADY_EXIST: + value: + Description: OAuth configuration already exist for this site, Please use a unique name in order to process this request. + ErrorCode: 7982 + Message: A OAuth config already exist + OAUTH_CONFIG_NOT_FOUND: + value: + Description: OAuth configuration not found or the resource does not exist. + ErrorCode: 7981 + Message: OAuth configuration not found + OAUTH_PASSWORD_LESS_LOGIN_FEATURE_DISABLED: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The PasswordLessLogin feature is disabled, Please enable the PasswordLessLogin feature to update Connections PasswordLessLogin. + OAUTH_PASSWORD_LESS_EMAIL_LOGIN_DISABLED: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The Email PasswordLessLogin cannot be enabled because Passwordless Email login is disabled for the tenant. Please enable Passwordless Email login first. + OAUTH_PASSWORD_LESS_SMS_LOGIN_DISABLED: + value: + ErrorCode: 8088 + Message: OAuth configuration not valid + Description: The SMS PasswordLessLogin cannot be enabled because Passwordless Phone (SMS) login is disabled for the tenant. Please enable Passwordless Phone login first. + OAUTH_CONFIG_CREDENTIALS_RESET_FAILED: + value: + Description: Global client is enabled for the oauth config. Please disable the global client first. + ErrorCode: 8014 + Message: Oauth config client credentials reset failed. + ERROR_UNMARSHALLING_DATA: + value: + Message: Error unmarshalling data + Description: Error unmarshalling data, Please provide valid data. + ErrorCode: 8081 + CUSTOM_OAUTH_CONFIG_NOT_FOUND: + value: + Message: Custom OAuth configuration not found + Description: Custom OAuth provider is not configured or the resource does not exist. + ErrorCode: 7936 + INVALID_DOMAIN_NAME: + value: + Message: Invalid custom provider config + Description: The provided domain name is invalid. Please enter a valid domain name. + ErrorCode: 8007 + DOMAIN_NAME_IS_REQUIRED: + value: + Message: Invalid domain name + Description: You have chosen EnableAutoLookUp as true. Please enter a valid domain name. + ErrorCode: 8039 + CUSTOM_OAUTH_PROVIDER_ALREADY_ADDED: + value: + Message: Custom OAuth provider already exist + Description: A custom OAuth provider is already configured on your site. + ErrorCode: 7937 + ERROR_RAAS_CONFIG_EMPTY: + value: + Message: Raas config is empty + Description: Raas config is empty, Please provide valid data. + ErrorCode: 8083 + INVALID_EXPIRATION_FREQUENCY_TYPE: + value: + Message: Invalid password policy configuration + Description: Invalid expiration frequency type, Please provide valid type. + ErrorCode: 7983 + INVALID_EXPIRATION_FREQUENCY: + value: + Message: Invalid password policy configuration + Description: Invalid expiration frequency, Please provide valid frequency. + ErrorCode: 7983 + INVALID_MAX_PASSWORD_HISTORY: + value: + Message: Invalid password policy configuration + Description: The maximum password history value is invalid. Please provide a valid value between 1 and 100. + ErrorCode: 7983 + CUSTOMER_REGISTRATION_CONFIG_NOT_FOUND: + value: + Message: User registration configuration not found + Description: The user registration configuration does not exist for this site. Please setup the configuration for user registration. + ErrorCode: 7933 + ApiKeySecretMissing: + summary: ApiKeySecretMissing + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly in the request, please check all the parameters in the API call. + Description: The apikey is a required parameter,The apisecret is a required parameter. + ApiKeyMissing: + summary: ApiKeyMissing + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly in the request, please check all the parameters in the API call. + Description: The apikey is a required parameter. + ApiSecretMissing: + summary: ApiSecretMissing + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly in the request, please check all the parameters in the API call. + Description: The apisecret is a required parameter. + ApiKeyInvalid: + summary: ApiKeyInvalid + value: + ErrorCode: 920 + Message: API key is invalid + Description: The provided LoginRadius API key is invalid, please use a valid API key of your LoginRadius account. + ApiSecretInvalid: + summary: ApiSecretInvalid + value: + ErrorCode: 921 + Message: API secret is invalid + Description: The provided LoginRadius API secret is invalid, please use a valid API secret of your LoginRadius account. + NextParamInvalid: + summary: NextParamInvalid + value: + ErrorCode: 1042 + Message: Pass a valid next param + Description: The next param is either expired or invalid. Please start with a POST request again. + NextParamNotValid: + summary: NextParamNotValid + value: + ErrorCode: 1046 + Message: Pass a valid next param + Description: The next param is not valid. + AccessRestriction: + summary: AccessRestriction + value: + ErrorCode: 909 + Message: Your LoginRadius site does not have permission to access this endpoint + Description: Your LoginRadius site does not have permission to access this endpoint, please contact LoginRadius support for more information. + NextParamMissing: + summary: NextParamMissing + value: + ErrorCode: 1043 + Message: Pass a valid next param + Description: The next param is missing. Please start with a POST request to get next value. + ApiKeyUnauthorized: + summary: ApiKeyUnauthorized + value: + ErrorCode: 901 + Message: The API key is unauthorized + Description: The provided LoginRadius API key is invalid or is not authorized, please use a valid or authorized LoginRadius API key or check the API key for your LoginRadius account. + ApiSecretUnauthorized: + summary: ApiSecretUnauthorized + value: + ErrorCode: 902 + Message: The API Secret is unauthorized + Description: The provided LoginRadius API secret is invalid or is not authorized, please use a valid LoginRadius API secret or check the API secret for your LoginRadius account. + PostBodyInvalid: + summary: PostBodyInvalid + value: + ErrorCode: 965 + Message: The post body is invalid. + Description: Please use a valid post body and make sure that it is in a valid JSON format. + ParameterBadFormat: + summary: ParameterBadFormat + value: + ErrorCode: 908 + Message: A parameter is not formatted correctly in the request, please check all the parameters in the API call. + Description: Verify that the datatypes for all of the parameters and parameters are correct when making the API call. + DateRangeMissing: + summary: DateRangeMissing + value: + ErrorCode: 928 + Message: The date range is missing + Description: From & To dates are required parameters. please pass correct From & To dates. + DateRangeFromInvalidFormat: + summary: DateRangeFromInvalidFormat + value: + ErrorCode: 925 + Message: The date range has an invalid format + Description: The From date has an invalid format, please use a valid ISO_8601 date format. + DateRangeToInvalidFormat: + summary: DateRangeToInvalidFormat + value: + ErrorCode: 926 + Message: The date range has an invalid format + Description: The To date has an invalid format, please use a valid ISO_8601 date format. + DateRangeInvalid: + summary: DateRangeInvalid + value: + ErrorCode: 927 + Message: The date range is invalid + Description: The From data is greater than or equal to the To date, please pass correct From & To dates. + QueryFormatInvalid: + summary: QueryFormatInvalid + value: + ErrorCode: 919 + Message: The query format is not valid + Description: The format of the query is not valid, query should be an object. + QueryInvalid: + summary: QueryInvalid + value: + ErrorCode: 918 + Message: The query is invalid + Description: The query is not correct, please review the query and send the correct parameters. + CustomObjectNameInvalid: + summary: CustomObjectNameInvalid + value: + ErrorCode: 1064 + Message: Custom object name is invalid + Description: The custom object name used in this request is incorrect or does not exist. + CustomObjectNotAvailable: + summary: CustomObjectNotAvailable + value: + ErrorCode: 1064 + Message: Custom objects are not available + Description: The custom objects are not available for this App. Please contact LoginRadius support for more information + CustomObjectNameMissing: + summary: CustomObjectNameMissing + value: + ErrorCode: 1036 + Message: The Custom Object name is required + Description: The Custom Object name is required, please pass a Custom Object name. + CustomObjectSchemaNotSet: + summary: CustomObjectSchemaNotSet + value: + ErrorCode: 1003 + Message: Schema is not set for the passed Custom Object + Description: The Custom Object schema is not set in dashboard. Schema should be set to query Custom Object. Please contact LoginRadius Support. + DANGEROUS_REQUEST_SSO: + value: + Description: A potentially dangerous request value was detected. + ErrorCode: 1214 + Message: Dangerous request + EMAIL_PAYLOAD_REQUIRED: + value: + Description: The email is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + EMAILID_ID_FORMAT_NOT_VALID_SSO: + value: + Description: The provided email ID is invalid or not well-formatted, a valid email ID is required in order to process this request. + ErrorCode: 1038 + Message: Valid email ID is required + INVALID_HOST: + value: + Description: Your request is coming from an invalid host and this host is not configured on LoginRadius.
Please follow these instructions to get the social login working on your website. + ErrorCode: 1309 + Message: Invalid Requested Host + INVALID_PHONE_NUMBER_SSO: + value: + Description: The provided phone number is not valid or not well-formatted, please review the phone number in order to process this request. + ErrorCode: 1096 + Message: Invalid phone number. + INVALID_POST_BODY: + value: + Description: Please use a valid post body and make sure that it is in a valid JSON format + ErrorCode: 2007 + Message: invalid_request + JWT_APP_NAME_REQUIRED: + value: + Description: The JwtApp is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + JWT_APP_NOT_MATCHED: + value: + Description: The jwtapp query parameter did not match the value in the request path. + ErrorCode: 908 + Message: A parameter is not formatted correctly + PASSWORD_EMAIL_PAYLOAD_REQUIRED: + value: + Description: The password is a required parameter, The email is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + PASSWORD_PAYLOAD_REQUIRED: + value: + Description: The password is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + PASSWORD_PHONE_PAYLOAD_REQUIRED: + value: + Description: The password is a required parameter, The phone is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + PASSWORD_USERNAME_PAYLOAD_REQUIRED: + value: + Description: The password is a required parameter, The username is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + PHONE_OR_EMAIL_OR_USER_REQUIRED_PARAM_SSO: + value: + Description: The email/username/phone is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + PHONE_PAYLOAD_REQUIRED_SSO: + value: + Description: The phone is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + POST_BODY_INVALID_SSO: + value: + Description: Please use a valid post body and make sure that it is in a valid JSON format. + ErrorCode: 965 + Message: The post body is invalid + USERNAME_PAYLOAD_REQUIRED: + value: + Description: The username is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + JWT_CONFIG_NOT_FOUND_SSO: + value: + Description: The JWT configuration not found or the resource does not exist. + ErrorCode: 1180 + Message: JWT configuration not found. + JWT_CONFIG_NOT_VALID: + value: + Description: The JWT configuration is not valid, please check the JWT configuration for your LoginRadius account. + ErrorCode: 1189 + Message: JWT configuration not valid. + USERNAME_OR_PASSWORD_WRONG_SSO: + value: + Description: Please use a valid user ID and password combination. + ErrorCode: 966 + Message: Invalid user ID and/or password + GENERIC_AUTH_ERROR_SSO: + summary: GENERIC_AUTH_ERROR + value: + Description: The credentials provided could not be authenticated. + ErrorCode: 1409 + Message: Authentication failed + ACCOUNT_NOT_ALLOWED_TO_LOGIN_SSO: + value: + Description: The provided account is not allowed to login, please reach out to LoginRadius support for more information. + ErrorCode: 1220 + Message: Account is not allowed to login + ACTIVE_SESSIONS_EXCEEDED_SSO: + value: + Description: You have exceeded the maximum number of allowed active login sessions. Please log out of any other active session before attempting to log in again. If you need further assistance, contact support. + ErrorCode: 1338 + Message: Exceeded active login session limit + API_KEY_NOT_VALID_SSO: + value: + Description: The provided LoginRadius API key is invalid or is not authorized, please use a valid or authorized LoginRadius API key or check the API key for your LoginRadius account. + ErrorCode: 901 + Message: The API key is unauthorized + APP_DOESNT_HAVE_PERMISSION_TO_ACCESS_THIS_ENDPOINT_SSO: + value: + Description: Your LoginRadius site does not have permission to access this endpoint, please contact LoginRadius support for more information. + ErrorCode: 909 + Message: Your LoginRadius site does not have permission to access this endpoint + BREACHED_PASSWORD_LOGIN_SSO: + value: + Description: Your password is found in a data breach unrelated to this app/service. Please reset your password using the email we sent you. + ErrorCode: 1316 + Message: Your password is exposed in an external data breach. + CAPTCHA_NOT_VALID_SSO: + value: + Description: CAPTCHA is invalid, please enter the correct CAPTCHA value. + ErrorCode: 982 + Message: CAPTCHA is invalid + CHANGE_BREACHED_PASSWORD: + value: + Description: Your password is exposed in an external data breach. As a caution, we’ve already sent you an email with steps to reset your password. Please try to login after resetting your password. + ErrorCode: 1317 + Message: Please reset your password via the email we sent you. + CONSENT_FORM_NOT_SUBMITTED_SSO: + value: + Description: Consent form not submitted, please accept the consent form. + ErrorCode: 1226 + Message: Consent form not submitted. + EMAIL_NOT_VERIFIED_SSO: + value: + Description: This email has not yet been verified, please click the link in your email to confirm your email address. + ErrorCode: 970 + Message: Email is not verified + EMAIl_OR_PHONE_NUMBER_REQUIRED_VERIFIED: + value: + Description: The email or phone number is not verified, please verify email or phone number for login. + ErrorCode: 1287 + Message: Email or phone number is not verified + LOGIN_DISABLED_SSO: + value: + Description: Login services have been disabled for your account, please contact the admin or site owner. + ErrorCode: 1130 + Message: Login services have been disabled for your account + LOGIN_IS_LOCKED_FOR_RECAPTCHA_SSO: + value: + Description: Your account has been locked, please login with a valid reCAPTCHA in order to continue. + ErrorCode: 1132 + Message: Your account has been locked + LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION_SSO: + value: + Description: Your account has been locked, please login with an answer to the security question in order to continue. + ErrorCode: 1148 + Message: Your account has been locked + LOGIN_WITH_PASSWORD_NOT_ENABLED_SSO: + value: + Description: Password-based login is disabled for your site. Please enable the Login with Password feature. + ErrorCode: 1286 + Message: You cannot log in with a password + OPERATION_FAILED_SSO: + value: + Description: An unknown error has occurred, please try again in a few minutes or contact your system admin. + ErrorCode: 950 + Message: Operation failed due to an unknown error + OTP_SEND_FAILED_SSO: + value: + Description: The Verification OTP Code sending failed, please try again. + ErrorCode: 1072 + Message: The Verification code (OTP) send failed + PHONE_NO_LOGIN_NOT_ENABLED_SSO: + value: + Description: Phone number login is not enabled on your site. + ErrorCode: 1074 + Message: Phone number login is not enabled + PHONE_NOT_VERIFIED_SSO: + value: + Description: The provided phone number is not verified, please use a verified phone number for login. + ErrorCode: 1066 + Message: Phone number is not verified + PIN_IS_REQUIRED_SSO: + value: + Description: The PIN is required and needs to be set, please set PIN in the profile for login. + ErrorCode: 1243 + Message: PIN is required + PRIVACY_POLICY_MISMATCHED_SSO: + value: + Description: You have not accepted the current Privacy Policy. + ErrorCode: 1194 + Message: Privacy Policy does not match + RBA_ACCOUNT_IS_BLOCKED: + value: + Description: Your account has been blocked by the system admin, please contact the admin for more information. + ErrorCode: 1164 + Message: Your account has been blocked due to suspicious activity + RBA_EMAIL_VERIFICATION: + value: + Description: We have identified a suspicious activity with your account, a verification code has been sent to your email to secure your account. + ErrorCode: 1166 + Message: A verification code has been sent to your email + RBA_SECURITY_ANSWER_VERIFICATION: + value: + Description: We have identified a suspicious activity with your account, please answer the security question's to secure your account. + ErrorCode: 1165 + Message: Please answer the security question's to secure your account + RBA_SMS_VERIFICATION: + value: + Description: We have identified a suspicious activity with your account, a verification code has been sent to your phone to secure your account. + ErrorCode: 1167 + Message: A verification code has been sent to you phone + SMS_CONFIGURATION_NOT_EXISTS_SSO: + value: + Description: The SMS configuration does not exist, please configure SMS settings. + ErrorCode: 1071 + Message: The SMS configuration does not exist + SMS_SEND_LIMIT_REACHED_SSO: + value: + Description: The account limit for SMS requests for this resource has been reached for this time due to too many request. + ErrorCode: 1123 + Message: You have reached a limit for sending SMS + TRIAL_PLAN_EXPIRED_SSO: + value: + Description: The trial plan has expired. To continue using the service, please contact support. + ErrorCode: 6003 + Message: Trial plan expired + USER_ID_BLOCKED_SSO: + value: + Description: Your account has been blocked by the system admin, please contact the admin for more information. + ErrorCode: 991 + Message: Your account is blocked + USER_ID_LOCKED_SSO: + value: + Description: Your account has been locked, please try again after sometime. + ErrorCode: 1198 + Message: Your account has been locked + USER_ID_LOCKED_WITH_TIMEOUT_SSO: + value: + Description: Your account has been locked, please try again after sometime. + ErrorCode: 1198 + Message: Your account has been locked + USER_NAME_AUTHENTICATION_ENABLED_SSO: + value: + Description: You can't login from email/phone, please use username for login. + ErrorCode: 1183 + Message: UserName authentication is enabled + USER_NOT_EXISTS_SSO: + value: + Description: The user's account does not exist, please use a valid user or create the user before processing this request. + ErrorCode: 938 + Message: User does not exist + INVALID_PROVIDER_IN_ORGANIZATION_SSO: + value: + Description: The specified provider is not valid or not configured for this organization. Please check your configuration. + ErrorCode: 1269 + Message: Invalid provider in organization + JWT_ACCESS_TOKEN_REQUIRED: + value: + Description: The access_token is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + OAUTH_TOKEN_CONFIG_NOT_FOUND_SSO: + value: + Description: Unable to retrieve token configuration for the specified app. + ErrorCode: 2017 + Message: Request is invalid + ORGANIZATION_NOT_FOUND_SSO: + value: + Description: The entered organization or its configuration does not exist. + ErrorCode: 1273 + Message: Organization not found + ACCESS_TOKEN_EXPIRED_SSO: + value: + Description: The LoginRadius access token has expired, please request a new token from LoginRadius API. + ErrorCode: 906 + Message: Access token has expired + ACCESS_TOKEN_NOT_VALID_SSO: + value: + Description: The LoginRadius access token is invalid, please use the correct or valid access token in order to process this request. + ErrorCode: 905 + Message: Access token is invalid + AGE_UNDERAGE_SSO: + value: + Description: You are not eligible for registration, your age must be above specified by admin of this site. + ErrorCode: 1163 + Message: You are not eligible for registration + EMAIL_DOMAIN_NOT_ALLOWED_IN_ORGANIZATION_SSO: + value: + Description: The email domain used is not allowed for this organization connection. Please use an valid domain. + ErrorCode: 2065 + Message: Email domain not allowed in organization connection + EMAIL_DOMAIN_NOT_ALLOWED_TO_REGISTER_SSO: + value: + Description: The provided Email id domain is not allowed to register, please reach out to LoginRadius support for more information. + ErrorCode: 1247 + Message: Email id domain is not allowed to register + EMAILID_ALREADY_REGISTERED_SSO: + value: + Description: The email address has to be unique for your LoginRadius site, please use a different email address. + ErrorCode: 936 + Message: Email address is already registered with your LoginRadius site + JWT_SP_TOKEN_INVALID_SSO: + value: + Description: JWT service provider token is invalid or expired, please use a valid token to process this request. + ErrorCode: 1283 + Message: Invalid or expired JWT token + ORGANIZATION_NOT_ACTIVE_SSO: + value: + Description: Organization is not active, Please provide valid organization id. + ErrorCode: 8180 + Message: Organization is not active + PHONE_NO_ALREADY_REGISTERED_SSO: + value: + Description: The phone number has to be unique for your LoginRadius site, please use a different phone number. + ErrorCode: 1058 + Message: Phone number is already registered with your LoginRadius site + PROVIDER_ID_MISSING_SSO: + value: + Description: provider ID is missing in social data. + ErrorCode: 1302 + Message: provider ID is missing in social data + PROVIDER_NOT_CONFIGURED_SSO: + value: + Description: This social provider has not been configured for the site. + ErrorCode: 1223 + Message: Social provider has not been configured for the site. + PROVIDER_NOT_SUPPORTED_SSO: + value: + Description: Oops, this ID Provider is not supported in your LoginRadius account. + ErrorCode: 1232 + Message: Provider is not supported. + PROVIDER_NOT_VALID_SSO: + value: + Description: The provider name or provider ID is invalid, please use a valid provider name or provider ID. + ErrorCode: 1065 + Message: Provider name or Provider Id is invalid + PROVIDER_SIDE_ERROR_SSO: + value: + Description: An error has occurred at the social identity provider’s end, please check the ‘providerErrorResponse’ for more details. + ErrorCode: 1000 + Message: An error has occurred at the social identity provider’s end. + ROLE_DOES_NOT_EXISTS_SSO: + value: + Description: The provided Role for the user does not exist, please use a valid Role in order to process this request. + ErrorCode: 1047 + Message: Role does not exist + SOMETHING_GOING_WRONG_SSO: + value: + Description: Oops, something went wrong, please try again. + ErrorCode: 2030 + Message: Oops, something went wrong, please try again. + THIS_EMAIL_ID_IS_NOT_ALLOWED_TO_REGISTER_SSO: + value: + Description: The provided Email is not allowed to register, please reach out to LoginRadius support for more information. + ErrorCode: 1056 + Message: Email is not allowed to register + TRIAL_PLAN_USER_LIMIT_REACHED_SSO: + value: + Description: The trial plan user creation limit has been reached. Upgrade your plan to add more users. + ErrorCode: 6004 + Message: User creation limit reached for the trial plan + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_SSO: + value: + Description: Please verify your email address first to log in with this social provider. + ErrorCode: 1026 + Message: Cannot login with this social provider as email address is not yet verified + UNVERIFIED_EXISTING_ACCOUNT_WITH_SAME_EMAIL_ID_IN_EMAIL_VERIFCATION_DISABLED_SSO: + value: + Description: please login with your existing account. If you’ve forgotten which provider you have previously registered under, please use the Forgot User ID or Social Provider link. + ErrorCode: 1033 + Message: Cannot login with this social provider as the same email address is already being used with another account + CLIENT_ID_REQUIRED: + value: + error: invalid_request + error_description: The client_id is a required parameter. + CONTENT_TYPE_NOT_SUPPORTED: + value: + error: This content type header is not supported + error_description: Please use a valid content type header as application/json. + OAUTH_APP_RESTRICTED: + value: + error: invalid_request + error_description: Your LoginRadius site does not have permission to access this endpoint, please contact LoginRadius support for more information. + OAUTH_DANGEROUS_REQUEST: + value: + error: Dangerous request + error_description: A potentially dangerous request value was detected. + OAUTH_HOST_NOT_WHITELISTED: + value: + error: invalid_request + error_description: Your request is coming from an invalid host and this host is not configured on LoginRadius.
Please follow these instructions to get the social login working on your website. + OAUTH_POST_BODY_INVALID: + value: + error: invalid_request + error_description: Please use a valid post body and make sure that it is in a valid JSON format + OAUTH_TRIAL_PLAN_EXPIRED: + value: + error: invalid_request + error_description: The trial plan has expired. To continue using the service, please contact support. + SCOPE_INVALID: + value: + error: invalid_request + error_description: The scope parameter contained an invalid value, check your scope again. + CLIENT_ID_INVALID: + value: + error: invalid_client + error_description: The client_id is not valid, check your client_id again. + OAUTH_CONF_NOT_EXIST: + value: + error: unauthorized_client + error_description: The configuration not found. + TOKEN_CONF_INVALID: + value: + error: unauthorized_client + error_description: The Token configuration is not valid. + TOKEN_CONF_NOT_EXIST: + value: + error: unauthorized_client + error_description: The Token configuration not found. + CLIENT_SECRET_BASIC_REQUIRED: + value: + error: invalid_request + error_description: The client_secret is required to be part of an authorization header. + CLIENT_SECRET_POST_REQUIRED: + value: + error: invalid_request + error_description: The client_secret is required to be in your request body. + CLIENT_SECRET_REQUIRED: + value: + error: invalid_request + error_description: The client_secret is a required parameter. + TOKEN_REQUIRED_SSO: + value: + error: invalid_request + error_description: The token is a required parameter. + CLIENT_SECRET_INVALID: + value: + error: unauthorized_client + error_description: The client_secret is not valid, check your client_secret again. + REFRESH_TOKEN_INVALID_SSO: + value: + error: invalid_grant + error_description: The refresh_token is not valid. + ACCESS_TOKEN_INVALID_SSO: + value: + error: invalid_grant + error_description: The access_token is not valid. + ACCESS_TOKEN_INVALID_OR_EXPIRED_SSO: + value: + error: invalid_request + error_description: The access_token is invalid or expired. + CODE_EXPIRED: + value: + error: invalid_grant + error_description: The code has been expired. + CODE_INVALID: + value: + error: invalid_grant + error_description: The code is not valid. + CODE_INVALID_OR_EXPIRED: + value: + error: invalid_request + error_description: The code is invalid or expired. + CODE_IS_ALREADY_USED: + value: + error: invalid_grant + error_description: The code is already used. + CODE_REQUIRED: + value: + error: invalid_request + error_description: The code is a required parameter. + CODE_VERIFIER_INVALID: + value: + error: invalid_grant + error_description: The Code Verifier is invalid. + CODE_VERIFIER_REQUIRED: + value: + error: invalid_request + error_description: The Code Verifier is required. + DEVICE_AUTHORIZATION_PENDING: + value: + error: authorization_pending + error_description: The authorization is pending + DEVICE_CODE_INVALID: + value: + error: invalid_request + error_description: The device_code is invalid or expired. + DEVICE_CODE_REQUIRED: + value: + error: invalid_request + error_description: The device_code is a required parameter. + DEVICE_SLOW_DOWN: + value: + error: slow_down + error_description: Slow down the request polling + GRANT_TYPE_INVALID: + value: + error: unsupported_grant_type + error_description: The grant_type is not valid, check grant_type parameter again. + GRANT_TYPE_REQUIRED: + value: + error: invalid_request + error_description: The grant_type is a required parameter. + OAUTH_ACCESS_DENIED: + value: + error: invalid_request + error_description: Access denied. The specified grant_type has not been allowed. + OAUTH_ACCESS_TOKEN_EXPIRED: + value: + error: invalid_grant + error_description: The access_token has been expired. + OAUTH_ACCOUNT_NOT_ALLOWED_TO_LOGIN: + value: + error: invalid_grant + error_description: The provided account is not allowed to login, please reach out to LoginRadius support for more information. + OAUTH_ACTIVE_SESSIONS_EXCEEDED: + value: + error: invalid_grant + error_description: You have exceeded the maximum number of allowed active login sessions. Please log out of any other active session before attempting to log in again. If you need further assistance, contact support. + OAUTH_APP_NOT_EXISTS: + value: + error: invalid_grant + error_description: The provided site does not exist, please use a valid LoginRadius site in order to process this request. + OAUTH_BREACHED_PASSWORD_LOGIN: + value: + error: invalid_grant + error_description: Your password is found in a data breach unrelated to this app/service. Please reset your password using the email we sent you. + OAUTH_CAPTCHA_NOT_VALID: + value: + error: invalid_grant + error_description: CAPTCHA is invalid, please enter the correct CAPTCHA value. + OAUTH_CHANGE_BREACHED_PASSWORD: + value: + error: invalid_grant + error_description: Your password is exposed in an external data breach. As a caution, we’ve already sent you an email with steps to reset your password. Please try to login after resetting your password. + OAUTH_CONSENT_FORM_NOT_SUBMITTED: + value: + error: invalid_grant + error_description: Consent form not submitted, please accept the consent form. + OAUTH_CONSENT_FORM_VALIDATION_FAILED: + value: + error: invalid_grant + error_description: Consent form validation failed. + OAUTH_EMAIL_NOT_VERIFIED: + value: + error: invalid_grant + error_description: This email has not yet been verified, please click the link in your email to confirm your email address. + OAUTH_EMAIL_SEND_LIMIT_REACHED: + value: + error: invalid_grant + error_description: The account limit for email requests for this resource has been reached for this time due to too many request. + OAUTH_EMAILID_ID_FORMAT_NOT_VALID: + value: + error: invalid_grant + error_description: The provided email ID is invalid or not well-formatted, a valid email ID is required in order to process this request. + OAUTH_EMAIl_OR_PHONE_NUMBER_REQUIRED_VERIFIED: + value: + error: invalid_grant + error_description: The email or phone number is not verified, please verify email or phone number for login. + OAUTH_INVALID_PHONE_NUMBER: + value: + error: invalid_grant + error_description: The provided phone number is not valid or not well-formatted, please review the phone number in order to process this request. + OAUTH_LOGIN_DISABLED: + value: + error: invalid_grant + error_description: Login services have been disabled for your account, please contact the admin or site owner. + OAUTH_LOGIN_IS_LOCKED_FOR_RECAPTCHA: + value: + error: invalid_grant + error_description: Your account has been locked, please login with a valid reCAPTCHA in order to continue. + OAUTH_LOGIN_IS_LOCKED_FOR_SECURITY_QUESTION: + value: + error: invalid_grant + error_description: Your account has been locked, please login with an answer to the security question in order to continue. + OAUTH_LOGIN_WITH_PASSWORD_NOT_ENABLED: + value: + error: invalid_grant + error_description: Password-based login is disabled for your site. Please enable the Login with Password feature. + OAUTH_OPERATION_FAILED: + value: + error: invalid_grant + error_description: An unknown error has occurred, please try again in a few minutes or contact your system admin. + OAUTH_OTP_SEND_FAILED: + value: + error: invalid_grant + error_description: The Verification OTP Code sending failed, please try again. + OAUTH_PHONE_NO_LOGIN_NOT_ENABLED: + value: + error: invalid_grant + error_description: Phone number login is not enabled on your site. + OAUTH_PHONE_NOT_VERIFIED: + value: + error: invalid_grant + error_description: The provided phone number is not verified, please use a verified phone number for login. + OAUTH_PIN_IS_REQUIRED: + value: + error: invalid_grant + error_description: The PIN is required and needs to be set, please set PIN in the profile for login. + OAUTH_PRIVACY_POLICY_MISMATCHED: + value: + error: invalid_grant + error_description: You have not accepted the current Privacy Policy. + OAUTH_RBA_ACCOUNT_IS_BLOCKED: + value: + error: invalid_grant + error_description: Your account has been blocked by the system admin, please contact the admin for more information. + OAUTH_RBA_EMAIL_VERIFICATION: + value: + error: invalid_grant + error_description: We have identified a suspicious activity with your account, a verification code has been sent to your email to secure your account. + OAUTH_RBA_SECURITY_ANSWER_VERIFICATION: + value: + error: invalid_grant + error_description: We have identified a suspicious activity with your account, please answer the security question's to secure your account. + OAUTH_RBA_SMS_VERIFICATION: + value: + error: invalid_grant + error_description: We have identified a suspicious activity with your account, a verification code has been sent to your phone to secure your account. + OAUTH_REFRESH_TOKEN_ALREADY_USED: + value: + error: invalid_grant + error_description: The refresh_token has already been used. + OAUTH_REFRESH_TOKEN_EXPIRED: + value: + error: invalid_grant + error_description: The refresh_token has expired. + OAUTH_REFRESH_TOKEN_FORMAT_INVALID: + value: + error: invalid_grant + error_description: The refresh_token format is invalid. + OAUTH_REFRESH_TOKEN_FROM_DIFF_CLIENT: + value: + error: invalid_grant + error_description: The refresh_token was not issued for this client. + OAUTH_REFRESH_TOKEN_INVALID_OR_REVOKED: + value: + error: invalid_grant + error_description: The refresh_token is invalid or has been revoked. + OAUTH_REFRESH_TOKEN_MAX_ACTIVE_SESSION_EXCEED: + value: + error: invalid_grant + error_description: The active session exceeded the maximum number of sessions. + OAUTH_REFRESH_TOKEN_REVOKED_ACCOUNT_SECURITY_CHANGE: + value: + error: invalid_grant + error_description: The refresh_token has been revoked following a recent password reset or security update to your account. + OAUTH_REFRESH_TOKEN_SOMETHING_GOING_WRONG: + value: + error: invalid_grant + error_description: Something went wrong, please try again + OAUTH_REFRESH_TOKEN_USER_NOT_FOUND: + value: + error: invalid_grant + error_description: The user associated with the refresh_token was not found. + OAUTH_SMS_CONFIGURATION_NOT_EXISTS: + value: + error: invalid_grant + error_description: The SMS configuration does not exist, please configure SMS settings. + OAUTH_SMS_SEND_LIMIT_REACHED: + value: + error: invalid_grant + error_description: The account limit for SMS requests for this resource has been reached for this time due to too many request. + OAUTH_USER_ID_BLOCKED: + value: + error: invalid_grant + error_description: Your account has been blocked by the system admin, please contact the admin for more information. + OAUTH_USER_ID_LOCKED: + value: + error: invalid_grant + error_description: Your account has been locked, please try again after sometime. + OAUTH_USER_NAME_AUTHENTICATION_ENABLED: + value: + error: invalid_grant + error_description: You can't login from email/phone, please use username for login. + OAUTH_USER_NOT_EXISTS: + value: + error: invalid_grant + error_description: The user's account does not exist, please use a valid user or create the user before processing this request. + OAUTH_USERNAME_OR_PASSWORD_WRONG: + value: + error: invalid_grant + error_description: Please use a valid user ID and password combination. + OAUTH_USERNAME_OR_PASSWORD_WRONG_FOR_BLOCK_LOCKOUT: + value: + error: invalid_grant + error_description: You have {count} tries left before your account gets suspended. + OAUTH_USERNAME_OR_PASSWORD_WRONG_FOR_SUSPEND_LOCKOUT: + value: + error: invalid_grant + error_description: You have {count} tries left before your account gets blocked. + PASSWORD_REQUIRED_SSO: + value: + error: invalid_request + error_description: The password is a required parameter. + REDIRECT_URI_INVALID: + value: + error: invalid_request + error_description: The redirect_uri is not valid, check redirect_uri parameter again. + REDIRECT_URI_REQUIRED: + value: + error: invalid_request + error_description: The redirect_uri is a required parameter. + REFRESH_TOKEN_REQUIRED_SSO: + value: + error: invalid_request + error_description: The refresh_token is a required parameter. + RESPONSE_TYPE_INVALID: + value: + error: invalid_request + error_description: The response_type must contain a valid value. + USERNAME_REQUIRED_SSO: + value: + error: invalid_request + error_description: The username is a required parameter. + RESOURCE_PERMISSION_NOT_FOUND: + value: + error: invalid_request + error_description: The resource does not contain any permissions. + USER_PERMISSION_NOT_FOUND: + value: + error: invalid_request + error_description: The user does not have permission to access the resource. + DEVICE_ACCESS_TOKEN_EXPIRED: + value: + error: expired_token + error_description: The access token is expired + OAUTH_REDIRECT_URI_MISMATCH: + value: + error: redirect_uri_mismatch + error_description: Parameter redirect_uri does not match as provided in the authorization + REDIRECT_URI_NOT_VALID: + value: + Description: The provided redirect_uri does not match any registered redirect URIs. + ErrorCode: 1236 + Message: Invalid Redirect URI + PAR_FEATURE_DISABLED: + value: + error: access_denied + error_description: Pushed Authorization Request (PAR) is disabled on this authorization server. + DCR_FEATURE_DISABLED: + value: + error: access_denied + error_description: Dynamic client registration is disabled on this authorization server. + DCR_REGISTRATION_TOKEN_REQUIRED: + value: + error: invalid_request + error_description: The registration_access_token is required. + DCR_REGISTRATION_TOKEN_INVALID: + value: + error: unauthorized_client + error_description: The provided registration_access_token is invalid or has expired. + DCR_CLIENT_NOT_FOUND: + value: + error: unauthorized_client + error_description: The dynamic client was not found. + DCR_CLIENT_NAME_REQUIRED: + value: + error: invalid_client_metadata + error_description: The client_name parameter is required. + DCR_REDIRECT_URI_REQUIRED: + value: + error: invalid_client_metadata + error_description: The redirect_uris parameter is required. + DCR_REDIRECT_URI_EMPTY: + value: + error: invalid_client_metadata + error_description: The redirect_uris parameter must not contain empty values. + DCR_REDIRECT_URI_INVALID: + value: + error: invalid_client_metadata + error_description: One or more values in redirect_uris are invalid. + DCR_POST_LOGOUT_REQUEST_URI_INVALID: + value: + error: invalid_client_metadata + error_description: The post_logout_redirect_uris parameter must be a valid HTTPS URL. + DCR_BACK_CHANNEL_LOGOUT_URI_INVALID: + value: + error: invalid_client_metadata + error_description: The backchannel_logout_uri parameter must be a valid HTTPS URL. + DCR_REQUEST_URI_INVALID: + value: + error: invalid_client_metadata + error_description: The request_uris parameter must be a valid HTTPS URL. + DCR_GRANT_TYPE_NOT_SUPPORTED: + value: + error: invalid_client_metadata + error_description: The grant type is not supported. + ACCESS_DENIED_GRANT_TYPE_NOT_ALLOWED: + value: + error: invalid_client_metadata + error_description: Access denied. The specified grant_type has not been allowed. + DCR_RESPONSE_TYPE_REQUIRED: + value: + error: invalid_client_metadata + error_description: The response_types is required parameter. + DCR_RESPONSE_TYPE_INVALID: + value: + error: invalid_client_metadata + error_description: The response_type is not supported. + DCR_RESPONSE_TYPE_ALLOWED_WITH_GRANT_TYPE: + value: + error: invalid_client_metadata + error_description: The response_type is only allowed with the authorization_code or implicit grant_type. + DCR_TOKEN_AUTH_METHOD_NOT_SUPPORTED: + value: + error: invalid_client_metadata + error_description: The token endpoint authentication method is not supported. + DCR_LOGO_URL_INVALID: + value: + error: invalid_client_metadata + error_description: The logo_uri parameter must be a valid HTTPS URL. + DCR_TOS_URL_INVALID: + value: + error: invalid_client_metadata + error_description: The tos_uri parameter must be a valid HTTPS URL. + DCR_POLICY_URL_INVALID: + value: + error: invalid_client_metadata + error_description: The policy_uri parameter must be a valid HTTPS URL. + DCR_CLIENT_URL_INVALID: + value: + error: invalid_client_metadata + error_description: The client_uri parameter must be a valid HTTPS URL. + DCR_JWKS_MUTUALLY_EXCLUSIVE: + value: + error: invalid_client_metadata + error_description: Both jwks and jwks_uri are present. Only one of these parameters may be specified. + DCR_JWKS_URI_INVALID: + value: + error: invalid_client_metadata + error_description: The jwks_uri parameter must be a valid HTTPS URL. + DCR_JWKS_INVALID_JSON: + value: + error: invalid_client_metadata + error_description: The jwks parameter contains invalid JSON. + DCR_JWKS_INVALID_STRUCTURE: + value: + error: invalid_client_metadata + error_description: The jwks parameter must contain a non-empty 'keys' array with valid entries. + DCR_JWKS_INVALID_KEY_PARAMS: + value: + error: invalid_client_metadata + error_description: The jwks RSA key parameters are invalid. + DCR_JWKS_URI_FETCH_FAILED: + value: + error: invalid_client_metadata + error_description: Failed to fetch jwks from the supplied jwks_uri. + DCR_ID_TOKEN_SIGNING_ALG_NOT_SUPPORTED: + value: + error: invalid_client_metadata + error_description: The id_token_signed_response_alg value is not supported. + DCR_USERINFO_SIGNING_ALG_NOT_SUPPORTED: + value: + error: invalid_client_metadata + error_description: The userinfo_signed_response_alg value is not supported. + TOKEN_TYPE_HINT_INVALID: + value: + error: invalid_request + error_description: The token_type_hint is not valid, check token_type_hint parameter again. + TOKEN_TYPE_HINT_REQUIRED: + value: + error: invalid_request + error_description: The token_type_hint is a required parameter. + M2M_CONF_NOT_EXIST: + value: + error: unauthorized_client + error_description: The Machine to Machine configuration not found. + TOKEN_EXPIRED: + value: + error: invalid_grant + error_description: The token has been expired. + TOKEN_INVALID: + value: + error: invalid_grant + error_description: The token is not valid. + AUDIENCE_REQUIRED: + value: + error: invalid_request + error_description: The audience is a required parameter. + ACCESS_TOKEN_REQUIRED_SSO: + value: + error: invalid_request + error_description: The access_token is a required parameter. + OPENID_CONF_INVALID: + value: + error: unauthorized_client + error_description: The Openid configuration is not valid. + SAML_APP_NAME_REQUIRED: + value: + Description: The appName is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + SP_SAML_CONFIG_NOT_FOUND: + value: + Description: SAML configuration not found. + ErrorCode: 3001 + Message: SAML configuration not found. + SP_SAML_CONFIG_NOT_VALID: + value: + Description: Failed to retrieve issuer URL, check for errors in config issuer URL or login URL. + ErrorCode: 3002 + Message: SAML configuration not valid. + SAML_METADATA_RESPONSE_INVALID: + value: + Description: Failed to convert metadata to xml response. + ErrorCode: 2030 + Message: Oops, something went wrong, please try again. + API_KEY_NOT_WELL_FORMATTED_SSO: + value: + Description: The provided LoginRadius API key is invalid, please use a valid API key of your LoginRadius account. + ErrorCode: 920 + Message: API key is invalid + API_KEY_REQUIRED_SSO: + value: + Description: The request is missing the API key, please use the valid API key parameter in order to process this request. + ErrorCode: 922 + Message: API key is missing + EXPIRE_IN_INVALID_FORMAT_SSO: + value: + Description: Please provide expiry time in number format only. + ErrorCode: 1307 + Message: The expires_in has invalid format + MOBILE_EXPIRY_PARAM_INVALID: + value: + Description: The expiry is not valid. + ErrorCode: 908 + Message: A parameter is not formatted correctly + MOBILE_ACCESS_TOKEN_INVALID_OR_EXPIRED: + value: + Description: The access_token is invalid or expired. + ErrorCode: 2010 + Message: invalid_grant + MOBILE_CODE_NOT_VALID_OR_EXPIRED: + value: + Description: The code is not valid or expired. + ErrorCode: 908 + Message: A parameter is not formatted correctly + MOBILE_CODE_REQUIRED: + value: + Description: The code is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + CODE_AND_TOKEN_REQUIRED: + value: + Description: The access_token is a required parameter, The code is a required parameter. + ErrorCode: 908 + Message: A parameter is not formatted correctly + b2cBatchUplaod: + summary: Batch Upload B2C + value: + Profiles: + - FirstName: Ajay + LastName: Sharma + Email: + - Type: Primary + Value: ajaysharma@yopmail.com + PasswordHash: Rfc2898DeriveBytes$1000$VAh9OF7J0c2p2kpx4ozwDg==$6cwqAkcvs6+zadhoH9kiuWhjNuC84PhrUbMew0fBO6k=:BA4zsWmfF + - FirstName: Priya + LastName: Patel + Email: + - Type: Primary + Value: priya.patel@tempmail.com + PasswordHash: Rfc2898DeriveBytes$1000$XBk2PG8K1d3q3lry5paxEh==$7dxrBlcws7+zbeipiI0ljvXikOvD95QisVcNfx1gCP7l=:CB5atXngG + - FirstName: Rajesh + LastName: Kumar + Email: + - Type: Primary + Value: rajesh.kumar@mailbox.org + PasswordHash: Rfc2898DeriveBytes$1000$YCl3QH9L2e4r4msz6qbyFi==$8eysCmd xt8+acrjqjJ1mkwYjlPwE06RjtWdOgy2hDQ8m=:DC6buYohH + - FirstName: Sneha + LastName: Gupta + Email: + - Type: Primary + Value: sneha.gupta@guerrillamail.com + PasswordHash: Rfc2898DeriveBytes$1000$ZDm4RI0M3f5s5nta7rcxGj==$9fztDney5u9+bdsksKk2nlxZkmQxF17SjuXePhz3hEQ9n=:ED7cvZpiI + b2cBatchUplaodWithPasswordConfig: + summary: Batch Upload B2C with password Config + value: + PasswordEncryption: + Type: PBKDF2 + IsPerPasswordSalt: true + NumberOfIteration: 1000 + SaltAttachType: Prepend + PasswordHasherVersion: V1 + Profiles: + - FirstName: Ajay + LastName: Sharma + Email: + - Type: Primary + Value: ajaysharma@yopmail.com + PasswordHash: Rfc2898DeriveBytes$1000$VAh9OF7J0c2p2kpx4ozwDg==$6cwqAkcvs6+zadhoH9kiuWhjNuC84PhrUbMew0fBO6k=:BA4zsWmfF + - FirstName: Priya + LastName: Patel + Email: + - Type: Primary + Value: priya.patel@tempmail.com + PasswordHash: Rfc2898DeriveBytes$1000$XBk2PG8K1d3q3lry5paxEh==$7dxrBlcws7+zbeipiI0ljvXikOvD95QisVcNfx1gCP7l=:CB5atXngG + - FirstName: Rajesh + LastName: Kumar + Email: + - Type: Primary + Value: rajesh.kumar@mailbox.org + PasswordHash: Rfc2898DeriveBytes$1000$YCl3QH9L2e4r4msz6qbyFi==$8eysCmd xt8+acrjqjJ1mkwYjlPwE06RjtWdOgy2hDQ8m=:DC6buYohH + - FirstName: Sneha + LastName: Gupta + Email: + - Type: Primary + Value: sneha.gupta@guerrillamail.com + PasswordHash: Rfc2898DeriveBytes$1000$ZDm4RI0M3f5s5nta7rcxGj==$9fztDney5u9+bdsksKk2nlxZkmQxF17SjuXePhz3hEQ9n=:ED7cvZpiI + b2cDeltaBatchUplaod: + summary: Batch Upload B2C with delta flag enabled + value: + DeltaMigrationModel: + DeltaMigration: true + OverWriteDuplicate: true + Profiles: + - FirstName: Ajay + LastName: Sharma + Email: + - Type: Primary + Value: ajaysharma@yopmail.com + PasswordHash: Rfc2898DeriveBytes$1000$VAh9OF7J0c2p2kpx4ozwDg==$6cwqAkcvs6+zadhoH9kiuWhjNuC84PhrUbMew0fBO6k=:BA4zsWmfF + - FirstName: Priya + LastName: Patel + Email: + - Type: Primary + Value: priya.patel@tempmail.com + PasswordHash: Rfc2898DeriveBytes$1000$XBk2PG8K1d3q3lry5paxEh==$7dxrBlcws7+zbeipiI0ljvXikOvD95QisVcNfx1gCP7l=:CB5atXngG + - FirstName: Rajesh + LastName: Kumar + Email: + - Type: Primary + Value: rajesh.kumar@mailbox.org + PasswordHash: Rfc2898DeriveBytes$1000$YCl3QH9L2e4r4msz6qbyFi==$8eysCmd xt8+acrjqjJ1mkwYjlPwE06RjtWdOgy2hDQ8m=:DC6buYohH + - FirstName: Sneha + LastName: Gupta + Email: + - Type: Primary + Value: sneha.gupta@guerrillamail.com + PasswordHash: Rfc2898DeriveBytes$1000$ZDm4RI0M3f5s5nta7rcxGj==$9fztDney5u9+bdsksKk2nlxZkmQxF17SjuXePhz3hEQ9n=:ED7cvZpiI + b2bBatchUplaod: + summary: Batch Upload B2B + value: + Profiles: + - FirstName: Ajay + LastName: Sharma + Email: + - Type: Primary + Value: ajaysharma@yopmail.com + PasswordHash: Rfc2898DeriveBytes$1000$VAh9OF7J0c2p2kpx4ozwDg==$6cwqAkcvs6+zadhoH9kiuWhjNuC84PhrUbMew0fBO6k=:BA4zsWmfF + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + - FirstName: Priya + LastName: Patel + Email: + - Type: Primary + Value: priya.patel@tempmail.com + PasswordHash: Rfc2898DeriveBytes$1000$XBk2PG8K1d3q3lry5paxEh==$7dxrBlcws7+zbeipiI0ljvXikOvD95QisVcNfx1gCP7l=:CB5atXngG + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + - FirstName: Rajesh + LastName: Kumar + Email: + - Type: Primary + Value: rajesh.kumar@mailbox.org + PasswordHash: Rfc2898DeriveBytes$1000$YCl3QH9L2e4r4msz6qbyFi==$8eysCmd xt8+acrjqjJ1mkwYjlPwE06RjtWdOgy2hDQ8m=:DC6buYohH + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + - FirstName: Sneha + LastName: Gupta + Email: + - Type: Primary + Value: sneha.gupta@guerrillamail.com + PasswordHash: Rfc2898DeriveBytes$1000$ZDm4RI0M3f5s5nta7rcxGj==$9fztDney5u9+bdsksKk2nlxZkmQxF17SjuXePhz3hEQ9n=:ED7cvZpiI + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + b2bBatchUplaodWithPasswordConfig: + summary: Batch Upload B2B with password Config + value: + PasswordEncryption: + Type: PBKDF2 + IsPerPasswordSalt: true + NumberOfIteration: 1000 + SaltAttachType: None + PasswordHasherVersion: V5 + SubKeyLength: 64 + SaltKeyLength: 32 + Profiles: + - FirstName: Ajay + LastName: Sharma + Email: + - Type: Primary + Value: ajaysharma@yopmail.com + PasswordHash: Rfc2898DeriveBytes$1000$VAh9OF7J0c2p2kpx4ozwDg==$6cwqAkcvs6+zadhoH9kiuWhjNuC84PhrUbMew0fBO6k=:BA4zsWmfF + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + - FirstName: Priya + LastName: Patel + Email: + - Type: Primary + Value: priya.patel@tempmail.com + PasswordHash: Rfc2898DeriveBytes$1000$XBk2PG8K1d3q3lry5paxEh==$7dxrBlcws7+zbeipiI0ljvXikOvD95QisVcNfx1gCP7l=:CB5atXngG + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + - FirstName: Rajesh + LastName: Kumar + Email: + - Type: Primary + Value: rajesh.kumar@mailbox.org + PasswordHash: Rfc2898DeriveBytes$1000$YCl3QH9L2e4r4msz6qbyFi==$8eysCmd xt8+acrjqjJ1mkwYjlPwE06RjtWdOgy2hDQ8m=:DC6buYohH + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + - FirstName: Sneha + LastName: Gupta + Email: + - Type: Primary + Value: sneha.gupta@guerrillamail.com + PasswordHash: Rfc2898DeriveBytes$1000$ZDm4RI0M3f5s5nta7rcxGj==$9fztDney5u9+bdsksKk2nlxZkmQxF17SjuXePhz3hEQ9n=:ED7cvZpiI + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + b2bDeltaBatchUplaod: + summary: Batch Upload B2B with delta flag enabled + value: + DeltaMigrationModel: + DeltaMigration: true + OverWriteDuplicate: true + Profiles: + - FirstName: Ajay + LastName: Sharma + Email: + - Type: Primary + Value: ajaysharma@yopmail.com + PasswordHash: Rfc2898DeriveBytes$1000$VAh9OF7J0c2p2kpx4ozwDg==$6cwqAkcvs6+zadhoH9kiuWhjNuC84PhrUbMew0fBO6k=:BA4zsWmfF + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + - FirstName: Priya + LastName: Patel + Email: + - Type: Primary + Value: priya.patel@tempmail.com + PasswordHash: Rfc2898DeriveBytes$1000$XBk2PG8K1d3q3lry5paxEh==$7dxrBlcws7+zbeipiI0ljvXikOvD95QisVcNfx1gCP7l=:CB5atXngG + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + - FirstName: Rajesh + LastName: Kumar + Email: + - Type: Primary + Value: rajesh.kumar@mailbox.org + PasswordHash: Rfc2898DeriveBytes$1000$YCl3QH9L2e4r4msz6qbyFi==$8eysCmd xt8+acrjqjJ1mkwYjlPwE06RjtWdOgy2hDQ8m=:DC6buYohH + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + - FirstName: Sneha + LastName: Gupta + Email: + - Type: Primary + Value: sneha.gupta@guerrillamail.com + PasswordHash: Rfc2898DeriveBytes$1000$ZDm4RI0M3f5s5nta7rcxGj==$9fztDney5u9+bdsksKk2nlxZkmQxF17SjuXePhz3hEQ9n=:ED7cvZpiI + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + b2bBatchUplaodOnlyOrgs: + summary: Batch Upload B2B with orgIds only + value: + Profiles: + - FirstName: Ajay + LastName: Sharma + Email: + - Type: Primary + Value: ajaysharma@yopmail.com + PasswordHash: Rfc2898DeriveBytes$1000$VAh9OF7J0c2p2kpx4ozwDg==$6cwqAkcvs6+zadhoH9kiuWhjNuC84PhrUbMew0fBO6k=:BA4zsWmfF + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + - FirstName: Priya + LastName: Patel + Email: + - Type: Primary + Value: priya.patel@tempmail.com + PasswordHash: Rfc2898DeriveBytes$1000$XBk2PG8K1d3q3lry5paxEh==$7dxrBlcws7+zbeipiI0ljvXikOvD95QisVcNfx1gCP7l=:CB5atXngG + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + - FirstName: Rajesh + LastName: Kumar + Email: + - Type: Primary + Value: rajesh.kumar@mailbox.org + PasswordHash: Rfc2898DeriveBytes$1000$YCl3QH9L2e4r4msz6qbyFi==$8eysCmd xt8+acrjqjJ1mkwYjlPwE06RjtWdOgy2hDQ8m=:DC6buYohH + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + - FirstName: Sneha + LastName: Gupta + Email: + - Type: Primary + Value: sneha.gupta@guerrillamail.com + PasswordHash: Rfc2898DeriveBytes$1000$ZDm4RI0M3f5s5nta7rcxGj==$9fztDney5u9+bdsksKk2nlxZkmQxF17SjuXePhz3hEQ9n=:ED7cvZpiI + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + b2bBatchUplaodOnlyRoles: + summary: Batch Upload B2B with roleIds only + value: + Profiles: + - FirstName: Ajay + LastName: Sharma + Email: + - Type: Primary + Value: ajaysharma@yopmail.com + PasswordHash: Rfc2898DeriveBytes$1000$VAh9OF7J0c2p2kpx4ozwDg==$6cwqAkcvs6+zadhoH9kiuWhjNuC84PhrUbMew0fBO6k=:BA4zsWmfF + RoleIds: + - role_aDikRwnDb67DwpBp + - FirstName: Priya + LastName: Patel + Email: + - Type: Primary + Value: priya.patel@tempmail.com + PasswordHash: Rfc2898DeriveBytes$1000$XBk2PG8K1d3q3lry5paxEh==$7dxrBlcws7+zbeipiI0ljvXikOvD95QisVcNfx1gCP7l=:CB5atXngG + RoleIds: + - role_aDikRwnDb67DwpBp + - role_bCikRwnDb67FgpBp + - FirstName: Rajesh + LastName: Kumar + Email: + - Type: Primary + Value: rajesh.kumar@mailbox.org + PasswordHash: Rfc2898DeriveBytes$1000$YCl3QH9L2e4r4msz6qbyFi==$8eysCmd xt8+acrjqjJ1mkwYjlPwE06RjtWdOgy2hDQ8m=:DC6buYohH + - FirstName: Sneha + LastName: Gupta + Email: + - Type: Primary + Value: sneha.gupta@guerrillamail.com + PasswordHash: Rfc2898DeriveBytes$1000$ZDm4RI0M3f5s5nta7rcxGj==$9fztDney5u9+bdsksKk2nlxZkmQxF17SjuXePhz3hEQ9n=:ED7cvZpiI + RoleIds: + - role_aDikRwnDb67DwpBp + - role_bCikRwnDb67FgpBp + OrgRoles: + - OrgId: org_aCXnRa2wQdvMpz1y + RoleIds: + - role_aDikRwnDb67DwpBp + batchUploadSuccess: + summary: Migration with no failed records + value: + Profile: + RecordInserted: 150 + RecordUpdated: 20 + Failed: [] + batchUploadPartialSuccess: + summary: Migration with failed records + value: + Profile: + RecordInserted: 120 + RecordUpdated: 30 + Failed: + - RecordNumber: 2 + Message: Email is a primary identity and cannot be duplicated + - RecordNumber: 5 + Message: Email is a primary identity and cannot be duplicated + SUBKEYLENGTH_RANGE: + value: + ErrorCode: 8035 + Message: SubkeyLength field value needs to be between 32 and 128. + Description: SubkeyLength field value needs to be between 32 and 128. + SALTKEYLENGTH_RANGE: + value: + ErrorCode: 8034 + Message: SaltkeyLength field value needs to be between 16 and 128. + Description: SaltkeyLength field value needs to be between 16 and 128. + INVALID_PASSWORD_HASH_CONFIG: + value: + ErrorCode: 7992 + Message: Invalid password hash configuration + Description: SubKeyLength or SaltKeyLength is invalid. Please use the values greater than or equal to 16. + ValidateIdentity: + value: + Message: One or more records have parameters that are not formatted correctly. + Description: Some records in the request contain invalid or incorrectly formatted parameters. Please review the 'Errors' array for details on each affected record. + ErrorCode: 8198 + Errors: + - FieldName: Record 1 + ErrorMessage: The uid is not valid, The uid can contains alphabets, digits, underscore and dash only and length must be between 1 to 50. + - FieldName: Record 2 + ErrorMessage: The account ID has to be unique for your Site, please use a different account ID in order to process this request. + - FieldName: Record 3 + ErrorMessage: The value of gender is invalid, please use a valid value of gender to process request. + - FieldName: Record 4 + ErrorMessage: The provided birth date either is in the future or has an invalid format, please use the valid date and date format (mm/dd/yyyy). + - FieldName: Record 5 + ErrorMessage: Please use different address types in the case of multiple addresses. + - FieldName: Record 6 + ErrorMessage: The request couldn't be processed, the address type must be specified in the address. + - FieldName: Record 7 + ErrorMessage: The type is a required parameter, The value is a required parameter. + - FieldName: Record 8 + ErrorMessage: The value is a required parameter. + - FieldName: Record 9 + ErrorMessage: The request couldn't be processed, the email type must be specified in the address. + - FieldName: Record 10 + ErrorMessage: The provided email ID is invalid or not well-formatted, a valid email ID is required in order to process this request. + - FieldName: Record 11 + ErrorMessage: Please use different email addresses in the case of multiple email addresses. + - FieldName: Record 12 + ErrorMessage: The primary email address can be only one. + - FieldName: Record 13 + ErrorMessage: The provided Email id domain is not allowed to register, please reach out to LoginRadius support for more information. + - FieldName: Record 14 + ErrorMessage: This custom field is invalid, please use a correct or valid custom field. + - FieldName: Record 15 + ErrorMessage: A username is required, please use a valid username in order to process this request. + - FieldName: Record 16 + ErrorMessage: The security question or answer is not enabled, please enable security question or answer. + - FieldName: Record 17 + ErrorMessage: This security question is invalid, please use a correct or valid security question. + - FieldName: Record 18 + ErrorMessage: Your security question or answer is incorrect, please enter the correct security question or answer. + - FieldName: Record 19 + ErrorMessage: This security question is invalid, please use a correct or valid security question. + - FieldName: Record 20 + ErrorMessage: A parameter is not formatted correctly in the request, please check all the parameters in the API call. + B2B_ORG_AND_ROLE_VALIDATION: + value: + Message: One or more records have parameters that are not formatted correctly. + Description: Some records in the request contain invalid or incorrectly formatted parameters. Please review the 'Errors' array for details on each affected record. + ErrorCode: 8198 + Errors: + - FieldName: Record 1 + ErrorMessage: The specified tenant Role ID is invalid or cannot be assigned to the user. Please review the Role mapping. + - FieldName: Record 2 + ErrorMessage: The organization ID is invalid or refers to an organization the user cannot be assigned to. + - FieldName: Record 3 + ErrorMessage: The Role ID is not valid for the selected organization. Please verify the organization-role mapping. + - FieldName: Record 4 + ErrorMessage: The organization Role ID is invalid or not assignable. Please ensure it exists and is accessible. + - FieldName: Record 5 + ErrorMessage: The default Role ID provided is not valid or cannot be assigned. Please select a valid default Role. + IDENTITY_VALIDATION_ERRORS: + value: + Message: One or more records have parameters that are not formatted correctly. + Description: Some records in the request contain invalid or incorrectly formatted parameters. Please review the 'Errors' array for details on each affected record. + ErrorCode: 8198 + Errors: + - FieldName: Record 1 + ErrorMessage: The Privacy Policy version is not valid. + - FieldName: Record 2 + ErrorMessage: The request couldn't be processed, the address type must be specified in the address. + - FieldName: Record 3 + ErrorMessage: The request couldn't be processed, the phone type must be specified in the phone numbers. + - FieldName: Record 4 + ErrorMessage: Please use different phone types in the case of multiple phone numbers. + - FieldName: Record 5 + ErrorMessage: You are not eligible for registration, your age must be above specified by admin of this site. + - FieldName: Record 6 + ErrorMessage: The email address has to be unique for your LoginRadius site, please use a different email address. + - FieldName: Record 7 + ErrorMessage: The username you have selected is already in use, please choose a different username. + - FieldName: Record 8 + ErrorMessage: The phone number has to be unique for your LoginRadius site, please use a different phone number. + BATCH_MIGRATION_TOO_MANY_RECORDS: + summary: BATCH_MIGRATION_TOO_MANY_RECORDS + value: + ErrorCode: 8199 + Message: Too many records in batch migration. + Description: The request contains more than the allowed 500 records for a batch migration. Please split the data into smaller batches and try again. + BATCH_MIGRATION_NO_RECORDS: + summary: BATCH_MIGRATION_NO_RECORDS + value: + ErrorCode: 8246 + Message: Profiles array must contain at least one profile. + Description: The Profiles array is required and must contain at least one profile. Please provide at least one profile in the request to proceed with the batch migration. + MISSING_UNIQUE_INDEX: + summary: MISSING_UNIQUE_INDEX + value: + ErrorCode: 8247 + Message: Your account isn't ready for migration yet. + Description: Migration isn't enabled for your login configuration (such as phone or username login). Please contact support and ask them to enable migration for your account. + MIGRATION_FAILED: + value: + Message: User migration failed. + Description: The user migration process encountered an unexpected error and could not be completed. Please contact support for assistance. + ErrorCode: 8197 + CONSENT_MANAGEMENT_NOT_ENABLED: + summary: CONSENT_MANAGEMENT_NOT_ENABLED + value: + Message: Consent Management is not enabled for this site. + Description: Consent Management feature is not enabled for this site. + ErrorCode: 8200 + CONSENT_OPTION_ID_ALREADY_EXISTS: + summary: CONSENT_OPTION_ID_ALREADY_EXISTS + value: + Message: Consent Option ID already exists + Description: Consent Option ID already exists. Please use another ID to add new config. + ErrorCode: 8201 + CONSENT_OPTION_NOT_FOUND: + summary: CONSENT_OPTION_NOT_FOUND + value: + Message: Consent Option not found + Description: The Consent Option not found for this tenant. + ErrorCode: 8203 + CONSENT_OPTION_IN_USE: + summary: CONSENT_OPTION_IN_USE + value: + Message: Consent Option in use + Description: This consent option is currently in use and cannot be deleted because it is part of an active consent form. + ErrorCode: 8205 + CONSENT_OPTION_INVALID: + summary: CONSENT_OPTION_INVALID + value: + Message: Consent Option is invalid + Description: Consent Option is invalid. Please provide a valid consent option. + ErrorCode: 8206 + CONSENT_FORM_ALREADY_EXISTS_FOR_EVENT_START_DATE: + summary: CONSENT_FORM_ALREADY_EXISTS_FOR_EVENT_START_DATE + value: + Message: Consent form already exists for the event with the same start date + Description: Consent form already exists for the event with the same start date. Please provide a different start date. + ErrorCode: 8207 + PARAMETER_NOT_WELL_FORMATTED_INVALID_VERSION: + summary: PARAMETER_NOT_WELL_FORMATTED_INVALID_VERSION + value: + Message: A parameter is not formatted correctly. + Description: The provided consent form version is invalid. Please enter a valid consent form version in integer format. + ErrorCode: 7900 + CONSENT_FORM_NOT_FOUND: + summary: CONSENT_FORM_NOT_FOUND + value: + Message: Consent form not found + Description: Consent form not found. + ErrorCode: 8208 + CONSENT_FORM_ALREADY_DELETED: + summary: CONSENT_FORM_ALREADY_DELETED + value: + Message: Consent form already deleted + Description: Consent form already deleted. + ErrorCode: 8209 + CONSENT_FORMS_NOT_FOUND: + summary: CONSENT_FORMS_NOT_FOUND + value: + Message: Active consent Forms not found + Description: Active consent Forms not found for this tenant. + ErrorCode: 8202 + requestBodies: + UnlockAccountRequest: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/UnlockAccountRequestCore' + - $ref: '#/components/schemas/CaptchaModel' + required: true + JWTLoginRequest: + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/LoginByEmail' + - $ref: '#/components/schemas/LoginByPhone' + - $ref: '#/components/schemas/LoginByUserName' + application/x-www-form-urlencoded: + schema: + oneOf: + - $ref: '#/components/schemas/LoginByEmail' + - $ref: '#/components/schemas/LoginByPhone' + - $ref: '#/components/schemas/LoginByUserName' + required: true + OAuthDeviceCodeRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthDeviceCode' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/OAuthDeviceCode' + required: true + OAuthRevokeRefreshTokenRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthRevokeRefreshToken' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/OAuthRevokeRefreshToken' + required: true + OAuthTokenRequest: + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/OAuthAuthorizationCodeFlow' + - $ref: '#/components/schemas/OAuthAuthorizationCodePKCEFlow' + - $ref: '#/components/schemas/OAuthRefreshTokenFlow' + - $ref: '#/components/schemas/OAuthPasswordCredentialFlow' + - $ref: '#/components/schemas/OAuthDeviceCodeFlow' + - $ref: '#/components/schemas/OAuthLoginRadiusTokenExchangeFlow' + application/x-www-form-urlencoded: + schema: + oneOf: + - $ref: '#/components/schemas/OAuthAuthorizationCodeFlow' + - $ref: '#/components/schemas/OAuthAuthorizationCodePKCEFlow' + - $ref: '#/components/schemas/OAuthRefreshTokenFlow' + - $ref: '#/components/schemas/OAuthPasswordCredentialFlow' + - $ref: '#/components/schemas/OAuthDeviceCodeFlow' + - $ref: '#/components/schemas/OAuthLoginRadiusTokenExchangeFlow' + required: true + OAuthPARRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/PARRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PARRequest' + required: true + OIDCDeviceCodeRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/OIDCDeviceCode' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/OIDCDeviceCode' + required: true + OIDCTokenRequest: + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/OAuthAuthorizationCodeFlow' + - $ref: '#/components/schemas/OAuthAuthorizationCodePKCEFlow' + - $ref: '#/components/schemas/OAuthRefreshTokenFlow' + - $ref: '#/components/schemas/OAuthPasswordCredentialFlow' + - $ref: '#/components/schemas/OAuthDeviceCodeFlow' + - $ref: '#/components/schemas/OAuthLoginRadiusTokenExchangeFlow' + application/x-www-form-urlencoded: + schema: + oneOf: + - $ref: '#/components/schemas/OAuthAuthorizationCodeFlow' + - $ref: '#/components/schemas/OAuthAuthorizationCodePKCEFlow' + - $ref: '#/components/schemas/OAuthRefreshTokenFlow' + - $ref: '#/components/schemas/OAuthPasswordCredentialFlow' + - $ref: '#/components/schemas/OAuthDeviceCodeFlow' + - $ref: '#/components/schemas/OAuthLoginRadiusTokenExchangeFlow' + required: true + OAuthM2MTokenIntrospectRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthM2MTokenIntrospect' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/OAuthM2MTokenIntrospect' + required: true + OAuthM2MTokenRevokeRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthM2MTokenRevoke' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/OAuthM2MTokenRevoke' + required: true + OAuthM2MTokenGenerateRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/OAuthM2MTokenGenerate' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/OAuthM2MTokenGenerate' + required: true + OIDCUserinfoRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/OIDCUserinfo' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/OIDCUserinfo' + required: true + QRCodeMapToTokenRequest: + content: + application/json: + schema: + $ref: '#/components/schemas/QRCodeMapToToken' + required: true +x-tagGroups: + - name: Authentication API + tags: + - Registration + - Login + - User + - Password + - Security + - Session + - Custom Object + - name: Account API + tags: + - Accounts + - Account Session + - Account Security + - Account Custom Object + - Multipurpose Tokens + - Roles Management + - name: Single Sign-On API + tags: + - OAuth + - OIDC + - OAuth M2M + - JWT + - SAML + - Cross Device SSO + - name: Analytics API + tags: + - Identity + - Custom Objects + - Insights + - name: Management API + tags: + - User Migration + - Social Providers + - OAuth Custom Providers + - JWT Custom Providers + - SAML Custom Providers + - OAuth Clients + - JWT Integrations + - SAML Integrations + - OAuth Integrations + - Password Policy + - Second Factor Configuration + - Passkey Configuration + - Push Notification Configuration + - Captcha Configuration + - Security Questions + - Domain Access Restrictions + - IP Access Restrictions + - Email Templates + - SMS Templates + - Custom Fields + - Roles + - Permissions + - Webhooks + - Consent + - Workflows + - SOTT + - name: Partner IAM API + tags: + - Organization + - Organization User Roles + - Organization Connections + - Organization Connection Group Roles + - Organization Domains + - Organization Invitations + - name: Hosted Plugins API + tags: + - BigCommerce SSO + - Shopify SSO + - PerfectMind SSO diff --git a/MIGRATION_GUIDE.md b/MIGRATION_GUIDE.md new file mode 100644 index 0000000..f1d25e6 --- /dev/null +++ b/MIGRATION_GUIDE.md @@ -0,0 +1,149 @@ +# Migrating from v11 to v12 + +v11 is [`loginradius/php-sdk`](https://github.com/LoginRadius/php-sdk) 11.7.0, a +hand-written SDK. v12 is generated from the LoginRadius OpenAPI specification and +wrapped in a thin facade. This guide covers the differences that change every +call site: the package, configuration, construction, the call style, and errors. + +**It does not include a full endpoint-by-endpoint mapping.** Every operation in +the API is present in v12, so the mapping exists — it just is not written out +here. The representative flows below show how to derive it, and `docs/API.md` +lists every operation with the endpoint it calls, which is the reliable way to +find a v11 method's counterpart. + +## Package + +The Composer name is unchanged, so this is a version bump: + +```bash +# v11 +composer require loginradius/php-sdk:11.7.0 + +# v12 +composer require loginradius/php-sdk:12.0.0-rc.1 +``` + +Because the name is the same, Composer will not resolve both at once. A project +is on v11 or on v12. + +## Configuration + +v11 read credentials from **global constants** defined before use. v12 takes them +as constructor arguments: + +```php +// v11 — global constants, process-wide +define('LR_API_KEY', 'LOGINRADIUS_API_KEY_HERE'); +define('LR_API_SECRET', 'LOGINRADIUS_API_SECRET_HERE'); +define('APP_NAME', 'LOGINRADIUS_SITE_NAME_HERE'); + +// v12 — configuration is a value you pass +use LoginRadius\Sdk\Client; +use LoginRadius\Sdk\Config; + +$client = new Client(new Config( + apiKey: getenv('LR_API_KEY'), + apiSecret: getenv('LR_API_SECRET'), // server-side only +)); +``` + +That difference matters if you serve more than one tenant: constants cannot be +redefined, so v11 could hold exactly one credential set per process. In v12 you +construct one `Client` per tenant and hold both. + +## Construction and call style + +v11 instantiated **one class per API** and took request bodies as **JSON +strings**. v12 exposes every service as a property of one client, and takes +named arguments: + +```php +// v11 +use \LoginRadiusSDK\CustomerRegistration\Authentication\AuthenticationAPI; +use \LoginRadiusSDK\CustomerRegistration\Account\AccountAPI; + +$authenticationAPI = new AuthenticationAPI(); +$accountAPI = new AccountAPI(); + +$payload = '{"email":"user@example.com","password":"password"}'; +$result = $authenticationAPI->loginByEmail($payload); + +// v12 +$result = $client->login->emailByLoginUserNamePhone( + authLoginByEmailRequest: ['email' => 'user@example.com', 'password' => 'secret'], +); +``` + +Hand-built JSON strings are the change worth noticing: a typo in a v11 payload +was a runtime API error with a generic message. In v12 the body is an array +against a typed model, so the failure is local and legible. + +## Errors + +Both versions throw, so the shape of your `try` block survives. What changes is +what you can ask the exception: + +```php +// v11 +try { + $accountAPI->getAccountProfileByUid($uid); +} catch (LoginRadiusException $e) { + // inspect the message +} + +// v12 +use LoginRadius\Sdk\LoginRadiusException; + +try { + $client->accounts->getAccountIdentityByUID(uid: $uid); +} catch (LoginRadiusException $e) { + if ($e->isAuth()) { /* credential rejected — do not retry as-is */ } + if ($e->isRateLimit()) { /* back off */ } + if ($e->isServer()) { /* retry with backoff */ } + + error_log($e->statusCode() . ' ' . $e->code() . ' ' . $e->description()); +} +``` + +The API returns three different error envelopes depending on the endpoint family +— PascalCase, camelCase, and the OAuth `{error, error_description}` shape. All +three normalise to the same exception, so one handler works everywhere. + +## Representative endpoint mapping + +v11 method names came from a hand-written surface; v12's come from the +specification's `operationId`. Most differ, and the reliable way to find a +counterpart is to match the **HTTP endpoint** rather than the name. + +| v11 | v12 | Endpoint | +| --- | --- | --- | +| `AuthenticationAPI->loginByEmail` | `$client->login->emailByLoginUserNamePhone` | `POST /identity/v2/auth/login` | +| `AccountAPI->getAccountProfileByUid` | `$client->accounts->getAccountIdentityByUID` | `GET /identity/v2/manage/account/{uid}` | + +Note the second one is admin-scoped (`/manage/`, authorised by the API secret). +For the signed-in user's own profile, `$client->user->getAccountDetails` calls +`GET /identity/v2/auth/account` with their access token — usually what a +customer-facing integration wants. + +## Other conventions worth knowing + +- **SOTT generation is built in.** `Sott::generate($apiKey, $apiSecret)` replaces + any hand-rolled AES/PBKDF2 implementation. +- **Model bodies are plain arrays.** Every generated model constructor takes + `array $data` keyed by the PHP property name, not the wire-format name — see + the model's own `@param` docblock for the exact keys. +- **Credentials are configuration, not per-call arguments.** Set them once on + `Config`; the client injects the right header, query parameter, or + `Authorization` scheme on every request. + +## What we don't migrate for you + +Nothing rewrites your call sites. The v11 and v12 method surfaces differ enough +that a mechanical codemod would produce plausible-looking calls against the wrong +endpoints, which is worse than a compile error. Work endpoint by endpoint using +`docs/API.md`. + +## Need help? + +Open an issue with the v11 method you are replacing and the endpoint it called, +and we will point you at the v12 equivalent. diff --git a/README.md b/README.md index 5257c8d..d599448 100644 --- a/README.md +++ b/README.md @@ -1,4124 +1,120 @@ +# LoginRadius PHP SDK — v12 -LoginRadius -========== +Generated from the LoginRadius OpenAPI specification. Every LoginRadius SDK — +Go, Node.js, Java, .NET, and PHP — is rendered from that one spec plus one +shared behavioural manifest, so credentials, base-URL precedence, error +classification, request signing, and SOTT behave identically across all of +them. -![Home Image](http://docs.lrcontent.com/resources/github/banner-1544x500.png) +## What changed in v12 ------------------------------------------------ -LoginRadius PHP wrapper provides access to LoginRadius. +v12 is generated rather than hand-written. Practically, that means: -LoginRadius is a unified **Customer Identity Management** API platform that combines 30 major social platforms into a single simplified and maintenance-free API. With LoginRadius' API, websites and mobile apps can implement capture user profile data, enable social login, enable social sharing, add single sign-on and many more. +- **Full API coverage.** Every operation in the spec, not a hand-maintained + subset that drifts behind the API. +- **Typed models** for every request and response. +- **One credential path.** Credentials, cross-cutting request options, + signing, and debug logging are applied by a single decorator around the + HTTP client, so there is one place to audit rather than one per method. +- **Typed errors** with intent-based predicates (`isAuth()`, `isRateLimit()`) + instead of status-code comparisons at every call site. -LoginRadius 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. +v12 has never been released, so it is not a drop-in replacement for a prior +release. See `MIGRATION_GUIDE.md`. +## Install -PHP Library -===== - - -------- - ->Disclaimer
-
->This library is meant to help you with a quick implementation of the LoginRadius platform and also to serve as a reference point for the LoginRadius API. Keep in mind that it is an open source library, which means you are free to download and customize the library functions based on your specific application needs. - - -## Installation - -The recommended way to install is through [Composer](http://getcomposer.org/). - - -### Install Composer - -``` -curl -sS https://getcomposer.org/installer | php -``` - -Next, run the Composer command to install the latest stable version of library: - -``` -composer require loginradius/php-sdk:11.7.0 -``` - -Include the following files in your Project Directory - -```php -require_once "src/LoginRadiusSDK/Utility/Functions.php"; -require_once "src/LoginRadiusSDK/Utility/SOTT.php"; -require_once "src/LoginRadiusSDK/LoginRadiusException.php"; -require_once "src/LoginRadiusSDK/Clients/IHttpClientInterface.php"; -require_once "src/LoginRadiusSDK/Clients/DefaultHttpClient.php"; - -require_once "src/LoginRadiusSDK/CustomerRegistration/Authentication/AuthenticationAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Authentication/OneTouchLoginAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Authentication/PasswordLessLoginAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Authentication/PhoneAuthenticationAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Authentication/PINAuthenticationAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Authentication/RiskBasedAuthenticationAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Authentication/SmartLoginAPI.php"; - -require_once "src/LoginRadiusSDK/CustomerRegistration/Account/AccountAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Account/RoleAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Account/SottAPI.php"; - -require_once "src/LoginRadiusSDK/CustomerRegistration/Advanced/ConfigurationAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Advanced/ConsentManagementAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Advanced/CustomObjectAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Advanced/MultiFactorAuthenticationAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Advanced/ReAuthenticationAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Advanced/WebHookAPI.php"; - -require_once "src/LoginRadiusSDK/CustomerRegistration/Social/NativeSocialAPI.php"; -require_once "src/LoginRadiusSDK/CustomerRegistration/Social/SocialAPI.php"; -require_once "../../src/LoginRadiusSDK/CustomerRegistration/Authentication/SlidingTokenAPI.php"; - -``` -Modify the config.php file in the SDK to include your LoginRadius Credentials - -## Quickstart Guide - -### Configuration - -After successful install, you need to define the following LoginRadius Account info in your project anywhere before using the LoginRadius SDK or in the config file of your project: -```php -define('APP_NAME', 'LOGINRADIUS_SITE_NAME_HERE'); // Replace LOGINRADIUS_SITE_NAME_HERE with your site name that provide in LoginRadius account. -define('LR_API_KEY', 'LOGINRADIUS_API_KEY_HERE'); // Replace LOGINRADIUS_API_KEY_HERE with your site API key that provide in LoginRadius account. -define('LR_API_SECRET', 'LOGINRADIUS_API_SECRET_HERE'); // Replace LOGINRADIUS_API_SECRET_HERE with your site Secret key that provide in LoginRadius account. - -define('API_REQUEST_SIGNING', ''); // Pass boolean true if this option is enabled on you app. -define('API_REGION', ''); // Pass APi Region for your app -define('ORIGIN_IP', 'CLIENT_IP_ADDRESS'); // Replace CLIENT_IP_ADDRESS with the Client Ip Address,LoginRadius 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. - -define('PROTOCOL', 'PROXY_PROTOCOL'); // Replace PROXY_PROTOCOL with your proxy server protocoal ie http or https. -define('HOST', 'PROXY_HOST'); // Replace PROXY_HOST with your proxy server host. -define('PORT', 'PROXY_PORT'); // Replace PROXY_PORT with your proxy server port. -define('USER', 'PROXY_USER'); // Replace PROXY_USER with your proxy server username. -define('PASSWORD', 'PROXY_PASSWORD'); // Replace PROXY_PASSWORD with your proxy server password. - -define('API_DOMAIN', 'DEFINE_CUSTOM_API_DOMAIN'); // Custom API Domain -define('REFERER', 'DEFINE_REFERER'); // The referer header is used to determine the registration source from which the user has created the account and is synced in the RegistrationSource field for the user profile. When initializing the SDK, you can optionally specify Referer Header. - - -``` - ->Replace 'LOGINRADIUS_SITE_NAME_HERE', 'LOGINRADIUS_API_KEY_HERE' and 'LOGINRADIUS_API_SECRET_HERE' in the above code with your LoginRadius Site Name, LoginRadius API Key, and Secret.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 Request Signing:- define('API_REQUEST_SIGNING', true); When 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. - ->Pass the **proxy configurations** if you want to **set Http Server Proxy Configuration** through your PHP SDK. Protocol, Host and port are required to set Http Server Proxy configuration (username and password are optional). - ->If you have Custom API Domain then define 'API_DOMAIN' then replaced it with your custom API domain, Otherwise no need to define this option in configuration. - -### Implementation - -Importing/aliasing with the use operator. - -```php -use \LoginRadiusSDK\Utility\Functions; -use \LoginRadiusSDK\Utility\SOTT; -use \LoginRadiusSDK\LoginRadiusException; -use \LoginRadiusSDK\Clients\IHttpClientInterface; -use \LoginRadiusSDK\Clients\DefaultHttpClient; -use \LoginRadiusSDK\CustomerRegistration\Account\AccountAPI; -use \LoginRadiusSDK\CustomerRegistration\Account\RoleAPI; -use \LoginRadiusSDK\CustomerRegistration\Account\SottAPI; -use \LoginRadiusSDK\CustomerRegistration\Advanced\ConfigurationAPI; -use \LoginRadiusSDK\CustomerRegistration\Advanced\ConsentManagementAPI; -use \LoginRadiusSDK\CustomerRegistration\Advanced\CustomObjectAPI; -use \LoginRadiusSDK\CustomerRegistration\Advanced\MultiFactorAuthenticationAPI; -use \LoginRadiusSDK\CustomerRegistration\Advanced\ReAuthenticationAPI; -use \LoginRadiusSDK\CustomerRegistration\Advanced\WebHookAPI; -use \LoginRadiusSDK\CustomerRegistration\Authentication\AuthenticationAPI; -use \LoginRadiusSDK\CustomerRegistration\Authentication\OneTouchLoginAPI; -use \LoginRadiusSDK\CustomerRegistration\Authentication\PasswordLessLoginAPI; -use \LoginRadiusSDK\CustomerRegistration\Authentication\PhoneAuthenticationAPI; -use \LoginRadiusSDK\CustomerRegistration\Authentication\PINAuthenticationAPI; -use \LoginRadiusSDK\CustomerRegistration\Authentication\RiskBasedAuthenticationAPI; -use \LoginRadiusSDK\CustomerRegistration\Authentication\SmartLoginAPI; -use \LoginRadiusSDK\CustomerRegistration\Social\SocialAPI; -use \LoginRadiusSDK\CustomerRegistration\Social\NativeSocialAPI; -use \LoginRadiusSDK\CustomerRegistration\Authentication\SlidingTokenAPI; - -``` - -Create a LoginRadius object : -```php -$accountObject = new AccountAPI(); - -``` - -### API Examples - -#### Partial API response -We have an option to select fields(partial response) which you require as an API response.
-For this, you need to pass an extra parameter(optional) at the end of each API function. - -- If any field passed does not exist in response, will be ignored. -- In case of nested, only root object is selectable. -- Values should be separated by the comma. - -**Example:** - -```php - -$fields= "email, username"; -$email = 'xxxxxr@xxxxx.com'; - -$result = $accountObject->accountProfileByEmail($email,$fields); - -``` - -**Output Response:** - -```php -{ - UserName: 'test1213', - Email: [ { Type: 'Primary', Value: 'test1213@sthus.com' } ] -} - -``` - - - -### Authentication API - -List of APIs in this Section:
-[PUT : Auth Update Profile by Token](#UpdateProfileByAccessToken-put-)
-[PUT : Auth Unlock Account by Access Token](#UnlockAccountByToken-put-)
-[PUT : Auth Verify Email By OTP](#VerifyEmailByOTP-put-)
-[PUT : Auth Reset Password by Security Answer and Email](#ResetPasswordBySecurityAnswerAndEmail-put-)
-[PUT : Auth Reset Password by Security Answer and Phone](#ResetPasswordBySecurityAnswerAndPhone-put-)
-[PUT : Auth Reset Password by Security Answer and UserName](#ResetPasswordBySecurityAnswerAndUserName-put-)
-[PUT : Auth Reset Password by Reset Token](#ResetPasswordByResetToken-put-)
-[PUT : Auth Reset Password by OTP](#ResetPasswordByEmailOTP-put-)
-[PUT : Auth Reset Password by OTP and UserName](#ResetPasswordByOTPAndUserName-put-)
-[PUT : Auth Change Password](#ChangePassword-put-)
-[PUT : Auth Set or Change UserName](#SetOrChangeUserName-put-)
-[PUT : Auth Resend Email Verification](#AuthResendEmailVerification-put-)
-[POST : Auth Add Email](#AddEmail-post-)
-[POST : Auth Login by Email](#LoginByEmail-post-)
-[POST : Auth Login by Username](#LoginByUserName-post-)
-[POST : Auth Forgot Password](#ForgotPassword-post-)
-[POST : Auth Link Social Identities](#LinkSocialIdentities-post-)
-[POST : Auth Link Social Identities By Ping](#LinkSocialIdentitiesByPing-post-)
-[POST : Auth User Registration by Email](#UserRegistrationByEmail-post-)
-[POST : Auth User Registration By Captcha](#UserRegistrationByCaptcha-post-)
-[GET : Get Security Questions By Email](#GetSecurityQuestionsByEmail-get-)
-[GET : Get Security Questions By UserName](#GetSecurityQuestionsByUserName-get-)
-[GET : Get Security Questions By Phone](#GetSecurityQuestionsByPhone-get-)
-[GET : Get Security Questions By Access Token](#GetSecurityQuestionsByAccessToken-get-)
-[GET : Auth Validate Access token](#AuthValidateAccessToken-get-)
-[GET : Access Token Invalidate](#AuthInValidateAccessToken-get-)
-[GET : Access Token Info](#GetAccessTokenInfo-get-)
-[GET : Auth Read all Profiles by Token](#GetProfileByAccessToken-get-)
-[GET : Auth Send Welcome Email](#SendWelcomeEmail-get-)
-[GET : Auth Delete Account](#DeleteAccountByDeleteToken-get-)
-[GET : Get Profile By Ping](#GetProfileByPing-get-)
-[GET : Auth Check Email Availability](#CheckEmailAvailability-get-)
-[GET : Auth Verify Email](#VerifyEmail-get-)
-[GET : Auth Check UserName Availability](#CheckUserNameAvailability-get-)
-[GET : Auth Privacy Policy Accept](#AcceptPrivacyPolicy-get-)
-[GET : Auth Privacy Policy History By Access Token](#GetPrivacyPolicyHistoryByAccessToken-get-)
-[GET : Auth send verification Email for linking social profiles](#AuthSendVerificationEmailForLinkingSocialProfiles-get-)
-[DELETE : Auth Delete Account with Email Confirmation](#DeleteAccountWithEmailConfirmation-delete-)
-[DELETE : Auth Remove Email](#RemoveEmail-delete-)
-[DELETE : Auth Unlink Social Identities](#UnlinkSocialIdentities-delete-)
- -If you have not already initialized the Authentication object do so now -```php -$authenticationAPI = new AuthenticationAPI(); -``` - - -
Auth Update Profile by Token (PUT)
- - - -This 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/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ -"firstName" : "", -"lastName" : "" -}'; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$nullSupport = true; //Optional -$smsTemplate = "smsTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional -$isVoiceOtp = false; //Optional -$options = "options"; //Optional - -$result = $authenticationAPI->updateProfileByAccessToken($access_token,$payload,$emailTemplate,$fields,$nullSupport,$smsTemplate,$verificationUrl,$isVoiceOtp,$options); - ``` - - -
Auth Unlock Account by Access Token (PUT)
- - -This 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/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ -"g-recaptcha-response" : "" -}'; //Required - -$result = $authenticationAPI->unlockAccountByToken($access_token,$payload); - ``` - - -
Auth Verify Email By OTP (PUT)
- - - -This 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/) - - ```php - - $payload = '{ -"email" : "", -"otp" : "" -}'; //Required -$fields = null; //Optional -$url = "url"; //Optional -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional - -$result = $authenticationAPI->verifyEmailByOTP($payload,$fields,$url,$welcomeEmailTemplate); - ``` - - -
Auth Reset Password by Security Answer and Email (PUT)
- - -This 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) - - ```php - - $payload = '{ -"email" : "", -"password" : "", -"securityAnswer" : {"QuestionID":"Answer"} -}'; //Required - -$result = $authenticationAPI->resetPasswordBySecurityAnswerAndEmail($payload); - ``` - - -
Auth Reset Password by Security Answer and Phone (PUT)
- - -This 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) - - ```php - - $payload = '{ -"password" : "", -"phone" : "", -"securityAnswer" : {"QuestionID":"Answer"} -}'; //Required - -$result = $authenticationAPI->resetPasswordBySecurityAnswerAndPhone($payload); - ``` - - -
Auth Reset Password by Security Answer and UserName (PUT)
- - -This 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) - - ```php - - $payload = '{ -"password" : "", -"securityAnswer" : {"QuestionID":"Answer"}, -"userName" : "" -}'; //Required - -$result = $authenticationAPI->resetPasswordBySecurityAnswerAndUserName($payload); - ``` - - -
Auth Reset Password by Reset Token (PUT)
- - -This 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) - - ```php - - $payload = '{ -"password" : "", -"resetToken" : "" -}'; //Required - -$result = $authenticationAPI->resetPasswordByResetToken($payload); - ``` - - -
Auth Reset Password by OTP (PUT)
- - -This 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) - - ```php - - $payload = '{ -"email" : "", -"otp" : "", -"password" : "" -}'; //Required - -$result = $authenticationAPI->resetPasswordByEmailOTP($payload); - ``` - - -
Auth Reset Password by OTP and UserName (PUT)
- - -This 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/) - - ```php - - $payload = '{ -"otp" : "", -"password" : "", -"userName" : "" -}'; //Required - -$result = $authenticationAPI->resetPasswordByOTPAndUserName($payload); - ``` - - -
Auth Change Password (PUT)
- - -This 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) - - ```php - -$access_token = "access_token"; //Required -$newPassword = "newPassword"; //Required -$oldPassword = "oldPassword"; //Required - -$result = $authenticationAPI->changePassword($access_token,$newPassword,$oldPassword); - ``` - - -
Auth Set or Change UserName (PUT)
- - -This 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/) - - ```php - -$access_token = "access_token"; //Required -$username = "username"; //Required - -$result = $authenticationAPI->setOrChangeUserName($access_token,$username); - ``` - - -
Auth Resend Email Verification (PUT)
- - -This 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/) - - ```php - -$email = "email"; //Required -$emailTemplate = "emailTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional - -$result = $authenticationAPI->authResendEmailVerification($email,$emailTemplate,$verificationUrl); - ``` - - -
Auth Add Email (POST)
- - -This 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) - - ```php - -$access_token = "access_token"; //Required -$email = "email"; //Required -$type = "type"; //Required -$emailTemplate = "emailTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional - -$result = $authenticationAPI->addEmail($access_token,$email,$type,$emailTemplate,$verificationUrl); - ``` - - -
Auth Login by Email (POST)
- - -This 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) - - ```php - - $payload = '{ -"email" : "", -"password" : "" -}'; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$loginUrl = "loginUrl"; //Optional -$verificationUrl = "verificationUrl"; //Optional - -$result = $authenticationAPI->loginByEmail($payload,$emailTemplate,$fields,$loginUrl,$verificationUrl); - ``` - - -
Auth Login by Username (POST)
- - -This 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) - - ```php - - $payload = '{ -"password" : "", -"username" : "" -}'; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$loginUrl = "loginUrl"; //Optional -$verificationUrl = "verificationUrl"; //Optional - -$result = $authenticationAPI->loginByUserName($payload,$emailTemplate,$fields,$loginUrl,$verificationUrl); - ``` - - -
Auth Forgot Password (POST)
- - -This 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) - - ```php - -$email = "email"; //Required -$resetPasswordUrl = "resetPasswordUrl"; //Required -$emailTemplate = "emailTemplate"; //Optional - -$result = $authenticationAPI->forgotPassword($email,$resetPasswordUrl,$emailTemplate); - ``` - - -
Auth Link Social Identities (POST)
- - -This API is used to link up a social provider account with an existing LoginRadius account on the basis of 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) - - ```php - -$access_token = "access_token"; //Required -$candidateToken = "candidateToken"; //Required - -$result = $authenticationAPI->linkSocialIdentities($access_token,$candidateToken); - ``` - - -
Auth Link Social Identities By Ping (POST)
- - -This 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) - - ```php - -$access_token = "access_token"; //Required -$clientGuid = "clientGuid"; //Required - -$result = $authenticationAPI->linkSocialIdentitiesByPing($access_token,$clientGuid); - ``` - - -
Auth User Registration by Email (POST)
- - -This 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) - - ```php - - $payload = '{ -"email" : [ { - "type" : "" , - "value" : "" -} ] , -"firstName" : "", -"lastName" : "", -"password" : "" -}'; //Required -$sott = "sott"; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$options = "options"; //Optional -$verificationUrl = "verificationUrl"; //Optional -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $authenticationAPI->userRegistrationByEmail($payload,$sott,$emailTemplate,$fields,$options,$verificationUrl,$welcomeEmailTemplate,$isVoiceOtp); - ``` - - -
Auth User Registration By Captcha (POST)
- - -This 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) - - ```php - - $payload = '{ -"email" : [ { - "type" : "" , - "value" : "" -} ] , -"firstName" : "", -"g-recaptcha-response" : "", -"lastName" : "", -"password" : "" -}'; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$options = "options"; //Optional -$smsTemplate = "smsTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $authenticationAPI->userRegistrationByCaptcha($payload,$emailTemplate,$fields,$options,$smsTemplate,$verificationUrl,$welcomeEmailTemplate,$isVoiceOtp); - ``` - - -
Get Security Questions By Email (GET)
- - -This 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/) - - ```php - -$email = "email"; //Required - -$result = $authenticationAPI->getSecurityQuestionsByEmail($email); - ``` - - -
Get Security Questions By UserName (GET)
- - -This 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/) - - ```php - -$userName = "userName"; //Required - -$result = $authenticationAPI->getSecurityQuestionsByUserName($userName); - ``` - - -
Get Security Questions By Phone (GET)
- - -This 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/) - - ```php - -$phone = "phone"; //Required - -$result = $authenticationAPI->getSecurityQuestionsByPhone($phone); - ``` - - -
Get Security Questions By Access Token (GET)
- - -This 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/) - - ```php - -$access_token = "access_token"; //Required - -$result = $authenticationAPI->getSecurityQuestionsByAccessToken($access_token); - ``` - - -
Auth Validate Access token (GET)
- - -This 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/) - - ```php - -$access_token = "access_token"; //Required - -$result = $authenticationAPI->authValidateAccessToken($access_token); - ``` - - -
Access Token Invalidate (GET)
- - -This 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/) - - ```php - -$access_token = "access_token"; //Required -$preventRefresh = true; //Optional - -$result = $authenticationAPI->authInValidateAccessToken($access_token,$preventRefresh); - ``` - - -
Access Token Info (GET)
- - -This 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/) - - ```php - -$access_token = "access_token"; //Required - -$result = $authenticationAPI->getAccessTokenInfo($access_token); - ``` - - -
Auth Read all Profiles by Token (GET)
- - -This 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/) - - ```php - -$access_token = "access_token"; //Required -$fields = null; //Optional -$emailTemplate = "emailTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional - -$result = $authenticationAPI->getProfileByAccessToken($access_token,$fields,$emailTemplate,$verificationUrl,$welcomeEmailTemplate); - ``` - - -
Auth Send Welcome Email (GET)
- - -This API sends a welcome email - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/auth-send-welcome-email/) - - ```php - -$access_token = "access_token"; //Required -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional - -$result = $authenticationAPI->sendWelcomeEmail($access_token,$welcomeEmailTemplate); - ``` - - -
Auth Delete Account (GET)
- - -This 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/) - - ```php - -$deletetoken = "deletetoken"; //Required - -$result = $authenticationAPI->deleteAccountByDeleteToken($deletetoken); - ``` - -
Get Profile By Ping (GET)
- - - - This 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/social-login/social-login-by-ping/) - - ```php - -$clientGuid = "clientGuid"; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$verificationUrl = "verificationUrl"; //Optional -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional - -$result = $authenticationAPI->getProfileByPing($clientGuid,$emailTemplate,$fields,$verificationUrl,$welcomeEmailTemplate); - ``` - -
Auth Check Email Availability (GET)
- - -This 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/) - - ```php - -$email = "email"; //Required - -$result = $authenticationAPI->checkEmailAvailability($email); - ``` - - -
Auth Verify Email (GET)
- - -This 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/) - - ```php - -$verificationToken = "verificationToken"; //Required -$fields = null; //Optional -$url = "url"; //Optional -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional -$uuid = "uuid"; //Optional - -$result = $authenticationAPI->verifyEmail($verificationToken,$fields,$url,$welcomeEmailTemplate,$uuid); - ``` - - -
Auth Check UserName Availability (GET)
- - -This 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/) - - ```php - -$username = "username"; //Required - -$result = $authenticationAPI->checkUserNameAvailability($username); - ``` - - -
Auth Privacy Policy Accept (GET)
- - -This 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) - - ```php - -$access_token = "access_token"; //Required -$fields = null; //Optional - -$result = $authenticationAPI->acceptPrivacyPolicy($access_token,$fields); - ``` - -
Auth send verification Email for linking social profiles (GET)
- - This 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/) - - - ```php - -$access_token = "access_token"; //Required -$clientguid = "clientguid"; //Required - -$result = $authenticationAPI->authSendVerificationEmailForLinkingSocialProfiles($access_token,$clientguid); - ``` - - -
Auth Privacy Policy History By Access Token (GET)
- - -This 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/) - - ```php - -$access_token = "access_token"; //Required - -$result = $authenticationAPI->getPrivacyPolicyHistoryByAccessToken($access_token); - ``` - - -
Auth Delete Account with Email Confirmation (DELETE)
- - -This 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/) - - ```php - -$access_token = "access_token"; //Required -$deleteUrl = "deleteUrl"; //Optional -$emailTemplate = "emailTemplate"; //Optional - -$result = $authenticationAPI->deleteAccountWithEmailConfirmation($access_token,$deleteUrl,$emailTemplate); - ``` - - -
Auth Remove Email (DELETE)
- - -This 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) - - ```php - -$access_token = "access_token"; //Required -$email = "email"; //Required - -$result = $authenticationAPI->removeEmail($access_token,$email); - ``` - - -
Auth Unlink Social Identities (DELETE)
- - -This 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) - - ```php - -$access_token = "access_token"; //Required -$provider = "provider"; //Required -$providerId = "providerId"; //Required - -$result = $authenticationAPI->unlinkSocialIdentities($access_token,$provider,$providerId); - ``` - - - - - -### Account API - -List of APIs in this Section:
-[PUT : Account Update](#UpdateAccountByUid-put-)
-[PUT : Update Phone ID by UID](#UpdatePhoneIDByUid-put-)
-[PUT : Account Set Password](#SetAccountPasswordByUid-put-)
-[PUT : Account Invalidate Verification Email](#InvalidateAccountEmailVerification-put-)
-[PUT : Reset phone ID verification](#ResetPhoneIDVerificationByUid-put-)
-[PUT : Upsert Email](#UpsertEmail-put-)
-[PUT : Update UID](#AccountUpdateUid-put-)
-[POST : Account Create](#CreateAccount-post-)
-[POST : Forgot Password token](#GetForgotPasswordToken-post-)
-[POST : Email Verification token](#GetEmailVerificationToken-post-)
-[POST : Multipurpose Email Token Generation API](#MultipurposeEmailTokenGeneration-post-)
-[POST : Multipurpose SMS OTP Generation API](#MultipurposeSMSOTPGeneration-post-)
-[GET : Get Privacy Policy History By Uid](#GetPrivacyPolicyHistoryByUid-get-)
-[GET : Account Profiles by Email](#GetAccountProfileByEmail-get-)
-[GET : Account Profiles by Username](#GetAccountProfileByUserName-get-)
-[GET : Account Profile by Phone ID](#GetAccountProfileByPhone-get-)
-[GET : Account Profiles by UID](#GetAccountProfileByUid-get-)
-[GET : Account Password](#GetAccountPasswordHashByUid-get-)
-[GET : Access Token based on UID or User impersonation API](#GetAccessTokenByUid-get-)
-[GET : Refresh Access Token by Refresh Token](#RefreshAccessTokenByRefreshToken-get-)
-[GET : Revoke Refresh Token](#RevokeRefreshToken-get-)
-[GET : Account Identities by Email](#GetAccountIdentitiesByEmail-get-)
-[DELETE : Account Delete](#DeleteAccountByUid-delete-)
-[DELETE : Account Remove Email](#RemoveEmail-delete-)
-[DELETE : Revoke All Refresh Token](#RevokeAllRefreshToken-delete-)
-[DELETE : Delete User Profiles By Email](#AccountDeleteByEmail-delete-)
- -If you have not already initialized the Account object do so now -```php -$accountAPI = new AccountAPI(); -``` - - -
Account Update (PUT)
- - -This API is used to update the information of existing accounts in your Cloud Storage. See our Advanced API Usage section Here for more capabilities. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/account-update) - - ```php - - $payload = '{ -"firstName" : "", -"lastName" : "" -}'; //Required -$uid = "uid"; //Required -$fields = null; //Optional -$nullSupport = true; //Optional - -$result = $accountAPI->updateAccountByUid($payload,$uid,$fields,$nullSupport); - ``` - - -
Update Phone ID by UID (PUT)
- - -This 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) - - ```php - -$phone = "phone"; //Required -$uid = "uid"; //Required -$fields = null; //Optional - -$result = $accountAPI->updatePhoneIDByUid($phone,$uid,$fields); - ``` - - -
Account Set Password (PUT)
- - -This 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) - - ```php - -$password = "password"; //Required -$uid = "uid"; //Required - -$result = $accountAPI->setAccountPasswordByUid($password,$uid); - ``` - - -
Account Invalidate Verification Email (PUT)
- - -This 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) - - ```php - -$uid = "uid"; //Required -$emailTemplate = "emailTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional - -$result = $accountAPI->invalidateAccountEmailVerification($uid,$emailTemplate,$verificationUrl); - ``` - - -
Reset phone ID verification (PUT)
- - -This 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) - - ```php - -$uid = "uid"; //Required -$smsTemplate = "smsTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $accountAPI->resetPhoneIDVerificationByUid($uid,$smsTemplate,$isVoiceOtp); - ``` - - -
Upsert Email (PUT)
- - -This 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) - - ```php - - $payload = '{ -"email" : [ { - "type" : "" , - "value" : "" -} ] -}'; //Required -$uid = "uid"; //Required -$fields = null; //Optional - -$result = $accountAPI->upsertEmail($payload,$uid,$fields); - ``` - - -
Update UID (PUT)
- -This 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/) - - ```php - - $payload = '{ -"newUid" : "" -}'; //Required -$uid = "uid"; //Required - -$result = $accountAPI->accountUpdateUid($payload,$uid); - ``` - - -
Account Create (POST)
- -This API is used to create an account in Cloud Storage. This API bypass the normal email verification process and manually creates the user.

In 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) - - ```php - - $payload = '{ -"email" : [ { - "type" : "" , - "value" : "" -} ] , -"firstName" : "", -"lastName" : "", -"password" : "" -}'; //Required -$fields = null; //Optional - -$result = $accountAPI->createAccount($payload,$fields); - ``` - - -
Forgot Password token (POST)
- -This 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) - - ```php - -$email = "email"; //Required -$emailTemplate = "emailTemplate"; //Optional -$resetPasswordUrl = "resetPasswordUrl"; //Optional -$sendEmail = true; //Optional - -$result = $accountAPI->getForgotPasswordToken($email,$emailTemplate,$resetPasswordUrl,$sendEmail); - ``` - - -
Email Verification token (POST)
- -This API Returns an Email Verification token. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/account/get-email-verification-token) - - ```php - -$email = "email"; //Required - -$result = $accountAPI->getEmailVerificationToken($email); - ``` - -
Multipurpose Email Token Generation API (POST)
- - This 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/) - - - ```php - - $payload = '{ -"clientguid" : "", -"email" : "", -"name" : "", -"type" : "", -"uid" : "", -"userName" : "" -}'; //Required -$tokentype = "tokentype"; //Required - -$result = $accountAPI->multipurposeEmailTokenGeneration($payload,$tokentype); - ``` - - -
Multipurpose SMS OTP Generation API (POST)
- - This 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/) - - - ```php - - $payload = '{ -"name" : "", -"phone" : "", -"uid" : "" -}'; //Required -$smsotptype = "smsotptype"; //Required - -$result = $accountAPI->multipurposeSMSOTPGeneration($payload,$smsotptype); - ``` - -
Get Privacy Policy History By Uid (GET)
- -This 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/) - - ```php - -$uid = "uid"; //Required - -$result = $accountAPI->getPrivacyPolicyHistoryByUid($uid); - ``` - - -
Account Profiles by Email (GET)
- -This 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) - - ```php - -$email = "email"; //Required -$fields = null; //Optional - -$result = $accountAPI->getAccountProfileByEmail($email,$fields); - ``` - - -
Account Profiles by Username (GET)
- -This 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) - - ```php - -$userName = "userName"; //Required -$fields = null; //Optional - -$result = $accountAPI->getAccountProfileByUserName($userName,$fields); - ``` - - -
Account Profile by Phone ID (GET)
- -This 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/) - - ```php - -$phone = "phone"; //Required -$fields = null; //Optional - -$result = $accountAPI->getAccountProfileByPhone($phone,$fields); - ``` - - -
Account Profiles by UID (GET)
- -This 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) - - ```php - -$uid = "uid"; //Required -$fields = null; //Optional - -$result = $accountAPI->getAccountProfileByUid($uid,$fields); - ``` - - -
Account Password (GET)
- -This 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) - - ```php - -$uid = "uid"; //Required - -$result = $accountAPI->getAccountPasswordHashByUid($uid); - ``` - - -
Access Token based on UID or User impersonation API (GET)
- -The 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) - - ```php - -$uid = "uid"; //Required - -$result = $accountAPI->getAccessTokenByUid($uid); - ``` - - -
Refresh Access Token by Refresh Token (GET)
- -This 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) - - ```php - -$refresh_Token = "refresh_Token"; //Required - -$result = $accountAPI->refreshAccessTokenByRefreshToken($refresh_Token); - ``` - - -
Revoke Refresh Token (GET)
- -The 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) - - ```php - -$refresh_Token = "refresh_Token"; //Required - -$result = $accountAPI->revokeRefreshToken($refresh_Token); - ``` - - -
Account Identities by Email (GET)
- -Note: 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) - - ```php - -$email = "email"; //Required -$fields = null; //Optional - -$result = $accountAPI->getAccountIdentitiesByEmail($email,$fields); - ``` - - -
Account Delete (DELETE)
- -This 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) - - ```php - -$uid = "uid"; //Required - -$result = $accountAPI->deleteAccountByUid($uid); - ``` - - -
Account Remove Email (DELETE)
- -Use 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) - - ```php - -$email = "email"; //Required -$uid = "uid"; //Required -$fields = null; //Optional - -$result = $accountAPI->removeEmail($email,$uid,$fields); - ``` - -
Revoke All Refresh Token (DELETE)
- - The 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/) - - - ```php - -$uid = "uid"; //Required - -$result = $accountAPI->revokeAllRefreshToken($uid); - ``` - - -
Delete User Profiles By Email (DELETE)
- -This 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/) - - ```php - -$email = "email"; //Required - -$result = $accountAPI->accountDeleteByEmail($email); - ``` - - - - - -### Social API - -List of APIs in this Section:
-[GET : Access Token](#ExchangeAccessToken-get-)
-[GET : Refresh Token](#RefreshAccessToken-get-)
-[GET : Token Validate](#ValidateAccessToken-get-)
-[GET : Access Token Invalidate](#InValidateAccessToken-get-)
-[GET : Get Active Session Details](#GetActiveSession-get-)
-[GET : Get Active Session By Account Id](#GetActiveSessionByAccountID-get-)
-[GET : Get Active Session By Profile Id](#GetActiveSessionByProfileID-get-)
- -If you have not already initialized the Social object do so now -```php -$socialAPI = new SocialAPI(); -``` - - -
Access Token (GET)
- -This 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) - - ```php - -$token = "token"; //Required - -$result = $socialAPI->exchangeAccessToken($token); - ``` - - -
Refresh Token (GET)
- -The 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.

Supported Providers : Facebook,Yahoo,Google,Twitter, Linkedin.

Contact LoginRadius support team to enable this API. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/refresh-token/refresh-token) - - ```php - -$access_Token = "access_Token"; //Required -$expiresIn = 0; //Optional -$isWeb = true; //Optional - -$result = $socialAPI->refreshAccessToken($access_Token,$expiresIn,$isWeb); - ``` - - -
Token Validate (GET)
- -This 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) - - ```php - -$access_token = "access_token"; //Required - -$result = $socialAPI->validateAccessToken($access_token); - ``` - - -
Access Token Invalidate (GET)
- -This 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) - - ```php - -$access_token = "access_token"; //Required - -$result = $socialAPI->inValidateAccessToken($access_token); - ``` - - -
Get Active Session Details (GET)
- -This 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) - - ```php - -$token = "token"; //Required - -$result = $socialAPI->getActiveSession($token); - ``` - - -
Get Active Session By Account Id (GET)
- -This 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/) - - ```php - -$accountId = "accountId"; //Required - -$result = $socialAPI->getActiveSessionByAccountID($accountId); - ``` - - -
Get Active Session By Profile Id (GET)
- -This 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/) - - ```php - -$profileId = "profileId"; //Required - -$result = $socialAPI->getActiveSessionByProfileID($profileId); - ``` - - -### CustomObject API - -List of APIs in this Section:
-[PUT : Custom Object Update by Access Token](#UpdateCustomObjectByToken-put-)
-[PUT : Custom Object Update by UID](#UpdateCustomObjectByUid-put-)
-[POST : Create Custom Object by Token](#CreateCustomObjectByToken-post-)
-[POST : Create Custom Object by UID](#CreateCustomObjectByUid-post-)
-[GET : Custom Object by Token](#GetCustomObjectByToken-get-)
-[GET : Custom Object by ObjectRecordId and Token](#GetCustomObjectByRecordIDAndToken-get-)
-[GET : Custom Object By UID](#GetCustomObjectByUid-get-)
-[GET : Custom Object by ObjectRecordId and UID](#GetCustomObjectByRecordID-get-)
-[DELETE : Custom Object Delete by Record Id And Token](#DeleteCustomObjectByToken-delete-)
-[DELETE : Account Delete Custom Object by ObjectRecordId](#DeleteCustomObjectByRecordID-delete-)
- -If you have not already initialized the CustomObject object do so now -```php -$customObjectAPI = new CustomObjectAPI(); -``` - - -
Custom Object Update by Access Token (PUT)
- -This 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) - - ```php - -$access_token = "access_token"; //Required -$objectName = "objectName"; //Required -$objectRecordId = "objectRecordId"; //Required - $payload = '{"customdata1": "Store my customdata1 value" }'; //Required -$updateType = "updateType"; //Optional - -$result = $customObjectAPI->updateCustomObjectByToken($access_token,$objectName,$objectRecordId,$payload,$updateType); - ``` - - -
Custom Object Update by UID (PUT)
- -This 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) - - ```php - -$objectName = "objectName"; //Required -$objectRecordId = "objectRecordId"; //Required - $payload = '{"customdata1": "Store my customdata1 value" }'; //Required -$uid = "uid"; //Required -$updateType = "updateType"; //Optional - -$result = $customObjectAPI->updateCustomObjectByUid($objectName,$objectRecordId,$payload,$uid,$updateType); - ``` - - -
Create Custom Object by Token (POST)
- -This 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) - - ```php - -$access_token = "access_token"; //Required -$objectName = "objectName"; //Required - $payload = '{"customdata1": "Store my customdata1 value" }'; //Required - -$result = $customObjectAPI->createCustomObjectByToken($access_token,$objectName,$payload); - ``` - - -
Create Custom Object by UID (POST)
- -This 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) - - ```php - -$objectName = "objectName"; //Required - $payload = '{"customdata1": "Store my customdata1 value" }'; //Required -$uid = "uid"; //Required - -$result = $customObjectAPI->createCustomObjectByUid($objectName,$payload,$uid); - ``` - - -
Custom Object by Token (GET)
- -This 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) - - ```php - -$access_token = "access_token"; //Required -$objectName = "objectName"; //Required - -$result = $customObjectAPI->getCustomObjectByToken($access_token,$objectName); - ``` - - -
Custom Object by ObjectRecordId and Token (GET)
- -This 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) - - ```php - -$access_token = "access_token"; //Required -$objectName = "objectName"; //Required -$objectRecordId = "objectRecordId"; //Required - -$result = $customObjectAPI->getCustomObjectByRecordIDAndToken($access_token,$objectName,$objectRecordId); - ``` - - -
Custom Object By UID (GET)
- -This 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) - - ```php - -$objectName = "objectName"; //Required -$uid = "uid"; //Required - -$result = $customObjectAPI->getCustomObjectByUid($objectName,$uid); - ``` - - -
Custom Object by ObjectRecordId and UID (GET)
- -This 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) - - ```php - -$objectName = "objectName"; //Required -$objectRecordId = "objectRecordId"; //Required -$uid = "uid"; //Required - -$result = $customObjectAPI->getCustomObjectByRecordID($objectName,$objectRecordId,$uid); - ``` - - -
Custom Object Delete by Record Id And Token (DELETE)
- -This 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) - - ```php - -$access_token = "access_token"; //Required -$objectName = "objectName"; //Required -$objectRecordId = "objectRecordId"; //Required - -$result = $customObjectAPI->deleteCustomObjectByToken($access_token,$objectName,$objectRecordId); - ``` - - -
Account Delete Custom Object by ObjectRecordId (DELETE)
- -This 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) - - ```php - -$objectName = "objectName"; //Required -$objectRecordId = "objectRecordId"; //Required -$uid = "uid"; //Required - -$result = $customObjectAPI->deleteCustomObjectByRecordID($objectName,$objectRecordId,$uid); - ``` - - - - - -### PhoneAuthentication API - -List of APIs in this Section:
-[PUT : Phone Reset Password by OTP](#ResetPasswordByPhoneOTP-put-)
-[PUT : Phone Verification OTP](#PhoneVerificationByOTP-put-)
-[PUT : Phone Verification OTP by Token](#PhoneVerificationOTPByAccessToken-put-)
-[PUT : Phone Number Update](#UpdatePhoneNumber-put-)
-[POST : Phone Login](#LoginByPhone-post-)
-[POST : Phone Forgot Password by OTP](#ForgotPasswordByPhoneOTP-post-)
-[POST : Phone Resend Verification OTP](#PhoneResendVerificationOTP-post-)
-[POST : Phone Resend Verification OTP By Token](#PhoneResendVerificationOTPByToken-post-)
-[POST : Phone User Registration by SMS](#UserRegistrationByPhone-post-)
-[GET : Phone Number Availability](#CheckPhoneNumberAvailability-get-)
-[DELETE : Remove Phone ID by Access Token](#RemovePhoneIDByAccessToken-delete-)
- -If you have not already initialized the PhoneAuthentication object do so now -```php -$phoneAuthenticationAPI = new PhoneAuthenticationAPI(); -``` - - -
Phone Reset Password by OTP (PUT)
- -This 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) - - ```php - - $payload = '{ -"otp" : "", -"password" : "", -"phone" : "" -}'; //Required - -$result = $phoneAuthenticationAPI->resetPasswordByPhoneOTP($payload); - ``` - - -
Phone Verification OTP (PUT)
- -This 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) - - ```php - -$otp = "otp"; //Required -$phone = "phone"; //Required -$fields = null; //Optional -$smsTemplate = "smsTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $phoneAuthenticationAPI->phoneVerificationByOTP($otp,$phone,$fields,$smsTemplate,$isVoiceOtp); - ``` - - -
Phone Verification OTP by Token (PUT)
- -This 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) - - ```php - -$access_token = "access_token"; //Required -$otp = "otp"; //Required -$smsTemplate = "smsTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $phoneAuthenticationAPI->phoneVerificationOTPByAccessToken($access_token,$otp,$smsTemplate,$isVoiceOtp); - ``` - - -
Phone Number Update (PUT)
- -This 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) - - ```php - -$access_token = "access_token"; //Required -$phone = "phone"; //Required -$smsTemplate = "smsTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $phoneAuthenticationAPI->updatePhoneNumber($access_token,$phone,$smsTemplate,$isVoiceOtp); - ``` - - -
Phone Login (POST)
- -This 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) - - ```php - - $payload = '{ -"password" : "", -"phone" : "" -}'; //Required -$fields = null; //Optional -$loginUrl = "loginUrl"; //Optional -$smsTemplate = "smsTemplate"; //Optional - -$result = $phoneAuthenticationAPI->loginByPhone($payload,$fields,$loginUrl,$smsTemplate); - ``` - - -
Phone Forgot Password by OTP (POST)
- -This 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) - - ```php - -$phone = "phone"; //Required -$smsTemplate = "smsTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $phoneAuthenticationAPI->forgotPasswordByPhoneOTP($phone,$smsTemplate,$isVoiceOtp); - ``` - - -
Phone Resend Verification OTP (POST)
- -This 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) - - ```php - -$phone = "phone"; //Required -$smsTemplate = "smsTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $phoneAuthenticationAPI->phoneResendVerificationOTP($phone,$smsTemplate,$isVoiceOtp); - ``` - - -
Phone Resend Verification OTP By Token (POST)
- -This 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) - - ```php - -$access_token = "access_token"; //Required -$phone = "phone"; //Required -$smsTemplate = "smsTemplate"; //Optional - -$result = $phoneAuthenticationAPI->phoneResendVerificationOTPByToken($access_token,$phone,$smsTemplate); - ``` - - -
Phone User Registration by SMS (POST)
- -This 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) - - ```php - - $payload = '{ -"email" : [ { - "type" : "" , - "value" : "" -}] , -"firstName" : "", -"lastName" : "", -"password" : "", -"phoneId" : "" -}'; //Required -$sott = "sott"; //Required -$fields = null; //Optional -$options = "options"; //Optional -$smsTemplate = "smsTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional -$emailTemplate = "emailTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $phoneAuthenticationAPI->userRegistrationByPhone($payload,$sott,$fields,$options,$smsTemplate,$verificationUrl,$welcomeEmailTemplate,$emailTemplate,$isVoiceOtp); - ``` - - -
Phone Number Availability (GET)
- -This 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) - - ```php - -$phone = "phone"; //Required - -$result = $phoneAuthenticationAPI->checkPhoneNumberAvailability($phone); - ``` - - -
Remove Phone ID by Access Token (DELETE)
- -This 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) - - ```php - -$access_token = "access_token"; //Required - -$result = $phoneAuthenticationAPI->removePhoneIDByAccessToken($access_token); - ``` - - - - - -### MultiFactorAuthentication API - -List of APIs in this Section:
-[PUT : Update MFA Setting](#MFAUpdateSetting-put-)
-[PUT : MFA Update Phone Number by Token](#MFAUpdatePhoneNumberByToken-put-)
-[PUT : Verify MFA Email OTP by Access Token](#MFAValidateEmailOtpByAccessToken-put-)
-[PUT : Update MFA Security Question by Access Token](#MFASecurityQuestionAnswerByAccessToken-put-)
-[PUT : MFA Validate OTP](#MFAValidateOTPByPhone-put-)
-[PUT : MFA Validate Backup code](#MFAValidateBackupCode-put-)
-[PUT : MFA Update Phone Number](#MFAUpdatePhoneNumber-put-)
-[PUT : Verify MFA Email OTP by MFA Token](#MFAValidateEmailOtp-put-)
-[PUT : Update MFA Security Question by MFA Token](#MFASecurityQuestionAnswer-put-)
-[PUT : MFA Validate Authenticator Code](#MFAValidateAuthenticatorCode-put-)
-[PUT : MFA Verify Authenticator Code](#MFAVerifyAuthenticatorCode-put-)
-[POST : MFA Email Login](#MFALoginByEmail-post-)
-[POST : MFA UserName Login](#MFALoginByUserName-post-)
-[POST : MFA Phone Login](#MFALoginByPhone-post-)
-[POST : Send MFA Email OTP by MFA Token](#MFAEmailOTP-post-)
-[POST : Verify MFA Security Question by MFA Token](#MFASecurityQuestionAnswerVerification-post-)
-[GET : MFA Validate Access Token](#MFAConfigureByAccessToken-get-)
-[GET : MFA Backup Code by Access Token](#MFABackupCodeByAccessToken-get-)
-[GET : Reset Backup Code by Access Token](#MFAResetBackupCodeByAccessToken-get-)
-[GET : Send MFA Email OTP by Access Token](#MFAEmailOtpByAccessToken-get-)
-[GET : MFA Resend Otp](#MFAResendOTP-get-)
-[GET : MFA Backup Code by UID](#MFABackupCodeByUid-get-)
-[GET : MFA Reset Backup Code by UID](#MFAResetBackupCodeByUid-get-)
-[DELETE : MFA Reset Authenticator by Token](#MFAResetAuthenticatorByToken-delete-)
-[DELETE : MFA Reset SMS Authenticator by Token](#MFAResetSMSAuthByToken-delete-)
-[DELETE : Reset MFA Email OTP Authenticator By Access Token](#MFAResetEmailOtpAuthenticatorByAccessToken-delete-)
-[DELETE : MFA Reset Security Question Authenticator By Access Token](#MFAResetSecurityQuestionAuthenticatorByAccessToken-delete-)
-[DELETE : MFA Reset SMS Authenticator By UID](#MFAResetSMSAuthenticatorByUid-delete-)
-[DELETE : MFA Reset Authenticator By UID](#MFAResetAuthenticatorByUid-delete-)
-[DELETE : Reset MFA Email OTP Authenticator Settings by Uid](#MFAResetEmailOtpAuthenticatorByUid-delete-)
-[DELETE : Reset MFA Security Question Authenticator Settings by Uid](#MFAResetSecurityQuestionAuthenticatorByUid-delete-)
- -If you have not already initialized the MultiFactorAuthentication object do so now -```php -$multiFactorAuthenticationAPI = new MultiFactorAuthenticationAPI(); -``` - - -
Update MFA Setting (PUT)
- -This 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/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ -"otp" : "" -}'; //Required -$fields = null; //Optional - -$result = $multiFactorAuthenticationAPI->mfaUpdateSetting($access_token,$payload,$fields); - ``` - - -
MFA Update Phone Number by Token (PUT)
- -This 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/) - - ```php - -$access_token = "access_token"; //Required -$phoneNo2FA = "phoneNo2FA"; //Required -$smsTemplate2FA = "smsTemplate2FA"; //Optional -$isVoiceOtp = false; //Optional -$options = "options"; //Optional - -$result = $multiFactorAuthenticationAPI->mfaUpdatePhoneNumberByToken($access_token,$phoneNo2FA,$smsTemplate2FA,$isVoiceOtp,$options); - ``` - - -
Verify MFA Email OTP by Access Token (PUT)
- -This 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/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ - "EmailId":"", - "Otp":"otp" - }'; //Required - -$result = $multiFactorAuthenticationAPI->mfaValidateEmailOtpByAccessToken($access_token,$payload); - ``` - - -
Update MFA Security Question by Access Token (PUT)
- -This 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) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ - "securityquestionanswer": [ - { - "QuestionId": "db7****8a73e4******bd9****8c20", - "Answer": "" - } - ], - "ReplaceSecurityQuestionAnswer":false // required - }'; //Required - -$result = $multiFactorAuthenticationAPI->mfaSecurityQuestionAnswerByAccessToken($access_token,$payload); - ``` - - -
MFA Validate OTP (PUT)
- -This 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/) - - ```php - - $payload = '{ -"otp" : "" -}'; //Required -$secondFactorAuthenticationToken = "secondFactorAuthenticationToken"; //Required -$fields = null; //Optional -$smsTemplate2FA = "smsTemplate2FA"; //Optional -$rbaBrowserEmailTemplate = "rbaBrowserEmailTemplate"; //Optional -$rbaCityEmailTemplate = "rbaCityEmailTemplate"; //Optional -$rbaCountryEmailTemplate = "rbaCountryEmailTemplate"; //Optional -$rbaIpEmailTemplate = "rbaIpEmailTemplate"; //Optional - -$result = $multiFactorAuthenticationAPI->mfaValidateOTPByPhone($payload,$secondFactorAuthenticationToken,$fields,$smsTemplate2FA,$rbaBrowserEmailTemplate,$rbaCityEmailTemplate,$rbaCountryEmailTemplate,$rbaIpEmailTemplate); - ``` - - - -
MFA Validate Backup code (PUT)
- -This 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/) - - ```php - - $payload = '{ -"backupCode" : "" -}'; //Required -$secondFactorAuthenticationToken = "secondFactorAuthenticationToken"; //Required -$fields = null; //Optional -$rbaBrowserEmailTemplate = "rbaBrowserEmailTemplate"; //Optional -$rbaCityEmailTemplate = "rbaCityEmailTemplate"; //Optional -$rbaCountryEmailTemplate = "rbaCountryEmailTemplate"; //Optional -$rbaIpEmailTemplate = "rbaIpEmailTemplate"; //Optional - -$result = $multiFactorAuthenticationAPI->mfaValidateBackupCode($payload,$secondFactorAuthenticationToken,$fields,$rbaBrowserEmailTemplate,$rbaCityEmailTemplate,$rbaCountryEmailTemplate,$rbaIpEmailTemplate); - ``` - - -
MFA Update Phone Number (PUT)
- -This 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/) - - ```php - -$phoneNo2FA = "phoneNo2FA"; //Required -$secondFactorAuthenticationToken = "secondFactorAuthenticationToken"; //Required -$smsTemplate2FA = "smsTemplate2FA"; //Optional -$isVoiceOtp = false; //Optional -$options = "options"; //Optional - - -$result = $multiFactorAuthenticationAPI->mfaUpdatePhoneNumber($phoneNo2FA,$secondFactorAuthenticationToken,$smsTemplate2FA,$isVoiceOtp,$options); - ``` - - -
Verify MFA Email OTP by MFA Token (PUT)
- -This 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/) - - ```php - - $payload = ' - { - "EmailId":"email", - "Otp":"otp" - }'; //Required -$secondFactorAuthenticationToken = "secondFactorAuthenticationToken"; //Required -$rbaBrowserEmailTemplate = "rbaBrowserEmailTemplate"; //Optional -$rbaCityEmailTemplate = "rbaCityEmailTemplate"; //Optional -$rbaCountryEmailTemplate = "rbaCountryEmailTemplate"; //Optional -$rbaIpEmailTemplate = "rbaIpEmailTemplate"; //Optional - -$result = $multiFactorAuthenticationAPI->mfaValidateEmailOtp($payload,$secondFactorAuthenticationToken,$rbaBrowserEmailTemplate,$rbaCityEmailTemplate,$rbaCountryEmailTemplate,$rbaIpEmailTemplate); - ``` - - -
Update MFA Security Question by MFA Token (PUT)
- -This 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/) - - ```php - - $payload = '{ - "securityquestionanswer": [ - { - "QuestionId": "db7****8a73e4******bd9****8c20", - "Answer": "" - } - ] -}'; //Required -$secondFactorAuthenticationToken = "secondFactorAuthenticationToken"; //Required - -$result = $multiFactorAuthenticationAPI->mfaSecurityQuestionAnswer($payload,$secondFactorAuthenticationToken); - ``` - -
MFA Validate Authenticator Code (PUT)
- - - This 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/) - - - ```php - -$payload = '{ -"authenticatorCode" : "" -}'; //Required -$secondfactorauthenticationtoken = "secondfactorauthenticationtoken"; //Required -$fields = null; //Optional - -$result = $multiFactorAuthenticationAPI->mfaValidateAuthenticatorCode($payload,$secondfactorauthenticationtoken,$fields); - ``` - -
MFA Verify Authenticator Code (PUT)
- - This 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/) - - - ```php - -$access_token = "access_token"; //Required - $payload = '{ -"authenticatorCode" : "" -}'; //Required -$fields = null; //Optional - -$result = $multiFactorAuthenticationAPI->mfaVerifyAuthenticatorCode($access_token,$payload,$fields); - ``` - -
MFA Email Login (POST)
- -This 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) - - ```php - -$email = "email"; //Required -$password = "password"; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$loginUrl = "loginUrl"; //Optional -$smsTemplate = "smsTemplate"; //Optional -$smsTemplate2FA = "smsTemplate2FA"; //Optional -$verificationUrl = "verificationUrl"; //Optional -$emailTemplate2FA = "emailTemplate2FA"; //Optional -$isVoiceOtp = false; //Optional -$options = "options"; //Optional - -$result = $multiFactorAuthenticationAPI->mfaLoginByEmail($email,$password,$emailTemplate,$fields,$loginUrl,$smsTemplate,$smsTemplate2FA,$verificationUrl,$emailTemplate2FA,$isVoiceOtp,$options); - ``` - - -
MFA UserName Login (POST)
- -This 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) - - ```php - -$password = "password"; //Required -$username = "username"; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$loginUrl = "loginUrl"; //Optional -$smsTemplate = "smsTemplate"; //Optional -$smsTemplate2FA = "smsTemplate2FA"; //Optional -$verificationUrl = "verificationUrl"; //Optional -$emailTemplate2FA = "emailTemplate2FA"; //Optional -$isVoiceOtp = false; //Optional - -$result = $multiFactorAuthenticationAPI->mfaLoginByUserName($password,$username,$emailTemplate,$fields,$loginUrl,$smsTemplate,$smsTemplate2FA,$verificationUrl,$emailTemplate2FA,$isVoiceOtp); - ``` - - -
MFA Phone Login (POST)
- -This 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) - - ```php - -$password = "password"; //Required -$phone = "phone"; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$loginUrl = "loginUrl"; //Optional -$smsTemplate = "smsTemplate"; //Optional -$smsTemplate2FA = "smsTemplate2FA"; //Optional -$verificationUrl = "verificationUrl"; //Optional -$emailTemplate2FA = "emailTemplate2FA"; //Optional -$isVoiceOtp = false; //Optional -$options = "options"; //Optional - -$result = $multiFactorAuthenticationAPI->mfaLoginByPhone($password,$phone,$emailTemplate,$fields,$loginUrl,$smsTemplate,$smsTemplate2FA,$verificationUrl,$emailTemplate2FA,$isVoiceOtp,$options); - ``` - - -
Send MFA Email OTP by MFA Token (POST)
- -An 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/) - - ```php - - $payload = '{ - "EmailId":"email" - }'; //Required -$secondFactorAuthenticationToken = "secondFactorAuthenticationToken"; //Required -$emailTemplate2FA = "emailTemplate2FA"; //Optional - -$result = $multiFactorAuthenticationAPI->mfaEmailOTP($payload,$secondFactorAuthenticationToken,$emailTemplate2FA); - ``` - - -
Verify MFA Security Question by MFA Token (POST)
- -This 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/verify-mfa-security-question-by-mfa-token/) - - ```php - - $payload = '{ - "securityquestionanswer": [ - { - "QuestionId": "db7****8a73e4******bd9****8c20", - "Answer": "" - } - ] -}'; //Required -$secondFactorAuthenticationToken = "secondFactorAuthenticationToken"; //Required -$rbaBrowserEmailTemplate = "rbaBrowserEmailTemplate"; //Optional -$rbaCityEmailTemplate = "rbaCityEmailTemplate"; //Optional -$rbaCountryEmailTemplate = "rbaCountryEmailTemplate"; //Optional -$rbaIpEmailTemplate = "rbaIpEmailTemplate"; //Optional - -$result = $multiFactorAuthenticationAPI->mfaSecurityQuestionAnswerVerification($payload,$secondFactorAuthenticationToken,$rbaBrowserEmailTemplate,$rbaCityEmailTemplate,$rbaCountryEmailTemplate,$rbaIpEmailTemplate); - ``` - - -
MFA Validate Access Token (GET)
- -This 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/) - - ```php - -$access_token = "access_token"; //Required -$isVoiceOtp = false; //Optional - -$result = $multiFactorAuthenticationAPI->mfaConfigureByAccessToken($access_token,$isVoiceOtp); - ``` - - -
MFA Backup Code by Access Token (GET)
- -This 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/) - - ```php - -$access_token = "access_token"; //Required - -$result = $multiFactorAuthenticationAPI->mfaBackupCodeByAccessToken($access_token); - ``` - - -
Reset Backup Code by Access Token (GET)
- -API 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/) - - ```php - -$access_token = "access_token"; //Required - -$result = $multiFactorAuthenticationAPI->mfaResetBackupCodeByAccessToken($access_token); - ``` - - -
Send MFA Email OTP by Access Token (GET)
- -This 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/) - - ```php - -$access_token = "access_token"; //Required -$emailId = "emailId"; //Required -$emailTemplate2FA = "emailTemplate2FA"; //Optional - -$result = $multiFactorAuthenticationAPI->mfaEmailOtpByAccessToken($access_token,$emailId,$emailTemplate2FA); - ``` - - -
MFA Resend Otp (GET)
- -This 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/) - - ```php - -$secondFactorAuthenticationToken = "secondFactorAuthenticationToken"; //Required -$smsTemplate2FA = "smsTemplate2FA"; //Optional -$isVoiceOtp = false; //Optional - -$result = $multiFactorAuthenticationAPI->mfaResendOTP($secondFactorAuthenticationToken,$smsTemplate2FA,$isVoiceOtp); - ``` - - -
MFA Backup Code by UID (GET)
- -This 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/) - - ```php - -$uid = "uid"; //Required - -$result = $multiFactorAuthenticationAPI->mfaBackupCodeByUid($uid); - ``` - - -
MFA Reset Backup Code by UID (GET)
- -This 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/) - - ```php - -$uid = "uid"; //Required - -$result = $multiFactorAuthenticationAPI->mfaResetBackupCodeByUid($uid); - ``` - -
MFA Reset Authenticator by Token (DELETE)
- - This API Resets the 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/) - - ```php - -$access_token = "access_token"; //Required -$authenticator = true; //Required - -$result = $multiFactorAuthenticationAPI->mfaResetAuthenticatorByToken($access_token,$authenticator); - ``` - - -
MFA Reset SMS Authenticator by Token (DELETE)
- -This 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/) - - ```php - -$access_token = "access_token"; //Required -$otpauthenticator = true; //Required - -$result = $multiFactorAuthenticationAPI->mfaResetSMSAuthByToken($access_token,$otpauthenticator); - ``` - - -
Reset MFA Email OTP Authenticator By Access Token (DELETE)
- -This 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/) - - ```php - -$access_token = "access_token"; //Required - -$result = $multiFactorAuthenticationAPI->mfaResetEmailOtpAuthenticatorByAccessToken($access_token); - ``` - - -
MFA Reset Security Question Authenticator By Access Token (DELETE)
- -This 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/) - - ```php - -$access_token = "access_token"; //Required - -$result = $multiFactorAuthenticationAPI->mfaResetSecurityQuestionAuthenticatorByAccessToken($access_token); - ``` - - -
MFA Reset SMS Authenticator By UID (DELETE)
- -This 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/) - - ```php - -$otpauthenticator = true; //Required -$uid = "uid"; //Required - -$result = $multiFactorAuthenticationAPI->mfaResetSMSAuthenticatorByUid($otpauthenticator,$uid); - ``` - - -
MFA Reset Authenticator By UID (DELETE)
- - This API resets the 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/) - - ```php - -$authenticator = true; //Required -$uid = "uid"; //Required - -$result = $multiFactorAuthenticationAPI->mfaResetAuthenticatorByUid($authenticator,$uid); - ``` - - - -
Reset MFA Email OTP Authenticator Settings by Uid (DELETE)
- -This 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/) - - ```php - -$uid = "uid"; //Required - -$result = $multiFactorAuthenticationAPI->mfaResetEmailOtpAuthenticatorByUid($uid); - ``` - - -
Reset MFA Security Question Authenticator Settings by Uid (DELETE)
- -This 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/) - - ```php - -$uid = "uid"; //Required - -$result = $multiFactorAuthenticationAPI->mfaResetSecurityQuestionAuthenticatorByUid($uid); - ``` - -### PINAuthentication API - -List of APIs in this Section:
-[PUT : Reset PIN By ResetToken](#ResetPINByResetToken-put-)
-[PUT : Reset PIN By SecurityAnswer And Email](#ResetPINByEmailAndSecurityAnswer-put-)
-[PUT : Reset PIN By SecurityAnswer And Username](#ResetPINByUsernameAndSecurityAnswer-put-)
-[PUT : Reset PIN By SecurityAnswer And Phone](#ResetPINByPhoneAndSecurityAnswer-put-)
-[PUT : Change PIN By Token](#ChangePINByAccessToken-put-)
-[PUT : Reset PIN by Phone and OTP](#ResetPINByPhoneAndOtp-put-)
-[PUT : Reset PIN by Email and OTP](#ResetPINByEmailAndOtp-put-)
-[PUT : Reset PIN by Username and OTP](#ResetPINByUsernameAndOtp-put-)
-[POST : PIN Login](#PINLogin-post-)
-[POST : Forgot PIN By Email](#SendForgotPINEmailByEmail-post-)
-[POST : Forgot PIN By UserName](#SendForgotPINEmailByUsername-post-)
-[POST : Forgot PIN By Phone](#SendForgotPINSMSByPhone-post-)
-[POST : Set PIN By PinAuthToken](#SetPINByPinAuthToken-post-)
-[GET : Invalidate PIN Session Token](#InValidatePinSessionToken-get-)
- -If you have not already initialized the PINAuthentication object do so now -```php -$pinAuthenticationAPI = new PINAuthenticationAPI(); -``` - - -
Reset PIN By ResetToken (PUT)
- -This 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/) - - ```php - - $payload = '{ -"pin" : "", -"resetToken" : "" -}'; //Required - -$result = $pinAuthenticationAPI->resetPINByResetToken($payload); - ``` - - -
Reset PIN By SecurityAnswer And Email (PUT)
- -This 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/) - - ```php - - $payload = '{ -"email" : "", -"pin" : "", -"securityAnswer" : {"QuestionID":"Answer"} -}'; //Required - -$result = $pinAuthenticationAPI->resetPINByEmailAndSecurityAnswer($payload); - ``` - - -
Reset PIN By SecurityAnswer And Username (PUT)
- -This 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/) - - ```php - - $payload = '{ -"pin" : "", -"securityAnswer" : {"QuestionID":"Answer"}, -"username" : "" -}'; //Required - -$result = $pinAuthenticationAPI->resetPINByUsernameAndSecurityAnswer($payload); - ``` - - -
Reset PIN By SecurityAnswer And Phone (PUT)
- -This 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/) - - ```php - - $payload = '{ -"phone" : "", -"pin" : "", -"securityAnswer" : {"QuestionID":"Answer"} -}'; //Required - -$result = $pinAuthenticationAPI->resetPINByPhoneAndSecurityAnswer($payload); - ``` - - -
Change PIN By Token (PUT)
- -This 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/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ -"newPIN" : "", -"oldPIN" : "" -}'; //Required - -$result = $pinAuthenticationAPI->changePINByAccessToken($access_token,$payload); - ``` - - -
Reset PIN by Phone and OTP (PUT)
- -This 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/) - - ```php - - $payload = '{ -"otp" : "", -"phone" : "", -"pin" : "" -}'; //Required - -$result = $pinAuthenticationAPI->resetPINByPhoneAndOtp($payload); - ``` - - -
Reset PIN by Email and OTP (PUT)
- -This 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/) - - ```php - - $payload = '{ -"email" : "", -"otp" : "", -"pin" : "" -}'; //Required - -$result = $pinAuthenticationAPI->resetPINByEmailAndOtp($payload); - ``` - - -
Reset PIN by Username and OTP (PUT)
- -This 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/) - - ```php - - $payload = '{ -"otp" : "", -"pin" : "", -"username" : "" -}'; //Required - -$result = $pinAuthenticationAPI->resetPINByUsernameAndOtp($payload); - ``` - - -
PIN Login (POST)
- -This API is used to login a user by pin and session token. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/login-by-pin/) - - ```php - - $payload = '{ -"pin" : "" -}'; //Required -$session_token = "session_token"; //Required - -$result = $pinAuthenticationAPI->pinLogin($payload,$session_token); - ``` - - -
Forgot PIN By Email (POST)
- -This API sends the reset pin email to specified email address. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/forgot-pin-by-email/) - - ```php - - $payload = '{ -"email" : "" -}'; //Required -$emailTemplate = "emailTemplate"; //Optional -$resetPINUrl = "resetPINUrl"; //Optional - -$result = $pinAuthenticationAPI->sendForgotPINEmailByEmail($payload,$emailTemplate,$resetPINUrl); - ``` - - -
Forgot PIN By UserName (POST)
- -This API sends the reset pin email using username. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/forgot-pin-by-username/) - - ```php - - $payload = '{ -"userName" : "" -}'; //Required -$emailTemplate = "emailTemplate"; //Optional -$resetPINUrl = "resetPINUrl"; //Optional - -$result = $pinAuthenticationAPI->sendForgotPINEmailByUsername($payload,$emailTemplate,$resetPINUrl); - ``` - - -
Forgot PIN By Phone (POST)
- -This API sends the OTP to specified phone number - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/forgot-pin-by-phone/) - - ```php - - $payload = '{ -"phone" : "" -}'; //Required -$smsTemplate = "smsTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $pinAuthenticationAPI->sendForgotPINSMSByPhone($payload,$smsTemplate,$isVoiceOtp); - ``` - - -
Set PIN By PinAuthToken (POST)
- -This API is used to change a user's PIN using Pin Auth token. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/set-pin-by-pinauthtoken/) - - ```php - - $payload = '{ -"pin" : "" -}'; //Required -$pinAuthToken = "pinAuthToken"; //Required - -$result = $pinAuthenticationAPI->setPINByPinAuthToken($payload,$pinAuthToken); - ``` - - -
Invalidate PIN Session Token (GET)
- -This API is used to invalidate pin session token. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/authentication/pin-authentication/invalidate-pin-session-token/) - - ```php - -$session_token = "session_token"; //Required - -$result = $pinAuthenticationAPI->inValidatePinSessionToken($session_token); - ``` - - - - - -### ReAuthentication API - -List of APIs in this Section:
-[PUT : Validate MFA by OTP](#MFAReAuthenticateByOTP-put-)
-[PUT : Validate MFA by Backup Code](#MFAReAuthenticateByBackupCode-put-)
-[PUT : Validate MFA by Password](#MFAReAuthenticateByPassword-put-)
-[PUT : MFA Re-authentication by PIN](#VerifyPINAuthentication-put-)
-[PUT : MFA Re-authentication by Email OTP](#ReAuthValidateEmailOtp-put-)
-[PUT : MFA Step-Up Authentication by Authenticator Code](#MFAReAuthenticateByAuthenticatorCode-put-)
-[POST : Verify Multifactor OTP Authentication](#VerifyMultiFactorOtpReauthentication-post-)
-[POST : Verify Multifactor Password Authentication](#VerifyMultiFactorPasswordReauthentication-post-)
-[POST : Verify Multifactor PIN Authentication](#VerifyMultiFactorPINReauthentication-post-)
-[POST : MFA Re-authentication by Security Question](#ReAuthBySecurityQuestion-post-)
-[GET : Multi Factor Re-Authenticate](#MFAReAuthenticate-get-)
-[GET : Send MFA Re-auth Email OTP by Access Token](#ReAuthSendEmailOtp-get-)
- -If you have not already initialized the ReAuthentication object do so now -```php -$reAuthenticationAPI = new ReAuthenticationAPI(); -``` - - -
Validate MFA by OTP (PUT)
- -This API is used to re-authenticate 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/re-authentication/mfa/re-auth-by-otp/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ -"otp" : "" -}'; //Required - -$result = $reAuthenticationAPI->mfaReAuthenticateByOTP($access_token,$payload); - ``` - - -
Validate MFA by Backup Code (PUT)
- -This API is used to re-authenticate by set of backup codes via access token on the site that has Multi-factor authentication enabled in re-authentication for the user that does not have the device - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/re-authentication/mfa/re-auth-by-backup-code/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ -"backupCode" : "" -}'; //Required - -$result = $reAuthenticationAPI->mfaReAuthenticateByBackupCode($access_token,$payload); - ``` - - - -
Validate MFA by Password (PUT)
- -This API is used to re-authenticate via Multi-factor-authentication by passing the password - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/re-authentication/re-auth-by-password) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ -"password" : "" -}'; //Required -$smsTemplate2FA = "smsTemplate2FA"; //Optional - -$result = $reAuthenticationAPI->mfaReAuthenticateByPassword($access_token,$payload,$smsTemplate2FA); - ``` - - -
MFA Re-authentication by PIN (PUT)
- -This API is used to validate the triggered MFA authentication flow with a password. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/re-authentication/pin/re-auth-by-pin/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ -"pin" : "" -}'; //Required -$smsTemplate2FA = "smsTemplate2FA"; //Optional - -$result = $reAuthenticationAPI->verifyPINAuthentication($access_token,$payload,$smsTemplate2FA); - ``` - - -
MFA Re-authentication by Email OTP (PUT)
- -This API is used to validate the triggered MFA authentication flow with an Email OTP. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/re-authentication/mfa-re-auth-by-email-otp/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ - "EmailId":"email", - "otp": "otp" -}'; //Required - -$result = $reAuthenticationAPI->reAuthValidateEmailOtp($access_token,$payload); - ``` - -
MFA Step-Up Authentication by Authenticator Code (PUT)
- - This API is used to validate the triggered MFA authentication flow with the Authenticator Code. [More info](https://www.loginradius.com/docs/api/v2/customer-identity-api/re-authentication/mfa/re-auth-by-otp/) - - - ```php - -$access_token = "access_token"; //Required -$payload = '{ - "authenticatorCode" : "" -}'; //Required - -$result = $reAuthenticationAPI->mfaReAuthenticateByAuthenticatorCode($access_token,$payload); - ``` - - -
Verify Multifactor OTP Authentication (POST)
- -This API is used on the server-side to validate and verify the re-authentication token created by the MFA re-authentication API. This API checks re-authentications created by OTP. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/re-authentication/mfa/re-auth-validate-mfa/) - - ```php - - $payload = '{ -"secondFactorValidationToken" : "" -}'; //Required -$uid = "uid"; //Required - -$result = $reAuthenticationAPI->verifyMultiFactorOtpReauthentication($payload,$uid); - ``` - - -
Verify Multifactor Password Authentication (POST)
- -This API is used on the server-side to validate and verify the re-authentication token created by the MFA re-authentication API. This API checks re-authentications created by password. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/re-authentication/re-auth-validate-password/) - - ```php - - $payload = '{ -"secondFactorValidationToken" : "" -}'; //Required -$uid = "uid"; //Required - -$result = $reAuthenticationAPI->verifyMultiFactorPasswordReauthentication($payload,$uid); - ``` - - -
Verify Multifactor PIN Authentication (POST)
- -This API is used on the server-side to validate and verify the re-authentication token created by the MFA re-authentication API. This API checks re-authentications created by PIN. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/re-authentication/pin/re-auth-validate-pin/) - - ```php - - $payload = '{ -"secondFactorValidationToken" : "" -}'; //Required -$uid = "uid"; //Required - -$result = $reAuthenticationAPI->verifyMultiFactorPINReauthentication($payload,$uid); - ``` - - -
MFA Re-authentication by Security Question (POST)
- -This API is used to validate the triggered MFA re-authentication flow with security questions answers. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/re-authentication/mfa-re-authentication-by-security-question/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ - "securityquestionanswer": [ - { - "QuestionId": "db7****8a73e4******bd9****8c20", - "Answer": "" - } - ] -}'; //Required - -$result = $reAuthenticationAPI->reAuthBySecurityQuestion($access_token,$payload); - ``` - - -
Multi Factor Re-Authenticate (GET)
- -This API is used to trigger the Multi-Factor Autentication workflow for the provided access token - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/re-authentication/re-auth-trigger/) - - ```php - -$access_token = "access_token"; //Required -$smsTemplate2FA = "smsTemplate2FA"; //Optional -$isVoiceOtp = false; //Optional - -$result = $reAuthenticationAPI->mfaReAuthenticate($access_token,$smsTemplate2FA,$isVoiceOtp); - ``` - - -
Send MFA Re-auth Email OTP by Access Token (GET)
- -This API is used to send the MFA Email OTP to the email for Re-authentication - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/multi-factor-authentication/re-authentication/send-mfa-re-auth-email-otp-by-access-token/) - - ```php - -$access_token = "access_token"; //Required -$emailId = "emailId"; //Required -$emailTemplate2FA = "emailTemplate2FA"; //Optional - -$result = $reAuthenticationAPI->reAuthSendEmailOtp($access_token,$emailId,$emailTemplate2FA); - ``` - - - - - -### ConsentManagement API - -List of APIs in this Section:
-[PUT : Update Consent By Access Token](#UpdateConsentProfileByAccessToken-put-)
-[POST : Consent By ConsentToken](#SubmitConsentByConsentToken-post-)
-[POST : Post Consent By Access Token](#SubmitConsentByAccessToken-post-)
-[GET : Get Consent Logs By Uid](#GetConsentLogsByUid-get-)
-[GET : Get Consent Log by Access Token](#GetConsentLogs-get-)
-[GET : Get Verify Consent By Access Token](#VerifyConsentByAccessToken-get-)
- -If you have not already initialized the ConsentManagement object do so now -```php -$consentManagementAPI = new ConsentManagementAPI(); -``` - - -
Update Consent By Access Token (PUT)
- -This API is to update consents using access token. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/consent-management/update-consent-by-access-token/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ -"consents" : [ { - "consentOptionId" : "" , -"isAccepted" : true -} ] -}'; //Required - -$result = $consentManagementAPI->updateConsentProfileByAccessToken($access_token,$payload); - ``` - - -
Consent By ConsentToken (POST)
- -This API is to submit consent form using consent token. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/consent-management/consent-by-consent-token/) - - ```php - -$consentToken = "consentToken"; //Required - $payload = '{ -"data" : [ { - "consentOptionId" : "" , -"isAccepted" : true -} ] , -"events" : [ { - "event" : "" , -"isCustom" : true -} ] -}'; //Required - -$result = $consentManagementAPI->submitConsentByConsentToken($consentToken,$payload); - ``` - - -
Post Consent By Access Token (POST)
- -API to provide a way to end user to submit a consent form for particular event type. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/consent-management/consent-by-access-token/) - - ```php - -$access_token = "access_token"; //Required - $payload = '{ -"data" : [ { - "consentOptionId" : "" , -"isAccepted" : true -} ] , -"events" : [ { - "event" : "" , -"isCustom" : true -} ] -}'; //Required - -$result = $consentManagementAPI->submitConsentByAccessToken($access_token,$payload); - ``` - - -
Get Consent Logs By Uid (GET)
- -This API is used to get the Consent logs of the user. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/consent-management/consent-log-by-uid/) - - ```php - -$uid = "uid"; //Required - -$result = $consentManagementAPI->getConsentLogsByUid($uid); - ``` - - -
Get Consent Log by Access Token (GET)
- -This API is used to fetch consent logs. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/consent-management/consent-log-by-access-token/) - - ```php - -$access_token = "access_token"; //Required - -$result = $consentManagementAPI->getConsentLogs($access_token); - ``` - - -
Get Verify Consent By Access Token (GET)
- -This API is used to check if consent is submitted for a particular event or not. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/consent-management/verify-consent-by-access-token/) - - ```php - -$access_token = "access_token"; //Required -$event = "event"; //Required -$isCustom = true; //Required - -$result = $consentManagementAPI->verifyConsentByAccessToken($access_token,$event,$isCustom); - ``` - - - - - -### SmartLogin API - -List of APIs in this Section:
-[GET : Smart Login Verify Token](#SmartLoginTokenVerification-get-)
-[GET : Smart Login By Email](#SmartLoginByEmail-get-)
-[GET : Smart Login By Username](#SmartLoginByUserName-get-)
-[GET : Smart Login Ping](#SmartLoginPing-get-)
- -If you have not already initialized the SmartLogin object do so now -```php -$smartLoginAPI = new SmartLoginAPI(); -``` - - -
Smart Login Verify Token (GET)
- -This API verifies the provided token for Smart Login - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/smart-login/smart-login-verify-token/) - - ```php - -$verificationToken = "verificationToken"; //Required -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional - -$result = $smartLoginAPI->smartLoginTokenVerification($verificationToken,$welcomeEmailTemplate); - ``` - - -
Smart Login By Email (GET)
- -This API sends a Smart Login link to the user's Email Id. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/smart-login/smart-login-by-email) - - ```php - -$clientGuid = "clientGuid"; //Required -$email = "email"; //Required -$redirectUrl = "redirectUrl"; //Optional -$smartLoginEmailTemplate = "smartLoginEmailTemplate"; //Optional -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional - -$result = $smartLoginAPI->smartLoginByEmail($clientGuid,$email,$redirectUrl,$smartLoginEmailTemplate,$welcomeEmailTemplate); - ``` - - -
Smart Login By Username (GET)
- -This API sends a Smart Login link to the user's Email Id. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/smart-login/smart-login-by-username) - - ```php - -$clientGuid = "clientGuid"; //Required -$username = "username"; //Required -$redirectUrl = "redirectUrl"; //Optional -$smartLoginEmailTemplate = "smartLoginEmailTemplate"; //Optional -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional - -$result = $smartLoginAPI->smartLoginByUserName($clientGuid,$username,$redirectUrl,$smartLoginEmailTemplate,$welcomeEmailTemplate); - ``` - - -
Smart Login Ping (GET)
- -This API is used to check if the Smart Login link has been clicked or not - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/smart-login/smart-login-ping) - - ```php - -$clientGuid = "clientGuid"; //Required -$fields = null; //Optional - -$result = $smartLoginAPI->smartLoginPing($clientGuid,$fields); - ``` - - - - - -### OneTouchLogin API - -List of APIs in this Section:
-[PUT : One Touch OTP Verification](#OneTouchLoginOTPVerification-put-)
-[POST : One Touch Login by Email](#OneTouchLoginByEmail-post-)
-[POST : One Touch Login by Phone](#OneTouchLoginByPhone-post-)
-[GET : One Touch Email Verification](#OneTouchEmailVerification-get-)
-[GET : One Touch Login Ping](#OneTouchLoginPing-get-)
- -If you have not already initialized the OneTouchLogin object do so now -```php -$oneTouchLoginAPI = new OneTouchLoginAPI(); -``` - - -
One Touch OTP Verification (PUT)
- -This API is used to verify the otp for One Touch Login. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/one-touch-login/one-touch-otp-verification/) - - ```php - -$otp = "otp"; //Required -$phone = "phone"; //Required -$fields = null; //Optional -$smsTemplate = "smsTemplate"; //Optional - -$result = $oneTouchLoginAPI->oneTouchLoginOTPVerification($otp,$phone,$fields,$smsTemplate); - ``` - - -
One Touch Login by Email (POST)
- -This API is used to send a link to a specified email for a frictionless login/registration - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/one-touch-login/one-touch-login-by-email-captcha/) - - ```php - - $payload = '{ -"clientguid" : "", -"email" : "", -"g-recaptcha-response" : "" -}'; //Required -$oneTouchLoginEmailTemplate = "oneTouchLoginEmailTemplate"; //Optional -$redirecturl = "redirecturl"; //Optional -$welcomeemailtemplate = "welcomeemailtemplate"; //Optional - -$result = $oneTouchLoginAPI->oneTouchLoginByEmail($payload,$oneTouchLoginEmailTemplate,$redirecturl,$welcomeemailtemplate); - ``` - - -
One Touch Login by Phone (POST)
- -This API is used to send one time password to a given phone number for a frictionless login/registration. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/one-touch-login/one-touch-login-by-phone-captcha/) - - ```php - - $payload = '{ -"g-recaptcha-response" : "", -"phone" : "" -}'; //Required -$smsTemplate = "smsTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $oneTouchLoginAPI->oneTouchLoginByPhone($payload,$smsTemplate,$isVoiceOtp); - ``` - - -
One Touch Email Verification (GET)
- -This API verifies the provided token for One Touch Login - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/one-touch-login/one-touch-email-verification) - - ```php - -$verificationToken = "verificationToken"; //Required -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional - -$result = $oneTouchLoginAPI->oneTouchEmailVerification($verificationToken,$welcomeEmailTemplate); - ``` - - -
One Touch Login Ping (GET)
- -This API is used to check if the One Touch Login link has been clicked or not. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/one-touch-login/one-touch-login-ping/) - - ```php - -$clientGuid = "clientGuid"; //Required -$fields = null; //Optional - -$result = $oneTouchLoginAPI->oneTouchLoginPing($clientGuid,$fields); - ``` - - - - - -### PasswordLessLogin API - -List of APIs in this Section:
-[PUT : Passwordless Login Phone Verification](#PasswordlessLoginPhoneVerification-put-)
-[POST : Passwordless Login Verification By Email And OTP](#PasswordlessLoginVerificationByEmailAndOTP-post-)
-[POST : Passwordless Login Verification By User Name And OTP](#PasswordlessLoginVerificationByUserNameAndOTP-post-)
-[GET : Passwordless Login by Phone](#PasswordlessLoginByPhone-get-)
-[GET : Passwordless Login By Email](#PasswordlessLoginByEmail-get-)
-[GET : Passwordless Login By UserName](#PasswordlessLoginByUserName-get-)
-[GET : Passwordless Login Verification](#PasswordlessLoginVerification-get-)
- -If you have not already initialized the PasswordLessLogin object do so now -```php -$passwordLessLoginAPI = new PasswordLessLoginAPI(); -``` - - -
Passwordless Login Phone Verification (PUT)
- -This API verifies an account by OTP and allows the customer to login. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/passwordless-login/passwordless-login-phone-verification) - - ```php - - $payload = '{ -"otp" : "", -"phone" : "" -}'; //Required -$fields = null; //Optional -$smsTemplate = "smsTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $passwordLessLoginAPI->passwordlessLoginPhoneVerification($payload,$fields,$smsTemplate,$isVoiceOtp); - ``` - - -
Passwordless Login Verification By Email And OTP (POST)
- - -This API is used to verify the otp sent to the email when doing a passwordless login. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/passwordless-login/passwordless-login-verify-by-email-and-otp/) - - ```php - - $payload = '{ - "email": "", - "otp": "", - "welcomeemailtemplate": "" - - }'; //Required -$fields = null; //Optional - -$result = $passwordLessLoginAPI->passwordlessLoginVerificationByEmailAndOTP($payload,$fields); - ``` - - -
Passwordless Login Verification By User Name And OTP (POST)
- - -This API is used to verify the otp sent to the email when doing a passwordless login. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/passwordless-login/passwordless-login-verify-by-username-and-otp/) - - ```php - - $payload = '{ - "username": "", - "otp": "", - "welcomeemailtemplate": "" - - }'; //Required -$fields = null; //Optional - -$result = $passwordLessLoginAPI->passwordlessLoginVerificationByUserNameAndOTP($payload,$fields); - ``` - - -
Passwordless Login by Phone (GET)
- -API can be used to send a One-time Passcode (OTP) provided that the account has a verified PhoneID - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/passwordless-login/passwordless-login-by-phone) - - ```php - -$phone = "phone"; //Required -$smsTemplate = "smsTemplate"; //Optional -$isVoiceOtp = false; //Optional - -$result = $passwordLessLoginAPI->passwordlessLoginByPhone($phone,$smsTemplate,$isVoiceOtp); - ``` - - -
Passwordless Login By Email (GET)
- -This API is used to send a Passwordless Login verification link to the provided Email ID - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/passwordless-login/passwordless-login-by-email) - - ```php - -$email = "email"; //Required -$passwordLessLoginTemplate = "passwordLessLoginTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional - -$result = $passwordLessLoginAPI->passwordlessLoginByEmail($email,$passwordLessLoginTemplate,$verificationUrl); - ``` - - -
Passwordless Login By UserName (GET)
- -This API is used to send a Passwordless Login Verification Link to a customer by providing their UserName - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/passwordless-login/passwordless-login-by-username) - - ```php - -$username = "username"; //Required -$passwordLessLoginTemplate = "passwordLessLoginTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional - -$result = $passwordLessLoginAPI->passwordlessLoginByUserName($username,$passwordLessLoginTemplate,$verificationUrl); - ``` - - -
Passwordless Login Verification (GET)
- -This API is used to verify the Passwordless Login verification link. Note: If you are using Passwordless Login by Phone you will need to use the Passwordless Login Phone Verification API - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/passwordless-login/passwordless-login-verification) - - ```php - -$verificationToken = "verificationToken"; //Required -$fields = null; //Optional -$welcomeEmailTemplate = "welcomeEmailTemplate"; //Optional - -$result = $passwordLessLoginAPI->passwordlessLoginVerification($verificationToken,$fields,$welcomeEmailTemplate); - ``` - - - - - -### Configuration API - -List of APIs in this Section:
[GET : Get Configurations](#getConfigurations-get-)
-[GET : Get Server Time](#GetServerInfo-get-)
- -If you have not already initialized the Configuration object do so now -```php -$configurationAPI = new ConfigurationAPI(); -``` -
Get Configurations (GET)
- -This API is used to get the configurations which are set in the LoginRadius Dashboard for a particular LoginRadius site/environment -[More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/configuration/get-configurations/) -```php -$result = $configurationAPI->getConfigurations(); -``` - - -
Get Server Time (GET)
- -This API allows you to query your LoginRadius account for basic server information and server time information which is useful when generating an SOTT token. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/configuration/get-server-time/) - - ```php - -$timeDifference = 0; //Optional - -$result = $configurationAPI->getServerInfo($timeDifference); - ``` - - - - - -### Role API - -List of APIs in this Section:
-[PUT : Assign Roles by UID](#AssignRolesByUid-put-)
-[PUT : Upsert Context](#UpdateRoleContextByUid-put-)
-[PUT : Add Permissions to Role](#AddRolePermissions-put-)
-[POST : Roles Create](#CreateRoles-post-)
-[GET : Roles by UID](#GetRolesByUid-get-)
-[GET : Get Context with Roles and Permissions](#GetRoleContextByUid-get-)
-[GET : Role Context profile](#GetRoleContextByContextName-get-)
-[GET : Roles List](#GetRolesList-get-)
-[DELETE : Unassign Roles by UID](#UnassignRolesByUid-delete-)
-[DELETE : Delete Role Context](#DeleteRoleContextByUid-delete-)
-[DELETE : Delete Role from Context](#DeleteRolesFromRoleContextByUid-delete-)
-[DELETE : Delete Additional Permission from Context](#DeleteAdditionalPermissionFromRoleContextByUid-delete-)
-[DELETE : Account Delete Role](#DeleteRole-delete-)
-[DELETE : Remove Permissions](#RemoveRolePermissions-delete-)
- -If you have not already initialized the Role object do so now -```php -$roleAPI = new RoleAPI(); +```bash +# 12.0.0-rc.1 is a prerelease. Composer's default minimum-stability is +# `stable`, so a range like ^12.0 skips it — require the exact version. +composer require loginradius/php-sdk:12.0.0-rc.1 ``` +Requires PHP 8.1+. -
Assign Roles by UID (PUT)
- -This API is used to assign your desired roles to a given user. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/assign-roles-by-uid/) - - ```php - - $payload = '{ -"roles" : [ "roles" ] -}'; //Required -$uid = "uid"; //Required - -$result = $roleAPI->assignRolesByUid($payload,$uid); - ``` - - -
Upsert Context (PUT)
- -This API creates a Context with a set of Roles - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/upsert-context) - - ```php - - $payload = '{ -"roleContext" : [ { - "additionalPermissions" : ["" ] , - "context" : "" , - "expiration" : "" , - "roles" : ["" ] -} ] -}'; //Required -$uid = "uid"; //Required - -$result = $roleAPI->updateRoleContextByUid($payload,$uid); - ``` - - -
Add Permissions to Role (PUT)
- -This API is used to add permissions to a given role. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/add-permissions-to-role) - - ```php - - $payload = '{ -"permissions" : [ "permissions" ] -}'; //Required -$role = "role"; //Required - -$result = $roleAPI->addRolePermissions($payload,$role); - ``` - - -
Roles Create (POST)
- -This API creates a role with permissions. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/roles-create) - - ```php - - $payload = '{ -"roles" : [ { - "name" : "" , -"permissions" : {"Permission_name":true} -} ] -}'; //Required - -$result = $roleAPI->createRoles($payload); - ``` - - -
Roles by UID (GET)
- -API is used to retrieve all the assigned roles of a particular User. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/get-roles-by-uid) - - ```php - -$uid = "uid"; //Required - -$result = $roleAPI->getRolesByUid($uid); - ``` - - -
Get Context with Roles and Permissions (GET)
- -This API Gets the contexts that have been configured and the associated roles and permissions. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/get-context) - - ```php - -$uid = "uid"; //Required - -$result = $roleAPI->getRoleContextByUid($uid); - ``` - - -
Role Context profile (GET)
- -The API is used to retrieve role context by the context name. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/role-context-profile/) - - ```php - -$contextName = "contextName"; //Required - -$result = $roleAPI->getRoleContextByContextName($contextName); - ``` - - -
Roles List (GET)
- -This API retrieves the complete list of created roles with permissions of your app. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/roles-list) - - ```php - - -$result = $roleAPI->getRolesList(); - ``` - - -
Unassign Roles by UID (DELETE)
- -This API is used to unassign roles from a user. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/unassign-roles-by-uid) - - ```php - - $payload = '{ -"roles" : [ "roles" ] -}'; //Required -$uid = "uid"; //Required - -$result = $roleAPI->unassignRolesByUid($payload,$uid); - ``` - - -
Delete Role Context (DELETE)
- -This API Deletes the specified Role Context - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/delete-context) - - ```php - -$contextName = "contextName"; //Required -$uid = "uid"; //Required - -$result = $roleAPI->deleteRoleContextByUid($contextName,$uid); - ``` - - -
Delete Role from Context (DELETE)
- -This API Deletes the specified Role from a Context. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/delete-role-from-context/) - - ```php - -$contextName = "contextName"; //Required - $payload = '{ -"roles" : [ "roles" ] -}'; //Required -$uid = "uid"; //Required - -$result = $roleAPI->deleteRolesFromRoleContextByUid($contextName,$payload,$uid); - ``` - - -
Delete Additional Permission from Context (DELETE)
- -This API Deletes Additional Permissions from Context. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/delete-permissions-from-context) - - ```php - -$contextName = "contextName"; //Required - $payload = '{ -"additionalPermissions" : [ "additionalPermissions" ] -}'; //Required -$uid = "uid"; //Required - -$result = $roleAPI->deleteAdditionalPermissionFromRoleContextByUid($contextName,$payload,$uid); - ``` - - -
Account Delete Role (DELETE)
- -This API is used to delete the role. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/delete-role) - - ```php - -$role = "role"; //Required - -$result = $roleAPI->deleteRole($role); - ``` - - -
Remove Permissions (DELETE)
- -API is used to remove permissions from a role. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/roles-management/remove-permissions) +## Quickstart - ```php - - $payload = '{ -"permissions" : [ "permissions" ] -}'; //Required -$role = "role"; //Required - -$result = $roleAPI->removeRolePermissions($payload,$role); - ``` - - -### RiskBasedAuthentication API - -List of APIs in this Section:
-[POST : Risk Based Authentication Login by Email](#RBALoginByEmail-post-)
-[POST : Risk Based Authentication Login by Username](#RBALoginByUserName-post-)
-[POST : Risk Based Authentication Phone Login](#RBALoginByPhone-post-)
- -If you have not already initialized the RiskBasedAuthentication object do so now ```php -$riskBasedAuthenticationAPI = new RiskBasedAuthenticationAPI(); -``` - - -
Risk Based Authentication Login by Email (POST)
- -This 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) - - ```php - - $payload = '{ -"email" : "", -"password" : "" -}'; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$loginUrl = "loginUrl"; //Optional -$passwordDelegation = true; //Optional -$passwordDelegationApp = "passwordDelegationApp"; //Optional -$rbaBrowserEmailTemplate = "rbaBrowserEmailTemplate"; //Optional -$rbaBrowserSmsTemplate = "rbaBrowserSmsTemplate"; //Optional -$rbaCityEmailTemplate = "rbaCityEmailTemplate"; //Optional -$rbaCitySmsTemplate = "rbaCitySmsTemplate"; //Optional -$rbaCountryEmailTemplate = "rbaCountryEmailTemplate"; //Optional -$rbaCountrySmsTemplate = "rbaCountrySmsTemplate"; //Optional -$rbaIpEmailTemplate = "rbaIpEmailTemplate"; //Optional -$rbaIpSmsTemplate = "rbaIpSmsTemplate"; //Optional -$rbaOneclickEmailTemplate = "rbaOneclickEmailTemplate"; //Optional -$rbaOTPSmsTemplate = "rbaOTPSmsTemplate"; //Optional -$smsTemplate = "smsTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional - -$result = $riskBasedAuthenticationAPI->rbaLoginByEmail($payload,$emailTemplate,$fields,$loginUrl,$passwordDelegation,$passwordDelegationApp,$rbaBrowserEmailTemplate,$rbaBrowserSmsTemplate,$rbaCityEmailTemplate,$rbaCitySmsTemplate,$rbaCountryEmailTemplate,$rbaCountrySmsTemplate,$rbaIpEmailTemplate,$rbaIpSmsTemplate,$rbaOneclickEmailTemplate,$rbaOTPSmsTemplate,$smsTemplate,$verificationUrl); - ``` - - -
Risk Based Authentication Login by Username (POST)
- -This 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) - - ```php - - $payload = '{ -"password" : "", -"username" : "" -}'; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$loginUrl = "loginUrl"; //Optional -$passwordDelegation = true; //Optional -$passwordDelegationApp = "passwordDelegationApp"; //Optional -$rbaBrowserEmailTemplate = "rbaBrowserEmailTemplate"; //Optional -$rbaBrowserSmsTemplate = "rbaBrowserSmsTemplate"; //Optional -$rbaCityEmailTemplate = "rbaCityEmailTemplate"; //Optional -$rbaCitySmsTemplate = "rbaCitySmsTemplate"; //Optional -$rbaCountryEmailTemplate = "rbaCountryEmailTemplate"; //Optional -$rbaCountrySmsTemplate = "rbaCountrySmsTemplate"; //Optional -$rbaIpEmailTemplate = "rbaIpEmailTemplate"; //Optional -$rbaIpSmsTemplate = "rbaIpSmsTemplate"; //Optional -$rbaOneclickEmailTemplate = "rbaOneclickEmailTemplate"; //Optional -$rbaOTPSmsTemplate = "rbaOTPSmsTemplate"; //Optional -$smsTemplate = "smsTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional - -$result = $riskBasedAuthenticationAPI->rbaLoginByUserName($payload,$emailTemplate,$fields,$loginUrl,$passwordDelegation,$passwordDelegationApp,$rbaBrowserEmailTemplate,$rbaBrowserSmsTemplate,$rbaCityEmailTemplate,$rbaCitySmsTemplate,$rbaCountryEmailTemplate,$rbaCountrySmsTemplate,$rbaIpEmailTemplate,$rbaIpSmsTemplate,$rbaOneclickEmailTemplate,$rbaOTPSmsTemplate,$smsTemplate,$verificationUrl); - ``` - - -
Risk Based Authentication Phone Login (POST)
+use LoginRadius\Sdk\Client; +use LoginRadius\Sdk\Config; -This 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) +$client = new Client(new Config(apiKey: getenv('LR_API_KEY'))); - ```php - - $payload = '{ -"password" : "", -"phone" : "" -}'; //Required -$emailTemplate = "emailTemplate"; //Optional -$fields = null; //Optional -$loginUrl = "loginUrl"; //Optional -$passwordDelegation = true; //Optional -$passwordDelegationApp = "passwordDelegationApp"; //Optional -$rbaBrowserEmailTemplate = "rbaBrowserEmailTemplate"; //Optional -$rbaBrowserSmsTemplate = "rbaBrowserSmsTemplate"; //Optional -$rbaCityEmailTemplate = "rbaCityEmailTemplate"; //Optional -$rbaCitySmsTemplate = "rbaCitySmsTemplate"; //Optional -$rbaCountryEmailTemplate = "rbaCountryEmailTemplate"; //Optional -$rbaCountrySmsTemplate = "rbaCountrySmsTemplate"; //Optional -$rbaIpEmailTemplate = "rbaIpEmailTemplate"; //Optional -$rbaIpSmsTemplate = "rbaIpSmsTemplate"; //Optional -$rbaOneclickEmailTemplate = "rbaOneclickEmailTemplate"; //Optional -$rbaOTPSmsTemplate = "rbaOTPSmsTemplate"; //Optional -$smsTemplate = "smsTemplate"; //Optional -$verificationUrl = "verificationUrl"; //Optional - -$result = $riskBasedAuthenticationAPI->rbaLoginByPhone($payload,$emailTemplate,$fields,$loginUrl,$passwordDelegation,$passwordDelegationApp,$rbaBrowserEmailTemplate,$rbaBrowserSmsTemplate,$rbaCityEmailTemplate,$rbaCitySmsTemplate,$rbaCountryEmailTemplate,$rbaCountrySmsTemplate,$rbaIpEmailTemplate,$rbaIpSmsTemplate,$rbaOneclickEmailTemplate,$rbaOTPSmsTemplate,$smsTemplate,$verificationUrl); - ``` - - - - - -### Sott API - -List of APIs in this Section:
-[GET : Generate SOTT](#GenerateSott-get-)
- -If you have not already initialized the Sott object do so now -```php -$sottAPI = new SottAPI(); +$result = $client->login->checkUserNameAvailability(username: 'alice'); ``` +Construct one `Client` per tenant / credential set and reuse it — every +service property shares the same underlying HTTP client and configuration. -
Generate SOTT (GET)
+## Configuration -This API allows you to generate SOTT with a given expiration time. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/session/generate-sott-token) +Supply only the credentials your endpoints require — the constructor throws +`InvalidArgumentException` if none are set: - ```php - -$timeDifference = 0; //Optional - -$result = $sottAPI->generateSott($timeDifference); - ``` - - - - - -### NativeSocial API - -List of APIs in this Section:
-[GET : Get Access Token via Custom JWT Token](#AccessTokenViaCustomJWTToken-get-)
-[GET : Access Token via Facebook Token](#GetAccessTokenByFacebookAccessToken-get-)
-[GET : Access Token via Twitter Token](#GetAccessTokenByTwitterAccessToken-get-)
-[GET : Access Token via Google Token](#GetAccessTokenByGoogleAccessToken-get-)
-[GET : Access Token using google JWT token for Native Mobile Login](#GetAccessTokenByGoogleJWTAccessToken-get-)
-[GET : Access Token via Linkedin Token](#GetAccessTokenByLinkedinAccessToken-get-)
-[GET : Get Access Token By Foursquare Access Token](#GetAccessTokenByFoursquareAccessToken-get-)
-[GET : Access Token via Apple Id Code](#GetAccessTokenByAppleIdCode-get-)
-[GET : Access Token via WeChat Code](#GetAccessTokenByWeChatCode-get-)
-[GET : Access Token via Google AuthCode](#GetAccessTokenByGoogleAuthCode-get-)
- -If you have not already initialized the NativeSocial object do so now ```php -$nativeSocialAPI = new NativeSocialAPI(); +$config = new Config( + apiKey: getenv('LR_API_KEY'), + apiSecret: getenv('LR_API_SECRET'), // server-side only + accessToken: $sessionAccessToken, +); ``` -
Get Access Token via Custom JWT Token (GET)
- - This API is used to retrieve a LoginRadius access token by passing in a valid custom JWT token. [More info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/native-social-login-api/access-token-by-custom-jwt-token/) - - - ```php - -$id_Token = "id_Token"; //Required -$providername = "providername"; //Required - -$result = $nativeSocialAPI->accessTokenViaCustomJWTToken($id_Token,$providername); - ``` - -
Access Token via Facebook Token (GET)
- -The API is used to get LoginRadius access token by sending Facebook's access token. It will be valid for the specific duration of time specified in the response. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/native-social-login-api/access-token-via-facebook-token/) - - ```php - -$fb_Access_Token = "fb_Access_Token"; //Required -$socialAppName = "socialAppName"; //Optional - -$result = $nativeSocialAPI->getAccessTokenByFacebookAccessToken($fb_Access_Token,$socialAppName); - ``` - - -
Access Token via Twitter Token (GET)
- -The API is used to get LoginRadius access token by sending Twitter's access token. It will be valid for the specific duration of time specified in the response. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/native-social-login-api/access-token-via-twitter-token) - - ```php - -$tw_Access_Token = "tw_Access_Token"; //Required -$tw_Token_Secret = "tw_Token_Secret"; //Required -$socialAppName = "socialAppName"; //Optional - -$result = $nativeSocialAPI->getAccessTokenByTwitterAccessToken($tw_Access_Token,$tw_Token_Secret,$socialAppName); - ``` - - -
Access Token via Google Token (GET)
- -The API is used to get LoginRadius access token by sending Google's access token. It will be valid for the specific duration of time specified in the response. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/native-social-login-api/access-token-via-google-token) - - ```php - -$google_Access_Token = "google_Access_Token"; //Required -$client_id = "client_id"; //Optional -$refresh_token = "refresh_token"; //Optional -$socialAppName = "socialAppName"; //Optional - -$result = $nativeSocialAPI->getAccessTokenByGoogleAccessToken($google_Access_Token,$client_id,$refresh_token,$socialAppName); - ``` - - -
Access Token using google JWT token for Native Mobile Login (GET)
- -This API is used to Get LoginRadius Access Token using google jwt id token for google native mobile login/registration. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/native-social-login-api/access-token-via-googlejwt) - - ```php - -$id_Token = "id_Token"; //Required - -$result = $nativeSocialAPI->getAccessTokenByGoogleJWTAccessToken($id_Token); - ``` - - -
Access Token via Linkedin Token (GET)
- -The API is used to get LoginRadius access token by sending Linkedin's access token. It will be valid for the specific duration of time specified in the response. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/native-social-login-api/access-token-via-linkedin-token/) - - ```php - -$ln_Access_Token = "ln_Access_Token"; //Required -$socialAppName = "socialAppName"; //Optional - -$result = $nativeSocialAPI->getAccessTokenByLinkedinAccessToken($ln_Access_Token,$socialAppName); - ``` - - -
Get Access Token By Foursquare Access Token (GET)
- -The API is used to get LoginRadius access token by sending Foursquare's access token. It will be valid for the specific duration of time specified in the response. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/native-social-login-api/access-token-via-foursquare-token/) - - ```php - -$fs_Access_Token = "fs_Access_Token"; //Required - -$result = $nativeSocialAPI->getAccessTokenByFoursquareAccessToken($fs_Access_Token); - ``` - - -
Access Token via Apple Id Code (GET)
- -The API is used to get LoginRadius access token by sending a valid Apple ID OAuth Code. It will be valid for the specific duration of time specified in the response. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/native-social-login-api/access-token-via-apple-id-code) - - ```php - -$code = "code"; //Required -$socialAppName = "socialAppName"; //Optional - -$result = $nativeSocialAPI->getAccessTokenByAppleIdCode($code,$socialAppName); - ``` - - -
Access Token via WeChat Code (GET)
- -This API is used to retrieve a LoginRadius access token by passing in a valid WeChat OAuth Code. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/native-social-login-api/access-token-via-wechat-code) - - ```php - -$code = "code"; //Required - -$result = $nativeSocialAPI->getAccessTokenByWeChatCode($code); - ``` - - -
Access Token via Google AuthCode (GET)
- -The API is used to get LoginRadius access token by sending Google's AuthCode. It will be valid for the specific duration of time specified in the response. - [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/social-login/native-social-login-api/access-token-via-google-auth-code) - - ```php - -$google_authcode = "google_authcode"; //Required -$socialAppName = "socialAppName"; //Optional - -$result = $nativeSocialAPI->getAccessTokenByGoogleAuthCode($google_authcode,$socialAppName); - ``` - - - - - -### WebHook API +Named arguments cover every option: `domain` / `customDomain` / `baseURL` +(server selection, highest precedence first — see `Config::resolveBaseUrl()`), +`timeoutSeconds`, `httpClient` (a pre-configured Guzzle client to extend +rather than replace), `defaultHeaders`, `apiRequestSigning`, `debug` (a +writable stream — credential values are redacted, only header names appear), +and `serverIndex`. -List of APIs in this Section:
+## Errors -### WebHook API +Every non-2xx response or transport failure throws `LoginRadiusException`: -List of APIs in this Section:
-[PUT : Update Webhook Subscription](#UpdateWebhookSubscription-put-)
-[POST : Create Webhook Subscription](#CreateWebhookSubscription-post-)
-[GET : Get Webhook Subscription Detail](#GetWebhookSubscriptionDetail-get-)
-[GET : List All Webhooks](#ListAllWebhooks-get-)
-[GET : Get Webhook Events](#GetWebhookEvents-get-)
-[DELETE : Delete Webhook Subscription](#DeleteWebhookSubscription-delete-)
- -If you have not already initialized the WebHook object do so now ```php -$webHookAPI = new WebHookAPI(); -``` - - -
Update Webhook Subscription (PUT)
- -This API is used to update a webhook subscription - [More Info](https://www.loginradius.com/docs/api/v2/integrations/webhooks/update-webhook-subscription/) - - ```php - -$hookId = "hookId"; //Required - $payload = '{ - "Headers": { - "x-test-header": "qa" - }, - "QueryParams": { - "apikey": "859faf40a7c54c209360b45376bf529f" - }, - "Authentication": { - "AuthType": "Basic", - "BasicAuth": { - "Username": "lrqaadmin", - "Password": "ZBz6JcnZadxc2gB7sf5vby87zBIu6q" - } - } -}'; //Required - -$result = $webHookAPI->updateWebhookSubscription($hookId,$payload); - ``` - - -
Create Webhook Subscription (POST)
+use LoginRadius\Sdk\LoginRadiusException; -This API is used to create a new webhook subscription on your LoginRadius site. - [More Info](https://www.loginradius.com/docs/api/v2/integrations/webhooks/create-webhook-subscription/) - - ```php - - $payload = '{ - "event" : "", - "name" : "", - "targetUrl" : "", - "Headers": { - "Custom-Header": "headerValue" - }, - "QueryParams": { - "apikey": "yourApiKey" - }, - "Authentication": { - "AuthType": "Basic", - "BasicAuth": { - "Username": "yourUsername", - "Password": "yourPassword" - } +try { + $client->user->getAccountDetails(accessToken: $accessToken); +} catch (LoginRadiusException $e) { + if ($e->isAuth()) { + // 401 — missing or invalid credentials } -}'; //Required - -$result = $webHookAPI->createWebhookSubscription($payload); - ``` - - -
Get Webhook Subscription Detail (GET)
- -This API is used to get details of a webhook subscription by Id - [More Info](https://www.loginradius.com/docs/api/v2/integrations/webhooks/get-webhook-subscription-details/) - - ```php - -$hookId = "hookId"; //Required - -$result = $webHookAPI->getWebhookSubscriptionDetail($hookId); - ``` - - -
List All Webhooks (GET)
- -This API is used to get the list of all the webhooks - [More Info](https://www.loginradius.com/docs/api/v2/integrations/webhooks/list-all-webhooks/) - - ```php - - -$result = $webHookAPI->listAllWebhooks(); - ``` - - -
Get Webhook Events (GET)
- -This API is used to retrieve all the webhook events. - [More Info](https://www.loginradius.com/docs/api/v2/integrations/webhooks/get-webhook-events/) - - ```php - - -$result = $webHookAPI->getWebhookEvents(); - ``` - - -
Delete Webhook Subscription (DELETE)
- -This API is used to delete webhook subscription - [More Info](https://www.loginradius.com/docs/api/v2/integrations/webhooks/delete-webhook-subscription/) - - ```php - -$hookId = "hookId"; //Required - -$result = $webHookAPI->deleteWebhookSubscription($hookId); - ``` - - -### SlidingToken API - - -List of APIs in this Section:
-[GET : Get Sliding Access Token](#SlidingAccessToken-get-)
- - -If you have not already initialized the SlidingToken object do so now -```php -$slidingTokenAPI = new SlidingTokenAPI(); + echo $e->statusCode(), ' ', $e->code(), ' ', $e->description(); +} ``` +## SOTT (registration) -
(GET)
- - This API is used to get access token and refresh token with the expired/nonexpired access token. [More Info](https://www.loginradius.com/docs/api/v2/customer-identity-api/refresh-token/sliding-access-token) - - - -```php - -$access_token = "access_token"; //Required - -$result = $slidingTokenAPI->slidingAccessToken($access_token); - -``` -### Generate SOTT Manually - -SOTT is a secure one-time token that can be created using the API key, API secret, and a timestamp ( start time and end time ). You can manually create a SOTT using the following utility function. +Registration endpoints require a Secure One-Time Token, minted server-side +from your API key and secret — never in a browser or mobile client: ```php +use LoginRadius\Sdk\Sott; -$startTime="2022-01-10 12:00:00"; // (Optional) Valid Start Date with Date and time - -$endTime="2022-03-10 07:00:00"; //(Optional) Valid End Date with Date and time - -$getLRserverTime=false; //(Optional) If true it will call LoginRadius Get Server Time Api and fetch basic server information and server time information which is useful when generating an SOTT token. - -//do not pass the time difference if you are passing startTime & endTime. - -$timeDifference =''; // (Optional) The time difference will be used to set the expiration time of SOTT, If you do not pass time difference then the default expiration time of SOTT is 10 minutes. - - -//The LoginRadius API key and primary API secret can be passed additionally, If the credentials will not be passed then this SOTT function will pick the API credentials from the SDK configuration. - -$apiKey=""; //(Optional) LoginRadius Api Key - -$apiSecret=""; //(Optional) LoginRadius Api Secret (Only Primary Api Secret is used to generate the SOTT manually) - -$sottObj = new SOTT(); -$sott = $sottObj->getSott($startTime,$endTime,$getLRserverTime,$timeDifference,$apiKey,$apiSecret); +$sott = Sott::generate($apiKey, $apiSecret); ``` +## Demo +A runnable demo app lives in `demo/` — every endpoint the shared contract and +the extended routes expose, behind a small HTML page: -#### Implement Custom HTTP Client - -- In order to implement custom HTTP client. Create the customhttpclient.php file in your project. - -```php -namespace LoginRadiusSDK\Clients\IHttpClient; -use LoginRadiusSDK\Utility\Functions; -use LoginRadiusSDK\LoginRadiusException; - -class CustomHttpClient implements IHttpClient { - - public function request($path, $query_array = array(), $options = array()) { - //custom HTTP client request handler code here - } -} -``` -- After that, pass the class name of your custom http client in global variable** $apiClient_class** in your project. -
- ->Note: If you manually added LoginRadius SDK then please make sure that customhttpclient.php file included in your project. -```php -global $apiClient_class; -$apiClient_class = 'CustomHttpClient'; +```bash +composer install +export LR_API_KEY=... LR_API_SECRET=... +php -S localhost:8080 demo/index.php ``` ->Now your Custom HTTP client library will be used to handle LoginRadius APIs. - +Then open http://localhost:8080/. +## API reference +[`docs/API.md`](./docs/API.md) lists every operation with its method name, +HTTP verb and path, grouped by service. +## Generated client - -## Demo - -Check out the demo and get the full SDK on our [Github](https://github.com/LoginRadius/php-sdk) - -## Reference Manual -Please find the reference manual [here](http://docs.lrcontent.com/apidocs/ref/php/index.html) \ No newline at end of file +`src/Internal/OpenApi/` is the raw client openapi-generator produces from the +spec. It is an implementation detail — use the facade in `src/` instead; +`Internal\OpenApi` may change shape between generator versions without +notice. diff --git a/composer.json b/composer.json index c18b0d1..784e459 100644 --- a/composer.json +++ b/composer.json @@ -1,21 +1,38 @@ { "name": "loginradius/php-sdk", - "description": "LoginRadius PHP SDK v11.7.0", - "keywords": ["loginradius", "phpsdk"], - "type": "library", + "description": "Official PHP SDK for the LoginRadius Customer Identity and Access Management (CIAM) platform.", + "homepage": "https://www.loginradius.com", "license": "MIT", "authors": [ { - "name": "LoginRadius Team", - "email": "developers@loginradius.com" + "name": "LoginRadius", + "homepage": "https://www.loginradius.com" } ], "require": { - "php": ">=5.4.0" + "php": ">=8.1", + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "guzzlehttp/guzzle": "^7.3", + "guzzlehttp/psr7": "^1.7 || ^2.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.0 || ^9.0", + "friendsofphp/php-cs-fixer": "^3.5" }, "autoload": { "psr-4": { - "LoginRadiusSDK\\": "src/LoginRadiusSDK/" + "LoginRadius\\Sdk\\Internal\\OpenApi\\": "src/Internal/OpenApi/", + "LoginRadius\\Sdk\\": "src/" } - } + }, + "autoload-dev": { + "psr-4": { + "LoginRadius\\Sdk\\Internal\\OpenApi\\Test\\": "test/", + "LoginRadius\\Sdk\\Demo\\": "demo/", + "LoginRadius\\Sdk\\Tests\\": "tests/" + } + }, + "version": "12.0.0-rc.1" } diff --git a/demo/Demo.php b/demo/Demo.php new file mode 100644 index 0000000..5573920 --- /dev/null +++ b/demo/Demo.php @@ -0,0 +1,214 @@ + true, 'result' => $result]); + } catch (ApiException $e) { + self::writeSdkError($e); + } catch (\Throwable $e) { + self::writeJson(500, ['error' => $e->getMessage()]); + } + } + + /** + * Maps a generated ApiException onto the facade's typed error for the UI. + * + * `apiResponse` carries the response body exactly as LoginRadius sent + * it — LoginRadiusException::rawBody() verbatim, decoded for readability + * when it's JSON. The other fields are OUR derived summary (code pulled + * out via the manifest's field-alias probing, predicates, etc.) and can + * legitimately differ from the raw body's own field names — e.g. the raw + * body says `ErrorCode`/`Description`, this envelope says `error`/ + * `message`. Use `apiResponse` when you need to see precisely what the + * API returned, with nothing summarised or renamed. + */ + public static function writeSdkError(ApiException $e): void + { + $lr = Client::toLoginRadiusException($e); + $status = $lr->statusCode() === 0 ? 502 : $lr->statusCode(); + $raw = $lr->rawBody(); + $decoded = $raw !== '' ? json_decode($raw, true) : null; + self::writeJson($status, [ + 'error' => $lr->code() !== '' ? $lr->code() : 'loginradius_error', + 'message' => $lr->description() !== '' ? $lr->description() : $lr->getMessage(), + 'auth' => $lr->isAuth(), + 'forbidden' => $lr->isForbidden(), + 'rateLimited' => $lr->isRateLimit(), + 'server' => $lr->isServer(), + // The complete, unmodified body LoginRadius returned. null when + // the request never reached the API at all (a transport failure, + // or — as with the empty-body custom-object case — a validation + // error the generated client threw before sending anything). + 'apiResponse' => $decoded ?? ($raw !== '' ? $raw : null), + ]); + } + + public static function writeError(\Throwable $e): void + { + if ($e instanceof ApiException) { + self::writeSdkError($e); + return; + } + self::writeJson(500, ['error' => $e->getMessage()]); + } + + public static function redirect(string $location): void + { + http_response_code(302); + header('Location: ' . $location); + } + + public static function query(string $key): ?string + { + $v = $_GET[$key] ?? null; + return is_string($v) ? $v : null; + } + + public static function sessionId(): ?string + { + $v = $_COOKIE[self::COOKIE] ?? null; + return is_string($v) && $v !== '' ? $v : null; + } + + /** + * Issues the demo session cookie. + * + * HttpOnly keeps the access token out of reach of page scripts, and + * SameSite=Lax is what lets the email-verification redirect arrive with + * the cookie still attached. The demo serves plain HTTP on localhost, so + * Secure is deliberately absent — add it before running this anywhere + * real. + */ + public static function setSessionCookie(string $sessionId): void + { + header(sprintf('Set-Cookie: %s=%s; Path=/; HttpOnly; SameSite=Lax', self::COOKIE, $sessionId)); + } + + public static function clearSessionCookie(): void + { + header(sprintf('Set-Cookie: %s=; Path=/; Max-Age=0; HttpOnly; SameSite=Lax', self::COOKIE)); + } + + /** + * The access token for an authenticated route. Safe to call only from a + * handler whose route sets requiresSession — the router validated it + * already. + */ + public static function accessToken(DemoSessions $sessions): ?string + { + return $sessions->lookup(self::sessionId()); + } + + /** + * The refresh token for an authenticated route, or null if the current + * session's login flow never returned one. Safe to call only from a + * handler whose route sets requiresSession. + */ + public static function refreshToken(DemoSessions $sessions): ?string + { + return $sessions->lookupRefreshToken(self::sessionId()); + } + + /** + * Issues the MFA challenge cookie, holding the second-factor token + * itself (not an opaque id) — the token is already short-lived and + * scoped to one login attempt, so there is nothing extra to protect by + * indirecting through server-side storage the way the session cookie + * does. 15-minute expiry matches the token's own validity window. + */ + public static function setMfaCookie(string $token): void + { + header(sprintf( + 'Set-Cookie: %s=%s; Path=/; Max-Age=900; HttpOnly; SameSite=Lax', + self::MFA_COOKIE, + $token + )); + } + + public static function clearMfaCookie(): void + { + header(sprintf('Set-Cookie: %s=; Path=/; Max-Age=0; HttpOnly; SameSite=Lax', self::MFA_COOKIE)); + } + + /** The second-factor token for an in-progress MFA login challenge, or null. */ + public static function mfaToken(): ?string + { + $v = $_COOKIE[self::MFA_COOKIE] ?? null; + return is_string($v) && $v !== '' ? $v : null; + } + + public static function verificationUrl(): string + { + return getenv('LR_VERIFICATION_URL') ?: 'http://localhost:8080/api/auth/verify'; + } + + public static function resetUrl(): string + { + return getenv('LR_RESET_PASSWORD_URL') ?: 'http://localhost:8080/?reset=1'; + } +} diff --git a/demo/DemoHandlers.php b/demo/DemoHandlers.php new file mode 100644 index 0000000..4ff667d --- /dev/null +++ b/demo/DemoHandlers.php @@ -0,0 +1,1009 @@ + 'expected JSON {email, password}']); + return; + } + if ($this->config->apiSecret() === null || $this->config->apiSecret() === '') { + Demo::writeJson(500, ['error' => 'LR_API_SECRET is required for registration']); + return; + } + + // Minted per request: a SOTT is valid for ten minutes, so it must + // never come from configuration — and never from the client. + $sott = Sott::generate((string) $this->config->apiKey(), $this->config->apiSecret()); + + $body = new ProfileRequestModel([ + 'email' => [new ProfileRequestModelEmailInner(['type' => 'Primary', 'value' => $email])], + 'password' => $password, + 'firstName' => Demo::get($input, 'firstName'), + 'lastName' => Demo::get($input, 'lastName'), + ]); + + try { + $result = $this->client->registration->userRegistrationBySottEmailPhoneUserName( + $body, + sott: $sott, + verificationurl: Demo::verificationUrl() + ); + $decoded = json_decode((string) json_encode($result), true); + $decoded = is_array($decoded) ? $decoded : []; + // Some tenants nest the profile under `Data` on this response. + $flat = is_array($decoded['Data'] ?? null) ? $decoded['Data'] : $decoded; + + $accessToken = $flat['access_token'] ?? null; + $signedIn = false; + if (is_string($accessToken) && $accessToken !== '') { + $refreshToken = $flat['refresh_token'] ?? ''; + Demo::setSessionCookie($this->sessions->create($accessToken, is_string($refreshToken) ? $refreshToken : '')); + $signedIn = true; + } + Demo::writeJson(200, ['signed_in' => $signedIn, 'profile' => $decoded]); + } catch (\Throwable $e) { + Demo::writeError($e); + } + } + + /** Email + password login. Stores the returned access token in the demo session. */ + public function login(): void + { + $input = Demo::readJson(); + $email = Demo::get($input, 'email'); + $password = Demo::get($input, 'password'); + if ($email === null || $password === null) { + Demo::writeJson(400, ['error' => 'expected JSON {email, password}']); + return; + } + try { + $body = new EmailByLoginUserNamePhoneRequest(['email' => $email, 'password' => $password]); + $result = $this->client->login->emailByLoginUserNamePhone($body); + + // Round-tripped through JSON rather than reading typed properties: + // this is a oneOf response (success / MFA challenge), and every + // model already implements JsonSerializable, so this is the same + // encoder the SDK itself trusts to describe whichever branch was + // resolved — no separate decoder to keep in sync with it. + $decoded = json_decode((string) json_encode($result), true); + $decoded = is_array($decoded) ? $decoded : []; + + // MFA challenge: surface it instead of treating it as a failure. + // `SecondFactorAuthenticationToken` (see AuthResponseRequiredMfa's + // wire mapping) is a flat string, present only on the challenge + // branch of this oneOf response — absent (not merely empty) on a + // normal success. + $mfaToken = $decoded['SecondFactorAuthenticationToken'] ?? null; + if (is_string($mfaToken) && $mfaToken !== '') { + Demo::setMfaCookie($mfaToken); + Demo::writeJson(200, [ + 'mfa_required' => true, + 'totp_enrolled' => (bool) ($decoded['IsGoogleAuthenticatorVerified'] ?? $decoded['IsAuthenticatorVerified'] ?? false), + 'manual_entry_code' => $decoded['ManualEntryCode'] ?? null, + 'qr_code' => $decoded['QRCode'] ?? null, + 'response' => $decoded, + ]); + return; + } + + $accessToken = $decoded['access_token'] ?? null; + if (!is_string($accessToken) || $accessToken === '') { + Demo::writeJson(502, ['error' => 'login succeeded but no access_token was returned']); + return; + } + $refreshToken = $decoded['refresh_token'] ?? ''; + + Demo::setSessionCookie($this->sessions->create($accessToken, is_string($refreshToken) ? $refreshToken : '')); + Demo::writeJson(200, ['ok' => true, 'result' => $decoded]); + } catch (\Throwable $e) { + Demo::writeError($e); + } + } + + /** Invalidates the access token upstream, then clears the demo session. */ + public function logout(): void + { + // The local session is cleared even if the upstream call fails — + // otherwise a transient API error would leave the user unable to sign out. + $this->sessions->delete(Demo::sessionId()); + Demo::clearSessionCookie(); + Demo::writeJson(200, ['ok' => true]); + } + + // ------------------------------------------------------- passwordless -- + + /** Emails a one-time code to an existing user; no password involved. */ + public function passwordlessLoginByEmail(): void + { + $email = Demo::query('email'); + if ($email === null || $email === '') { + Demo::writeJson(400, ['error' => 'expected query param ?email=']); + return; + } + Demo::call(fn () => $this->client->login->passwordlessLoginByEmail(email: $email)); + } + + /** + * Completes an email passwordless login. Same response shape as + * {@see login}, including the MFA-challenge branch — a tenant with MFA + * enabled still enforces its second factor after the emailed code. + */ + public function passwordlessLoginByEmailOtp(): void + { + $input = Demo::readJson(); + $email = Demo::get($input, 'email'); + $otp = Demo::get($input, 'otp'); + if ($email === null || $otp === null) { + Demo::writeJson(400, ['error' => 'expected JSON {email, otp}']); + return; + } + try { + $body = new PasswordLessEmailOTPModel(['email' => $email, 'otp' => $otp]); + $result = $this->client->login->passwordlessLoginByEmailAndOTP($body); + + $decoded = json_decode((string) json_encode($result), true); + $decoded = is_array($decoded) ? $decoded : []; + + $mfaToken = $decoded['SecondFactorAuthenticationToken'] ?? null; + if (is_string($mfaToken) && $mfaToken !== '') { + Demo::setMfaCookie($mfaToken); + Demo::writeJson(200, [ + 'mfa_required' => true, + 'totp_enrolled' => (bool) ($decoded['IsGoogleAuthenticatorVerified'] ?? $decoded['IsAuthenticatorVerified'] ?? false), + 'manual_entry_code' => $decoded['ManualEntryCode'] ?? null, + 'qr_code' => $decoded['QRCode'] ?? null, + 'response' => $decoded, + ]); + return; + } + + $accessToken = $decoded['access_token'] ?? null; + if (!is_string($accessToken) || $accessToken === '') { + Demo::writeJson(502, ['error' => 'login succeeded but no access_token was returned']); + return; + } + $refreshToken = $decoded['refresh_token'] ?? ''; + + Demo::setSessionCookie($this->sessions->create($accessToken, is_string($refreshToken) ? $refreshToken : '')); + Demo::writeJson(200, ['ok' => true, 'result' => $decoded]); + } catch (\Throwable $e) { + Demo::writeError($e); + } + } + + /** Texts a one-time code to an existing user; no password involved. */ + public function passwordlessLoginByPhone(): void + { + $phone = Demo::query('phone'); + if ($phone === null || $phone === '') { + Demo::writeJson(400, ['error' => 'expected query param ?phone=']); + return; + } + Demo::call(fn () => $this->client->login->passwordlessLoginByPhone(phone: $phone)); + } + + /** + * Completes a phone passwordless login. Same response shape as + * {@see login}, including the MFA-challenge branch. + */ + public function passwordlessLoginByPhoneOtp(): void + { + $input = Demo::readJson(); + $phone = Demo::get($input, 'phone'); + $otp = Demo::get($input, 'otp'); + if ($phone === null || $otp === null) { + Demo::writeJson(400, ['error' => 'expected JSON {phone, otp}']); + return; + } + try { + $body = new PhoneOTPModel(['phone' => $phone, 'otp' => $otp]); + $result = $this->client->login->passwordlessLoginPhoneVerification($body); + + $decoded = json_decode((string) json_encode($result), true); + $decoded = is_array($decoded) ? $decoded : []; + + $mfaToken = $decoded['SecondFactorAuthenticationToken'] ?? null; + if (is_string($mfaToken) && $mfaToken !== '') { + Demo::setMfaCookie($mfaToken); + Demo::writeJson(200, [ + 'mfa_required' => true, + 'totp_enrolled' => (bool) ($decoded['IsGoogleAuthenticatorVerified'] ?? $decoded['IsAuthenticatorVerified'] ?? false), + 'manual_entry_code' => $decoded['ManualEntryCode'] ?? null, + 'qr_code' => $decoded['QRCode'] ?? null, + 'response' => $decoded, + ]); + return; + } + + $accessToken = $decoded['access_token'] ?? null; + if (!is_string($accessToken) || $accessToken === '') { + Demo::writeJson(502, ['error' => 'login succeeded but no access_token was returned']); + return; + } + $refreshToken = $decoded['refresh_token'] ?? ''; + + Demo::setSessionCookie($this->sessions->create($accessToken, is_string($refreshToken) ? $refreshToken : '')); + Demo::writeJson(200, ['ok' => true, 'result' => $decoded]); + } catch (\Throwable $e) { + Demo::writeError($e); + } + } + + /** + * Landing point for the link in the verification email. Redirects back to + * the UI with a status banner rather than returning JSON, because a + * browser lands here directly. + */ + public function verifyEmail(): void + { + $token = Demo::query('vtoken'); + if ($token === null || $token === '') { + Demo::redirect('/?verify=missing'); + return; + } + try { + // The verification endpoint shares its path with the availability + // check, so the SDK exposes one operation; passing + // verificationtoken performs the verification. + $this->client->user->checkEmailAvailability(verificationtoken: $token); + Demo::redirect('/?verify=success'); + } catch (ApiException $e) { + // Never redirect with the raw exception message: Guzzle's message + // for a failed request includes the full request URI, and this + // operation sends the API secret as a query parameter — so the + // raw message would leak it into a client-visible Location header + // (browser history, proxy/access logs, Referer). Route through + // LoginRadiusException, which extracts only the API's own + // Description/Message fields from the response body. + $lr = Client::toLoginRadiusException($e); + $msg = $lr->description() !== '' ? $lr->description() : 'verification failed'; + Demo::redirect('/?verify=error&message=' . rawurlencode($msg)); + } catch (\Throwable $e) { + Demo::redirect('/?verify=error&message=' . rawurlencode('verification failed')); + } + } + + // -------------------------------------------------------------- password -- + + /** Sends a password-reset email containing a reset token. */ + public function forgotPassword(): void + { + $input = Demo::readJson(); + $email = Demo::get($input, 'email'); + if ($email === null) { + Demo::writeJson(400, ['error' => 'expected JSON {email}']); + return; + } + $body = new ForgotPasswordRequest(['email' => $email]); + Demo::call(fn () => $this->client->password->forgotPassword( + resetpasswordurl: Demo::resetUrl(), + forgotPasswordRequest: $body + )); + } + + /** Completes a reset using the token from the email. */ + public function resetPassword(): void + { + $input = Demo::readJson(); + $token = Demo::get($input, 'resetToken'); + $password = Demo::get($input, 'password'); + if ($token === null || $password === null) { + Demo::writeJson(400, ['error' => 'expected JSON {resetToken, password}']); + return; + } + $body = new ResetPassword(['resetToken' => $token, 'password' => $password]); + Demo::call(fn () => $this->client->password->resetPasswordByResetToken($body)); + } + + /** Changes the signed-in user's password. */ + public function changePassword(): void + { + $input = Demo::readJson(); + $oldPassword = Demo::get($input, 'oldPassword'); + $newPassword = Demo::get($input, 'newPassword'); + if ($oldPassword === null || $newPassword === null) { + Demo::writeJson(400, ['error' => 'expected JSON {oldPassword, newPassword}']); + return; + } + $body = new ChangePassword(['oldPassword' => $oldPassword, 'newPassword' => $newPassword]); + Demo::call(fn () => $this->client->password->changePassword( + $body, + accessToken: Demo::accessToken($this->sessions) + )); + } + + // --------------------------------------------------------------- profile -- + + /** Returns the signed-in user's profile. */ + public function getProfile(): void + { + Demo::call(fn () => $this->client->user->getAccountDetails( + accessToken: Demo::accessToken($this->sessions) + )); + } + + /** Updates editable fields on the signed-in user's profile. */ + public function updateProfile(): void + { + $input = Demo::readJson(); + $body = new UpdateAccountByAccessTokenRequest([ + 'firstName' => Demo::get($input, 'firstName'), + 'lastName' => Demo::get($input, 'lastName'), + 'about' => Demo::get($input, 'about'), + ]); + Demo::call(fn () => $this->client->user->updateAccountByAccessToken( + $body, + accessToken: Demo::accessToken($this->sessions) + )); + } + + // --------------------------------------------------------------- email -- + + /** Adds a secondary email to the signed-in user's account. */ + public function addEmail(): void + { + $input = Demo::readJson(); + $email = Demo::get($input, 'email'); + if ($email === null) { + Demo::writeJson(400, ['error' => 'expected JSON {email, type}']); + return; + } + $type = Demo::get($input, 'type'); + $body = new AddEmailModel(['email' => $email, 'type' => $type ?? 'Secondary']); + + Demo::call(fn () => $this->client->user->addEmail( + $body, + accessToken: Demo::accessToken($this->sessions), + verificationurl: Demo::verificationUrl() + )); + } + + /** Removes an email address from the signed-in user's account. */ + public function deleteEmail(): void + { + $input = Demo::readJson(); + $email = Demo::get($input, 'email'); + if ($email === null) { + Demo::writeJson(400, ['error' => 'expected JSON {email}']); + return; + } + $body = new DeleteemailbyaccesstokenRequest([ + 'email' => $email, + 'accessToken' => Demo::accessToken($this->sessions), + ]); + Demo::call(fn () => $this->client->user->deleteemailbyaccesstoken($body)); + } + + /** + * Deletes the signed-in user's own account. + * + * The underlying operation is ADMIN-scoped: it authenticates with the API + * secret and will delete any account in the tenant by email address. + * Exposing that straight through would let anyone with a demo session + * delete anyone else, so this handler reads the signed-in profile first + * and refuses unless the address matches one the session actually owns. + * That guard is demo policy, not an SDK limitation. + */ + public function deleteAccount(): void + { + $input = Demo::readJson(); + $email = Demo::get($input, 'email'); + if ($email === null) { + Demo::writeJson(400, ['error' => 'expected JSON {email}']); + return; + } + try { + $profile = $this->client->user->getAccountDetails(accessToken: Demo::accessToken($this->sessions)); + $decodedProfile = json_decode((string) json_encode($profile), true); + $decodedProfile = is_array($decodedProfile) ? $decodedProfile : []; + $owned = array_filter(array_map( + static fn ($e) => strtolower(trim((string) ($e['Value'] ?? ''))), + is_array($decodedProfile['Email'] ?? null) ? $decodedProfile['Email'] : [] + )); + if (!in_array(strtolower($email), $owned, true)) { + Demo::writeJson(403, [ + 'error' => 'refusing to delete an account you are not signed in as', + 'hint' => 'the demo only deletes the signed-in account; the underlying API would delete any address', + ]); + return; + } + + $result = $this->client->accounts->deleteAccountByEmail($email); + $this->sessions->delete(Demo::sessionId()); + Demo::clearSessionCookie(); + Demo::clearMfaCookie(); + Demo::writeJson(200, ['deleted' => $result]); + } catch (\Throwable $e) { + Demo::writeError($e); + } + } + + // --------------------------------------------------------------- phone -- + + /** Updates the phone number on the signed-in user's account. */ + public function updatePhone(): void + { + $input = Demo::readJson(); + $phone = Demo::get($input, 'phone'); + if ($phone === null) { + Demo::writeJson(400, ['error' => 'expected JSON {phone}']); + return; + } + Demo::call(fn () => $this->client->user->changePhoneNumber( + accessToken: Demo::accessToken($this->sessions), + phoneIdModel: new PhoneIdModel(['phone' => $phone]) + )); + } + + // --------------------------------------------------------------- account -- + + /** + * Resets a password using a reset token, or an OTP paired with either an + * email or a username — the three branches of the "Reset Password with + * token and OTP" operation. + */ + public function resetPasswordWithToken(): void + { + $input = Demo::readJson(); + $password = Demo::get($input, 'password'); + $resetToken = Demo::get($input, 'resetToken'); + $otp = Demo::get($input, 'otp'); + $email = Demo::get($input, 'email'); + $username = Demo::get($input, 'username'); + + $usage = 'expected JSON {password, resetToken} or {password, otp, email} or {password, otp, username}'; + if ($password === null) { + Demo::writeJson(400, ['error' => $usage]); + return; + } + + if ($resetToken !== null) { + $body = new ResetPassword(['resetToken' => $resetToken, 'password' => $password]); + } elseif ($otp !== null && $email !== null) { + $body = new ResetPassword(['otp' => $otp, 'email' => $email, 'password' => $password]); + } elseif ($otp !== null && $username !== null) { + $body = new ResetPassword(['otp' => $otp, 'username' => $username, 'password' => $password]); + } else { + Demo::writeJson(400, ['error' => $usage]); + return; + } + + Demo::call(fn () => $this->client->password->resetPasswordWithOTP($body)); + } + + // --------------------------------------------------------- custom objects -- + + /** Creates a new custom object entry for the signed-in user. */ + private const CUSTOM_OBJECT_PATH_PREFIX = '/api/customobject/'; + + /** + * Resolves the custom-object schema name. An explicit value from the + * caller (this demo's UI always sends one) wins; the manifest's generated + * routes declare this via configQuery instead — no client value at all — + * so LR_CUSTOM_OBJECT_NAME is the fallback for that caller shape. + */ + private static function resolveObjectName(array $input): ?string + { + return Demo::get($input, 'objectname') ?? Demo::query('objectname') ?? (getenv('LR_CUSTOM_OBJECT_NAME') ?: null); + } + + /** + * Resolves the record id an update/delete targets. The manifest's + * generated routes carry it as a URL path segment (PUT/DELETE + * /api/customobject/{objectRecordId}); this demo's UI and the old + * hand-written routes send it as a body field instead. + */ + /** + * Disambiguated by HTTP method, not path prefix alone: both the new + * PUT/DELETE /api/customobject/{objectRecordId} route and the old + * POST /api/customobject/update|delete routes share the literal prefix + * /api/customobject/, so a prefix-only check misreads the old routes' + * own fixed suffix ("update", "delete") as if it were a record id. The + * manifest declares this path PUT/DELETE only, so method is a reliable + * signal; the old routes are always POST. + */ + private static function resolveRecordId(array $input): ?string + { + $method = $_SERVER['REQUEST_METHOD'] ?? ''; + $path = parse_url($_SERVER['REQUEST_URI'] ?? '/', PHP_URL_PATH) ?? '/'; + if (($method === 'PUT' || $method === 'DELETE') + && str_starts_with($path, self::CUSTOM_OBJECT_PATH_PREFIX) + && strlen($path) > strlen(self::CUSTOM_OBJECT_PATH_PREFIX)) { + return substr($path, strlen(self::CUSTOM_OBJECT_PATH_PREFIX)); + } + return Demo::get($input, 'objectrecordid'); + } + + public function createCustomObject(): void + { + $input = Demo::readJson(); + $objectname = self::resolveObjectName($input); + if ($objectname === null) { + Demo::writeJson(400, ['error' => 'expected JSON {objectname, ...fields}, or configure LR_CUSTOM_OBJECT_NAME']); + return; + } + $data = self::requestBody($input, 'objectname'); + if ($data === []) { + // The generated client rejects an empty body with an + // InvalidArgumentException before ever calling the API — catch + // it here instead, so this reads as an ordinary validation error + // rather than an uncaught-exception 500. + Demo::writeJson(400, ['error' => 'expected at least one field besides objectname']); + return; + } + Demo::call(fn () => $this->client->customObject->createCustomObjectByToken( + $data, + objectname: $objectname, + accessToken: Demo::accessToken($this->sessions) + )); + } + + /** Lists all custom object records of the given type for the signed-in user. */ + public function listCustomObjects(): void + { + $input = Demo::readJson(); + $objectname = self::resolveObjectName($input); + if ($objectname === null) { + Demo::writeJson(400, ['error' => 'expected JSON {objectname}, or configure LR_CUSTOM_OBJECT_NAME']); + return; + } + Demo::call(fn () => $this->client->customObject->getCustomObjectByToken( + objectname: $objectname, + accessToken: Demo::accessToken($this->sessions) + )); + } + + /** Partially updates a custom object record identified by its record ID. */ + public function updateCustomObject(): void + { + $input = Demo::readJson(); + $objectname = self::resolveObjectName($input); + $recordId = self::resolveRecordId($input); + if ($objectname === null || $recordId === null) { + Demo::writeJson(400, ['error' => 'expected JSON {objectname, objectrecordid, ...fields} ' + . '(or a record id in the URL, and LR_CUSTOM_OBJECT_NAME configured)']); + return; + } + $data = self::requestBody($input, 'objectname', 'objectrecordid'); + if ($data === []) { + // Same client-side guard as createCustomObject — see its comment. + Demo::writeJson(400, ['error' => 'expected at least one field besides objectname/objectrecordid']); + return; + } + Demo::call(fn () => $this->client->customObject->updateCustomObjectByTokenAndRecordId( + $recordId, + 'PartialReplace', + $data, + objectname: $objectname, + accessToken: Demo::accessToken($this->sessions) + )); + } + + /** Deletes a custom object record identified by its record ID. */ + public function deleteCustomObject(): void + { + $input = Demo::readJson(); + $objectname = self::resolveObjectName($input); + $recordId = self::resolveRecordId($input); + if ($objectname === null || $recordId === null) { + Demo::writeJson(400, ['error' => 'expected JSON {objectname, objectrecordid} ' + . '(or a record id in the URL, and LR_CUSTOM_OBJECT_NAME configured)']); + return; + } + Demo::call(fn () => $this->client->customObject->deleteCustomObjectByTokenAndRecordId( + $recordId, + objectname: $objectname, + accessToken: Demo::accessToken($this->sessions) + )); + } + + /** Builds a custom-object request body from the raw JSON input, dropping the routing keys. */ + private static function requestBody(array $input, string ...$omit): array + { + return array_diff_key($input, array_flip($omit)); + } + + // --------------------------------------------------------------- token -- + + /** + * Exchanges the session's refresh token for a new access token and + * rotates what the demo session holds. + * + * Refreshing INVALIDATES the previous access token upstream, so a session + * left holding the old one is not merely stale — every subsequent + * authenticated call fails. Session id (and cookie) stay the same; + * only the tokens behind it are replaced. + */ + public function refreshToken(): void + { + $refreshToken = Demo::refreshToken($this->sessions); + if ($refreshToken === null) { + Demo::writeJson(400, [ + 'error' => 'this session has no refresh token; the tenant did not return one at login', + ]); + return; + } + try { + $result = $this->client->accountSession->refreshAccessToken($refreshToken); + $decoded = json_decode((string) json_encode($result), true); + $decoded = is_array($decoded) ? $decoded : []; + $accessToken = $decoded['access_token'] ?? null; + if (!is_string($accessToken) || $accessToken === '') { + Demo::writeJson(502, ['error' => 'refresh succeeded but returned no access_token']); + return; + } + $nextRefreshToken = $decoded['refresh_token'] ?? ''; + $sessionId = Demo::sessionId(); + if ($sessionId !== null) { + $this->sessions->replace($sessionId, $accessToken, is_string($nextRefreshToken) ? $nextRefreshToken : ''); + } + Demo::writeJson(200, [ + 'refreshed' => true, + 'rotated' => is_string($nextRefreshToken) && $nextRefreshToken !== '', + 'expires_in' => $decoded['expires_in'] ?? null, + ]); + } catch (\Throwable $e) { + Demo::writeError($e); + } + } + + /** + * Validates an access token. Uses the token from the request body if + * provided; falls back to the current session's token. + */ + public function validateToken(): void + { + $input = Demo::readJson(); + $token = Demo::get($input, 'accessToken') ?? Demo::accessToken($this->sessions); + if ($token === null) { + Demo::writeJson(400, ['error' => 'expected JSON {accessToken} or an active session']); + return; + } + Demo::call(fn () => $this->client->accountSession->validateAccessToken($token)); + } + + /** Returns active session details for the currently signed-in user. */ + public function activeSession(): void + { + Demo::call(fn () => $this->client->accountSession->getActiveSession( + token: Demo::accessToken($this->sessions) + )); + } + + /** + * Invalidates the access token on the LoginRadius API, then clears the + * local session. Unlike logout (which only clears the local session), + * this revokes the token server-side so it cannot be reused. + */ + public function invalidateToken(): void + { + try { + $this->client->accountSession->nativeInvalidateAccessToken( + accessToken: Demo::accessToken($this->sessions) + ); + $this->sessions->delete(Demo::sessionId()); + Demo::clearSessionCookie(); + Demo::writeJson(200, ['ok' => true]); + } catch (\Throwable $e) { + Demo::writeError($e); + } + } + + // --------------------------------------------------------------- passkey -- + + /** Begins the Passkey login flow — returns the WebAuthn assertion challenge. */ + public function beginPasskeyLogin(): void + { + $input = Demo::readJson(); + $identifier = Demo::get($input, 'identifier'); + if ($identifier === null) { + Demo::writeJson(400, ['error' => 'expected JSON {identifier}']); + return; + } + Demo::call(fn () => $this->client->login->beginPasskeyLogin($identifier)); + } + + /** Begins the Passkey registration flow — returns the WebAuthn creation challenge. */ + public function beginPasskeyRegistration(): void + { + $input = Demo::readJson(); + $identifier = Demo::get($input, 'identifier'); + if ($identifier === null) { + Demo::writeJson(400, ['error' => 'expected JSON {identifier}']); + return; + } + Demo::call(fn () => $this->client->registration->beginPasskeyRegistration($identifier)); + } + + /** + * Completes the Passkey registration flow with the attestation response + * from the browser's navigator.credentials.create() call. The raw JSON + * body must match the PasskeyRegisterFinish schema (wire-format property + * names, e.g. "PasskeyCredential") — deserialized with the SDK's own + * ObjectSerializer, the same one every API response goes through, rather + * than the model constructor's PHP-property-named array. + */ + public function finishPasskeyRegistration(): void + { + $raw = file_get_contents('php://input'); + $decoded = $raw === false || $raw === '' ? null : json_decode($raw); + if (!is_object($decoded)) { + Demo::writeJson(400, ['error' => 'request body must match the PasskeyRegisterFinish schema']); + return; + } + $body = ObjectSerializer::deserialize($decoded, PasskeyRegisterFinish::class, []); + Demo::call(fn () => $this->client->registration->finishPasskeyRegistration( + $body, + verificationurl: Demo::verificationUrl() + )); + } + + /** + * Completes the Passkey login flow with the assertion response from the + * browser's navigator.credentials.get() call. Deserialized the same way + * as finishPasskeyRegistration — see that method's comment. On success + * this IS a login: mints the demo session exactly like login() does. + */ + public function finishPasskeyLogin(): void + { + $raw = file_get_contents('php://input'); + $decoded = $raw === false || $raw === '' ? null : json_decode($raw); + if (!is_object($decoded)) { + Demo::writeJson(400, ['error' => 'request body must match the PasskeyLoginFinish schema']); + return; + } + $body = ObjectSerializer::deserialize($decoded, PasskeyLoginFinish::class, []); + try { + $result = $this->client->login->finishPasskeyLogin($body); + $decodedResult = json_decode((string) json_encode($result), true); + $decodedResult = is_array($decodedResult) ? $decodedResult : []; + $accessToken = $decodedResult['access_token'] ?? null; + if (!is_string($accessToken) || $accessToken === '') { + Demo::writeJson(502, ['error' => 'authentication succeeded but no access_token returned']); + return; + } + $refreshToken = $decodedResult['refresh_token'] ?? ''; + Demo::setSessionCookie($this->sessions->create($accessToken, is_string($refreshToken) ? $refreshToken : '')); + Demo::writeJson(200, ['ok' => true, 'profile' => $decodedResult['Profile'] ?? null]); + } catch (\Throwable $e) { + Demo::writeError($e); + } + } + + // ------------------------------------------------------------------- mfa -- + // Settings/enrolment routes are auth: session, same as every other + // extended route. The three "login challenge" routes below are + // authenticated by the lr_mfa cookie instead (see Demo::mfaToken) — they + // deliberately pass requiresSession: false in ExtendedRoutes and check it + // by hand, because a half-authenticated user must never satisfy the + // session check. + + /** Returns which second factors are configured on the signed-in account. */ + public function mfaSettings(): void + { + Demo::call(fn () => $this->client->security->getMFASettings( + duoredirecturi: Demo::query('duoRedirectUri'), + accessToken: Demo::accessToken($this->sessions) + )); + } + + /** Confirms a TOTP code and enrols the authenticator on the account. */ + public function mfaEnrolTotp(): void + { + $input = Demo::readJson(); + $totp = Demo::get($input, 'totp'); + if ($totp === null) { + Demo::writeJson(400, ['error' => 'expected JSON {totp}']); + return; + } + $body = new AuthenticatorCodeRequest(['authenticatorcode' => $totp]); + Demo::call(fn () => $this->client->security->verify2faTOTPAuth( + $body, + accessToken: Demo::accessToken($this->sessions) + )); + } + + /** Issues a fresh set of single-use MFA backup codes. */ + public function mfaBackupCodes(): void + { + Demo::call(fn () => $this->client->security->mfaGenerateBackupCodes( + accessToken: Demo::accessToken($this->sessions) + )); + } + + /** Sends an email OTP for an in-progress MFA login challenge. */ + public function mfaSendEmailOtp(): void + { + $mfaToken = Demo::mfaToken(); + if ($mfaToken === null) { + Demo::writeJson(401, ['error' => 'no MFA challenge in progress']); + return; + } + $input = Demo::readJson(); + $email = Demo::get($input, 'email'); + if ($email === null) { + Demo::writeJson(400, ['error' => 'expected JSON {email}']); + return; + } + Demo::call(fn () => $this->client->security->resendEmailOTPMFAToken( + $mfaToken, + new EmailModel(['email' => $email]) + )); + } + + /** + * Completes an in-progress MFA login challenge with an email OTP. Clears + * the mfa cookie and mints a real session cookie on success. + */ + public function mfaVerifyEmailOtp(): void + { + $mfaToken = Demo::mfaToken(); + if ($mfaToken === null) { + Demo::writeJson(401, ['error' => 'no MFA challenge in progress']); + return; + } + $input = Demo::readJson(); + $email = Demo::get($input, 'email'); + $otp = Demo::get($input, 'otp'); + if ($email === null || $otp === null) { + Demo::writeJson(400, ['error' => 'expected JSON {email, otp}']); + return; + } + try { + $result = $this->client->security->validateMfaOTPByEmail( + $mfaToken, + new ReAuthModelByEmailOtp(['emailid' => $email, 'otp' => $otp]) + ); + $decoded = json_decode((string) json_encode($result), true); + $decoded = is_array($decoded) ? $decoded : []; + Demo::clearMfaCookie(); + $accessToken = $decoded['access_token'] ?? null; + if (!is_string($accessToken) || $accessToken === '') { + Demo::writeJson(502, ['error' => 'authentication succeeded but no access_token returned']); + return; + } + $refreshToken = $decoded['refresh_token'] ?? ''; + Demo::setSessionCookie($this->sessions->create($accessToken, is_string($refreshToken) ? $refreshToken : '')); + Demo::writeJson(200, ['ok' => true, 'profile' => $decoded['Profile'] ?? null]); + } catch (\Throwable $e) { + Demo::writeError($e); + } + } + + /** + * Completes an in-progress MFA login challenge with a TOTP code. Clears + * the mfa cookie and mints a real session cookie on success. + */ + public function mfaVerifyTotp(): void + { + $mfaToken = Demo::mfaToken(); + if ($mfaToken === null) { + Demo::writeJson(401, ['error' => 'no MFA challenge in progress']); + return; + } + $input = Demo::readJson(); + $totp = Demo::get($input, 'totp'); + if ($totp === null) { + Demo::writeJson(400, ['error' => 'expected JSON {totp}']); + return; + } + try { + $result = $this->client->security->verifyTotpByMfaToken( + $mfaToken, + new AuthenticatorCodeRequest(['authenticatorcode' => $totp]) + ); + $decoded = json_decode((string) json_encode($result), true); + $decoded = is_array($decoded) ? $decoded : []; + Demo::clearMfaCookie(); + $accessToken = $decoded['access_token'] ?? null; + if (!is_string($accessToken) || $accessToken === '') { + Demo::writeJson(502, ['error' => 'authentication succeeded but no access_token returned']); + return; + } + $refreshToken = $decoded['refresh_token'] ?? ''; + Demo::setSessionCookie($this->sessions->create($accessToken, is_string($refreshToken) ? $refreshToken : '')); + Demo::writeJson(200, ['ok' => true, 'profile' => $decoded['Profile'] ?? null]); + } catch (\Throwable $e) { + Demo::writeError($e); + } + } + + // -------------------------------------------------------- password (OTP) -- + // Phone/SMS-based reset — a distinct flow from resetPasswordWithToken() above + // (which is email/username-based via a different operation). Matches + // Node's demo: `requestOTPForPasswordReset` sends the SMS, then + // `resetPasswordWithOTP` (the phone-shaped model, not `ResetPassword`) + // completes it. + + /** Sends a password-reset OTP by SMS to the phone number on the account. */ + public function requestResetOtp(): void + { + $input = Demo::readJson(); + $phone = Demo::get($input, 'phone'); + if ($phone === null) { + Demo::writeJson(400, ['error' => 'expected JSON {phone}']); + return; + } + Demo::call(fn () => $this->client->password->requestOTPForPasswordReset( + new ForgotPasswordPhoneModel(['phone' => $phone]) + )); + } + + /** Completes a password reset using the OTP delivered by SMS. */ + public function resetPasswordWithOtp(): void + { + $input = Demo::readJson(); + $phone = Demo::get($input, 'phone'); + $otp = Demo::get($input, 'otp'); + $password = Demo::get($input, 'password'); + if ($phone === null || $otp === null || $password === null) { + Demo::writeJson(400, ['error' => 'expected JSON {phone, otp, password}']); + return; + } + Demo::call(fn () => $this->client->password->resetPasswordWithOTP( + new ResetPasswordWithOTP(['phone' => $phone, 'otp' => $otp, 'password' => $password]) + )); + } +} diff --git a/demo/DemoRoutes.php b/demo/DemoRoutes.php new file mode 100644 index 0000000..041a31f --- /dev/null +++ b/demo/DemoRoutes.php @@ -0,0 +1,118 @@ +register(...)), + // Email + password login. Stores the returned access token in the demo session. + new DemoRoute('POST', '/api/auth/login', false, $h->login(...)), + // Invalidates the access token upstream, then clears the demo session cookie. + new DemoRoute('POST', '/api/auth/logout', true, $h->logout(...)), + // Landing point for the link in the verification email. Redirects back to the UI with a status banner rather than returning JSON. + new DemoRoute('GET', '/api/auth/verify', false, $h->verifyEmail(...)), + // Sends a password-reset email containing a reset token. + new DemoRoute('POST', '/api/password/forgot', false, $h->forgotPassword(...)), + // Completes a reset using the token from the email. + new DemoRoute('POST', '/api/password/reset', false, $h->resetPassword(...)), + // Changes the signed-in user's password. + new DemoRoute('POST', '/api/password/change', true, $h->changePassword(...)), + // Returns the signed-in user's profile. + new DemoRoute('GET', '/api/profile', true, $h->getProfile(...)), + // Updates editable fields on the signed-in user's profile. + new DemoRoute('POST', '/api/profile/update', true, $h->updateProfile(...)), + // Emails a one-time code to start a passwordless login. + new DemoRoute('GET', '/api/auth/passwordless/email', false, $h->passwordlessLoginByEmail(...)), + // Completes a passwordless login with the code emailed to the user. + new DemoRoute('POST', '/api/auth/passwordless/email/verify', false, $h->passwordlessLoginByEmailOtp(...)), + // Texts a one-time code to start a passwordless login. + new DemoRoute('GET', '/api/auth/passwordless/phone', false, $h->passwordlessLoginByPhone(...)), + // Completes a passwordless login with the code texted to the user. + new DemoRoute('PUT', '/api/auth/passwordless/phone/verify', false, $h->passwordlessLoginByPhoneOtp(...)), + // Adds a secondary email to the signed-in account and sends verification. + new DemoRoute('POST', '/api/email/add', true, $h->addEmail(...)), + // Removes a secondary email from the signed-in account. + new DemoRoute('DELETE', '/api/email', true, $h->deleteEmail(...)), + // Changes the signed-in user's phone number and sends a verification OTP. + new DemoRoute('PUT', '/api/phone', true, $h->updatePhone(...)), + // Deletes the signed-in user's own account. Refuses any other address. + new DemoRoute('DELETE', '/api/account', true, $h->deleteAccount(...)), + // Sends a password-reset OTP to the phone number on the account. + new DemoRoute('POST', '/api/password/otp', false, $h->requestResetOtp(...)), + // Completes a password reset using the OTP delivered by SMS. + new DemoRoute('PUT', '/api/password/otp', false, $h->resetPasswordWithOtp(...)), + // Stores a new custom object against the signed-in user. + new DemoRoute('POST', '/api/customobject', true, $h->createCustomObject(...)), + // Lists the signed-in user's custom objects for the configured schema. + new DemoRoute('GET', '/api/customobject', true, $h->listCustomObjects(...)), + // Replaces one custom object record by id. + new DemoRoute('PUT', '/api/customobject/{objectRecordId}', true, $h->updateCustomObject(...)), + // Deletes one custom object record by id. + new DemoRoute('DELETE', '/api/customobject/{objectRecordId}', true, $h->deleteCustomObject(...)), + // Exchanges the stored refresh token for a fresh access token. + new DemoRoute('POST', '/api/token/refresh', true, $h->refreshToken(...)), + // Confirms the session's access token is still valid upstream. + new DemoRoute('GET', '/api/token/validate', true, $h->validateToken(...)), + // Returns the active session records bound to the access token. + new DemoRoute('GET', '/api/token/session', true, $h->activeSession(...)), + // Starts passkey enrolment and returns the WebAuthn creation options. + new DemoRoute('GET', '/api/passkey/register/begin', false, $h->beginPasskeyRegistration(...)), + // Completes passkey enrolment with the browser's attestation response. + new DemoRoute('POST', '/api/passkey/register/finish', false, $h->finishPasskeyRegistration(...)), + // Starts passkey login and returns the WebAuthn request options. + new DemoRoute('GET', '/api/passkey/login/begin', false, $h->beginPasskeyLogin(...)), + // Completes passkey login with the browser's assertion response. + new DemoRoute('POST', '/api/passkey/login/finish', false, $h->finishPasskeyLogin(...)), + // Returns which second factors are configured on the signed-in account. + new DemoRoute('GET', '/api/mfa/settings', true, $h->mfaSettings(...)), + // Confirms a TOTP code and enrols the authenticator on the account. + new DemoRoute('PUT', '/api/mfa/totp', true, $h->mfaEnrolTotp(...)), + // Issues a fresh set of single-use MFA backup codes. + new DemoRoute('GET', '/api/mfa/backupcodes', true, $h->mfaBackupCodes(...)), + // Sends an email OTP for an in-progress MFA login challenge. + new DemoRoute('POST', '/api/mfa/login/email', false, $h->mfaSendEmailOtp(...)), + // Completes an MFA login challenge with an email OTP. + new DemoRoute('PUT', '/api/mfa/login/email', false, $h->mfaVerifyEmailOtp(...)), + // Completes an MFA login challenge with a TOTP code. + new DemoRoute('PUT', '/api/mfa/login/totp', false, $h->mfaVerifyTotp(...)), + ]; + } +} diff --git a/demo/DemoSessions.php b/demo/DemoSessions.php new file mode 100644 index 0000000..1199949 --- /dev/null +++ b/demo/DemoSessions.php @@ -0,0 +1,100 @@ +storePath = sys_get_temp_dir() . '/loginradius-php-demo-sessions.json'; + } + + /** + * Creates a new session for $accessToken (and, if the tenant returned + * one, $refreshToken) and returns its id. + */ + public function create(string $accessToken, string $refreshToken = ''): string + { + $id = bin2hex(random_bytes(16)); + $sessions = $this->load(); + $sessions[$id] = ['accessToken' => $accessToken, 'refreshToken' => $refreshToken]; + $this->save($sessions); + return $id; + } + + public function lookup(?string $id): ?string + { + if ($id === null) { + return null; + } + return $this->load()[$id]['accessToken'] ?? null; + } + + public function lookupRefreshToken(?string $id): ?string + { + if ($id === null) { + return null; + } + $token = $this->load()[$id]['refreshToken'] ?? null; + return is_string($token) && $token !== '' ? $token : null; + } + + /** + * Rotates the tokens held by an existing session in place — the id (and + * therefore the browser's cookie) does not change. Used after a refresh, + * which invalidates the previous access token upstream: a session left + * holding it would fail on every subsequent authenticated call. + */ + public function replace(string $id, string $accessToken, string $refreshToken): void + { + $sessions = $this->load(); + if (!isset($sessions[$id])) { + return; + } + $sessions[$id] = ['accessToken' => $accessToken, 'refreshToken' => $refreshToken]; + $this->save($sessions); + } + + public function delete(?string $id): void + { + if ($id === null) { + return; + } + $sessions = $this->load(); + unset($sessions[$id]); + $this->save($sessions); + } + + /** @return array */ + private function load(): array + { + if (!is_file($this->storePath)) { + return []; + } + $decoded = json_decode((string) file_get_contents($this->storePath), true); + return is_array($decoded) ? $decoded : []; + } + + /** @param array $sessions */ + private function save(array $sessions): void + { + file_put_contents($this->storePath, json_encode($sessions), LOCK_EX); + } +} diff --git a/demo/ExtendedRoutes.php b/demo/ExtendedRoutes.php new file mode 100644 index 0000000..b754f2d --- /dev/null +++ b/demo/ExtendedRoutes.php @@ -0,0 +1,51 @@ +deleteEmail(...)), + // Deletes the signed-in user's account and clears the local session. + new DemoRoute('POST', '/api/account/delete', true, $h->deleteAccount(...)), + // Updates the phone number on the signed-in user's account. + new DemoRoute('POST', '/api/phone/update', true, $h->updatePhone(...)), + // Resets a password using a reset token, or an OTP paired with an email or username. + new DemoRoute('POST', '/api/password/reset-otp', false, $h->resetPasswordWithToken(...)), + // Creates a new custom object entry for the signed-in user. + new DemoRoute('POST', '/api/customobject/create', true, $h->createCustomObject(...)), + // Lists all custom object records of a given type for the signed-in user. + new DemoRoute('POST', '/api/customobject/list', true, $h->listCustomObjects(...)), + // Partially updates a custom object record identified by its record ID. + new DemoRoute('POST', '/api/customobject/update', true, $h->updateCustomObject(...)), + // Deletes a custom object record identified by its record ID. + new DemoRoute('POST', '/api/customobject/delete', true, $h->deleteCustomObject(...)), + // Validates an access token from the request body, or the current session's. + new DemoRoute('POST', '/api/token/validate', false, $h->validateToken(...)), + // Returns active session details for the currently signed-in user. + new DemoRoute('GET', '/api/session/active', true, $h->activeSession(...)), + // Invalidates the access token upstream, then clears the local session. + new DemoRoute('POST', '/api/token/invalidate', true, $h->invalidateToken(...)), + // Begins the Passkey login flow. + new DemoRoute('POST', '/api/passkey/login/begin', false, $h->beginPasskeyLogin(...)), + // Begins the Passkey registration flow. + new DemoRoute('POST', '/api/passkey/register/begin', false, $h->beginPasskeyRegistration(...)), + ]; + } +} diff --git a/demo/README.md b/demo/README.md deleted file mode 100644 index 2c0c6d6..0000000 --- a/demo/README.md +++ /dev/null @@ -1,48 +0,0 @@ - -LoginRadius -========== - -![Home Image](http://docs.lrcontent.com/resources/github/banner-1544x500.png) - ------------------------------------------------ -LoginRadius PHP wrapper provides access to LoginRadius. - -LoginRadius is a unified **Customer Identity Management** API platform that combines 30 major social platforms into a single simplified and maintenance-free API. With LoginRadius' API, websites and mobile apps can implement capture user profile data, enable social login, enable social sharing, add single sign-on and many more. - -LoginRadius 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. - -Please visit https://docs.loginradius.com/api/v2/deployment/sdk-libraries/php-library for more information. - -PHP Library --------------- - -This document contains information and examples regarding the LoginRadius PHP SDK. It provides guidance for working with social authentication, capture user profile data, enable social login, enable social sharing, single sign-on, user profile data and sending messages with a variety of social networks such as Facebook, Google, Twitter, Yahoo, LinkedIn, and more. - -# LoginRadius - -A demo PHP web application using the PHP SDK. The following features are included: - -* Traditional Email Login -* Multi-Factor Email Login -* Passwordless Login -* Social Login -* Registration -* Email Verification -* Forgot Password -* Reset Password -* Change Password -* Set Password -* Update Account -* Multi-Factor Configuration -* Account Linking -* Custom Object Management -* Roles Management - -## Configuration - -1. Download the demo, src/LoginRadiusSDK from php sdk repo or clone the whole repo. -2. Upload these on server and wrapped in one directory. -3. Set your LoginRadius credentials on the client and server side: - * Server side: `demo/ajax_handler/config.php` - * Client side: `demo/js/options.js` -4. Demo will appear on `//demo` diff --git a/demo/ajax_handler/.htaccess b/demo/ajax_handler/.htaccess deleted file mode 100644 index 98e5c47..0000000 --- a/demo/ajax_handler/.htaccess +++ /dev/null @@ -1,4 +0,0 @@ -RewriteEngine on -RewriteCond %{REQUEST_FILENAME} !-f -RewriteCond %{REQUEST_FILENAME} !-d -RewriteRule ^(.+)(/?)$ index.php?page=$1 [NE,L] \ No newline at end of file diff --git a/demo/ajax_handler/config.php b/demo/ajax_handler/config.php deleted file mode 100644 index a496816..0000000 --- a/demo/ajax_handler/config.php +++ /dev/null @@ -1,43 +0,0 @@ - 'error', 'message' => 'An error occurred.'); - if (empty($email) || empty($password)) { - $response['message'] = 'Email Id and Password are required fields.'; - } else { - $authenticationObj = new AuthenticationAPI(); - $loginByEmailAuthenticationModel = array('email' => $email, 'password' => $password); - $result = $authenticationObj->loginByEmail($loginByEmailAuthenticationModel); - if (isset($result->access_token) && $result->access_token != '') { - $response['data'] = $result; - $response['message'] = "Logged in successfully"; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function getProfile(array $request) -{ - $token = isset($request['token']) ? trim($request['token']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($token)) { - $response['message'] = 'Access Token is a required field.'; - } else { - $authenticationObj = new AuthenticationAPI(); - $fields = ''; - $emailTemplate = ''; - $verificationUrl = ''; - $welcomeEmailTemplate = ''; - $result = $authenticationObj->getProfileByAccessToken($token, $fields, $emailTemplate, $verificationUrl, $welcomeEmailTemplate); - if ((isset($result->EmailVerified) && $result->EmailVerified) || AUTH_FLOW == 'optional' || AUTH_FLOW == 'disabled') { - $response['data'] = $result; - $response['message'] = "Profile successfully retrieved."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } else { - $response['message'] = "Email is not verified."; - $response['status'] = 'error'; - } - - } - return json_encode($response); -} - -function registration(array $request) -{ - $email = isset($request['email']) ? trim($request['email']) : ''; - $password = isset($request['password']) ? trim($request['password']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($email) || empty($password)) { - $response['message'] = 'Email Id and Password are required fields.'; - } else { - $authenticationObj = new AuthenticationAPI(); - $userprofileModel = array('Email' => array(array('Type' => 'Primary', 'Value' => $email)), 'password' => $password); - $sottObj = new SottAPI(); - $sott = $sottObj->generateSott(10); - - if (!is_object($sott)) { - $sott = json_decode($sott); - } - $emailTemplate = ''; - $fields = ""; - $options=""; - $verificationUrl = $request['verificationurl']; - $welcomeEmailTemplate = ''; - $result = $authenticationObj->userRegistrationByEmail($userprofileModel, $sott->Sott, $emailTemplate, $fields,$options, $verificationUrl, $welcomeEmailTemplate); - if ((isset($result->EmailVerified) && $result->EmailVerified) || AUTH_FLOW == 'optional' || AUTH_FLOW == 'disabled') { - $response['result'] = $result; - $response['message'] = "Successfully registered."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } else { - $response['message'] = "Successfully registered, please check your email to verify your account."; - $response['status'] = 'registered'; - } - - } - return json_encode($response); -} - -function pwLessLogin(array $request) -{ - $email = isset($request['email']) ? trim($request['email']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($email)) { - $response['message'] = 'Email Id is a required field.'; - } else { - $authenticationObj = new PasswordLessLoginAPI(); - $verificationUrl = $request['verificationurl']; - $passwordLessLoginTemplate = ''; - $result = $authenticationObj->passwordlessLoginByEmail($email, $passwordLessLoginTemplate, $verificationUrl); - if ((isset($result->IsPosted) && $result->IsPosted)) { - $response['message'] = "One time login link has been sent to your provided email id, check email for further instruction."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function forgotPassword(array $request) -{ - $email = isset($request['email']) ? trim($request['email']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($email)) { - $response['message'] = 'Email Id is a required field.'; - } else { - $authenticationObj = new AuthenticationAPI(); - - $result = $authenticationObj->forgotPassword($email, $request['resetPasswordUrl'], ''); - if ((isset($result->IsPosted) && $result->IsPosted)) { - $response['message'] = "An email has been sent to your address with instructions to reset your password."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - } - return json_encode($response); -} - -function resetPassword(array $request) -{ - $token = isset($request['resettoken']) ? trim($request['resettoken']) : ''; - $password = isset($request['password']) ? trim($request['password']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($token) || empty($password)) { - $response['message'] = 'Password are required fields.'; - } else { - $authenticationObj = new AuthenticationAPI(); - - $formData = ['resettoken' => $token, 'password' => $password, 'welcomeEmailTemplate' => '', 'resetPasswordEmailTemplate' => '']; - $result = $authenticationObj->resetPasswordByResetToken($formData); - if ((isset($result->IsPosted) && $result->IsPosted)) { - $response['message'] = "Password has been reset successfully."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function pwLessLinkVerify(array $request) -{ - $verificationToken = isset($request['token']) ? trim($request['token']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($verificationToken)) { - $response['message'] = 'Token is a required field.'; - } else { - $authenticationObj = new PasswordLessLoginAPI(); - - $fields = ''; - $welcomeEmailTemplate = ''; - $result = $authenticationObj->passwordlessLoginVerification($verificationToken, $fields, $welcomeEmailTemplate); - if ((isset($result->access_token) && $result->access_token != '')) { - $response['data'] = $result; - $response['message'] = "Link successfully verified."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function emailVerify(array $request) -{ - $vtoken = isset($request['vtoken']) ? trim($request['vtoken']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($vtoken)) { - $response['message'] = 'Verification Token is a required field.'; - } else { - $authenticationObj = new AuthenticationAPI(); - $result = $authenticationObj->verifyEmail($vtoken); - if ((isset($result->IsPosted) && $result->IsPosted)) { - $response['message'] = "Your email has been verified successfully."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function mfaLogin(array $request) -{ - $email = isset($request['email']) ? trim($request['email']) : ''; - $password = isset($request['password']) ? trim($request['password']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($email) || empty($password)) { - $response['message'] = 'Email Id and Password are required fields.'; - } else { - $authenticationObj = new MultiFactorAuthenticationAPI(); - $payload = array('email' => $email, 'password' => $password); - $emailTemplate = ''; - $fields = ''; - $loginUrl = ''; - $smsTemplate = ''; - $smsTemplate2FA = ''; - $verificationUrl = ''; - $emailTemplate2FA = ''; - $result = $authenticationObj->mfaLoginByEmail($email, $password, $emailTemplate, $fields, $loginUrl, $smsTemplate, $smsTemplate2FA, $verificationUrl, $emailTemplate2FA); - - if (isset($result->Profile) || isset($result->SecondFactorAuthentication)) { - $response['data'] = $result; - $response['message'] = "Successful MFA Login."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - } - return json_encode($response); -} - -function mfaValidate(array $request) -{ - $secondFactorAuthenticationToken = isset($request['secondFactorAuthenticationToken']) ? trim($request['secondFactorAuthenticationToken']) : ''; - $googleAuthCode = isset($request['googleAuthCode']) ? trim($request['googleAuthCode']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($secondFactorAuthenticationToken)) { - $response['message'] = 'Second Factor Auth Token is a required field.'; - } else if (empty($googleAuthCode)) { - $response['message'] = 'Google Auth Code is a required field.'; - } else { - $authenticationObj = new MultiFactorAuthenticationAPI(); - $fields = ''; - $payload = array('authenticatorCode' => $googleAuthCode); - $result = $authenticationObj->mfaValidateAuthenticatorCode($payload,$secondFactorAuthenticationToken,$fields); - if ((isset($result->access_token) && $result->access_token != '')) { - $response['data'] = $result; - $response['message'] = "Auth Code successfully validated."; - $response['status'] = 'success'; - }else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} \ No newline at end of file diff --git a/demo/ajax_handler/profile.php b/demo/ajax_handler/profile.php deleted file mode 100644 index 9fdc337..0000000 --- a/demo/ajax_handler/profile.php +++ /dev/null @@ -1,331 +0,0 @@ - 'error', 'message' => 'An error occurred.'); - if (empty($token)) { - $response['message'] = 'Access Token is a required field.'; - } else { - $authObj = new AuthenticationAPI(); - $fields = ''; - - $fields = ''; - $result = $authObj->getProfileByAccessToken($token, $fields); - if ((isset($result->Uid) && $result->Uid != '')) { - $response['data'] = $result; - $response['message'] = "Profile successfully retrieved."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function updateAccount(array $request) -{ - $firstname = isset($request['firstname']) ? trim($request['firstname']) : ''; - $lastname = isset($request['lastname']) ? trim($request['lastname']) : ''; - $about = isset($request['about']) ? trim($request['about']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - - $authenticationObj = new AuthenticationAPI(); - $userProfileUpdateModel = array('FirstName' => $firstname, 'LastName' => $lastname, 'About' => $about); - $accessToken = $request['token']; - $emailTemplate = ''; - $fields = ''; - $nullSupport = ''; - $smsTemplate = ''; - $verificationUrl = ''; - - $result = $authenticationObj->updateProfileByAccessToken($accessToken, $userProfileUpdateModel, $emailTemplate, $fields, $nullSupport, $smsTemplate, $verificationUrl); - if (isset($result->IsPosted) && $result->IsPosted) { - $response['message'] = "Profile has been updated successfully."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - return json_encode($response); -} - -function changePassword(array $request) -{ - $accessToken = isset($request['token']) ? trim($request['token']) : ''; - $oldPassword = isset($request['oldpassword']) ? trim($request['oldpassword']) : ''; - $newPassword = isset($request['newpassword']) ? trim($request['newpassword']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($oldPassword)) { - $response['message'] = 'Old password is a required field.'; - } elseif (empty($newPassword)) { - $response['message'] = 'New password is a required field.'; - } else { - $authenticationObj = new AuthenticationAPI(); - - $result = $authenticationObj->changePassword($accessToken, $newPassword, $oldPassword); - if (isset($result->IsPosted) && $result->IsPosted) { - $response['message'] = "Password has been changed successfully."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function setPassword(array $request) -{ - $uid = isset($request['uid']) ? trim($request['uid']) : ''; - $newpassword = isset($request['newpassword']) ? trim($request['newpassword']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($newpassword)) { - $response['message'] = 'New password is a required field.'; - } else { - $accountObj = new AccountAPI(); - $result = $accountObj->setAccountPasswordByUid($newpassword, $uid); - if (isset($result->PasswordHash) && $result->PasswordHash != '') { - $response['message'] = "The password has been set successfully."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function createCustomObjects(array $request) -{ - $token = isset($request['token']) ? trim($request['token']) : ''; - $objectName = isset($request['objectName']) ? trim($request['objectName']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($objectName)) { - $response['message'] = 'Object name is a required field.'; - } else { - $authCustomObj = new CustomObjectAPI(); - - $result = $authCustomObj->createCustomObjectByToken($token, $objectName, $request['payload']); - if (isset($result->Uid) && $result->Uid != '') { - $response['message'] = "Custom object created successfully."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function getCustomObjects(array $request) -{ - $token = isset($request['token']) ? trim($request['token']) : ''; - $objectName = isset($request['objectName']) ? trim($request['objectName']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($objectName)) { - $response['message'] = 'Object name is a required field.'; - } else { - $authCustomObj = new CustomObjectAPI(); - $result = $authCustomObj->getCustomObjectByToken($token, $objectName); - if (isset($result->Count) && $result->Count != '0') { - $response['result'] = $result; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } else { - $response['status'] = 'empty'; - } - - } - return json_encode($response); -} - -function updateCustomObjects(array $request) -{ - $token = isset($request['token']) ? trim($request['token']) : ''; - $objectName = isset($request['objectName']) ? trim($request['objectName']) : ''; - $objectRecordId = isset($request['objectRecordId']) ? trim($request['objectRecordId']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($objectName)) { - $response['message'] = 'Object name is a required field.'; - } elseif (empty($objectRecordId)) { - $response['message'] = 'Object Id is a required field.'; - } else { - $authCustomObj = new CustomObjectAPI(); - - $result = $authCustomObj->updateCustomObjectByToken($token, $objectName, $objectRecordId, $request['payload']); - if (isset($result->Uid) && $result->Uid != '') { - $response['message'] = "Custom object updated successfully."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function deleteCustomObjects(array $request) -{ - $token = isset($request['token']) ? trim($request['token']) : ''; - $objectName = isset($request['objectName']) ? trim($request['objectName']) : ''; - $objectRecordId = isset($request['objectRecordId']) ? trim($request['objectRecordId']) : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($objectName)) { - $response['message'] = 'Object name is a required field.'; - } elseif (empty($objectRecordId)) { - $response['message'] = 'Object Id is a required field.'; - } else { - $authCustomObj = new CustomObjectAPI(); - $result = $authCustomObj->deleteCustomObjectByToken($token, $objectName, $objectRecordId); - if (isset($result->IsDeleted) && $result->IsDeleted) { - $response['message'] = "Custom object deleted successfully."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function handleCreateRole(array $request) -{ - $roles = isset($request['roles']) ? $request['roles'] : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($roles)) { - $response['message'] = 'Role is a required field.'; - } else { - $roleObj = new RoleAPI(); - - $result = $roleObj->createRoles($roles); - if (isset($result->Count) && $result->Count != '') { - $response['message'] = "Role successfully created."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function handleDeleteRole(array $request) -{ - $roles = isset($request['roles']) ? $request['roles'] : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($roles)) { - $response['message'] = 'Role is a required field.'; - } else { - $roleObj = new RoleAPI(); - $result = $roleObj->deleteRole($roles); - if (isset($result->IsDeleted) && $result->IsDeleted) { - $response['message'] = "Role has been deleted."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function handleAssignUserRole(array $request) -{ - $uid = isset($request['uid']) ? trim($request['uid']) : ''; - $roles = isset($request['roles']) ? $request['roles'] : ''; - $response = array('status' => 'error', 'message' => 'An error occurred.'); - if (empty($roles)) { - $response['message'] = 'Role is a required field.'; - } else { - $roleObj = new RoleAPI(); - - $result = $roleObj->assignRolesByUid($roles, $uid); - if (isset($result->Roles) && $result->Roles != '') { - $response['message'] = "Role assigned successfully."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - } - return json_encode($response); -} - -function getAllRoles(array $request) -{ - $roleObj = new RoleAPI(); - $response = array('status' => 'error', 'message' => 'An error occurred.'); - - $result = $roleObj->getRolesList(); - if (isset($result->Count) && $result->Count != '0') { - $response['result'] = $result; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } else { - $response['message'] = 'No existing roles found.'; - $response['status'] = 'rolesempty'; - } - - return json_encode($response); -} - -function getUserRoles(array $request) -{ - $roleObj = new RoleAPI(); - $response = array('status' => 'error', 'message' => 'An error occurred.'); - - $result = $roleObj->getRolesByUid($request['uid']); - if (isset($result->Roles) && $result->Roles != '') { - $response['data'] = $result; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } else { - $response['message'] = 'User has no roles assigned.'; - $response['status'] = 'userrolesempty'; - } - - return json_encode($response); -} - -function resetMultifactor(array $request) -{ - $authObj = new MultiFactorAuthenticationAPI(); - $response = array('status' => 'error', 'message' => 'An error occurred.'); - - $result = $authObj->mfaResetAuthenticatorByToken($request['token'], true); - if (isset($result->IsDeleted) && $result->IsDeleted) { - $response['message'] = "Reset successfully."; - $response['status'] = 'success'; - } else if (isset($result->error_response)) { - $response['message'] = $result->error_response->Description; - $response['status'] = "error"; - } - - return json_encode($response); -} diff --git a/demo/css/style.css b/demo/css/style.css deleted file mode 100644 index 74f1203..0000000 --- a/demo/css/style.css +++ /dev/null @@ -1,217 +0,0 @@ -body { - margin: 0; - background-color: #f9f9f9; - color: #384049; - font-family: "-apple-system", "system-ui", "Helvetica Neue", "Helvetica", "Arial", "sans-serif"; - font-size: 15px; -} - -table { - min-width: 200px; - margin-left: auto; - margin-right: auto; - font-size: 15px; -} - -td { - text-align: left; -} - -input { - width: 170px; - height: 22px; - margin: 2px; -} - -button { - background-color: #35A8FF; - color: white; - border: none; - text-align: center; - text-decoration: none; - padding: 3px 40px; - font-size: 14px; - border-radius: 2px; - margin-top: 5px; -} - -hr { - width: 55%; -} - -.table-style td, .table-style th { - border: 1px solid #dddddd; - text-align: left; - padding: 4px; -} - -.table-style tr:nth-child(even) { - background-color: #dddddd; -} - -.navbar-ul { - list-style-type: none; - margin: 0; - padding: 0; -} - -.section-menu { - position: fixed; - background-color: white; - width: 250px; - min-height: 100%; - border-right-style: solid; - border-right-width: 1px; - border-right-color: #EEEEEE; - text-align: center; - overflow: auto; -} - -.section-menu img { - width: 200px; - margin: 10px 10px 0px 10px; -} - -.button-group a { - float: left; - background-color: white; - color: #384049; - border-top: 1px solid #D3D3D3; - border-bottom: 1px solid #D3D3D3; - padding: 10px 24px; - margin-top: 5px; - cursor: pointer; - text-decoration: none; - width: 77px; - font-size: 13px; - white-space: nowrap; -} - -.button-group a:hover { - background-color: #D3D3D3; -} - -.section-main { - padding: 5vh; - width: 70vw; - min-width: 250px; - margin-left: 250px; - text-align: center; -} - -.right-elem { - display: none; -} - -.visible { - display: block; -} - -.container { - background-color: #eee; - width: 400px; - padding: 20px; - margin: auto; -} - -.customobj-container { - background-color: #eee; - width: 600px; - padding: 20px; - margin: auto; -} - -.vertical-menu { - margin-top: 44px; - width: 100%; - border: 0px solid lightgray; -} - -.vertical-menu a { - background-color: white; - color: #384049; - display: block; - padding: 12px; - text-decoration: none; -} - -.vertical-menu a:hover { - background-color: #ccc; -} - -.vertical-menu a.active { - background-color: #35A8FF; - color: white; - font-style: italic; -} - -.error-message { - color: red; -} - -.success-message { - color: green; -} - -#customobj-container { - background-color: #eee; - height: 650px; - width: 400px; - padding: 30px 20px 0 20px; -} - -/*==============================================================*/ - -.lr-ls-icon { - display: inline-block; - width: 43px; - height: 40px; - background-image:url("../icons/icon-sprite-32.png"); - border-radius: 5px; - /*default*/ - background-position: 0px 0px; - background-color: lightgray; -} - -.lr-ls-icon-Twitter { - background-position: 0px 9.6%; - background-color: #35A8FF; -} - -.lr-ls-icon-Facebook { - background-position: 0px 2.45%; - background-color: #3b5998; -} - -.lr-ls-icon-LinkedIn { - background-position: 0px 7.2%; - background-color: #007bb6; -} - -.lr-ls-icon-Google { - background-position: 0px 4.8%; - background-color: #dd4b39; -} - -.lr-ls-icon-Instagram { - background-position: 0px 28.65%; - background-color: #406e94; -} - -.lr-ls-icon-Vkontakte { - background-position: 0px 73.9%; - background-color: #5B88BD -} -.lr-image-frame { - display: inline-block; - width: 150px; - height: 150px; - border: 1px solid #eee; - border-radius: 50%; - background: #fcfcfc; - overflow: hidden; -} -.lr-image-frame img{ - width: 100%; -} - diff --git a/demo/emailverification.html b/demo/emailverification.html deleted file mode 100644 index 7ab3806..0000000 --- a/demo/emailverification.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - SDK Demo Verification Page - - - - - - - -
- -
-
-

Email Verification

-
- -
-
- - - - diff --git a/demo/icons/icon-sprite-32.png b/demo/icons/icon-sprite-32.png deleted file mode 100644 index 8644f26d3e73b0887cc0ec57af9faa64148f4b53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12820 zcmYj&Wk6iX)-4IaT|;npcMsAK++BmayAR&bxI3hA*T&u5U4y%OfbeDRow@J*s`^)_ zwyeF^u5}`m6uzM#;v+&qL7_-X0aX61^iWW6sPM3Vc3Ijr_kWfzt`b_Vst)F^9!Ab) zP@<*|#%83_c19LvDrQEeUQQ!sf>2OwjnV*7HP6*E{ZqF!-nk;**RSh{DW#+`Fh3Z8 zDxyb-8l|LiFf#OcsvoiuOVmV)KUxuZ9=|=l&CyiAAt3LvHz!O^y2L0LM-&imv*RHj zs9=Bk7%1|j_`UGurz`&g$5o4ArG`fpK#>D|BR9gJRJhrbSwA4+tuVrCUKx1ON`cGT zcedjCCef=wKUKYb_gBtac7*_M+)@+y7g8Ey5#Ob_q@(AAu%@gN|23C7bfEyfY{Nvy zXWUH^%AB`#0Gz~brBT$)1&N#qC!aE2Dm|g8u}J&40=CXXh-j<7V3)gggxF~mjet(G zKMg7<3*bQ`xVOz_PBuEX%i^(9jZ1jA)(sjAOZj$GulYm5d)ZEvqrlpPZv!S6~Viyto$FdmncT?Ff0 znz^5r+4`j(6hpX6oY9$bkY;!=fSZSDa>y+Eo|MfRRCOmir8HB*-UThx)=rMi0o@A2 zYGW3k9UZb=5cW@fD`zx)^f@o|WDqn3VLewq>hZ{G+)nqIx!1kFbOqcDUV7O|%#Pm- zXSOLsRp{@yr(0?H)XDtE!hhdd_9NvF`~pAU764fMEG|+F;8x=7)U9)yH2HoQy+;38 zxx&vi*4H6E(MsOfyl9hlo7E0G;r$-{DnmkWq4%(I&|F7*JoYGmD5;n{3QAVc3V-aZ z-rgQ;gCre;Vs6YlVDtKh3G^54s``09GW|xpquE^p+`8?kr?d1~_RO1H=8wZlAO3aK$3Rw+?wBp<&Z2zZ zWvFn>%xM-Izsckf87=;rx%lWS@zrTurx^X4l6VfWa*fV4vrUP!q`v+BNiLG(>sNm4 zPAVHt3n`|$&w4Wet-lka6e{)Wn!dd{nH}$uzNgkQNp@giwIh(Q9^IN?BrQ+5e`? zA7}bo{8ee?7_FCdv8EOEMfI%1C%oMP#I^xoIifh=m1|{lJeh?WHIY z&MpEE&r~vpNaPuhZhFK+P(~)=X8Z9A5!CoGH;O2AtSWqTW66@Z8?=n0#^4UCyb zBMZqgsFdmZ;@^j;q%)>Bwp=joVR9WkWNAig4f&P1b1o~cwQlhA+a9_ZnY;(XcgS-5f9s(BFBG;tK4|?qnVYS%3L^6;m)7P9 zWP;>m?hW=JIp<^*ip=8l5dvrw-_2R(rb1~(Buzw~J}sg>w9c$|j;v&q@CrtgxSrl- zccx%2>J06WEgs`ERF%OzbM;)2BO*-O%aNCR*04!r?x(Wt(MGlLNc1W-j)^3k=^dNI zbB{Ac(GsF?hsi#$3YQx* zhcAXX{`fYK7fQ@~b$yJ_35-A|fN|=_j#o6+(0JO>Nt^IlSP|0m*n@+JlweZ!pkn8! zkF$MILsfwPxl_3gaABIAH`6nkMOb3Yo-sAyc35L_XvJ`~nk$xa~5 zNOsTEKuN&9RBQ3ZO&a5M7olwcgK3U6vs;2-}ZsNOpqHgm>Gj>7y)(GJURpI+u&Uw z&9-IcE_~5h7gwT;VC3_)rG!@o>%{4@qz5kj)NHE~f$7rsbsWty&Dq$L%eGj)HT|fD z>|Wa{g8W4LD8zkBxFp_S0tJ=jOVW190cH6JK@V#b0Gh(ChSSGcQk`~$Z&E^FI2! z4?uL}Mke!3Q^OyE@&=yNcVA5>5-;&=cobjt`^jk)_Kyz8(_<O!i4?noxaj?iv zi$|cmS(04EGsvJ@FvMLTA-=E2G&0(;y~-Y9iEJBk!IRDL#>X>5anss$NZtB*uq3s; zA01_Zth&%LY_NErB_5zpJx{YO`>1k;mB|=jq$3>49;BZx11b^t}*E4JwVDfXh%;wD)@ zTa|$&ELI)gsE%UrNA-Vv?!QBmGIX zvIaOy;j%&_4iaTnHsdpCpVY&mBkzhQ{z>^eT)Ha%ahas(w%gO#;z@R{*3Q_TX;c++!+aaN7u(rykcFdsB+BuUxGThew5 zMy;ySFBf_T=zjDcX-L|wbx=&pp+5X(wi05)^T29E!eQb!EAK>|tO|yk>G7zAr$hIH zVe0dh_}$2eXS@FlE}N11r^Y?mv3^^jJR4MUvpm?lJJA`@8IRHq6nm}oEGhP_ZuW=P zz)AeEW7g1t)euQ{9zHvV;Z@fZv*HKc*c{=S%OoN7+3hFARJ@M7;*s<9JRP;TBf0c* zm>P$N$#ugNa(m^nQ1_d?JGyT?AWtmGkle z3wad8FD9oTSz4_0OOsjSNJw+1(?&

eq!pf<8Ojgd+A#xM-8W=p$?&!`M>RX?|Pe zAxiuHl)MGAetINRfeF*)$sLRs!g4dwzYWqGfWJxCE{briFLRktWDI5J$2;&rF~ML+ z1AtoWx(wqXCU35yIxZpL93+bEn|mA1 zXT{*7UoteH&<~bPHE|ZjecVC2a`#FFy2BreDb^ddVt4_0nupKv7{0_iA;IcwXU(%$}`bc_r6 z@^C;I>?$i9>KmqYU7Pj2MY@OwDZg2P&dJ4{&p$YD8_`G*UC>W3QWgm|PN?jha(-g+ zY14y5ENDh^dwN7JR&_(N^urZO=o)t_o^$l46~yoZ{Kyk-G)#%;!Qk9FI?i%3ji#$} z39K{&qsozidel0hK=Vy4^Lq?3KDiC=%0$Gf%AXn0@cO!+IGDvd23st9tR+2yvR-4b z_5XnaW$az+kv*N`0tYR8={aRnrJe{7ka7j}JEv`BaASWe{Kw=P6lMC>VQ0O7qKipU zBg0=_?t5`39F|$e3aN@Il`xI6m)cYnEx^_tG{dRzb%Wj06$>Fu2UYhst$vg@BXcL* zG`}c(+n<&t_b^k$O{i8gt)5qOBQR!oZEjIwkAxhUm15L$Zj#`k>DtyYHVqSCF=5V* zVLOc~7)PdsF!!+UG!J(I9nwvGrXH1CD#z=TR=A=AJgG~AvvvEmXWXC7kaQkiUijPu zY7r1d0@pkcV{mvp;Bq1EatPO_>o$MpRBW6f!0{g?@LGy=47PF67KPOvC-fAPtF7-U zel^nl5qgWmP4!rK=V-K2oC|u zsKM))eOi_#q#4|73wr$O9W9EaJdQz8?ap>83}@m~mdbic7mfKh!E^o5Jv^g0Y(WGH z;Z{LbK1nQvw9i6GoEip*@`;d@k3ZXBx-5bBNf zv{~)4SYd|4BcVU~V8^*~mVy}_4-UdTTudD0`oQ(y>eYJ-MOkx%^Ftgo!euWjaF}|* z+W3*NrTYFVVfXY`i|!3+zbhwZPcXJ(T{g&)!S!5YG^`e*>NHUe+Ld&)&9~T^%dzjQ z;D^(&ut6cqyR=Hl6zw5lx<$M7tm7!3qyMi2nLZPNAv_!o1AMIeac+Z9=IoFQV$mnX zI))lbx|?XtG}ci$F)=8c%D9f_AqGA#H6Mt0TpG~kSy<%F@u zUTQvwO>Oq%R%H5Y*PC2_f3c{(yfU`JF~sd+Cp=iFq10|kZ0%xW9I=ZhNLW-u((mGy z>o-CL7jnX`jDN-B4j(L8C2Ui*@q(`XzMAz?o=r}4zM8kI;gVp7-8L5pqR{FnIr7GG>?B%MglHe@%Bl0!3R^O+~9pQ|Twx~cv*wKH~yq?cZ4|wRi8po8!)+q$Y zabkg2kKCAAd65P&#aS=(fy5S+zo6x@CnFAIg4|D6?>iw!V%WO^`e9^_@XJZt9=9p6DsXB}4m5RF{)57o)?;{kWF`Y$9QkMO1jvi$t(wofNeD z+ap$aFx+#FrRm`vpmjZ+g&?{x2~{FCn#ZsKR@7vPQ%jv**QyQeC!V#;DX@W-T~a|G zXYx*h{sE#cG~`XAd?syg`+K{{js>8+^KLWG>bPj#-EyEL$keem)*dI5t5MVha;m*q zM-bg(o7pCzZic=XdHu2nFUX^ubXk02OYgBX_GHiMDe(_i` zrEm*2n8`Xd)AHO3nc?v0clOjMR~trJ+PE)n3IAYAT@3Z4Am8rK`Vl)>@tE?t&4 za&DQJIIM%wsd0-=wsiZXM(M|35Yw`oR{z5N%=kmt=6NQMfU)irt&=#mJZ?ly@G1M1 zj+T72-80g_2(BU5f{*BWxh%>h&X$uQDcbizL?ijk7X4eIwhO@4)|(bR1sbkxy^^oF z;;<&j?DB>_oEX3FQku%3lkq@F!+OCze*Jb8IMQ0-o z?rdL$(-KVQ>NL`^VNB-E5Aa$S3sAx5qZfNENNef0>Z>zhGeZunGTYj$-*vfvCGH{1 zW^S$r+LW2YwbQUaDagMB6poeHbhYkxWr|sKYBtw2z2R$o9^yJmVDt(yQOij>U%zpJ zGtn7;)nHPNyTr}ii2l!9>>r8~)SUXc-eF#rQj0DN_OrB_nF2DkjM?^|Ia+kc7<_$J zdi_d;Ikj_&jT{bMH{;4U@}$Z{?R@r2mT}2UND~D3NNpdOlA}FD*<1@)Y8ZZ0m~BzB zh$QQ9Ju^0+wdYK&nZwdgB?g6?;4c~{-)ZYFb9C@mu2E2XHQ1S9T1Vo!Wd54`rGI@V z7yv|A(YF6bMdyVxNcv_lZDl$2H`e3? z(Z8^nUh^zuMRUhY9f3)Db* zYR-T*uA0f-Ew(R$N zb4ErJ^LUYDIdjH5$HtA5tmBYp6&^A@lmRZP#e5xUZ3<1b2Hx=jx$!eqE7PvwjMgxd z99YawwB3JxcgEN(pe{>@xHKAjm0o|T-%|~9%~l_^ua*OUBUAN&J^r}|vwiZRhq^~+ z2ET$U{jsms)7M0(ZxH4JaT?&TI#RV&0Z6ri^+rack4MQr6(i$!%i}@ZchsR;-UW?L@gD=KVSaQ< z2v=jHx}nWDU-a}z{_y6fnV^wC3(y=sblPvlvH6|YAY0az z5&nfZW&1Oo5J~ex18ysF@{qyRUq8i*A`RAb+$>QZBYfgaF5<9~6fLWlFw=0tz zc`fLYmO1I)x|fDjQ+m3eFWM6~{pGCC7uplOZ!4s)URW};T*V2tn!HT#AZ6!D0Ur!* z8D^MBWq!<#IGQrCm)9zcDB;>zD(nGon~ePQam#)C)ur5i_>w%+M4zaj8A9~#NB^oQ z;7Nfa37*C$E5_zQ$G)Qa`2}JfG{W>tGcWEZoEcBxl$QeqJ~{nGvlYQ_l+smWyP3FJ zucQdsfGq-H23tYqf@>=~uI+c9V-CI$dEw_L?RpIJ`N%0cVYGt>)$RpzX9?BE)zG_EPsR+mw4JE{^ZZYTP!rBewn`%&Y= zBz4abm2tUqa*3mI6>dZGkAi-Dk>rp4c3~4V%i^mtUsKijDE%3!uYmE$G~{2mknROL zCQ7t;POMNnRsQuZ{A#DYffN%26M%p7_0oHt&d#bN_w+YQkzv zY|+5@_1x_^O|SKLN3`5E@2C;Q>l==(+*$Y8)D9UQLwXIj+nQ)jM}=|NJU;jzrt!JiL2ip#QL6O3+N(G*`Ni)25wA-1f0(xO#*7+-aR5& zp7vL&61 z_#PgxaA(m;I2sCdI^mc^3Qpa9oc*{E%nm?;sYz*!Ac@0db=SUWSt~#!70*b2Sy6Ji z&kGl^H@fk|nej!z;yJ>* zDwBx(9#h+etP>*6k6nry!jnm~m}D^4p|GJk1HLIz`n?8?MV&C9;&Y z$_V6=uaAcn%vXoGLrP%0WE(i94y=oo6u{(^fztX^RZBFRq>t=U=Co7-nSO-$$QRid zDMGeyY^)K3d(y9kdZ_tItaWOhEHNsw+!-lyDa^_h6Rd%+dIVK=TnwwOGWs(rb3yGm zaAQhoVjfuxTex8pD-7u3WkKy816f>n|BjG9ee~bLhW5J?^9y4X`;n%=7E1`-7pzot zLz~$~TZ}`E37`64A&yNjUq|DFIR_m<#&hS``a(OFN{8m4wwO%@AWcU$jYkE3 z|43lZ_Y#PkLJJaANZz<{L4@u{cgpkyW{6N-4Z)~a=YWpbrDXuAvMQvlwh1Dx&y@du zMo1y_M-)_poVFUKgBGV&wfI_LqrN7B}otq#GqTQO!%LF)ymlNTEUK`a?xMTkXYR)tS6h6Vldw z>`p=*>q<)q`Y_XMK*-eeXkbB>aP5NWrr?+GOjdL6Z?S}GwL}t{inF{#p_k`+B;5Qu zNBGHv4Ix!y9GfgZ@z*2VQJE#$3+ZLgfHAIL_;qDvxoxqoM-qVESQ|#NM>44mF2RH7 z>t?lzqL0RH8aV~>Y;fPTkbxRPSt)V)eLo$Cb^Uc2VS-pm3L0+ac5I7!O$FdNwrupO zoRNcfH2E)e%LXO?_YMp1BC_A;SV0^=l*Im-1kTa(>iYZdVm`;RQxQ8l?utbY|E!`ms-uqz3#$2q7{m z`zmp<(LZ8`$I?^z78{Pfokc(kEDXCg=Z{Q2sXkvilpkv3)UEz&C~ki zK7dKa^l?leb&2t#U9Bm+z=ud=ivOZO8VWy_j?!_e&Qys!lJoSKkZ}|(;S9a;1j?Lm1l#R{sE4IR4zcd7SmB+qU zb|@$R{3`;?vE{4&g$X-hd$WZ)zo%fC&;4bOHzoH~OBbI?KZj-`#QX9ptHii$aMFJX zmt9DAU|<=nv@g>X*)Gv|!zM|jBnQi6``9(409K>U7+rizv7uiw+FtmC zb;D55%e7Tb9r?NlV%6g2ne)I zbpfOwI2`em1c|46uHaPkHRp@3tG}uk>mynKIH>L#VCt)DYbqxefd2iWP zk7fag!tF+C%@DKtJnp|nxzZA)3}AWI9202}2?k=X;j{PihoV;^16C#&&6)4DXVkA` z!YreICJeG^mM7r^?Iv@$Bg5ompYbaP9u3506YiW@P_6N9eonUCN5|CjejR2jyXvF7 zM>&e;|E2M%A-mP{WXRRxiu(yR#vwaOrJ)r07_xWqR0mFGp&oN`no<%B^R1jDV+u!qLTfh4s>6|vzjOC zH_arGHachYbP<-gBkil@OGVTZj}=bv=Kw2G8~$hqj%yHypQ{7|H7$LOmig&Q$)zvP zIm3?UC9N7WCec$mhSIsEF?KSwYdEcE`4^vCJ@b#;n})xM5}a^VGUcv$)V;(VtTF)$ zrRSiss|D4cLj{lh{gZ&xy`DnT3iV8-zWr+DDjmqJC-^Pr=q5P>(fRMVIuMK53Sqdh zezi~x(9o&TP-LXOWodk=KpzLS{OlduNsb((TGLY6CfrV*L5Rh`UL~|}?=N|JJ4g9Q zbDHkuoTrLvPk+B$Mh89}lWhveGO{1H6#LqET z)?Xr-Q*D-8CVxvm1ZW@!uZEYnUsfHrW;+_Fxs+#*D8Jk_kSkxxIGY^ZXpr^G_9;Mk zypkAl4oyimN_AA7cm>FFdGLT5o7=W3OBcwyjn3$@IwXF_FG-0q9?mqQkjvip0q6zY z3M?o+3w}jR&4$s?lJ@yh;+sAve}5j|ho++VETFN@hhTv{3o~2rY5x)&22OYn!;p_W zDm0{WpKa(T#5~Kch8?XScm(=9w1}+&?ShNOKG`DSZc|i{&+CLU40>sD07lBJ92PnOOcG+0=NY<`IK+<>iCO~2jc%hOesit|2ii1(B6 z$PLl4anMg8V2`pe*QEy6GBot35(kJii=Ct1= zJKf~MrC3S*j&f=`$-6v&{!O`k9NkcjNs>^zv%)ZnSFFLh1JB8H#E*wjhEQ9MJu_{G zHt7g9UyhU=tomdh*V zYLO{RsK4B=Y{U$ku0brR;%*bJZX-i2AhhVNtFoX^51!g3mN}QLeRQ*s}2kQ)yQs3~m#?Z(=?IbeGoWgCe zp2|D0WdtXbAEe8lIGG^w|D=dBrq-LqQNF?_4aL0xPN+&W+1#iqPRajC6=&XK9+GnB zUAPl4{+$(p=C7C{Ih)e`#|zJ9516@`p)WS36gayZHpm0?>{iwxB_korf%G(qQ+~_( zM-E)+_J~~+Swc6RidRHEfG+PaXuqL#xFz2|qDa6y5(CzluiNGI+2i3$1>`FkesPrO zJWr36y5-G=Oi4g_l_Ki+bu;0|&$>Rd(L8HhCe#f5d3e zPZ@)A7_(WLLImK(^BZ|;|1+O;6epEM&^a9wvHHvvmk6sW5=WPw*PAiN^6e%LntB-h z+5n#H2>*u_A5UVR#sI5N`WFNeL_Q=@O8bS}3;hUW-a#z1(8Do~0fl4rSfC?OTGLs+ z1VYvkC=(37qz_|(w&5K#)XFVVTZ`K|e_jud0E)(JD$s$F%|*TQq!IEBn(L}-k(b|3 zK!cS0h>2hTWtPFM4J#%E?o95zMQEfZocI?718>>(>beDtXi-<_T!#V{fo@(LBxx>0 zv1nGg1dI)G3qE>m)yFI)aCZKB!>IZO7(>i8s$npfbqZzX8xKua(EjphPwZeD%Z$F| zwh-mYq~v^qMJvNc8(;pNVQkC0160$UhK7la!kyk1junPF%6|w}2$c5JqJ*}+YMd>W z)#DL(nt^hrRK%0=m*u_1+oPErcqGQ9#z|=^%#yKb{O#Gz&;O0A;K3K+lE`J!bGMVw z>79Fi5ql^8#9Zt%eFa0m;KjmhAhyO_`oLlGQO;ym?> zCZ3bDCUYH&Q$5o z-*h<23N=x8?Fm@S|Bd)@)E-T~2wn5>O8ELs^@!CEZp8dAIS6eI`%yod!bM_4cYJg!C9~4e5q@?o~0H5Jq-_x^4 z!gVDII6SoS76I5B8VRNOAxD1X4s{Pr1o>nJ{GB*3Ti9JLo9%J9Z%=x_Uy?^PT5r_2 z%3iNTI7?5~n#nsWX_tMcQ7)0idn=)Ofh*@XCFaEN!C4Sp}WNcZPoiQbv4G zaAz8gId z%`2?8XGC0+S9%SeosG)#W?_))lr=Yd+<3_>Emuy)myxk(gsR1QJs7XenW%V|jzu!@ zNF{?vls8~(9lRw6>P?8ji!DN9@pX{Z6o{2#FR!%9;u_;aChdc1b$X^{^u4o|*rQ2SQ&C}*`kdD>y77T_AwFV_pLyb;r~kS7irzmUoPG_~|ciiYaLg!QZPLydn${KaR7Y9hx z*OscQ8i5S>**UK@V92LCYlO|Xy!OuTf01TaD3{SZ$!GGN3~4{= z8lPQt{0MG)%^jFaGGr{-hm^Og{m@8r@ce5rV(c3mDXcI-b9nO=vi^W{xxC-+=*kPNQdSk4J3yq?1pvuX!zdSnc+DIX>y%RcbU$EuL&EI+T4o zACDnpY8+|tLTJGrkyGtr^DJDuwhp|4!nj>G>*;kSY_hixuN6~~RZA1U#ELO9bnY5G zGse;n$=8q!HITNkou!v!52r3#s=R-{Z_eKH2q%Jt_rIMB1cygadXRyOWRl>v=z^T+ z#J@)#d`WNa6>(+iiWD^8O;odd4PO~5*j+vsl=2wRgIcI+JiDF2VR42y-}Tj~?P}T& yobUW$e#9I04<-)K$_B8VeYqg>+K@ diff --git a/demo/index.html b/demo/index.html deleted file mode 100644 index 29891cc..0000000 --- a/demo/index.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - SDK Demo Index Page - - - - - - - - - - -

- - -
-
- - -
-

Forgot Password

-
- - -
Email Address:
-
- -
-
-
- - - - - diff --git a/demo/index.php b/demo/index.php new file mode 100644 index 0000000..ba68ca4 --- /dev/null +++ b/demo/index.php @@ -0,0 +1,166 @@ + 'text/html; charset=utf-8', + 'css' => 'text/css; charset=utf-8', + 'js' => 'text/javascript; charset=utf-8', + 'svg' => 'image/svg+xml', + 'png' => 'image/png', + 'ico' => 'image/x-icon', + default => 'application/octet-stream', + }); + readfile($file); + return; + } + if ($asset === 'index.html') { + // The overlay did not ship; say so in the browser rather than as a 404 + // that looks like a bad URL. + header('Content-Type: text/html; charset=utf-8'); + echo '

demo UI missing

'; + return; + } +} + +// Two passes rather than one: a path can be shared by more than one route +// with a different method each (e.g. /api/mfa/login/email — POST to send an +// OTP, PUT to verify it). Returning 405 on the first path match regardless of +// method would make the second route unreachable whenever it isn't listed +// first, so every same-path route is checked for a method match before any +// of them can produce a 405. +// +// A route path containing a manifest path parameter (e.g. +// /api/customobject/{objectRecordId}) matches by prefix instead of equality — +// this router has no template syntax, only exact/prefix comparison, so +// "/api/customobject/abc123" is matched against the literal text before the +// "{". Confirmed live: without this, PUT/DELETE with a real id in the URL +// matched nothing at all (404), since "{objectRecordId}" never equals a real +// id. The segment after the prefix is read directly by whichever handler +// needs it (see DemoHandlers::resolveRecordId). +$pathMatches = []; +foreach ($routes as $route) { + $brace = strpos($route->path, '{'); + $matches = $brace === false + ? $route->path === $path + : str_starts_with($path, substr($route->path, 0, $brace)); + if (!$matches) { + continue; + } + $pathMatches[] = $route; + if ($route->method !== $method) { + continue; + } + if ($route->requiresSession && $sessions->lookup(Demo::sessionId()) === null) { + Demo::writeJson(401, ['error' => 'not signed in']); + return; + } + try { + ($route->handler)(); + } catch (\Throwable $e) { + Demo::writeError($e); + } + return; +} +if ($pathMatches !== []) { + header('Allow: ' . implode(', ', array_unique(array_map(fn ($r) => $r->method, $pathMatches)))); + Demo::writeJson(405, ['error' => 'method not allowed']); + return; +} + +Demo::writeJson(404, ['error' => 'not found']); diff --git a/demo/js/LoginRadiusLoginScreen.1.0.0.js b/demo/js/LoginRadiusLoginScreen.1.0.0.js deleted file mode 100644 index 45113f1..0000000 --- a/demo/js/LoginRadiusLoginScreen.1.0.0.js +++ /dev/null @@ -1,1778 +0,0 @@ -(function(win) { - if (win.LoginRadiusV2) { - LoginRadiusV2.prototype.loginScreen = function(container, options, cb) { - options = options || {}; - if(options.pagesshown){ - if (options.pagesshown.length==0){ - alert("there is nothing to display, check your options.pagesshown"); - return; - } - for(var i = 0; i 0) { - for (var j = 0; j < containerElem.length; j++) { - if (!innerHtml) { - containerElem[j].innerHTML = ''; - } - containerElem[j].appendChild(data); - } - } - } - } - - function generateLayout(container, options) { - return ''+ - '
' + - '
' + - ' ' + - '
' + - '
' + - '
' + - '
L
' + - '
Success!
' + - '
' + - '
' + - '
X
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
    ' + - '
  • ' + - ' ' + - ' ' + - '
    ' + - ' ' + - '

    ' + - '
    ' + - '
    '+ - ((options.content && options.content.tabLabels) ? options.content.tabLabels[2] : "Forgot Password?")+ - '
    ' + - '
    ' + - '
  • ' + - '
  • ' + - ' ' + - ' ' + - '
    ' + - ' ' + - '

    ' + - '
    ' + - '
    ' + - '
  • ' + - '
  • ' + - ' ' + - ' ' + - '
    ' + - '
    ' + - '

    '+ -((options.content && options.content.forgotPWgreet) ? (options.content.forgotPWgreet) : "We\'ll email you an instruction on resetting your password.") + '

    ' + - '
    ' + - '
    ' + - '
    ' + - '
  • ' + - '
' + - '
' + - '
' + - '

'+ ((options.content && options.content.resetpage)? options.content.resetpage : 'Reset Password') + '

' + - '
' + - '
' + - '
' + - '
' + - ' '+ - ' '; -} - // - function renderJS(cb, options, lrCallingObj) { - function lrlserroraction(errors) { - window.scrollTo(0, 0); - document.getElementById("lr-ls-divsuccess").style.display = "none"; - document.getElementById("lr-ls-divisionerror").innerHTML = !errors[0]["Description"] ? - errors[0]["description"] : errors[0]["Description"]; - document.getElementById("lr-ls-diverror").style.display = "table-cell"; - document.getElementById("lr-ls-status-area").style.backgroundColor = "#FF1744"; - document.getElementById("lr-ls-status-area").style.display = "table"; - document.getElementById("lr-ls-status-area").style.position = "absolute"; - if(options.singlepagestyle == true){ - document.getElementById("lr-ls-status-area").style.top = "137px"; - } - setTimeout(function() { - document.getElementById("lr-ls-status-area").style.display = "none"; - }, 8000); - } - - function lrlssuccessaction(response) { - window.scrollTo(0, 0); - document.getElementById("lr-ls-diverror").style.display = "none"; - document.getElementById("lr-ls-divsuccess").style.display = "table-cell"; - document.getElementById("lr-ls-status-area").style.backgroundColor = "#3EA34D"; - document.getElementById("lr-ls-status-area").style.display = "table"; - document.getElementById("lr-ls-status-area").style.position = "absolute"; - if(options.singlepagestyle == true){ - document.getElementById("lr-ls-status-area").style.top = "137px"; - } - setTimeout(function() { - document.getElementById("lr-ls-status-area").style.display = "none"; - }, 8000); - } - - function redirect(response) { - var lrform = document.createElement("form"); - var _token = document.createElement("input"); - lrform.method = "POST"; - lrform.action = ((options.redirecturl && options.redirecturl.afterlogin) ? options.redirecturl.afterlogin : - window.location.origin); - _token.type = "hidden"; - _token.name = "token"; - _token.value = response["access_token"]; - lrform.appendChild(_token); - document.body.appendChild(lrform); - lrform.submit(); - } - var custom_interface_option = {}; - custom_interface_option.templateName = (options.socialsquarestyle ? 'loginradiuscustom_tmpl2' : - 'loginradiuscustom_tmpl1'); - var sl_options = {}; - sl_options.onSuccess = function(response) { - localStorage.removeItem("LrEmailStatus"); - if(response.access_token){ - redirect(response); - } - cb(response, "socialLogin"); - }; - sl_options.onError = function(errors) { - localStorage.setItem("LrEmailStatus", 'unverified'); - lrlserroraction(errors); - cb(errors, "socialLogin"); - }; - sl_options.container = "sociallogin-container"; - var login_options = {}; - login_options.onSuccess = function(response) { - localStorage.removeItem("LrEmailStatus"); - document.getElementById("lr-ls-status-area").style.display = "none"; - cb(response, "login"); - //safely redirect - if(response.access_token){ - redirect(response); - } - }; - login_options.onError = function(errors) { - lrlserroraction(errors); - cb(errors, "login"); - }; - login_options.container = "login-container"; - var registration_options = {} - registration_options.onSuccess = function(response) { - localStorage.removeItem("LrEmailStatus"); - lrlssuccessaction(response); - document.getElementById("lr-ls-divisionsuccess").innerHTML = ((options.content && options.content.signupandForgotPwrequest) ? options.content.signupandForgotPwrequest : "Please check your email!"); - if(response.Data){ - if(response.Data.AccountSid && response.Data.Sid) { - document.getElementById("lr-ls-divisionsuccess").innerHTML = ((options.content && options.content.signupandForgotPwrequestPhone) ? options.content.signupandForgotPwrequestPhone : "Please check your phone!"); - } - } - if(document.getElementsByName("loginradius-registration")[0]) { - document.getElementsByName("loginradius-registration")[0].reset(); - } - cb(response, "registration"); - if(response.access_token){ - document.getElementById("lr-ls-divisionsuccess").innerHTML = ((options.content && options.content.emailVerifiedMessage) ? options.content.emailVerifiedMessage : "You have successfully registered, you now may log in with this email"); - redirect(response); - } - }; - registration_options.onError = function(errors) { - lrlserroraction(errors); - cb(errors, "registration"); - }; - registration_options.container = "registration-container"; - var forgotpassword_options = {}; - forgotpassword_options.container = "forgotpassword-container"; - var forgotPassOTPBool = false; - forgotpassword_options.onSuccess = function(response) { - lrlssuccessaction(response); - document.getElementById("lr-ls-divisionsuccess").innerHTML = ((options.content && options.content.signupandForgotPwrequest) ? options.content.signupandForgotPwrequest : "Please check your email!"); - if(response.Data){ - if(response.Data.AccountSid && response.Data.Sid) { - document.getElementById("lr-ls-divisionsuccess").innerHTML = ((options.content && options.content.signupandForgotPwrequestPhone) ? options.content.signupandForgotPwrequestPhone : "Please check your phone!"); - } - } - if(document.getElementsByName("loginradius-forgotpassword")[0]){ - document.getElementsByName("loginradius-forgotpassword")[0].reset(); - } - cb(response, "forgotPassword"); - if(forgotPassOTPBool == true){ - setTimeout(function() { - window.location.href = ((options.redirecturl && options.redirecturl.afterreset) ? options.redirecturl.afterreset : - window.location.origin); - }, 100); - } - forgotPassOTPBool = true; - }; - forgotpassword_options.onError = function(errors) { - lrlserroraction(errors); - cb(errors, "forgotPassword"); - } - var resetpassword_options = {}; - resetpassword_options.container = "resetpassword-container"; - resetpassword_options.onSuccess = function(response) { - lrlssuccessaction(response); - if(response.Data == null){ - setTimeout(function() { - window.location.href = ((options.redirecturl && options.redirecturl.afterreset) ? options.redirecturl.afterreset : - window.location.origin); - }, 2000); - } - cb(response, "resetPassword"); - }; - resetpassword_options.onError = function(errors) { - lrlserroraction(errors); - cb(errors, "resetPassword"); - }; - if(!(options.singlepagestyle) && screen.width>960 ){ - HideOTPandadjustHeight(); - } - HideOTP(); - function HideOTP(){ - lrCallingObj.$hooks.register('afterFormRender', function() { - if (document.getElementsByClassName("loginradius-otpsignin")[0]) - { - document.getElementsByClassName("loginradius-otpsignin")[0].style.display = "none"; - document.getElementById("loginradius-otpsignin-send-an-otp-to-sign-in").style.display = "none"; - } - if(document.getElementById('lr-forgotpw-btn')){ - var passwordNode = document.getElementsByClassName('content-loginradius-password')[0]; - passwordNode.parentNode.insertBefore(document.getElementById('lr-forgotpw-btn'), passwordNode.nextSibling); - } - }) - if(options.singlepagestyle) { - document.getElementsByClassName("content")[0].style.paddingBottom = "20px"; - } - } - - function HideOTPandadjustHeight(){ - lrCallingObj.$hooks.register('afterFormRender', function() { - var RightcontentHeight = document.getElementsByClassName("content")[0].offsetHeight; - var rightTabLabel = document.getElementsByClassName("tab-label")[0]; - var rightTabLabelStyle = window.getComputedStyle(rightTabLabel) || rightTabLabel.currentStyle; - var tabHeight = parseInt(rightTabLabelStyle.borderBottomWidth, 10); - tabHeight = tabHeight + parseInt(rightTabLabelStyle.lineHeight, 10); - var RightPageHeight = document.getElementsByClassName("tab")[0].offsetHeight+RightcontentHeight; - if ((options.pagesshown && !options.login)|| RightcontentHeight ==0){ - if (options.signup){ - var RightcontentHeight = 580; - var RightPageHeight = RightcontentHeight+tabHeight; - } - else{ - var RightcontentHeight = 580; - var RightPageHeight = RightcontentHeight; - } - } - - document.getElementsByClassName("lr-ls-logobase")[0].style.minHeight = RightPageHeight.toString() +"px"; - document.getElementsByClassName("content")[0].style.height = RightcontentHeight.toString() +"px"; - document.getElementsByClassName("content")[1].style.height = RightcontentHeight.toString() +"px"; - document.getElementsByClassName("content")[2].style.height = RightcontentHeight.toString() +"px"; - document.getElementById("Resetpw-content1").style.height = RightPageHeight.toString() +"px"; - - document.getElementsByClassName("content")[0].style.overflow = "auto"; - document.getElementsByClassName("content")[0].style.overflowX = "hidden"; - document.getElementsByClassName("content")[0].style.width = "50%"; - document.getElementsByClassName("content")[1].style.overflow = "auto"; - document.getElementsByClassName("content")[1].style.overflowX = "hidden"; - document.getElementsByClassName("content")[1].style.width = "50%"; - document.getElementById("lr-ls-logo-place").style.paddingTop = (RightPageHeight / 2.5).toString() +"px"; - }) - } - lrCallingObj.util.ready(function() { - lrCallingObj.customInterface(".interfacecontainerdiv", custom_interface_option); - lrCallingObj.init('socialLogin', sl_options); - lrCallingObj.init("login", login_options); - lrCallingObj.init("registration", registration_options); - lrCallingObj.init("forgotPassword", forgotpassword_options); - lrCallingObj.init("resetPassword", resetpassword_options); - }); - - function VerifyEmailInit() { - var verifyemail_options = {}; - verifyemail_options.onSuccess = function(response) { - document.getElementById("lr-ls-divisionsuccess").innerHTML = ((options.content && options.content.emailVerifiedMessage) ? options.content.emailVerifiedMessage : "You have successfully registered, you now may log in with this email"); - lrlssuccessaction(response); - localStorage.setItem("LrEmailStatus", "verified"); - cb(response, "verifyEmail"); - if(response.access_token){ - redirect(response); - } - }; - verifyemail_options.onError = function(errors) { - lrlserroraction(errors); - cb(errors, "verifyEmail"); - } - lrCallingObj.util.ready(function() { - lrCallingObj.init("verifyEmail", verifyemail_options); - }); - }; - - function VerifyToken() { - var link = lrCallingObj.util.parseQueryString(window.location.href); - var values = Object.keys(link).map(function(e) { - return link[e]; - }) - if ((Object.keys(link)[0].indexOf("vtype") > -1) && Object.keys(link)[1] == "vtoken" && values.length>1) { - if (values[0].indexOf("emailverification") >= 0) { - VerifyEmailInit(); - } else if (values[0] == "reset") { - for (i = 0; i < document.getElementsByClassName("tab").length; i++) { - document.getElementsByClassName("tab")[i].style.display = "none"; - } - document.getElementById("Resetpw-content1").style.display = "inherit"; - } - } - }; - VerifyToken(); - lrCallingObj.$hooks.register('registrationSchemaFilter', registrationSchema); - - function registrationSchema(regSchema, userProfile) { - if(userProfile){ - document.getElementById("registration-container").style.display = "none"; - document.getElementById("interfacecontainerdiv").style.display = "none"; - document.getElementById("lr-ls-sectiondivider").style.display = "none"; - } - } - lrCallingObj.$hooks.register('startProcess', function() { - document.getElementById("loader").style.display = "block"; - }); - lrCallingObj.$hooks.register('endProcess', function() { - document.getElementById("loader").style.display = "none"; - }); - lrCallingObj.$hooks.register('socialLoginFormRender',function(){ - //on social login form render - document.getElementById("tab2").checked = true; - }); - if (!options.language){ - lrCallingObj.$hooks.call('setButtonsName', { - login: "LOG IN", - registration: 'SIGN UP', - forgotPassword: "SEND", - resetPassword: "RESET" - });} - } -})(window); \ No newline at end of file diff --git a/demo/js/emailVerification.js b/demo/js/emailVerification.js deleted file mode 100644 index ae3e879..0000000 --- a/demo/js/emailVerification.js +++ /dev/null @@ -1,62 +0,0 @@ -const url = window.location.href; -const params = url.split("?")[1]; -const domainName = url.substring(0, url.lastIndexOf("/")); - -let paramsObj = {}; - -if (params) { - paramsObj = JSON.parse('{"' + decodeURI(params.replace(/&/g, "\",\"").replace(/=/g,"\":\"")) + '"}'); - - if (paramsObj.vtype === "emailverification") { - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/login", - dataType: "json", - data: $.param({ - vtoken: paramsObj.vtoken, - action: "emailVerify" - }), - error: function(xhr){ - $("#minimal-verification-message").text(xhr.responseJSON); - $("#minimal-verification-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - localStorage.setItem("LrEmailStatus", "verified"); - $("#minimal-verification-message").text(ret.message); - $("#minimal-verification-message").attr("class", "success-message"); - } else if (ret.status == "error") { - $("#minimal-verification-message").text(ret.message); - $("#minimal-verification-message").attr("class", "error-message"); - } - }); - } else if (paramsObj.vtype === "oneclicksignin") { - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/login", - data: $.param({ - token: paramsObj.vtoken, - action: "pwLessLinkVerify" - }), - dataType: "json", - error: function(xhr) { - $("#minimal-verification-message").text(xhr.responseJSON); - $("#minimal-verification-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - localStorage.setItem("LRTokenKey", ret.data.access_token); - localStorage.removeItem("LrEmailStatus"); - localStorage.setItem("lr-user-uid", ret.data.Profile.Uid); - window.location.replace("profile.html"); - } else if (ret.status == "error") { - $("#minimal-verification-message").text(ret.message); - $("#minimal-verification-message").attr("class", "error-message"); - } - }); - } else { - window.location.replace("index.html"); - } -} else { - window.location.replace("index.html"); -} diff --git a/demo/js/indexControl.js b/demo/js/indexControl.js deleted file mode 100644 index 6f21534..0000000 --- a/demo/js/indexControl.js +++ /dev/null @@ -1,248 +0,0 @@ -const url = window.location.href; -const domainName = url.substring(0, url.lastIndexOf("/")); -let multiFactorAuthToken; - -let custom_interface_option = {}; -custom_interface_option.templateName = 'loginradiuscustom_tmpl'; -LRObject.util.ready(function() { - LRObject.customInterface(".interfacecontainerdiv", custom_interface_option); -}); - -let sl_options = {}; -sl_options.onSuccess = function(response) { - localStorage.setItem("LRTokenKey", response.access_token); - localStorage.removeItem("LrEmailStatus"); - localStorage.setItem("lr-user-uid", response.Profile.Uid); - window.location.replace("profile.html"); -}; -sl_options.onError = function(errors) { - localStorage.setItem("LrEmailStatus", 'unverified'); - $("#sociallogin-message").text(errors[0].Description); - $("#sociallogin-message").attr("class", "error-message"); -}; -sl_options.container = "sociallogin-container"; - -LRObject.util.ready(function() { - LRObject.init('socialLogin', sl_options); -}); - -$("#btn-minimal-login").click(function() { - $("#minimal-login-message").text(""); - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/login", - dataType: "json", - data: $.param({ - email: $("#minimal-login-email").val(), - password: $("#minimal-login-password").val(), - action: "loginByEmail" - }), - error: function(xhr) { - $("#minimal-login-message").text(xhr.responseJSON); - $("#minimal-login-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - localStorage.setItem("LRTokenKey", ret.data.access_token); - localStorage.removeItem("LrEmailStatus"); - localStorage.setItem("lr-user-uid", ret.data.Profile.Uid); - $("#minimal-login-email").val(""); - $("#minimal-login-password").val(""); - window.location.replace("profile.html"); - } else if (ret.status == "error") { - $("#minimal-login-message").text(ret.message); - $("#minimal-login-message").attr("class", "error-message"); - } - }); -}); - -$("#btn-minimal-mfalogin-next").click(function() { - $("#minimal-mfalogin-message").text(""); - - data = { - "Email" : $("#minimal-mfalogin-email").val(), - "Password" : $("#minimal-mfalogin-password").val() - } - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/login", - data: $.param({ - email: $("#minimal-mfalogin-email").val(), - password: $("#minimal-mfalogin-password").val(), - action: "mfaLogin" - }), - dataType: "json", - error: function(xhr) { - $("#minimal-mfalogin-message").text(xhr.responseJSON); - $("#minimal-mfalogin-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - $("#minimal-mfalogin-email").val(""); - $("#minimal-mfalogin-password").val(""); - if (typeof(ret.data.SecondFactorAuthentication) != "undefined" && ret.data.SecondFactorAuthentication != null) { - if (ret.data.SecondFactorAuthentication.IsGoogleAuthenticatorVerified === false) { - $("#minimal-mfalogin-qrcode").append(''); - } - $("#minimal-mfalogin-next") - .html('' + - '' + - '
Authenticator Code:
' + - ''); - multiFactorAuthToken = ret.data.SecondFactorAuthentication.SecondFactorAuthenticationToken; - } else { - localStorage.setItem("LRTokenKey", ret.data.access_token); - localStorage.removeItem("LrEmailStatus"); - localStorage.setItem("lr-user-uid", ret.data.Profile.Uid); - window.location.replace("profile.html"); - } - } else if (ret.status == "error") { - $("#minimal-mfalogin-message").text(ret.message); - $("#minimal-mfalogin-message").attr("class", "error-message"); - } - }); -}); - -$("#minimal-mfalogin-next").on('click', "#btn-minimal-mfalogin-login", function() { - $("#minimal-mfalogin-message").text(""); - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/login", - data: $.param({ - secondFactorAuthenticationToken: multiFactorAuthToken, - googleAuthCode: $("#minimal-mfalogin-googlecode").val(), - action: "mfaValidate" - }), - dataType: "json", - error: function(xhr) { - $("#minimal-mfalogin-message").text(xhr.responseJSON); - $("#minimal-mfalogin-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - localStorage.setItem("LRTokenKey", ret.data.access_token); - localStorage.removeItem("LrEmailStatus"); - localStorage.setItem("lr-user-uid", ret.data.Profile.Uid); - window.location.replace("profile.html"); - } else if (ret.status == "error") { - $("#minimal-mfalogin-message").text(ret.message); - $("#minimal-mfalogin-message").attr("class", "error-message"); - } - }); -}); - -$("#btn-minimal-pwless").click(function() { - $("#minimal-pwless-message").text(""); - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/login", - data: $.param({ - email: $("#minimal-pwless-email").val(), - verificationurl: commonOptions.verificationUrl, - action: "pwLessLogin" - }), - dataType: "json", - error: function(xhr) { - $("#minimal-pwless-message").text(xhr.responseJSON); - $("#minimal-pwless-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - $("#minimal-pwless-email").val(""); - $("#minimal-pwless-message").text(ret.message); - $("#minimal-pwless-message").attr("class", "success-message"); - } else if (ret.status == "error") { - $("#minimal-pwless-message").text(ret.message); - $("#minimal-pwless-message").attr("class", "error-message"); - } - }); -}); - -$("#btn-minimal-signup").click(function() { - $("#minimal-signup-message").text(""); - - if($("#minimal-signup-password").val() != $("#minimal-signup-confirmpassword").val()) { - $("#minimal-signup-message").text("Passwords do not match!"); - $("#minimal-signup-message").attr("class", "error-message"); - return - } - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/login", - dataType: "json", - data: $.param({ - email: $("#minimal-signup-email").val(), - password: $("#minimal-signup-password").val(), - verificationurl: commonOptions.verificationUrl, - action: "registration" - }), - error: function(xhr) { - $("#minimal-signup-message").text(xhr.responseJSON); - $("#minimal-signup-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - localStorage.setItem("LRTokenKey", ret.result.Data.access_token); - localStorage.removeItem("LrEmailStatus"); - localStorage.setItem("lr-user-uid", ret.result.Data.Profile.Uid); - $("#minimal-signup-email").val(''); - $("#minimal-signup-password").val(''); - $("#minimal-signup-confirmpassword").val(''); - window.location.replace("profile.html"); - } else if (ret.status == "registered") { - $("#minimal-signup-message").text(ret.message); - $("#minimal-signup-message").attr("class", "success-message"); - $("#minimal-signup-email").val(''); - $("#minimal-signup-password").val(''); - $("#minimal-signup-confirmpassword").val(''); - - } else if (ret.status == "error") { - $("#minimal-signup-message").text(ret.message); - $("#minimal-signup-message").attr("class", "error-message"); - } - }); -}); - -$("#btn-minimal-forgotpassword").click(function() { - $("#minimal-forgotpassword-message").text(""); - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/login", - dataType: "json", - data: $.param({ - email: $("#minimal-forgotpassword-email").val(), - resetPasswordUrl: commonOptions.resetPasswordUrl, - action: "forgotPassword" - }), - error: function(xhr){ - $("#minimal-forgotpassword-message").text(xhr.responseJSON); - $("#minimal-forgotpassword-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - $("#minimal-forgotpassword-email").val(""); - $("#minimal-forgotpassword-message").text(ret.message); - $("#minimal-forgotpassword-message").attr("class", "success-message"); - } else if (ret.status == "error") { - $("#minimal-forgotpassword-message").text(ret.message); - $("#minimal-forgotpassword-message").attr("class", "error-message"); - } - }); -}); - -function checkSession() { - var accesstoken = localStorage.getItem("LRTokenKey"); - var lremailstatus = localStorage.getItem("LrEmailStatus"); - var lruid= localStorage.getItem("lr-user-uid"); - if (accesstoken != "" && accesstoken != null && lruid != "" && lruid != null && (lremailstatus == "" || lremailstatus == null)) { - window.location.replace("profile.html"); - return; - } -} - -checkSession(); diff --git a/demo/js/indexView.js b/demo/js/indexView.js deleted file mode 100644 index 30e73c5..0000000 --- a/demo/js/indexView.js +++ /dev/null @@ -1,82 +0,0 @@ -$(function () { - - $(window).on('hashchange', function () { - // On every hash change the render function is called with the new hash. - // This is how the navigation of our app happens. - render(decodeURI(window.location.hash)); - }).trigger('hashchange'); - - function render(url) { - // This function decides what type of page to show - // depending on the current url hash value. - - // Get the keyword from the url. - let temp = url.split('/')[0]; - temp = temp.split('?')[0]; - // Hide whatever page is currently shown. - $('.right-elem').removeClass('visible'); - $('.menu-options').removeClass('active'); - - let map = { - // The Homepage. - '': function () { - renderLogin(); - }, - // Login page. - '#login': function () { - renderLogin(); - }, - // Register page. - '#signup': function () { - renderSignup(); - }, - // Forgot Password page. - '#forgotpassword': function () { - renderForgotPassword(); - }, - // Reset Password page. - '#resetpassword': function () { - renderResetPassword(); - } - }; - - // Execute the needed function depending on the url keyword (stored in temp). - if (map[temp]) { - map[temp](); - } - // If the keyword isn't listed in the above - render the error page. - else { - renderErrorPage(); - } - } - - function renderLogin() { - let page = $('.login-elem') - let menuOption = $('#menu-login') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the login page. - } - - function renderSignup() { - let page = $('.signup-elem') - let menuOption = $('#menu-signup') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the signup page. - } - - function renderForgotPassword() { - let page = $('.forgotpassword-elem') - let menuOption = $('#menu-forgotpassword') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the forgot password page. - } - - function renderResetPassword() { - let page = $('.resetpassword-elem') - page.addClass('visible'); - // Shows the reset password page. - } -}); \ No newline at end of file diff --git a/demo/js/jquery-3.6.0.min.js b/demo/js/jquery-3.6.0.min.js deleted file mode 100644 index c4c6022..0000000 --- a/demo/js/jquery-3.6.0.min.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.6.0 | (c) OpenJS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.0",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||S.expando+"_"+wt.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Ut.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Ut,"$1"+r):!1!==e.jsonp&&(e.url+=(Tt.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,zt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((_t=E.implementation.createHTMLDocument("").body).innerHTML="
",2===_t.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=Fe(y.pixelPosition,function(e,t){if(t)return t=We(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0' + - 'Object IDCustom Object' + - '').appendTo("#table-customobj > tbody:last-child"); - - for (let i = 0; i < ret.result.data.length; i++) { - $("" + ret.result.data[i].Id + "").appendTo("#table-customobj > tbody:last-child"); - $("", { - text: JSON.stringify(ret.result.data[i].CustomObject) - }).appendTo("#table-customobj > tbody:last-child > tr:last-child"); - } - } else if (ret.status == "error") { - $("#user-getcustomobj-message").text(ret.message); - $("#user-getcustomobj-message").attr("class", "error-message"); - } - }); -}); - -$("#btn-user-mfa-resetgoogle").click(function() { - $("#user-mfa-message").text(""); - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/profile", - dataType: "json", - data: $.param({ - token: localStorage.getItem("LRTokenKey"), - action: "resetMultifactor" - }), - error: function(xhr) { - $("#user-mfa-message").text(xhr.responseJSON); - $("#user-mfa-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - $("#user-mfa-message").text(ret.message); - $("#user-mfa-message").attr("class", "success-message"); - } else if (ret.status == "error") { - $("#user-mfa-message").text(ret.message); - $("#user-mfa-message").attr("class", "error-message"); - } - }); -}); - -$( "#btn-user-createrole" ).click(function() { - $("#user-createrole-message").text(""); - - let data = { - "roles" : [ - { "Name": $("#user-roles-createrole").val().trim() } - ] - } - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/profile", - dataType: "json", - data: $.param({ - roles: JSON.stringify(data), - action: "handleCreateRole" - }), - error: function(xhr) { - $("#user-createrole-message").text(xhr.responseJSON); - $("#user-createrole-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - $("#user-roles-createrole").val(''); - $("#user-createrole-message").text(ret.message); - $("#user-createrole-message").attr("class", "success-message"); - roleUpdate(); - } else if (ret.status == "error") { - $("#user-createrole-message").text(ret.message); - $("#user-createrole-message").attr("class", "error-message"); - } - }); -}); - -$("#btn-user-deleterole").click(function() { - $("#user-deleterole-message").text(""); - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/profile", - dataType: "json", - data: $.param({ - roles: $("#user-roles-deleterole").val().trim(), - action: "handleDeleteRole" - }), - error: function(xhr) { - $("#user-deleterole-message").text(xhr.responseJSON); - $("#user-deleterole-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - $("#user-roles-deleterole").val(''); - $("#user-deleterole-message").text(ret.message); - $("#user-deleterole-message").attr("class", "success-message"); - roleUpdate(); - } else if (ret.status == "error") { - $("#user-deleterole-message").text(ret.message); - $("#user-deleterole-message").attr("class", "error-message"); - } - }); -}); - -$("#btn-user-assignrole").click(function() { - $("#user-assignrole-message").text(""); - - let data = { - "Roles": [ - $("#user-roles-assignrole").val().trim() - ] - } - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/profile", - dataType: "json", - data: $.param({ - uid: localStorage.getItem("lr-user-uid"), - roles: JSON.stringify(data), - action: "handleAssignUserRole" - }), - error: function(xhr) { - $("#user-assignrole-message").text(xhr.responseJSON); - $("#user-assignrole-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - $("#user-roles-assignrole").val(''); - $("#user-assignrole-message").text(ret.message); - $("#user-assignrole-message").attr("class", "success-message"); - roleUpdate(); - } else if (ret.status == "error") { - $("#user-assignrole-message").text(ret.message); - $("#user-assignrole-message").attr("class", "error-message"); - } - }); -}); - -$("#menu-logout").click(function() { - localStorage.removeItem("LRTokenKey"); - localStorage.removeItem("LrEmailStatus"); - localStorage.removeItem("lr-user-uid"); - window.location.replace("index.html"); -}); - -let profileUpdate = function() { - if(localStorage.getItem("LRTokenKey") === null) { - window.location.replace("index.html"); - return; - } - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/profile", - dataType: "json", - data: $.param({ - token: localStorage.getItem("LRTokenKey"), - action: "getProfileByToken" - }), - error: function() { - localStorage.removeItem("LRTokenKey"); - localStorage.removeItem("lr-user-uid"); - window.location.replace("index.html"); - } - }).done(function(ret) { - if (ret.status == "success") { - if (typeof (ret.data.FullName) != "undefined" && ret.data.FullName != null) { - $("#profile-name").html("" + ret.data.FullName + ""); - } - $("#profile-provider").text("Provider: " + ret.data.Provider); - $("#profile-email").text(ret.data.Email[0].Value); - $("#profile-lastlogin").text("Last Login Date: " + ret.data.LastLoginDate); - - if (typeof (ret.data.FirstName) != "undefined" && ret.data.FirstName !== null) { - $("#user-updateaccount-firstname").val(ret.data.FirstName); - } - if (typeof (ret.data.LastName) != "undefined" && ret.data.LastName !== null) { - $("#user-updateaccount-lastname").val(ret.data.LastName); - } - if (typeof (ret.data.About) != "undefined" && ret.data.About !== null) { - $("#user-updateaccount-about").val(ret.data.About); - } - update.FirstName = ret.data.FirstName; - update.LastName = ret.data.LastName; - update.About = ret.data.About; - } else if (ret.status == "error") { - localStorage.removeItem("LRTokenKey"); - localStorage.removeItem("lr-user-uid"); - window.location.replace("index.html"); - } - }); -} - -let roleUpdate = function() { - $("#user-allroles-message").text(""); - $("#user-userroles-message").text(""); - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/profile", - dataType: "json", - data: $.param({ - action: "getAllRoles" - }), - error: function(xhr) { - $("#user-allroles-message").text(xhr.responseJSON); - $("#user-allroles-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - $('#table-allroles tr:not(:first)').remove(); - if (typeof(ret.result.data) != "undefined" && ret.result.data != null) { - for (let i = 0; i < ret.result.data.length; i++) { - $("").appendTo("#table-allroles > tbody:last-child"); - $("", { - text: ret.result.data[i].Name - }).appendTo('#table-allroles > tbody:last-child > tr:last-child'); - } - } - } else if (ret.status == "error") { - $("#user-allroles-message").text(ret.message); - $("#user-allroles-message").attr("class", "error-message"); - } - }); - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/profile", - data: $.param({ - uid: localStorage.getItem("lr-user-uid"), - action: "getUserRoles" - }), - dataType: "json", - error: function(xhr) { - $("#user-userroles-message").text(xhr.responseJSON); - $("#user-userroles-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - $('#table-userroles tr:not(:first)').remove(); - if (typeof(ret.data.Roles) != "undefined" && ret.data.Roles != null) { - for (let i = 0; i < ret.data.Roles.length; i++) { - $("").appendTo("#table-userroles > tbody:last-child"); - $("", { - text: ret.data.Roles[i] - }).appendTo('#table-userroles > tbody:last-child > tr:last-child'); - } - } - } else if (ret.status == "error") { - $("#user-userroles-message").text(ret.message); - $("#user-userroles-message").attr("class", "error-message"); - } - }); -} - -let script = $( - '' -); - -$("#script-accountlinking").append(script); - -let la_options = {}; -la_options.container = "interfacecontainerdiv"; -la_options.templateName = 'loginradiuscustom_tmpl_link'; -la_options.onSuccess = function() { - $("#interfacecontainerdiv").empty(); - LRObject.util.ready(function() { - LRObject.init("linkAccount", la_options); - }); -} -la_options.onError = function(errors) { - $("#user-accountlinking-message").text(errors[0].Description); - $("#user-accountlinking-message").attr("class", "error-message"); -} - -let unlink_options = {}; -unlink_options.onSuccess = function() { - $("#interfacecontainerdiv").empty(); - LRObject.util.ready(function() { - LRObject.init("linkAccount", la_options); - }); -} -unlink_options.onError = function(errors) { - $("#user-accountlinking-message").text(errors[0].Description); - $("#user-accountlinking-message").attr("class", "error-message"); -} - -LRObject.util.ready(function() { - LRObject.init("linkAccount", la_options); - LRObject.init("unLinkAccount", unlink_options); -}); - -profileUpdate(); -roleUpdate(); diff --git a/demo/js/profileView.js b/demo/js/profileView.js deleted file mode 100644 index 6509aaa..0000000 --- a/demo/js/profileView.js +++ /dev/null @@ -1,153 +0,0 @@ -$(function () { - - $(window).on('hashchange', function () { - // On every hash change the render function is called with the new hash. - // This is how the navigation of our app happens. - render(decodeURI(window.location.hash)); - }).trigger('hashchange'); - - function render(url) { - // This function decides what type of page to show - // depending on the current url hash value. - - // Get the keyword from the url. - let temp = url.split('/')[0]; - - // Hide whatever page is currently shown. - $('.right-elem').removeClass('visible'); - $('.menu-options').removeClass('active'); - - let map = { - // The Homepage. - '': function () { - renderProfile(); - }, - // Profile page. - '#profile': function () { - renderProfile(); - }, - // Reset Password page. - '#resetpassword': function () { - renderResetPassword(); - }, - // Change Password page. - '#changepassword': function () { - renderChangePassword(); - }, - // Set Password page. - '#setpassword': function () { - renderSetPassword(); - }, - // Update Account page. - '#account': function () { - renderUpdateAccount(); - }, - // Account Linking page. - '#accountlinking': function () { - renderAccountLinking(); - }, - // Account Linking page. - '#accountlinking': function () { - renderAccountLinking(); - }, - // Custom Objects page. - '#customobjects': function () { - renderCustomObjects(); - }, - // Multifactor page. - '#multifactor': function () { - renderMultifactor(); - }, - // Roles page. - '#roles': function () { - renderRoles(); - } - }; - - // Execute the needed function depending on the url keyword (stored in temp). - if (map[temp]) { - map[temp](); - } - // If the keyword isn't listed in the above - render the error page. - else { - renderErrorPage(); - } - } - - function renderProfile() { - let page = $('.profile-elem') - let menuOption = $('#menu-profile') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the profile page. - } - - function renderResetPassword() { - let page = $('.resetpassword-elem') - let menuOption = $('#menu-resetpassword') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the forgot password page. - } - - function renderChangePassword() { - let page = $('.changepassword-elem') - let menuOption = $('#menu-changepassword') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the forgot password page. - } - - function renderSetPassword() { - let page = $('.setpassword-elem') - let menuOption = $('#menu-setpassword') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the forgot password page. - } - - function renderUpdateAccount() { - let page = $('.updateaccount-elem') - let menuOption = $('#menu-account') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the forgot password page. - } - - function renderAccountLinking() { - let page = $('.accountlinking-elem') - let menuOption = $('#menu-accountlinking') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the forgot password page. - } - - function renderCustomObjects() { - let page = $('.customobj-elem') - let menuOption = $('#menu-customobjects') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the forgot password page. - } - - function renderMultifactor() { - let page = $('.multifactor-elem') - let menuOption = $('#menu-multifactor') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the forgot password page. - } - - function renderRoles() { - let page = $('.roles-elem') - let menuOption = $('#menu-roles') - page.addClass('visible'); - menuOption.addClass('active'); - // Shows the forgot password page. - } - - function renderErrorPage() { - // Shows the error page. - } - -}); \ No newline at end of file diff --git a/demo/js/resetPassword.js b/demo/js/resetPassword.js deleted file mode 100644 index 95d2ff6..0000000 --- a/demo/js/resetPassword.js +++ /dev/null @@ -1,49 +0,0 @@ -const url = window.location.href; -const params = url.split("?")[1]; -const domainName = url.substring(0, url.lastIndexOf("/")); -let paramsObj = {}; - -$("#btn-minimal-resetpassword").click(function() { - $("#minimal-resetpassword-message").text(""); - - if($("#minimal-resetpassword-password").val() !== $("#minimal-resetpassword-confirmpassword").val()) { - $("#minimal-resetpassword-message").text("Passwords do not match!"); - $("#minimal-resetpassword-message").attr("class", "error-message"); - return; - } - - $.ajax({ - method: "POST", - url: domainName + "/ajax_handler/login", - dataType: "json", - data: $.param({ - resettoken: paramsObj.vtoken, - password: $("#minimal-resetpassword-password").val(), - action: "resetPassword" - }), - error: function(xhr) { - $("#minimal-resetpassword-message").text(xhr.responseJSON); - $("#minimal-resetpassword-message").attr("class", "error-message"); - } - }).done(function(ret) { - if (ret.status == "success") { - $("#minimal-resetpassword-password").val(""); - $("#minimal-resetpassword-confirmpassword").val(""); - $("#minimal-resetpassword-message").text(ret.message); - $("#minimal-resetpassword-message").attr("class", "success-message"); - } else if (ret.status == "error") { - $("#minimal-resetpassword-message").text(ret.message); - $("#minimal-resetpassword-message").attr("class", "error-message"); - } - }); -}); - -if (params) { - paramsObj = JSON.parse('{"' + decodeURI(params.replace(/&/g, "\",\"").replace(/=/g,"\":\"")) + '"}'); - - if (paramsObj.vtype != "reset") { - window.location.replace("index.html"); - } -} else { - window.location.replace("index.html"); -} diff --git a/demo/loginscreen.html b/demo/loginscreen.html deleted file mode 100644 index c2b622c..0000000 --- a/demo/loginscreen.html +++ /dev/null @@ -1,34 +0,0 @@ - - - - - SDK Demo Index Page - - - - - - - - - - -
- -
-
-
-
- - - - diff --git a/demo/logo-white.png b/demo/logo-white.png deleted file mode 100644 index 482171525ad79482d3a66fcdf268e28d96577037..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2300 zcmVuleQ_hDK8gPWfhgV%M_Kn%$%oXvb4<1SmvZ8m6;i$Iz=EA7Q6Hszc}D(sc3ugu$3HR=WFOlp8B}={^QA z7mNhT;=P`Z{u>4F5M zE0d)Q5|obP)6oQV68ODTLb|AfG*nK&yj4+4=52&J3Ao59NJ9hERO6LJD$-D;1mCAC zf2HG?-WY-ZU@s10Hwy4Ix?99Yc^}6Vgt1@jz-AfyCstuOzLE1%@c~BRVHvB1uQ3@j z<(&VZNaov%1K5FlIkt0*Qaz6!F$z;KA9*N55w>7ICd)aGAS~?rHzFUocns-23e^K2 zV2;f7FRYb+|A?F9mY54@F6Z5g(fAxSW$Z4Dz?W#~;d{7U=6M-uQGQ=Nkc~I+7G6aN z&&&8@xYAwec;gkTU|g7N%{kK0W#OKa(i#tbSF4v1i`6cL@nMj2MK!EY_zP~bN6z^i z#bqx-E-!Q@=D|(QtJ^E({3)>0P{t<0PKJll&4-=(j{8FR8E%qYZ0Q)!!Z8@75Yv&1 zx!4Y)96+053O5NxIfHymmiy*P(Tkj4Tdi~lV34a;&EF#x6`Qdf%zI=_gtE_%@RwTz zXa2$#td>Ho#g}Ro31cOe$^FZ*5f`8{(Z$Mg0(LGS50fz-b5Mw*(9xwEroQL;GWL^< z9Y=Eyr5g`o_M^5Mp8{u2;t%ncKJfN!H5 zdlPhqqD_=zufWH}l!(P@L~5UDaYrSKxBqCO8CRu>wXZ-IfGC;ctQMu+!3Ue>#qP-7}Td zwWLayDr0-pi*)U?Jut*|GR|ta>XyS3s-Z0{8HU1imc+2CQ zi#?WZgs%?|tTCM4t3Ob!w3ZHOGPV|WRwFZ>(&>l6Zaz!*DU7ItMlj-oQdYXFaZXD2nBUUL^PC0n zk|K5fVi{X!kBt1zMoE{74JQdYVQoQbD&@)p5% z===ji@hYB?+dVMM0S(!B*E(jBFH zHIC91B&l>~<1F1W*vZE=F^;W^aE#I|C<`l{WA`Q-GqD$uaumH|l`b1bWce)J_v)>Y zR5Zc`7<^iuO2_>jVW-gJ27Qq(ZV5cRexK;lIgYE2_ILuLaL}=<(llD>u5qqPag=1c z{5w?@VrDrj-CMA8dmN?9k+FlQlBCjou8zy_TRIQt)s}PZ4ArF@r7l8EHNMVALF%bD zfoE9~+4D3wgql7}msbi)Hv)F9ba^q}b(YStt<)pIrE4H#ufonXNiCg7%W)xR=_0)Mb#tP&!Bpv**GcqtIo~`trIYb>>cvE+i@8&=+2?b*%8o~ZLHgZzgL4szw-830z!)i4XJn!~ zp3=vOw_{x7$uP=tgwPw;;6~hzw~!B0YD*_^yeXWEE@+H&G{vQ&6<$yux(vs9VImoU zZm5mQsE*pADPG0}52d>vcK*T($Use0LK>Q(J?=stj4EAaq#y_1;wjvVESdWn^v7E$ zgq^c!X8+PZfQj-jn~GeR2+qMcoWOG~F7!7rKIqb&fWb@|YlKr?_l)I_$4Ke^rb@R9 zhOBhC8?g~O2eB8wIzP~;vOUUtuS$V*b|Q?e*d_jeGtKpre@R2f{LkZ}qY&E>#un$i zDo52EUUC|Joxk|$IEJfYd=g`Yx~NWjG0e*jhOBCnu^%RiB7BPf=syZ6T^NTjNIBJaU1Ly&Z)iED(bIvzK6~ILHGl1vk{e|%-0^d_#JL@Qmu5~;*gZHafJE1U?z^j zU1X(GpOh&sdyy0MVO$CqJCq6o@ghRV#!c4z<8>{cksXU`a62BBf@kRuc-p1Ia>wWM zF1Nq7tjaCW4oy7%Z?RTrW6z~NzSAC;dVJE{6#el6LUQ{Ip1{56r5=V_x|}ZyPdWah z%LC|*o6$o`lz~+B9@!OWC`E}FIi@$BQQz-VGJk*Eq~>p}&TED?=!TndyPWedZkKcF zT4gd6L9MVkR^vd z9g~oY988e$-7v~5D@c$yO7}R72VYx3g2Y+6ENsDc?8EQ)6Nlt>2Ug%yWLo7aLH-ZP WJd?ebnqABQ0000)CWe9% zft8aI*YsXJ%k{~i)AIQc3us3;G$Dh7gTqUN?xSXO#g#k%f1J3Wr)Jzq8rEstM> zA6hp&{wU|(1x&T)QI#U25D>g^!nr43uyK&Tc0t#m)xciz8*>>e7^mz72AgcDZ3S*^ z@4Yx~ksEvL1@w*h4N_m=#6!GB+e)Ql@LBZ~*+KB{AXEB7qJr)wni_%{iW~>;Wu9M!mSRSaJ+kzrlLOv{O7N(Qmp^)y_YB^`5On-U(@%YJGrWyre(wLg8XNm?YB)Nuuy2?Cq<90t- z&MI=6@Jm*6l+IT^F-?A*LlxCmBH+hvL8gN{We8#UP z=E-;0WwZ2sssSCQVzioeYcxGGK=tu8Ed8UJ|LYr`uLUR%i#$>S>nq5K(*%1{`JfiN z1@@6kUF{u7=loa<-5%W@#U4$Vd^wXlzP9|8o6#F;IE z`Vw2=>Okyf_ZO%SS{525`Uar6#WrD&?N>;~D70s{Dn4cBCF;15$4X(bOaE{WbInKZ zAbYfPCzh$+rm##Qr5eMmSM;aH>Y^?ZNjc_UQ?*yYz)>7u_n9#@W;C_bieRu<}e>~S$>z-7MDHr^F& zIC^93a(yN=6?7z{eH-ME@zs-6NM#7)rwM;t=Yh{GI(xZ;fi_zUHYL6x9B><&>!*6~ zvNUWQui@)QD9OO;Le9NZefK8~dk5)IaGb(lHmn>U&J=wuQ5|K!JQ8c%3 z=UmqB$;BfWW)m~er{uCvjl*_sh7t+-vZtz^v1B{9;q!BcvkoK&)VsC6 z1C{0OZ<0d++541=s5?p|2*uMiY`S8>=%(NV1ayRVy4FRq-0lJkFj^8_v@X1f2}~rl z46h8AjP+(F1664aD3x*EG`#qR;C395B|o8iuB5+_F|+4on562D@%TGgkDcoqZ{uvC zNz*pwjj_R?9EKm8~!>`5lsZGplTuk`F&($SFrS6bdTc@*9~n8+K}UJfV3 zvr4IFvq3PVp`6%f5g9w24OGvVuG9*-nR*CW`2RQ(Zl{V{`V%Mx=fx2Sa*+J#Tltii z^yVdo_w21)C`~15{Y*LbomtDcbu)^&{vvkn@y3R}KwyOl05~7y6nq4K1J@A0%w8ao zhIuOGBfOK8Rde!=BQwpcQK)>Y^+Qlkpj!1aMDKv3BblZzqzgWQ-?`scP<4HL0v2ET zl{D5&=#aQWijWj+=Bv++8mw`NaTA;>$*Jx5)U!RhYghu-^k=nPxlG**H6cg?Xz6FQ>;CHdA&iONbYY zf}6wF3kt}uGO6iR3@fqEPcUgXdd9ot>PHkhe<-rjZ(s~9Q~X{KPQFAfqmz!_`1>2f zqaUg_ezJK%9`kfbsYc>Wa0LFIY7Zjo@7okG7IA%@tE_b%`#j+WVws*hs$5n&b>m;g zBRG~n#ZCttmv&owdwRKY)+u+!{i$ogCmv`%rIt4kUSH8WqZuw%Jxwa!YFEHorRFk; zuo|!B4X5c34K>bTnri>7mxk2O(=WBqr%xwPl&PEuR7EBTN?P|6*%mgr&M8-M8$3bgkmOB@K;?Nq7H-YyW|2&T-%mJJQP* zF3eNGKH;uHr5C@_Y2aV|6qy~7cH6={zv`nxv4&+6yN6z+C+$;In#y}lc_sFJ)0StZ zNA-j_0;$*W01WwEwuv>t&y8Tf8=}t}o>0H}n(2c9>}&U)o|fy6HGBK0S^AYmZO;Fj zFA+hdpvGlTY;NhMl!)qkYEa^3#a$vXjy)@Lk9nsZQm17Z{4ohMXaOvQZDz zVmL^_iG?Mz4p{J8y1%EFt2mKtBXY8A|jgn}TciBVEloNYBqpCw4}b(m~%bf9nK+JffSK)PHRm z)LIQPIy%{82ds2*42A}RJJ~BVG8BC3PC9Hwm2KISse#=G*M5g<<*h%7B1;|WItrnJ zv~Gw{&{{&cr%W9SXpU#tMj3B<_w+V!ow_sxzf48MOmv8za7w#{`cSMk8i*?zWO_d{A+l%%ybeCA*L}f)9R;RD#fNhIT1)wAKws*oz&W(d?J?x zc(MHE>b6!UMUm*OSa+`PK)UuLl&oDeOR|czY1uaju$zbj<_?9q(#I84NpzCAAUv|EGc6+Z)yU_E*7b13AM5q9JaqnH-E>GJd2tOoa{;00xEp7_O!(#>4 zo79Ki9!Z5fR#-HY8V)3Lz>fG|d80MC%B>Q{{d!>uJ1?aeBr^G$VQ^)X-8j6dc9ZjH z?SR_1j*IxA6)Z}k8k&R<7c%5F1H#4%SE_QTcTXj^(e@3 zxzC5NmTUD8sQE*%LpPLXTM1~Vgumo+UZG3660NviOlg(yM zQapE`ighlkD)+vVrU6TpWiL~ybYJNE=7&rXH1J)^MyWr#gp~2}j6_DzS zsYu=Kf%h&1y|Z5YV%=d~*)H#9o>1slwZ3!G+Qj;NPXjQY9O}=oK?Iw>{>$>X7BV36 zNcn+5mR%+rjFWV0dQ)u(bHY#45Yfnf>CymQ zFZgVh>MtTPiWr(s88d%JDN+Ar#mD%@$xv>Eq}4TGFsuBD8<%N}gW)J6ySCz&cnvH+kd0pc@v=x~+kN1Zlb1pltmdIlyiJ)L;KGwwO{9B}twXS>t!m zyFBH1a;bkhQF%MUlazzlgJ{hz_)J`OrQhrtI${oAj^uJBgiMm=G#|YXY|PPRP~T6u z&98Y0{iKi+dchx!)(naJ11#F#}=&~UDWnNretHMe`((w;DbK&Nw=qxp3j+0 zu?JzB3LjYnZO3dvym|yxpeobL%mTMDSi*tnWhqaK* zl9YdyfM2Y9I$CHQxiEL28Y&@4xQh0ZfZ>-3q&Yk}^IBM3YGM;b&5==*Ou4WVDp*$N zD@-?kJg;l>NOU-97H=1{=KB~5b*&8Qu(W1uVYjcJi9JgU>hoVhFPP69+TXuP>~vyR zU&SkpiglRmv(vWROez!j8(3o}eMvGW=vJHl9DY~#khWk$YC{&U^t{NsusL}$B)V=N zzAGlf9JQI@&*w@`EZ&~Wuy9JLuesEUoL&Z;sNIj?5oA35Z8psL7ioU}VJ#ER*3e->3qaCyF8fDG6zZK|k_(CPj z+W%|F&*^&2Z)BB!^w_$+S4r)3FQk9&`ALxX$~2F8ej|Lb69Nu*`tz{(La9y`h*!-c z5NI^)7xHqU)0rjs_YF&+OIM`w72pnbP-{(~qi`!&MvZI#9v1lyEhE$<>)9v?ws%Dq zhCE0sx+|#bVcV&YW$lZsFFnw{@j?tk7TYG~oWr*HYJw!P8ME2lW?JmUJzpae!`86B zD?707B$f2ArhJ?%x22_Q^je$>O_Hr5zNSo1mY4hg7|Mw}mFt@~5ASV9E7j$e=K_{7ZjE#b_1}$t4kX>wwK&@3WAR?D(a{uPD z(}C-N-BhI}D)*#MH>KEZo{`?tW-a^nrOwc{%SZ@}`C&HOJx0Hpd_T1?oOxt!ZuiRX zN_i>Os}S>xCL6L7^^oSrlpn0Vlj*zGw^@rS2X7=1&UOK zX+-D1ee^r~6~Ej)5=+fnEbC(X$0_Z66Em-Tf7x?%1nL3q-K#G zFHeqlALO%wtkiUY(kJhmC8sAz;V<@EkR%*^{_mA}B{0o_kJjqSUjg9851EqW z4--!G%=>oFgo3!cwGbMt;>x0k6Xw`S5e%|aOd0&;(p!7no6hw-r2QUdJ zaUb782e!?*e)ANS(SZ9_&zmQqHe`=^4evQw#$pGwurqnKtgOYo!>o%ll7gvL|F&Qe z{WVfAX1jk;?qdD2)AW$nMslWE4&S?;O!2*4O#_7nnSp9VloomMS2Juioy8BEe6}B? zY>!&Q?GK#hYkv4Xpk?WlXH;%w=}BGfZUecgG}NKF(RVSaa7U_!##E~X-LQ;9_u?2{ z^KP2F+F>VJU|=^M*?=bwvKbg470d^P;vyAUh#tGdnZB8So8T2&CWvuM|M1aItlMfn z<9+@48@MOWR@r46?-L_g?Wz)=g-Gua6>Z$uH;7ip-2SJ6>Z<5k3C0Q(XdNoqs=N1^ zdFJOmIth}>&b~{c(#!82zMBBQ_z_0vll}ZrZ_cu&| z&Nm{m2MZG{fK~J~k}0}+PzNbi=XBXfNhbkxq&jJe?b{ty!yI}ijRTh(4|QTQ=7UU? zYhEVOJ=x7_!!zoa{OQ6$KVLSfN5w@dA$35{ZF6%r`6p>eE?56t+O~L1&Vgw=gEVs9 za{GvUu)>Ss^3mhsh*Ez!X?RgHhptSR=w6YCf}%?8mvY{49(o6;<9Ty*h2m`RZYynV z#%C*m#}KPJ5)v*`QlhS;QulJ9{Zn7HYod}xt>(=x>QD1SJnjV#8oS$)f2Y!z^AA_n zbz{Z(`ht!9GwUYEU(p}3+h*>~o=d2uU3?+bbIm-1VuD^-`}7+*_Il;aI-})n$=mom z7tN3lsr)Va(uD!RHb+0!o~HAXfR^pI8{17jt(q_IQnR}q!fG5l*AT|>zxEwW9b{~i z){6gpSzX6{#B>`Q<0fvB=3Vi0FVsouX{OiFkn(=s0UByYxlS_B>XyZ=_6rR;VQ9L% zs4X8XclJZxk}q6>&&d&{TX(vB%e8^tS+?%Jt=*KpLtnr|gNw}(+!4&PfRbA91QW}F znRQ&cZ%ev8qGj@+N!v7)(;7nD2BK?hC~?Pc$dLP;tH1i(#<-$7^khlfxYRQG(?Gw- zkz(aj=H7>YiyW$tjG0giJLOLe#zw*!QB*)5hp<_OCUb0=ECEeBx_1%JT-_@w%$0kH zn9TTe-}8ieekBxWkS|AQx8x_hEWGYUb#X?agKS>riod^2iDHUnAn30bC?hBGFn+H(YUL2J@?m9;w-H0Fg74?<$S!S3;X-!+)Qlom}lQibKI3eQsNFxES4f zVzytse7AVBwaYg)b9dh3JE>;@&JAn*`;YF%FAa!6Gc}2#rYy(asPjPvly3p83q8>0 z4fGv;-#Xa6kx+;L*OW7LjI2-DYGN(Y)3Bnf-Xm93~ za7w<@;c&dU8a?Z6FHBo-&# z%UAcm#|^N^mS}4ZyEk)tLg@j&u~+;mCq5z@5clw0b&^%L;H{ABoA{#HLyuZ$6 z3R!WM^kkNCDx88sbBN5gS$7Ym5-F&sW;aI2sqpUz&k!_DDMRhai#)*B+L{zvdt;m! zlgv!>qrT|k$@X^k22!&uaa8Peuy%_Bfz7dm7AQTu@Fa<#r1_D(8^SwDKq-v2mC*O8 zd_rRnL;2$~mfJ~dd#u+ye_ytbhw~&mA(_#7NT6hfR3L}?w&HTnd|B~C;|t9lx}<-G z+r&d@h3gl^=|wvNo5FkX`^ku5g6@kMhh*vaS5MCeQ0*VU>&S)}@a|CY297N>?xdLRp`>kQD2udl zNr)NUdjmzl<_-1BTz<^X2fAz_pDkT(~lLY@WK3<8GBl!(W9h zYIShOGukW@2kRseveXLKY7rOvYDpFV6`ftro8Bu#hN}Rw$*wfYQxt(Y>J!$UZwV?_ zEj@08q$RDIK0}|hw=0~le06o;_TKD6T%yz}nO^r4-C&HtAWwJ~piCuAZ=gZ8?Zzj| zyyc$70UqbYn?$Yg6_8i-X8(Lm+c0iCB-o6)PIxXM+tkD+f4bL9wcb6jp1WbLgHZ-G z@mYY$8i1po`{Zdp0ZtG8N#=-5G+dD&!8ZRteFW2vtmzaSi^JG5Eo7s**2n2>_uVn; z?Kf}96J|)OmCJuCi$&i>xQ_axakJB2?{%&>ss)$iw2fV4Yk#EG3Yzl~hNYld&1U@U z-9HFRVYYDQ_y}I2e7Vw>OA!e_P{q%E-kLk*$;~cBS{?q0S7gH(hyU;L_=T?+HiLqG z?Da1VMB?tLaCm0lc8jb;Zk6l!iXL@_e$nX%-5+A;QOvwfu`bwV_%|pY^8q4-F6A`l z<24|irJ{{#(X)&U=M)LeIz7{FnI`G^5l1Zi5ex*B+!s(8_p)^Ac5!HOkuAr#R+HgA zb3x|1uwq3ux+x}dp2$UDQWt6?U85a`)rHkM=Oj(sMIwVf;YA@~HtN_!q<;Aba zT8IRlBm|AxwSO5Jq{@C)3}ot>4);Gx=@Dd|_<&!3k}uj^BAT|?BtzD4$i3(yU*f5L zj@J|47rM-g3;NuKa#GjTw*SiSZ?sny#&6Zu9%AMCm`JPOJV9C)Y~<+@vw7DX%i1Mt z?x^o)#x1^QF( z>(~5kY1MSYz%Fxqmq%D+1@aVp^^SY-qEp%}k^5f3+$iT`sVajv9)D@x59|gC|H}2j zTxs;Nb}_2|4HZee>a@RJha{LnTS&^2_6_9HG+T;pbegMQtU9m&O z$KKlQJ7;ed%YHQ8x942+gF|YKyUG=Bt3`JkPyW#k|L<=ATQX%{lyKkKO*)udgr@bt z+Z{WS{TCwdFYUBfUj3Z^Oz+r>n(>PT{(<=^o}|{gC4c=BhW&@%g!!&=;{pP~?_}_5nyN@+jfXFK1%8XoKSOfON&w*jtf+~t|k&lC9 zKTpK5EV@EGyX3BGkLLSH6JjN9ERc1%vsv_*TFW@f4CugK9nbb_+PvmJ16tj#)Nh#O z#9S=KUoOWA=0@|NExaI!w(!9(Z>f6*N+l@m7qUPRY@xXc!MVxh7xB&_t_u#UB8^bN z^j0+zSP|jFY-*j(YDsi7QRq9xUb3Vn9V2@M-(*>38dVfs_H`H9k)ILrue?w9Z|+Vb zZ-b~-^|p4oQsIQ1^sd=}zp`rYx?=!4TYy<`?N{!+>7|Kw`>A!c>$Q}mrJZotO;n7^ zn#Q_l|GF=IjB}@0WB@1eJf_f&m;{O09bLJ0Qv`KCQTOEbUumQ3epUv0^=L9Z4^jv< z5>kSw#5SbQ>0mp_fTL;R>kVL7%z0{fMMusA?^z3N%&Nuxw=0tC8YD|+0-`-AuOtq?%?H@?s-utzxl_IgrE3=mtJNUK! z9MJWa<2PRWB4Fo1wU9Gb@3B{{zna@j#LjOll^$pWv-wTX2UOL{P_~L!#iC2b!4;R#|eVy{GuCE z8}lh0U(>Fz)n&+(P)W*24u5o&`>wq0m-)Jc1!glp#&Tpnj&3=P?WADGwauFR7_dKj z=m7N&zOku$)LlRzUo0NGo9P>_8p>xg;i_FR_{5uJ$R&ot#lvL?uWs|@diL*3)uZ~H zVA>fw7}7^w@HzVN_Hg``>Ag}p4E?jzIP(e{ylFU<0^(arr{O9Iczn7OI$v1pPFBXo zjMZlpl6qG)Qzd=~hHL)y_M0tW23g-dVvVM14E%Ngh=4;m1BUvIl_i@CAL)gtgz{tg z6jUoA_tHbCD~+5w`c>a_ebh((7~TIJ!3i*1VpbZb*KkcDEz%M=bKAK(@D)YfD`ESH4c5yYhfHaFN7!}lpF)KydTMy`0zuy8(O&|~(Ril*O@zu7P(-|gG zTZS=UJt9feg}fP86#U_*5wE1AWmAF+nM~AkTFiC@{Jez|{#mH)w%A_JjL&I9R7rmzQEPREdx?Ow;F0X6#36 z(G*Wrk%ExrE$dIi^u)23^MA|!KFeF8bm1oXtE%W9TmJzsN5qFUrD9cHm(x$IPneYR zJ0@5kacV=sELtWJ`J4_YKarEFX2Nnx-8e$>+lqxd>JD06rr7IlE=KdNLDWA((-%c# zBrmi>qAyl>Q6-%rKz*;`HjsO!Zg%_cz>~|AQT;P2G==*vPWk9LO(RZ1`vrPdF&{$r z_TaYD^o)vK*}Z4gd*uM-mIzGWQ!AFuK2?F(FYMHw<14aRH;%rx&}&miasKMV4;P65 zDSK1>jrDTbo|@1oXS zbr;Ofb@p*pl-WFgVv>8hQM}o)cfPW$s(u~5iy3y*WbnuWB)z5l?NhEc1(TJ`1rnLE z*%@Tgi)ZKooQB*Ofp>1AM{JYeb3*Dpc6z#|4QpK=Y8%DV3$<5;jd9+=@GjgY3#h9I zdJ)$D*5O}G)Q{LKtA#KG%46ZC^eM>0U<%Kk>MAHiyZ4AoEJgb6;;P#PRK1IKxB2iN zlJb9PcQ;cZu+PDm6DR?2Zpjz5&<$CA`!H9%vx~J)!&AH6KE8A20-ri}=B(pEQj7Zw zNkE>12^!Cu8Wj|R(r6S(NqDrAp%Xcgy1qD8;MmQ0$%KiJ|Hj!ahT6GDy>(tu6H@IR z5!o&x2sp{QSu-S!jOjwN?9!$tj}z*l ze}SJ-z8+^fbdQQL7&3~)uGK?Wj97Rf-XbUo^A#A?zA~9bqOc10A)H&s0XRbLIhRA9 zs9el0D2-E&NqRrD57;>K@`-*#rarE#92*FcGX;@8TJ_J5zikAPP{rL{Go>sR8LaRn zLnQSJe_jccz{j;J>%RpiaBjXF{JsAmF$LSLyJ`P&uGJ^5x!QX-P+je<`Os5D59}k= zx98oDq{`ZnWR7(v7QcsE744)?;^UgqVzdqdzgiA2PU>SC2=;F*8GNE)I@d&AK?#*V z>W2U9+XpI1izQGV9SWUi^_E=5CH2$>&Bg1`!}R8_Bra?_$M6_?jd|aRgfClYA>Q4vOS% z{b$2Cw8|o47-$Rrmm02bT9tkX>?}qWL|nptg6~Ut>=LR?A~&p3-YU|lBMRUFndgq& zu^$y5u>WD$QR5}Md*g?V3GNbIJ|qs6ioNwc?*nNg$Q0V<>Lb>~lTQ^wz9US%gby=N zGx>a`ylxb_)STg`Ul9tT9%1T2X1gY7O03d!p8(5u5yPS_BDx8dpO7YS&IM`~eqB&4 z^e$kNyn}$+(@8wpE#+|rpU(MYPT^rF#YmPHLq$5C1!YF&n#zw?1|c~$HX_*^O{Y`& z(@%`+lXdH%xx|D4cFf#1$Ip5+gr=--Hj?OO69$m$Gtw+p?3Q?`muIFbf!uv=U)%^I1^^r|`2l@IGL@wV|tK`}#r~ftF7TQ@5TfRzh)91_Tmhv9;z1iuZ zFM>~OHz^X`TFNiFCc_D6rw8*6!?^fhU*gqqLWgw{e!+Ph67g1;M?q@tR+?1m8nQW2 z>+c^jOX6h?6&X~kY<>!L{=^!Qz z8oX!U1R92)-4ZD)T&QN?Axe_9wWPVYsdH%4R2Avg?|rStXFh_LTIR(aNM+xZt~ar; zeljF`q#+R%3J`XZ{kJ%JujM&s33uVxAKNXT*XtXZ(_COrFD8C-Y>Cen$oLeHQsVeR zS=vhBx&;QD;->`b-|%8o%h>HU;!ahD%~+m10PQ@4oFSk1Gw=6E%p?l&{^u*;&ho%d z4T8=7OL*?@P4wNHZ|my`+$uM=++Gvo=H=b3{SM|~o93AfenLeC6bwN!6_pQYGityK z;A#!FK)#OX4l}nd!=e!hRqp|&l%Jy{$zpr3#b@iGFi?=4Jd*Iz(Yo*1JDP8ykI`;I zdZh6!DGigB@QoPoK|sI62DfQ2xF;IbazQ^&gKW6kg5$DP0cY8N`WV2Fp&}*UP`8LF zR$IXIHKA~!x{CX7tr1_Y+^JZUrorlap~3W4k_BNCrlZV3M6N>MwN5^1NJg&_%|Zj~ zJ$l_4X$WDIm@>0=qJsei}lnj?T~Lwec@Ks&s8@eMUg*@mB;BRQ7mlIa%(-ZRE^G#8RI zz#L@#7+Q+rDF>cu_#4$8?CQ~qYQp3c?%Tye zPozttu*cs`IM%Y8(N>2BXY-{kE!NoX9QULehkxeFc1_t|XP*bfvn=(I=67sZqL*#V zuDSaw_usL1AI<-hs%vb3^WoOJ|HIMGEL=XcuX$SHm+fY;tIemMwt|tbLi}!V5j{}( z)Q`E1P^ZiT3o-w)c}La{1p!O2ewAUro#oXdTNK#`aw$3;A65>_pLJaf4$q>ISc!El ze!Op3dNqg!Vk9Fw%mu>EIoNpHbKe%QnQ)ZtaP^2Kp2J^n z`lD;bR^^K~x7O{%PUG*__8gQENNm425k|fKYPFNTIH9;k?ekRqMa>g6^?bg-$SzH; zZGtRh2JV&-Z!@AYK+NM`KIeD0MkLT#TCgGf?6rgv^9V3pB*&O)fP^#$ zyCb4*XAC(0WjL?XrEE|~66rX?CHgwF)LE7yfo1wnKVbG+D7S6uwm}WtAB|S*3`$R= z-@d$vov57N1;`YL6mwG}e=*a;e!pYk7Mr4NCyM_kPsaS%k7<@=L88@eX!n(RL|M>! z&IhsXXC^$|k3JKj#VsslktY}!WL8Y|1zbnw%D;=D0{V-*74#LyX4LeIWH-B~ zXz4VYglG;K^f5Qd{1DHY#4=MY#sM$qI${HBmKQISbrXT`D|n}T?75&zl+~rHgkd7n z>Mb&@Wy+^XCnyV{Xp>=)1Fuof&T}MGi<)^W869DIO+U#$+8kXYQnueU{_~K}%lul* zTk1w9U*%6tZGAI*-wq*sw99iIQq}_yZs>|b(`nQUb#y|(Ue=t3&uich$Ek54D3)MMDh*(C&2 zrJllfIX3=7?ny(_IEe~x$m%>gtHuXExGWgc;SZ=mF1QnCvWv1-RDP0a!zxp)5qZl& z(10Shq}+XuI^E!CW0aCG&uao2*xQrD{uY{lZf2+}6xA|?cm#=pqkCjAqt8r}m<~(t zV&LCh=w%Uk(f}Of8R_JnCm=RIKA@pJ|Md?VB{dM*9 z>sZ)Jc28a_ei>N1#WypuVc;dsi@YPOw$ii4>RhV*@Td72CxMUGeK>Zh8+#E~zBm)M z5jdxwJpI-P@9c=$joo82xMa>C@$FiAc)y!$wPxXHhzB^_f`nvCkht%M&bQDM{~mtW zdy+IbOL`fvl6SU;8_(SS7%UfMfIyUhY`|Qz?_K)qbnJQ|r@ElkUvz>-yt=@VP zvC;{@*jwfzS75nm!KwNzD-R4FH#NmJ5x(t7-}Z98NgVo3Hq?N&O5~~bd%yt5dd1R@ zS=e9S>`8&AaG&=yC0n)rQn<0DUDE#9B1`Q~<4i>THG!@>AoO4-_dXVBIF(B(D5vFipI|T(;{f zHB>?NC&jm#dg8K;2cnoxW0CrfN-qAOzB#5xB^DV&R++@UwjTm_sB z(Mz3nwpb1ANQnkY^f`ic>=nG_rFmk5zsi=k)eq+hCOUoVj#2<@-;yiI(lj2XahpB2 zh_+G;%x-*Ryi$zR)S2M879TYciQ&U~x{7H8h~>v_{p@ajxPQtRalXb#DbKO@A~%I? zczj37L^2(}oB%rDJJOcVA4$hFYMf-!2c$xlwO6W_ANSHZn%=77@yHZo zkt|%A3Nj1M7XQ*X2G&W>B`M4iJt+5S@bD*eZBS!TA$N< zAY$aA`jJEuZCjmJjW(!he94BO*z~0qWC^ltHFj|G&@p$sCcuiaF}B*u;4#X(<)m2i zj9=tX4VGT zgpSV|W4!Y>nZ;dvW8?Q17yHSjI$QRH;goi?%M9e}h5@ME~Z#z4QV;Vm%GzdF4@wGVIfWeQPDdKB^G57`pkc)zFiLfN{&;hnXk zFJ9Thsb6rJQuY6ILKg`tQcqzj(Rm{$?GzAZM4kb1}gmdo`Mo>8CYIk7(Gjw zb{pqiF$zl-^GgLGRxxG0s(lG6G!{=BM$za}f$%=Rh_Z#mzFj4+(2Rca_W*y?j5uSt zr0S^*gJH4>QY8>^$yG+g%B8!p z@)JBvY$nMQ2qAvc{*R*aZJ3-ADaaJkRQy^VHlJj|uafmSkyl~C6Z>8$g3Wm242{T2l*-kzP{!N$E`4v{~UY_n1IxGL@9+cp1QFA9?4< zNkIj{8WrfU{(C=Rp+mT`wC7n_9P4MF{y@)+FtoF<=xD|!4VcjYjGp4pIdHJN;`n0H zKoePZHD2%a1FYGukF7#!-0w*Ek6#%5k(bHr$H!j=OM3fHBt}_Hi3>s8vqHrFJRZtO zf~2#;p@Zz zr<7N(9inH48sS{%dt9kORvSM9UZaTfu%69IWmKsnyrz8Q%zNEU}4DU8q(o@&yp=zQP9;8$Hd zNy;Fid_cZu;?LtOaBXj>zzdLy_I%a<)HoeP0({#IyqC5z-Ut6 - - - - SDK Demo Account Page - - - - - - - - - - -
-
-

Profile

-
- - -
-
-
-
- -
-
-
-

Change Password

-
- - - -
Old Password:
New Password:
-
- -
-
-
-

Set Password

-
- New Password:
-
- -
-
-
-

Account Linking

-
-
-
- -
-
-
-

Update Account

-
- - - - -
First Name:
Last Name:
About:
-
- -
-
-
-

Custom Object Management

-
- - - - -
Create
Object Name:
Data:
-
- -
- - - - - - -
Update
Object Name:
Object ID:
Data:
-
- -
- - - - - -
Delete
Object Name:
Object ID:
-
- -
- - - -
- - Read
- Object Name:
-
- -

-
-
-
-

Configure MultiFactor

-
- Reset Authenticator
-
- -
-
-
-
-

Roles Management

-
- All Roles
- - - - - - -
Role
- -
- - Create Role
- Role:
-
- -
- - Delete Role
- Role:
-
- -
- - Current User Role(s)
- - - - - - -
Role
- -
- - Assign Role to User
- Role:
-
- -
-
-
-
- - - - - diff --git a/demo/resetpassword.html b/demo/resetpassword.html deleted file mode 100644 index 0cdc20d..0000000 --- a/demo/resetpassword.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - SDK Demo Reset Password Page - - - - - - - -
- -
-
-
-

Reset Password

-
- - - -
Password:
Confirm Password:
-
- -
-
-
- - - - diff --git a/demo/user-blank.png b/demo/user-blank.png deleted file mode 100644 index 29a89fac1a7512988798ba12323500f127feefc2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4075 zcmbuCS5y;RvxWl-d~}r>1VJgHfP8?W6ltMISCAsT7wM1~AatZjmnI0INp9}@roVAXx1X+n)B z|8xGKrQQr_qc5oe2-dO$oBFwdp^kyB0Cg8XCs!d|A4hjr6IVx1W$pB*fmMEDIIVqaWiW|rfXdlUuqAK1Mq-Ft0WZmutayabCVu1U1~d$3DJ z9gLw!OF^Hy-otF^qF7%3<^pW90l*9ZCW;79g91vF0BC{#rvHECFVkxh13L21 z!Z`)YVSfINwAN$xsd?d0IaH*}nSbun##w87{HHqB2NYTrW5kL+X_fgkap}y?h#)G< zP-oI1qIlNQ-PP6-@7b5>%Hq!W`G zyVkANM%SVa&H18?gy-AME2oZf#W|hEp8s3TzE#q(Sf*;PYuGQ(Y-}+^_v6pRveD4K zez0foEVFii=p~F>gu7n)(@T=`LzF zDDh*8U~xJ~g{6a)Q29^>O4}FlBE=_41AxsMiQ$S zt`ufhnJd3k9UZ{xb&IP~1Ii#L#*_7{NaV!EIarboJ1(<#%W)^9ti~-=l+M1CqC#pV2TZEKYKBu}G^vK|z=%|X>j16mc9PwAeD`qd18#8*d;qq|qz;7vCN$TWb(!Tp} z?MQr?l5Fq+V z4H`tJ4%OIs-0pHakBke(dx0YSN_vEA`z&GDak!SkS3LsTis$$ibPa_LJ8I5!C@=JN zhtL-WMuQ7Kt%Xr2)>qLrA-X8Io>X^?bq8%JuI*>FsTs4;m}_YUzXb`(W_=YOwy2{ zpuS)0kzvOs9k*|U;yaroE$OCp{hDu0dw5uvQy#Jr#(qYa`#dPXY~GQ!;@Ek!&QfEc zCFsMXXzb=>#mkOWSLhpUca};?AeMOdrC)TT7&*ZVuCb9Tq1$Xj%7L58N{m=Y9Kkfa zh4rYkV+{H5(Kg)SUrPh`ba)T}K!-KFE*L2k5A1q zh%HG^d@&d1#+SF#w(at_JF_-lWei)RQ7IFs7am~f=_(5X*?uH99Z|Kz0bCX6uV!)A zXv?|mRR=>100dti7r_z;-|m_7lpZ68`D+)fhw5#udhUkL+L6_IA4DS;NuJ&?*9JZ{ zVWd}n+oFyn3&NGx?Zp5VVz7idWr$N|A9rlb&-@mps3bpg<`k;Ip3 zD)mR1_&}YUSb=>1}_QSbr|K4BpI$d0a3u zpzKrUttI=eF!KtwQP%i+3x9SM%zQ`wTN*(~VN1^7&8-Px6McS)Zoo3AaPSMRwqx!! zCIHW7d%Pb<6rH@=z^a}z?Pf9wAsr_B6l{S!cn}?PH!_bW2QF2Yzk1Q$F|vq6VgETe zf}v5$|JHF;qaPcVx9Fi!h5yuW0smpx_1m}q#(*6TBwAN&%7wRFr#88904us}!~$te z3dEi_Ii{^t+M`h>Ve?$s9IFYWN0K&Hmg8!!caT|ls#aYan|W%1u8y0#akuX>&e!$# zp)BROR!nM|#nFbzwHw2eMZsu6`QSKN+mV%JQcIU{sX&lyoT+wi% zl~K6~(@yM~TIbK@Bp${mk}}BR6Lsk61T4N{Klb4z@a)jm$@C<>o~tJQ{MiXTh$&WJ zG5*EKkJj5fnav<*?9S?eZR^I#Tp0g}26^RY*}25Q0ijn8^)?32`!V7h!6A!i%AIDh zyPnTm>2w8~JP>*`aTa!DEe~axE$s;Mm_{{p+cDA4QsuMhUR?he9U3*aJ?A~wBa8%* zli$*W9{^#D88fUhjXI=~4q8tzFqqeTI_;j5ZwYQFT^+F*BK|Ugn5QPwVBAV0A?k4a z{@R;`QkWx6r+y=V6s%M5V_$jO&f!MQGj*D{W9g2Vt^Sa9XY9ib-CZFlG&xggL6TB} z_ANFH?R-0V#_2LaGdBvT`@xy&>``}859HXtvTbJ&MZ&GBGN>*rda6Fra~|2g*}DeJ z=fqx88UL4*Q}fqXy{~3%)qjF%0p(mJG4N_cPyI|ia_;~Cl^PWbmcj_i0Uq`lg08=&eX{mlfM5k|SUE6#> zy!d$>akr$+_vM~&yUGW!9Tzf)C7M1GiOb3U#{LgBdQrSE^EI*Cho7fT4eB7o0}h5n zD;5G)*=UM&YVl}+w&=RfS5+OUz1&u4f#(@d8=+O7YV!;kIJepEI{j69wAyxC49u`) zI}u>arnvjW%UNXZd%MzYuzP=TLWKQMsiwD7P<>05p?iAp@la!^YFt71%`S_)A0)J` zDDJGB*+mimlPz)w8)8{$T%4^Fo3SR z;*4HM_iCM+?@DfrR|!1ebNDKRy>qXDV5TW%8|IBW6K0#26WA(-qo$#-*@euyuB$&4 zwfdJR_VYI!Zv~mqZ-9gpan z!uwK=!uX0L*>-%_h0gGVT~+he?OPR~7-Gu1M6u3`0NcEB?A&9UQyhUuiq*xWQ`K3Q zx*JfBNA8UHi-)1r5;c;>O%ch5n3YkKycw7&dR_H9#0I$WsZM~16R+6KRlyz(Rqits z(-gZ`AYw1*E!}qDqXJY1hwB{G7nyq$TGyD-?McwAK6T8%1VmN1cl_y9!{WXhb1P?! z3O4iyBsYW!@6QKYh18Qe)>?DjK+r@xr)kNr#>`m`#xfDV-J;CuA8JBPwN!6Et_Cgh z__D{Ko*}IjPIlinRc*4}o`g1YsQ_af>QF=jH<4*J7lz*GGBJ?&+*DrW*OZvF{4^Wg zI<`?TLXFFI9IY@F5SpnQA7l~>TzuZ?mx3`K-)z_S0k?irX!o65PG*XIoTZH3WP}ls z)*)Lq%BlW#r4Hkc*`$KQFo?VCCn1r!pbYrr`w3VP*C=itH|D~p?oi)4dHv)UrZPGF z;i>&mg2eRmoJ``zLpolUEv~?-?tDKlshWlNciWBnES%u*IAV4y)w~_q-Y;P`e`7Q7 zi?`?8U$rD1_9k3(dCL5NcmJrHI{pyuXWeTs^pqfDrwGYgl;;**+>&-#6ZlH z1X`fX>-J;UgQ=Z@gY1c53k$g-N#3*Bospdx8v1hO0n|l~(a?wC-^3PsKc6=3NRvU@ zCnv^R9I7j4*du21;JwKrr@w!~PAP)3E9WsrQ~V$7Eyp#p@{cRWX<6Z6p7$Ab7Vg|X zXD=PEdlU!(L6Pj|gcUz9NybN+GwGhMi~|H@d5Wuj`wkK)ys&_050A(>X2`)5#hgsF zXYIyC@&Fw6LY0)dj)SV^w|IZ)KDcI-vv*kBsT5(H&!vOKo&TAQJcl}yudv~M^dvAW zVlbGr@dFH>vBf&U!L&04Z*mvIozS=Mc7K9%c*AKw0L~q82LqKkM)H!*vE zw7UAfcQ#`K&0nYUcC5n84zeB|PJ|PdP zX0d?+ak%(^9?uV9ztkfw%K`S6W_!$xh-z(Gy2;VhLCh!m+a~U%eGtr%FzyPrd8Q$t z7Xqe&L@$J~Pid^>#U_p@Xv`?ZHB>^ONwb0C zlbf7c+s~{ZV<)jMwc~=MIrwVlgBZz|PWNZv`bg8Ew70y22KN+F=IMKB#`$m`1X@^WE_A_7g`yAh$L*pDWHJ})af_U#6v z*h8^f`V&+RU_by*#Xx<**k`f;6^+3Z?M;&h{sJ}+VpkUA%*oew0;6!3W^A1yIvu60%vkX%AzoVJ&cl;w)MPLHmu3Girlq3p|5A>6^IMgM9uPSiDvgRn3Q*}CpsQu1 J`B}pu=07tEF+%_V diff --git a/demo/wwwroot/demo.css b/demo/wwwroot/demo.css new file mode 100644 index 0000000..cf18385 --- /dev/null +++ b/demo/wwwroot/demo.css @@ -0,0 +1,261 @@ +/* Code generated by sdk-factory (scripts/generate.sh); DO NOT EDIT. + * + * The shared demo stylesheet. Every LoginRadius SDK demo renders this same + * file, so the five demos look like one product rather than five. + * + * What is shared is the LOOK: palette, type scale, and the components below. + * What each demo keeps is its own STRUCTURE — which controls exist, and how + * many pages they sit on — because that follows the routes its tiers declare, + * and those legitimately differ. A rule here that needs a per-language branch + * does not belong here. + * + * Add a component class to this file, not to a demo's